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); $searchData = array( 'name' => $name, 'firstname' => $firstname, 'email' => $email, 'cp' => $cp, 'ville' => $ville, 'pays' => $country ); return view('contact.index')->with('contacts', $contacts)->with('search', true)->with('searchData', $searchData); } 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) { $validatedData = $request->validate([ 'contact_ref' => 'required|unique:contact', 'contact_nom' => 'required', 'contact_prenom' => 'required', 'contact_email' => 'required', 'contact_cp' => 'required', 'contact_ville' => 'required', 'contact_country' => 'required' ]); $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) { $validatedData = $request->validate([ 'contact_ref' => 'required', 'contact_nom' => 'required', 'contact_prenom' => 'required', 'contact_email' => 'required', 'contact_cp' => 'required', 'contact_ville' => 'required', 'contact_country' => 'required' ]); $campagnes = Campagne::where(['camp_siteId' => $contact->contact_siteId, 'camp_published' => 1])->get(); 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 redirect()->route('contact.edit', ['contact' => $contact]); } public function updateContact(Request $request) { if (isset($request->admin)) { $source = 'ADMIN'; } else { $source = 'API'; } // ---- INIT du log // $log = new Log(); // $log->log_action = config('constants.updatecontact'); // $log->log_source = $source; $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 != "" && filter_var($request->email, FILTER_VALIDATE_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 != "") { if (filter_var($request->pays, FILTER_VALIDATE_INT)) { $pays = $request->pays; } else { $error = true; } } else { $pays = 250; } if ($error) { // $log->log_params = json_encode(['refadherent' => $request->refadherent, 'refsite'=>$request->refsite, 'nom' => $request->nom, 'prenom' => $request->prenom, 'email' => $request->email, 'code postal' => $request->code_postal, 'commune' => $request->commune]); // $log->log_statut = 'NOK'; // $log->log_message = "Des paramètres de la requête sont mal renseignés ou non présents"; // $log->save(); 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; if (isset($request->hashcode) && $request->hashcode != "") { $contact->contact_hash = $request->hashcode; } else { $contact->contact_hash = strtoupper(md5(uniqid(time(), true))); } } else { // $log->log_params = json_encode(['refadherent' => $request->refadherent, 'refsite'=>$request->refsite, 'nom' => $request->nom, 'prenom' => $request->prenom, 'email' => $request->email, 'code postal' => $request->code_postal, 'commune' => $request->commune]); // $log->log_refsite = $request->refsite; // $log->log_statut = 'NOK'; // $log->log_message = "Le site spécifié n'existe pas"; // $log->save(); 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 { // $log->log_params = json_encode(['refadherent' => $request->refadherent, 'refsite'=>$request->refsite, 'nom' => $request->nom, 'prenom' => $request->prenom, 'email' => $request->email, 'code postal' => $request->code_postal, 'commune' => $request->commune]); // $log->log_refsite = $request->refsite; // $log->log_statut = 'NOK'; // $log->log_message = "Une erreur est survenue"; // $log->save(); 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]); } } }