get('site')->site_id)->orderBy('contact_createdate', 'DESC')->take(10)->get(); return view('contact.index')->with('contacts', $contacts)->with('search', false); } public function search_contact(Request $request) { session()->put('active_route', 'contact'); $page = $request->input('page'); $name = $request->input('searchName'); $firstname = $request->input('searchFirstname'); $email = $request->input('searchEmail'); $cp = $request->input('searchCp'); $ville = $request->input('searchVille'); $country = $request->input('searchCountry'); if(isset($name) || isset($firstname) || isset($email) || isset($cp) || isset($ville) || isset($country)){ $contacts = Contact::where('contact_siteId', session()->get('site')->site_id) ->searchFirstname($firstname) ->searchName($name) ->searchEmail($email) ->searchCp($cp) ->searchVille($ville) ->searchCountry($country) ->paginate(2,['*'],'page',$page); return view('contact.index')->with('contacts', $contacts)->with('search', true); } else { $contacts = Contact::where('contact_siteId', session()->get('site')->site_id)->orderBy('contact_createdate', 'DESC')->take(10)->get(); return view('contact.index')->with('contacts', $contacts)->with('search', false); } } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('contact.create'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $contact = new Contact(); $contact->contact_nom = $request->input('contact_nom'); $contact->contact_prenom = $request->input('contact_prenom'); $contact->contact_ref = $request->input('contact_ref'); $contact->contact_email = $request->input('contact_email'); $contact->contact_cp = $request->input('contact_cp'); $contact->contact_ville = $request->input('contact_ville'); $contact->contact_country = $request->input('contact_country'); $contact->contact_hash = strtoupper(md5(uniqid(time(), true))); //$site = Site::findOrFail(session()->get('site')->id)->first(); $site = session()->get('site'); $contact->contact_siteId = $site->site_id; $contact->save(); $contacts = Contact::where('contact_siteId', session()->get('site')->site_id)->orderBy('contact_createdate', 'DESC')->take(10)->get(); $campagnes = Campagne::where(['camp_siteId' => $contact->contact_siteId, 'camp_published' => 1])->get(); return view('contact.edit', ['contact' => $contact, 'created' => true, 'contacts' => $contacts, 'campagnes' => $campagnes]); } /** * Show the form for editing the specified resource. * * @param \App\Campagne $campagne * @return \Illuminate\Http\Response */ public function edit(Contact $contact) { $campagnes = Campagne::where(['camp_siteId' => $contact->contact_siteId, 'camp_published' => 1])->get(); return view('contact.edit', ['contact' => $contact, 'campagnes' => $campagnes]); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Contact $contact * @return \Illuminate\Http\Response */ public function update(Request $request, Contact $contact) { if ($contact->update($request->all())) { session()->flash('update_ok', 'La campagne a bien été modifiée'); } else { session()->flash('update_nok', 'Erreur lors de l\'enregistrement'); } return view('contact.edit')->with('contact', $contact); } public function updateContact(Request $request) { $error = false; // ---- Contrôle des paramètres if(isset($request->refadherent) && $request->refadherent != ""){ $refadherent = $request->refadherent; }else{ $error = true; } if(isset($request->nom) && $request->nom != ""){ $nom = $request->nom; }else{ $error = true; } if(isset($request->refsite) && $request->refsite != ""){ $refsite = $request->refsite; }else{ $error = true; } if(isset($request->prenom) && $request->prenom != ""){ $prenom = $request->prenom; }else{ $error = true; } if(isset($request->email) && $request->email != ""){ $email = $request->email; }else{ $error = true; } if(isset($request->code_postal) && $request->code_postal != ""){ $code_postal = $request->code_postal; }else{ $error = true; } if(isset($request->commune) && $request->commune != ""){ $commune = $request->commune; }else{ $error = true; } if(isset($request->pays) && $request->pays != ""){ $pays = $request->pays; }else{ $pays = 250; } if($error){ return Response::json([ 'Statut' => 'KO', 'Code' => 101, 'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents' ]); } $contact = Contact::where(['contact_siteId' => $refsite, 'contact_ref' => $refadherent])->first(); if($contact){ $contact->contact_prenom = $prenom; $contact->contact_nom = $nom; $contact->contact_email = $email; $contact->contact_cp = $code_postal; $contact->contact_ville = $commune; $contact->contact_country = $pays; $contact->contact_updatedate = date('Y-m-d H:i:s'); } else { $site = Site::where('site_id', $refsite)->first(); if($site){ $contact = new Contact(); $contact->contact_nom = $nom; $contact->contact_prenom = $prenom; $contact->contact_ref = $refadherent; $contact->contact_email = $email; $contact->contact_cp = $code_postal; $contact->contact_ville = $commune; $contact->contact_country = $pays; $contact->contact_siteId = $refsite; $contact->contact_hash = strtoupper(md5(uniqid(time(), true))); } else { return Response::json([ 'Statut' => 'KO', 'Code' => 102, 'Message' => 'Le site spécifié n\'existe pas' ]); } } if ($contact->save()) { return Response::json([ 'Statut' => 'OK', 'contact' => $contact ]); } else { return Response::json([ 'Statut' => 'KO', 'Code' => 109, 'Message' => 'Une erreur est survenue' ]); } } /** * Remove the specified resource from storage. * * @param \App\Contact $contact * @return \Illuminate\Http\Response */ public function destroy(Contact $contact) { if ($contact->delete()) { return redirect(route('contact.index')); } else { session()->flash('delete_nok', 'Erreur lors de la suppression'); $campagnes = Campagne::where(['camp_siteId' => $contact->contact_siteId, 'camp_published' => 1])->get(); return view('contact.edit', ['contact' => $contact, 'campagnes' => $campagnes]); } } }