You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

308 line
16KB

  1. <?php
  2. use yii\helpers\Html;
  3. use yii\widgets\ActiveForm;
  4. use common\models\Etablissement;
  5. /* @var $this yii\web\View */
  6. /* @var $model common\models\Commande */
  7. /* @var $form ActiveForm */
  8. ?>
  9. <div class="commande-form">
  10. <h2 id="step-choix-etablissement">Je choisis mon producteur</h2>
  11. <?php if(count($etablissements)): ?>
  12. <?=
  13. $this->render('_liste_etablissements.php',[
  14. 'etablissements' => $etablissements,
  15. 'context' => 'commande',
  16. 'id_etablissement' => $id_etablissement,
  17. 'etablissement_paiement_ok' => $etablissement_paiement_ok,
  18. ]) ;
  19. ?>
  20. <div class="clr"></div>
  21. <?php else: ?>
  22. <div class="alert alert-info">Veuiller <a href="<?= Yii::$app->urlManager->createUrl(['commande/index']) ; ?>">ajouter un producteur</a> à votre tableau de bord avant de passer commande.</div>
  23. <?php endif; ?>
  24. <?php
  25. $form = ActiveForm::begin([
  26. 'enableClientScript' => false
  27. ]);
  28. ?>
  29. <?php if($id_etablissement && $etablissement_paiement_ok): ?>
  30. <div class="col-md-6">
  31. <h2 id="step-choix-date">Date de commande</h2>
  32. <?= $form->field($model, 'id_production')->label('')->hiddenInput(); ?>
  33. <?php if (isset($model->id)): ?>
  34. <div class="date-commande"><span><?php echo date('d/m/Y', strtotime($production->date)); ?></span></div>
  35. <?= Html::hiddenInput('id_commande', $model->id,['id'=>'id-commande']); ?>
  36. <?= Html::hiddenInput('montant_paye', $model->getMontantPaye(),['id'=>'montant-paye']); ?>
  37. <?php endif; ?>
  38. <div id="datepicker-production" <?php if (isset($model->id)): ?>style="display:none"<?php endif; ?>>
  39. </div>
  40. <?php if (!isset($model->id)): ?>
  41. <br />
  42. <?php endif; ?>
  43. <div id="dates" style="display:none;">
  44. <?php
  45. foreach ($jours_production as $id_production => $j) {
  46. if ($j != '--') {
  47. echo '<div><span class="date">' . $j . '</span><span class="id_production">' . $id_production . '</span></div>';
  48. }
  49. }
  50. ?>
  51. </div>
  52. <div class="clr"></div>
  53. <div id="commandes-en-cours" style="display:none;">
  54. <?php foreach ($commandes_en_cours as $c): ?>
  55. <?php echo '<div class="commande" data-idproduction="' . $c->id_production . '" data-id="' . $c->id . '" data-href="' . Yii::$app->urlManager->createUrl(['commande/update', 'id' => $c->id, 'id_etablissement' => $c->production->id_etablissement]) . '"></div>'; ?>
  56. <?php endforeach; ?>
  57. </div>
  58. <div id="has-commande-en-cours" style="display:none;" class="alert alert-danger">Vous avez déjà une commande en cours pour cette date. <a href="#">Cliquez ici</a> pour la modifier.</div>
  59. </div>
  60. <div class="col-md-6">
  61. <?php if(strlen($etablissement->infos_commande)): ?>
  62. <h2>Infos du producteur</h2>
  63. <div id="infos-commande">
  64. <?= nl2br(Html::encode($etablissement->infos_commande)) ?>
  65. </div>
  66. <?php endif; ?>
  67. </div>
  68. <div class="clr"></div>
  69. <div id="depots">
  70. <h2 id="step-choix-depot">Je choisis un dépôt</h2>
  71. <?=
  72. $form->field($model, 'id_point_vente')
  73. ->label('')
  74. ->hiddenInput();
  75. //->dropDownList($points_vente) ;
  76. ?>
  77. <input type="hidden" id="livraison" value="<?php if (!is_null($production) && $production->livraison): ?>1<?php else: ?>0<?php endif; ?>" />
  78. <ul id="points-vente" class="blocs">
  79. <?php
  80. foreach ($points_vente as $pv) {
  81. $commentaire = '' ;
  82. if(isset($pv->pointVenteUser) && is_array($pv->pointVenteUser) && count($pv->pointVenteUser))
  83. {
  84. foreach($pv->pointVenteUser as $pvu)
  85. {
  86. if($pvu->id_user == Yii::$app->user->identity->id && strlen($pvu->commentaire))
  87. {
  88. $commentaire = '<div class="commentaire"><span>'.Html::encode($pvu->commentaire).'</span></div>' ;
  89. }
  90. }
  91. }
  92. $html_code = '' ;
  93. $data_code = '0' ;
  94. $code = '' ;
  95. if(strlen($pv->code))
  96. {
  97. if(!isset($model->id_point_vente) || $model->id_point_vente != $pv->id)
  98. {
  99. $html_code .= '<span class="glyphicon glyphicon-lock"></span> ' ;
  100. $data_code = '1' ;
  101. }
  102. else {
  103. $code = $pv->code ;
  104. }
  105. }
  106. echo '<li class="bloc point-vente point-vente-' . $pv->id . '" data-code="'.$data_code.'" data-vrac="' . (int) $pv->vrac . '" data-pain="' . (int) $pv->pain . '" data-credit-pain="'.(int) $pv->credit_pain.'"><div class="contenu">' .
  107. '<span style="display:none;" class="id">' . $pv->id . '</span>' .
  108. '<div class="nom">' .$html_code. Html::encode($pv->nom) . '</div>' .
  109. '<div class="adresse">à ' . Html::encode($pv->localite) . '</div>' .
  110. '<div class="horaires">' .
  111. '<div class="jour jour-1">' . (strlen($pv->horaires_lundi) ? nl2br(Html::encode($pv->horaires_lundi)) : 'Fermé') . '</div>' .
  112. '<div class="jour jour-2">' . (strlen($pv->horaires_mardi) ? nl2br(Html::encode($pv->horaires_mardi)) : 'Fermé') . '</div>' .
  113. '<div class="jour jour-3">' . (strlen($pv->horaires_mercredi) ? nl2br(Html::encode($pv->horaires_mercredi)) : 'Fermé') . '</div>' .
  114. '<div class="jour jour-4">' . (strlen($pv->horaires_jeudi) ? nl2br(Html::encode($pv->horaires_jeudi)) : 'Fermé') . '</div>' .
  115. '<div class="jour jour-5">' . (strlen($pv->horaires_vendredi) ? nl2br(Html::encode($pv->horaires_vendredi)) : 'Fermé') . '</div>' .
  116. '<div class="jour jour-6">' . (strlen($pv->horaires_samedi) ? nl2br(Html::encode($pv->horaires_samedi)) : 'Fermé') . '</div>' .
  117. '<div class="jour jour-0">' . (strlen($pv->horaires_dimanche) ? nl2br(Html::encode($pv->horaires_dimanche)) : 'Fermé') . '</div>' .
  118. '</div>'
  119. . $commentaire .
  120. '<input type="hidden" name="code_point_vente_'.$pv->id.'" value="'.$code.'" />'.
  121. '</div></li>';
  122. }
  123. ?>
  124. </ul>
  125. <div class="clr"></div>
  126. </div>
  127. <div id="produits">
  128. <h2 id="step-choix-produits">Mes produits</h2>
  129. <?php // confiance ?>
  130. <input type="hidden" id="confiance" value="<?php echo (int) Yii::$app->user->identity->confiance; ?>" />
  131. <?php if (!Yii::$app->user->identity->confiance): ?>
  132. <div id="mess-limit-quantity" class="alert alert-warning"><strong>Attention,</strong> vous ne pouvez commander que 3 produits.</div>
  133. <?php endif; ?>
  134. <?php // erreur ?>
  135. <?php if (Yii::$app->session->getFlash('error')): ?>
  136. <div class="alert alert-danger"><div class="icon"></div><?= Yii::$app->session->getFlash('error'); ?></div>
  137. <?php endif; ?>
  138. <div id="pain">
  139. <div class="alert alert-warning indisponible">Pain indisponible pour ce point de vente</div>
  140. <table class="table table-bordered" id="table-produits">
  141. <thead>
  142. <tr>
  143. <th class="th-photo">Photo</th>
  144. <th class="produit">Produit</th>
  145. <th class="prix-unit">Prix unitaire</th>
  146. <th class="colonne-quantite">Quantité</th>
  147. <th class="total">Total</th>
  148. </tr>
  149. </thead>
  150. <tbody>
  151. <?php foreach ($produits as $p): ?>
  152. <?php
  153. $quantite = 0;
  154. if (isset($produits_selec[$p->id]))
  155. $quantite = $produits_selec[$p->id];
  156. ?>
  157. <tr class="produit-<?php echo $p->id; ?>" data-no-limit="<?php if(!$p->quantite_max): ?>1<?php else: ?>0<?php endif; ?>" data-quantite-max="<?= $quantite ?>" <?php if (count($produits_dispos) && !$produits_dispos[$p->id]['actif']): ?>style="display:none;"<?php endif; ?>>
  158. <td class="td-photo">
  159. <?php if (strlen($p->photo) && file_exists(dirname(__FILE__).'/../../web/uploads/' . $p->photo)): ?><a href="<?= Yii::$app->urlManager->getBaseUrl() . '/uploads/' . $p->photo ?>" data-lightbox="produit-<?php echo $p->id; ?>"><img class="photo img-rounded" src="<?= Yii::$app->urlManager->getBaseUrl() . '/uploads/' . $p->photo ?>" alt="Photo <?= Html::encode($p->nom); ?>" /></a><?php endif; ?>
  160. </td>
  161. <td class="produit">
  162. <span class="nom"><?= Html::encode($p->nom); ?></span> - <span class="description"><?= Html::encode($p->getDescription()); ?></span><br />
  163. <span class="recette"><?= Html::encode($p->recette); ?></span>
  164. </td>
  165. <td class="prix-unit"><span class="prix"><?= number_format($p->prix, 2); ?></span> €</td>
  166. <td class="colonne-quantite">
  167. <div class="input-group" <?php if (isset($produits_dispos[$p->id]) && $produits_dispos[$p->id]['quantite_restante'] == 0 && $quantite == 0): ?>style="display:none;"<?php endif; ?>>
  168. <span class="input-group-btn">
  169. <button type="button" class="btn btn-default move-quantity moins">-</button>
  170. </span>
  171. <input type="text" value="<?php if (isset($produits_selec[$p->id])): echo $produits_selec[$p->id];
  172. else: ?>0<?php endif; ?>" readonly name="Produit[produit_<?php echo $p->id; ?>]" class="quantity form-control">
  173. <span class="input-group-btn">
  174. <button type="button" class="btn btn-default move-quantity plus">+</button>
  175. </span>
  176. </div>
  177. <div class="quantite-restante">Reste <span class="nb"><?php if (isset($produits_dispos[$p->id])): echo $produits_dispos[$p->id]['quantite_restante'] + $quantite;
  178. endif; ?></span> <?php echo Html::encode(strtolower($p->nom)); ?>(s)
  179. </div>
  180. <div class="epuise">Épuisé</div>
  181. </td>
  182. <td class="total"><strong></strong></td>
  183. </tr>
  184. <?php endforeach; ?>
  185. </tbody>
  186. <tfoot>
  187. <tr>
  188. <td></td>
  189. <td></td>
  190. <td></td>
  191. <!-- <td><strong><span id="total-commande">0</span> €</strong></td> -->
  192. <td id="total-commande"><strong></strong></td>
  193. </tr>
  194. </tfoot>
  195. </table>
  196. </div>
  197. </div>
  198. <?php if($id_etablissement): ?>
  199. <?php
  200. $etablissement = Etablissement::findOne($id_etablissement);
  201. ?>
  202. <div id="bar-fixed" class="<?php if($etablissement->credit_pain): ?>credit-pain<?php else: ?>no-credit-pain<?php endif; ?>">
  203. <div class="container">
  204. <?php if (isset($model->id)): ?>
  205. <a href="<?php echo Yii::$app->urlManager->createUrl(['commande/annuler', 'id' => $model->id]); ?>" class="btn btn-danger annuler-commande">Annuler ma commande</a>
  206. <?php endif; ?>
  207. <span id="total-commande-bottom"><span></span> €</span>
  208. <?= Html::submitButton('<span class="glyphicon glyphicon-comment"></span> Commentaire', ['class' => 'btn btn-default btn-commentaire', 'data-placement' => 'top', 'data-toggle' => 'tooltip', 'data-original-title' => 'Ajouter un commentaire']) ?>
  209. <?php
  210. if($etablissement->credit_pain):
  211. $lien_credit_pain = '<a class="info-credit-pain" href="'.Yii::$app->urlManager->createUrl(['site/creditpain']) .'" data-toggle="tooltip" data-placement="bottom" title="En savoir plus sur le Crédit Pain"><span class="glyphicon glyphicon-info-sign"></span></a>' ; ;
  212. ?>
  213. <div id="checkbox-credit-pain" >
  214. <?php if($credit || $model->getMontantPaye()): ?>
  215. <?= Html::checkbox('credit_pain', true, ['label' => 'Utiliser mon compte Crédit Pain <span class="the-credit" data-toggle="tooltip" data-placement="top" data-original-title="Vous avez actuellement '.number_format($credit,2).' € sur votre compte Crédit Pain">'.number_format($credit,2).' €</span><br /><span class="info"></span>']) ?>
  216. <?= Html::hiddenInput('montant_credit_pain', $credit, ['id' => 'montant-credit-pain']) ?>
  217. <?= Html::hiddenInput('str_montant_credit_pain', number_format($credit,2).' €', ['id' => 'str-montant-credit-pain']) ?>
  218. <?php else: ?>
  219. <div id="info-credit-vide">
  220. Votre compte Crédit Pain est vide <?= $lien_credit_pain ?>
  221. </div>
  222. <?php endif; ?>
  223. <div id="credit-pain-disabled">Le Crédit Pain est désactivé<br /> pour ce point de vente <?= $lien_credit_pain ?></div>
  224. </div>
  225. <div class="clr"></div>
  226. <?php endif; ?>
  227. <?= $form->field($model, 'commentaire')->textarea(['rows' => 3, 'placeholder' => 'Un commentaire ?'])->label(''); ?>
  228. <div id="bloc-valider-commande">
  229. <?= Html::submitButton('<span class="glyphicon glyphicon-ok"></span> Valider ma commande', ['class' => 'btn btn-primary valider-commande']) ?>
  230. </div>
  231. <?php endif; ?>
  232. </div>
  233. </div>
  234. <?php
  235. // id_etablissement
  236. endif; ?>
  237. <?php ActiveForm::end(); ?>
  238. <!-- modal code point de vente -->
  239. <div class="modal fade" id="modal-code" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  240. <div class="modal-dialog modal-lg" role="document">
  241. <div class="modal-content">
  242. <div class="modal-header">
  243. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  244. <h4 class="modal-title" id="myModalLabel">Code d'accès</h4>
  245. </div>
  246. <div class="modal-body">
  247. <div class="alert alert-warning">
  248. Ce point de vente nécessite un code d'accès.
  249. </div>
  250. <form action="index.php?r=commande/verif-code" method="post">
  251. <input type="hidden" value="" name="id_point_vente" id="id-point-vente" />
  252. <div class="form-group field-code required">
  253. <label class="control-label" for="code">Code d'accès :</label>
  254. <input type="password" class="form-control" id="code" name="code" />
  255. <p class="help-block help-block-error" style="display:none;">Code incorrect</p>
  256. </div>
  257. <div class="form-group">
  258. <button type="submit" class="btn btn-primary">Valider</button>
  259. </div>
  260. </form>
  261. </div>
  262. </div>
  263. </div>
  264. </div>
  265. </div><!-- commande-form -->