/** * Store a newly created resource in storage. * * @return Response */ public function store(Request $request) { $commande = new Commande(); $commande->com_date = Carbon::now(); $user = $request->user(); $commande->com_fk_clients = $user->id; $commande->save(); foreach ($request->all() as $id => $qte) { if ($id != '_token') { $ligneActuel = IdentifiantCombi::find($id); $ligneActuel->commandes()->attach($commande->com_id, ['lig_quantite' => $qte]); } } $request->session()->forget('panier'); $request->session()->forget('taillepanier'); return redirect('commande'); }
/** * Suppression de la commande et des produits attachés. * Retrouve la commande, détache les produits et efface la commande de la bd. * * @param int $id (L'id de la commande à effacer) * @return \Illuminate\Http\Response */ public function destroy($id) { try { $commande = Commande::findOrFail($id); $commande->produitsFinis()->detach(); $commande->delete(); } catch (ModelNotFoundException $e) { App::abort(404); } return Redirect::action('CommandesController@index'); }
public function actionAcquisition() { $fourn = new Fournisseur(); $cmd = new Commande(); $fact = new Facture(); $model = new Bien(); $dat = new Dat(); $soufamille = new Sousfamille(); $quantite = Yii::$app->request->post('quantite'); if ($model->load(Yii::$app->request->post()) && $cmd->load(Yii::$app->request->post()) && $fact->load(Yii::$app->request->post()) && $dat->load(Yii::$app->request->post()) && $soufamille->load(Yii::$app->request->post()) && $fourn->load(Yii::$app->request->post()) && $quantite) { //controler si le code bien nesxite pas ds la table bien /* $control = Bien::find()->where(['codebien' => $model->codebien])->one(); if ($control) { Yii::$app->getSession()->setFlash('danger', 'Erreur!!! le code que vous avez entré existe déja.'); return $this->redirect(['acquisition']); }*/ $countt = Bien::find()->count(); //print ("count= $countt"); $cdbienX = Bien::find()->where(['seq' => $countt])->one(); if ($quantite < 100) { for ($i = 1; $i < $quantite + 1; $i++) { $model2 = new Bien(); $cdsf = Sousfamille::find()->where(['designationsousfamille' => $soufamille->designationsousfamille])->one(); //$cdbien = $model->codebien; $cdbien = $cdbienX->seq; $sf = $cdsf->codesousfamille; $som = $cdbien + $i; $model2->codebien = "" . $sf . "" . $som; $model2->seq = $som; //print ("code= $model2->codebien"); $dte = $dat->dt; $fournisseurCod = $fourn->regcomm; $fact->regcomm = $fournisseurCod; //controle de date $dateSysteme = date('d/m/Y'); //récupérer date systeme $tabSys = explode('/', $dateSysteme); //convertir en tableau dont le séparateur est / $secSys = mktime(0, 0, 0, $tabSys[1], $tabSys[0], $tabSys[2]); //convertir la date en seconde $tabPicker = explode('/', $dte); $secPicker = mktime(0, 0, 0, $tabPicker[1], $tabPicker[0], $tabPicker[2]); if ($secSys >= $secPicker) { $model->dateacquisition = $dte; $dat->save(); $model2->dateacquisition = $dte; $datcmd = $cmd->datecmd; $datfact = $fact->datefact; $cmd->save(); $fact->save(); // faire le control des date cmd et date fact if ($datcmd != null) { $tabDatCmd = explode('/', $datcmd); $secDatCmd = mktime(0, 0, 0, $tabDatCmd[1], $tabDatCmd[0], $tabDatCmd[2]); if ($secSys < $secDatCmd) { Yii::$app->getSession()->setFlash('danger', 'La date de commande que vous avez entrée est superieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait'); return $this->redirect(['acquisition']); } } if ($datfact != null) { $tabDatFact = explode('/', $datfact); $secDatFact = mktime(0, 0, 0, $tabDatFact[1], $tabDatFact[0], $tabDatFact[2]); if ($secSys < $secDatFact) { Yii::$app->getSession()->setFlash('danger', 'La date de facture que vous avez entrée est superieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait'); return $this->redirect(['acquisition']); } } $cmde = $cmd->numcmd; $model->numcmd = $cmde; $model2->numcmd = $cmde; $facte = $fact->numfacture; $model->numfacture = $facte; $model2->numfacture = $facte; $desSfam = $soufamille->designationsousfamille; $soufam = Sousfamille::find()->where(['designationsousfamille' => $desSfam])->one(); $sfamille = $soufam->codesousfamille; $model->codesousfamille = $sfamille; $des = $model->designationbien; $model2->designationbien = $des; $model2->codesousfamille = $sfamille; $model2->statutbien = 'acquis'; $etat = $model->etatbien; $model2->etatbien = $etat; $comm = $model->commentaire; $model2->commentaire = $comm; $poids = $model->poids; $model2->poids = $poids; $datedebugarantie = $model->datedebugarantie; $datefingarantie = $model->datefingarantie; if ($datedebugarantie != null && $datefingarantie != null) { //convertir datedebugarantie en seconde pr faire le control $tabDatDebu = explode('/', $datedebugarantie); $secDatDebu = mktime(0, 0, 0, $tabDatDebu[1], $tabDatDebu[0], $tabDatDebu[2]); $model2->datedebugarantie = $datedebugarantie; //convertir datefingarantie en seconde pr faire le control $tabDatFin = explode('/', $datefingarantie); $secDatFin = mktime(0, 0, 0, $tabDatFin[1], $tabDatFin[0], $tabDatFin[2]); $model2->datefingarantie = $datefingarantie; if ($secDatDebu >= $secDatFin) { Yii::$app->getSession()->setFlash('danger', 'La date début de garantie ne doit pas être supérieure à la date de fin de garantie. Veuillez vérifier vos dates s il vous plait'); return $this->redirect(['acquisition']); } //if ($secDatDebu > $secSys || $secDatFin > $secSys) { if ($secDatDebu > $secSys) { Yii::$app->getSession()->setFlash('danger', 'La date de garantie est supérieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait'); return $this->redirect(['acquisition']); } } $modele = $model->modele; $model2->modele = $modele; $model2->save(); } else { Yii::$app->getSession()->setFlash('danger', 'La date d acquisition que vous avez entrée est superieure à la date d aujourdhui. Veuillez entrer une date valide s il vous plait'); return $this->redirect(['acquisition']); } } } else { Yii::$app->getSession()->setFlash('danger', 'La quantité que vous avez saisie est très grande. Veuillez vérifier cette quantité s il vous plait'); return $this->redirect(['acquisition']); } $imm = strcmp($soufamille->designationsousfamille, "Terrains de construction"); if ($model2->save()) { if ($imm == 0) { return $this->redirect(['immobilier', 'id' => $cdbienX->seq, 'quantite' => $quantite, 'sf' => $sf]); } else { return $this->redirect(['amort', 'id' => $cdbienX->seq, 'quantite' => $quantite, 'sf' => $sf]); } } } else { return $this->render('vueAcquisition', ['model' => $model, 'soufamille' => $soufamille, 'dat' => $dat, 'cmd' => $cmd, 'fact' => $fact, 'fourn' => $fourn]); } }