Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DemandeController extends Controller
- {
- protected $demandeRepository;
- protected $demandeGestion;
- protected $compteRepository;
- protected $nbrPerPage = 4;
- public function search(SearchRequest $request)
- {
- $mc = $request->input('mc');
- $demandes = $this->demandeRepository->search($mc);
- $links = $demandes->render();
- $etape = $request->input('etape');
- return view('demandes.liste', compact('demandes', 'links'))->with('etape',$etape);
- }
- public function update(DemandeRequest $request, $id)
- {
- $user = Auth::user();
- $inputs = $this->demandeGestion->get_inputs($request,$user);
- $demande= $this->demandeRepository->update($id, $inputs);
- return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été modifié.");
- //return redirect('demandes.liste')->withOk("Le dossier " . $request->input('objet') . " a été enregistrée.");
- }
- public function store(DemandeRequest $request)
- {
- $user = Auth::user();
- $inputs = array_merge($request->all(), ['user_id' => $user->id]);
- $demande = $this->demandeRepository->store($inputs);
- return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été créé.");
- }
- public function store($inputs)
- {
- $demande = new $this->demande;
- $this->save($demande, $inputs);
- return $demande;
- }
- private function save(Demande $demande, Array $inputs)
- {
- $demande->objet = $inputs['objet'];
- $demande->save();
- }
- class Demande extends Model
- {
- protected $fillable = ['objet','etude','user_id','role','mc','num_tf','val_exp','nom_exp','nom_gar'];
- public function user()
- {
- return $this->belongsTo('AppUser');
- }
- }
- class User extends Authenticatable
- {
- use Notifiable;
- use AdldapUserModelTrait;
- /**
- * The attributes that are mass assignable.
- *
- * @var array
- */
- protected $fillable = [
- 'name', 'username', 'password',
- ];
- /**
- * The attributes that should be hidden for arrays.
- *
- * @var array
- */
- protected $hidden = [
- 'password', 'remember_token',
- ];
- public function demandes(){
- return $this->hasMany('AppDemande');
- }
- }
- My file DemandeRequest:
- class DemandeRequest extends FormRequest
- {
- public function authorize()
- {
- return true;
- }
- public function rules()
- {
- return [
- 'objet' => 'required|max:80',
- ];
- }
- }
- public function update(DemandeRequest $request, $id)
- {
- $user = Auth::user();
- $inputs = $this->demandeGestion->get_inputs($request,$user);
- $demande= $this->demandeRepository->update($id, $inputs);
- return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été modifié.");
- //return redirect('demandes.liste')->withOk("Le dossier " . $request->input('objet') . " a été enregistrée.");
- }
- My class DemandeGestion
- class DemandeGestion
- {
- protected $demande;
- public function __construct(Demande $demande)
- {
- $this->demande = $demande;
- }
- public function get_inputs(DemandeRequest $request, User $user){
- if($user->role=='ETUDE'){
- $inputs = array_merge($request->all(), ['user_id' => $user->id,'etat' => $user->role]);
- }else{
- $inputs = array_merge($request->all(), ['user_id' => $user->id]);
- }
- return $inputs;
- }
- }
- public function store($inputs)
- {
- $demande = new $this->demande;
- $demande = $this->save($demande, $inputs);
- return $demande;
- }
- private function save(Demande $demande, Array $inputs)
- {
- $demande->fill($inputs);
- $demande->save();
- return $demande;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement