Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. class DemandeController extends Controller
  2. {
  3. protected $demandeRepository;
  4. protected $demandeGestion;
  5. protected $compteRepository;
  6.  
  7. protected $nbrPerPage = 4;
  8.  
  9. public function search(SearchRequest $request)
  10. {
  11. $mc = $request->input('mc');
  12. $demandes = $this->demandeRepository->search($mc);
  13. $links = $demandes->render();
  14. $etape = $request->input('etape');
  15. return view('demandes.liste', compact('demandes', 'links'))->with('etape',$etape);
  16. }
  17.  
  18.  
  19. public function update(DemandeRequest $request, $id)
  20. {
  21. $user = Auth::user();
  22.  
  23. $inputs = $this->demandeGestion->get_inputs($request,$user);
  24.  
  25. $demande= $this->demandeRepository->update($id, $inputs);
  26. return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été modifié.");
  27.  
  28.  
  29. //return redirect('demandes.liste')->withOk("Le dossier " . $request->input('objet') . " a été enregistrée.");
  30. }
  31.  
  32. public function store(DemandeRequest $request)
  33. {
  34. $user = Auth::user();
  35. $inputs = array_merge($request->all(), ['user_id' => $user->id]);
  36. $demande = $this->demandeRepository->store($inputs);
  37.  
  38. return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été créé.");
  39. }
  40.  
  41. public function store($inputs)
  42. {
  43. $demande = new $this->demande;
  44. $this->save($demande, $inputs);
  45. return $demande;
  46. }
  47.  
  48. private function save(Demande $demande, Array $inputs)
  49.  
  50. {
  51.  
  52. $demande->objet = $inputs['objet'];
  53.  
  54. $demande->save();
  55.  
  56. }
  57.  
  58. class Demande extends Model
  59. {
  60.  
  61. protected $fillable = ['objet','etude','user_id','role','mc','num_tf','val_exp','nom_exp','nom_gar'];
  62.  
  63. public function user()
  64. {
  65. return $this->belongsTo('AppUser');
  66. }
  67.  
  68. }
  69.  
  70. class User extends Authenticatable
  71. {
  72. use Notifiable;
  73. use AdldapUserModelTrait;
  74.  
  75. /**
  76. * The attributes that are mass assignable.
  77. *
  78. * @var array
  79. */
  80. protected $fillable = [
  81. 'name', 'username', 'password',
  82. ];
  83.  
  84. /**
  85. * The attributes that should be hidden for arrays.
  86. *
  87. * @var array
  88. */
  89. protected $hidden = [
  90. 'password', 'remember_token',
  91. ];
  92. public function demandes(){
  93.  
  94. return $this->hasMany('AppDemande');
  95. }
  96. }
  97.  
  98.  
  99. My file DemandeRequest:
  100.  
  101. class DemandeRequest extends FormRequest
  102. {
  103. public function authorize()
  104. {
  105. return true;
  106. }
  107.  
  108. public function rules()
  109. {
  110. return [
  111. 'objet' => 'required|max:80',
  112. ];
  113. }
  114. }
  115.  
  116.  
  117.  
  118. public function update(DemandeRequest $request, $id)
  119. {
  120. $user = Auth::user();
  121.  
  122. $inputs = $this->demandeGestion->get_inputs($request,$user);
  123.  
  124. $demande= $this->demandeRepository->update($id, $inputs);
  125. return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été modifié.");
  126.  
  127.  
  128. //return redirect('demandes.liste')->withOk("Le dossier " . $request->input('objet') . " a été enregistrée.");
  129. }
  130.  
  131.  
  132. My class DemandeGestion
  133.  
  134. class DemandeGestion
  135. {
  136. protected $demande;
  137. public function __construct(Demande $demande)
  138. {
  139. $this->demande = $demande;
  140. }
  141.  
  142. public function get_inputs(DemandeRequest $request, User $user){
  143. if($user->role=='ETUDE'){
  144. $inputs = array_merge($request->all(), ['user_id' => $user->id,'etat' => $user->role]);
  145.  
  146. }else{
  147. $inputs = array_merge($request->all(), ['user_id' => $user->id]);
  148. }
  149. return $inputs;
  150. }
  151. }
  152.  
  153. public function store($inputs)
  154. {
  155. $demande = new $this->demande;
  156. $demande = $this->save($demande, $inputs);
  157. return $demande;
  158. }
  159.  
  160. private function save(Demande $demande, Array $inputs)
  161. {
  162. $demande->fill($inputs);
  163. $demande->save();
  164. return $demande;
  165.  
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement