/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     //
     $devis = Devis::with('societe', 'contact', 'gescom')->where('etat_devis', 1)->orderBy('created_at', 'desc')->get();
     $actif = 'gescom';
     $type = 0;
     $tri = 'aucun';
     return view('gescom.docs', compact('actif', 'devis', 'type', 'tri'));
 }
 public function edit(Devis $devis, $id)
 {
     $table = Table::findOrFail($id);
     $relations = $table->relationship();
     // $tableList = $devis->tables()->get();
     $tableList = $devis->with('tables')->first()->tables;
     \Flash::info('Refactor ::  la fonction $table->relationship()');
     $mode = 'edit';
     $namespaceList = $devis->namespaces()->lists('name', 'id');
     return view('admin.table.edit', compact('devis', 'table', 'mode', 'namespaceList', 'relations', 'tableList'));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     //
     $profil = Devis::with('gescom', 'societedata')->findOrfail($request->input('id'));
     foreach ($profil->modules as $key => $value) {
         $produit_id = $value->pivot->produit_id;
     }
     $produit = Produit::findOrFail($produit_id);
     $produits = $produit->modules;
     // var_dump($profil);
     // var_dump($produits);
     $cle = $request->input('cle');
     $mac = $request->input('mac');
     $dv_prefix = $produit->prefix_produit;
     $dv_suffix = $produit->suffix_produit;
     $livraison_number = DB::table('livraisons')->select('num_bl')->where('num_bl', 'like', '%BL-' . $dv_prefix . '%')->orderBy('id', 'desc')->first();
     if (empty($livraison_number)) {
         $num_bl = 'BL-' . $dv_prefix . '-' . date('y') . date('m') . $dv_suffix;
     } else {
         foreach ($livraison_number as $blvalue) {
             $last_bl_number = $blvalue;
         }
         $lg = strlen('BL-' . $dv_prefix . '-') + 4;
         $inc_lv_number = substr($last_bl_number, $lg) + 1;
         $num_bl = 'BL-' . $dv_prefix . '-' . date('y') . date('m') . $inc_lv_number;
     }
     $societedata = DB::table('societedatas')->select('id')->orderBy('created_at', 'desc')->first();
     $data = ['num_bl' => $num_bl, 'devis_id' => $profil->id, 'num_cle' => $cle, 'num_mac' => $mac, 'suivi_bl' => $profil->suivi_devis, 'destinataire' => $profil->nom_scliente, 'adresse_dest' => $profil->adresse_scliente, 'pays_dest' => $profil->pays_clt, 'ville_dest' => $profil->ville_clt, 'tel_dest' => $profil->tel_clt, 'ref_dest' => $profil->ref_client, 'num_cmd' => $profil->num_devis, 'livraison_modal' => $num_bl, 'contact_dest' => $profil->nom_scontact, 'societedata_id' => $societedata->id, 'fax_dest' => $profil->fax_clt, 'email_dest' => $profil->email_clt, 'url_dest' => $profil->url_clt, 'nom_produit' => $profil->produit, 'echeance' => $profil->echeance_devis, 'total_ht' => $profil->total_ht, 'total_anpme' => $profil->total_anpme, 'total_part' => $profil->total_part, 'gescom_id' => $profil->gescom_id, 'contact_id' => $profil->contact_id, 'societe_id' => $profil->societe_id];
     $livraison = Livraison::create($data);
     $modules = $profil->modules;
     foreach ($modules as $value) {
         $livraison->modules()->attach($value->pivot->module_id, ['quantite' => $value->pivot->produit_quantite, 'produit_id' => $value->pivot->produit_id, 'service_duree' => $value->pivot->service_duree]);
     }
     $id = $livraison->id;
     return redirect()->route('livraison.show', $id);
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function editer($id)
 {
     //
     $actif = 'gescom';
     $societes[''] = '';
     $societes[0] = 'Tous les contacts';
     $contacts[''] = '';
     $gescom = Gescom::first();
     $societe = Societe::select('id', 'nom_clt')->where('etat', 1)->get();
     $contact = Contact::select('id', 'nom_contact', 'prenoms_contact')->where('etat', 1)->get();
     $modules[''] = '';
     $module = Module::where('etat_module', 1)->orderBy('nom_module', 'asc')->get();
     // Remplissage du tableau des modules
     foreach ($module as $key => $value) {
         foreach ($value->produits as $pkey => $pvalue) {
             $modules[$value->id . '.' . $pvalue->id] = $value->nom_module . ' (' . $pvalue->nom_produit . ')';
         }
     }
     // Remplissage du tableau des sociétés
     foreach ($societe as $key => $value) {
         $societes[$value->id] = $value->nom_clt;
     }
     // Remplissage du tableau des contacts
     foreach ($contact as $key => $value) {
         $contacts[$value->id] = $value->nom_contact . ' ' . $value->prenoms_contact;
     }
     $profil = Devis::with('gescom', 'societedata')->findOrfail($id);
     foreach ($profil->modules as $key => $value) {
         $produit_id = $value->pivot->produit_id;
     }
     $produit = Produit::findOrFail($produit_id);
     $produits = $produit->modules;
     $actif = 'gescom';
     return view('gescom.edit-devis', compact('actif', 'profil', 'produits', 'contacts', 'gescom', 'societes', 'modules'));
 }