242 lines
7.8 KiB
PHP
242 lines
7.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Contact;
|
|
use App\Site;
|
|
use Response;
|
|
use Illuminate\Http\Request;
|
|
|
|
class ContactController extends Controller
|
|
{
|
|
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index(Request $request)
|
|
{
|
|
$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);
|
|
}
|
|
|
|
|
|
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');
|
|
|
|
$site = Site::findOrFail(session()->get('site')->id)->first();
|
|
|
|
$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();
|
|
|
|
return view('contact.edit', ['contact' => $contact, 'created' => true, 'contacts' => $contacts]);
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Show the form for editing the specified resource.
|
|
*
|
|
* @param \App\Campagne $campagne
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function edit(Contact $contact)
|
|
{
|
|
return view('contact.edit', ['contact' => $contact]);
|
|
}
|
|
|
|
|
|
/**
|
|
* 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;
|
|
} 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');
|
|
return view('contact.edit')->with('contact', $contact);
|
|
}
|
|
}
|
|
}
|