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.

181 lines
9.1KB

  1. <?php
  2. /**
  3. * Copyright distrib (2018)
  4. *
  5. * contact@opendistrib.net
  6. *
  7. * Ce logiciel est un programme informatique servant à aider les producteurs
  8. * à distribuer leur production en circuits courts.
  9. *
  10. * Ce logiciel est régi par la licence CeCILL soumise au droit français et
  11. * respectant les principes de diffusion des logiciels libres. Vous pouvez
  12. * utiliser, modifier et/ou redistribuer ce programme sous les conditions
  13. * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
  14. * sur le site "http://www.cecill.info".
  15. *
  16. * En contrepartie de l'accessibilité au code source et des droits de copie,
  17. * de modification et de redistribution accordés par cette licence, il n'est
  18. * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
  19. * seule une responsabilité restreinte pèse sur l'auteur du programme, le
  20. * titulaire des droits patrimoniaux et les concédants successifs.
  21. *
  22. * A cet égard l'attention de l'utilisateur est attirée sur les risques
  23. * associés au chargement, à l'utilisation, à la modification et/ou au
  24. * développement et à la reproduction du logiciel par l'utilisateur étant
  25. * donné sa spécificité de logiciel libre, qui peut le rendre complexe à
  26. * manipuler et qui le réserve donc à des développeurs et des professionnels
  27. * avertis possédant des connaissances informatiques approfondies. Les
  28. * utilisateurs sont donc invités à charger et tester l'adéquation du
  29. * logiciel à leurs besoins dans des conditions permettant d'assurer la
  30. * sécurité de leurs systèmes et ou de leurs données et, plus généralement,
  31. * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
  32. *
  33. * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
  34. * pris connaissance de la licence CeCILL, et que vous en avez accepté les
  35. * termes.
  36. */
  37. use common\logic\Distribution\Distribution\Module\DistributionModule;
  38. use common\logic\Distribution\Distribution\Service\ExportManager;
  39. use common\logic\Producer\Producer\Module\ProducerModule;
  40. use yii\helpers\Html;
  41. use yii\widgets\ActiveForm;
  42. use yii\helpers\ArrayHelper;
  43. use common\logic\Producer\Producer\Model\Producer;
  44. use common\logic\User\User\Module\UserModule;
  45. $producerModule = ProducerModule::getInstance();
  46. $userModule = UserModule::getInstance();
  47. $distributionModule = DistributionModule::getInstance();
  48. ?>
  49. <div class="point-sale-form">
  50. <?php $form = ActiveForm::begin(); ?>
  51. <div class="col-md-8">
  52. <?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?>
  53. <?= $form->field($model, 'locality')->textInput(['maxlength' => 255]) ?>
  54. <?= $form->field($model, 'address')->textarea(['rows' => 6]) ?>
  55. <?= $form->field($model, 'id_user', [
  56. 'template' => '{label} <a href="' . Yii::$app->urlManager->createUrl(['user/create']) . '" class="btn btn-xs btn-default">Nouvel utilisateur <span class="glyphicon glyphicon-plus"></span></a><div>{input}</div>{hint}',
  57. ])
  58. ->dropDownList($userModule->populateUserDropdownList(), ['class' => 'select2'])
  59. ->hint('Utilisé lors de la facturation'); ?>
  60. <?php
  61. $addHintCredit = '';
  62. if (!$producerModule->getConfig('credit')):
  63. $addHintCredit = '<br /><strong>Attention, le système de Crédit est désactivé au niveau des ' . Html::a('paramètres globaux', ['producer/update']) . '.</strong>';
  64. endif;
  65. echo $form->field($model, 'credit')
  66. ->checkbox()
  67. ->hint('Cochez cette case si le client peut régler ses commandes via son compte <strong>Crédit</strong> pour ce point de vente.'
  68. . $addHintCredit);
  69. ?>
  70. <?= $form->field($model, 'credit_functioning')
  71. ->dropDownList([
  72. '' => 'Paramètres globaux (' . Producer::$creditFunctioningArray[$producerModule->getConfig('credit_functioning')] . ')',
  73. Producer::CREDIT_FUNCTIONING_OPTIONAL => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_OPTIONAL],
  74. Producer::CREDIT_FUNCTIONING_MANDATORY => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_MANDATORY],
  75. Producer::CREDIT_FUNCTIONING_USER => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_USER],
  76. ], [])->hint(Producer::HINT_CREDIT_FUNCTIONING); ?>
  77. <?php /*$form->field($model, 'product_price_percent')
  78. ->dropDownList( ProductPrice::percentValues(), [])->hint('Pourcentage appliqué aux prix de chaque produit dans ce point de vente.');*/ ?>
  79. <?= $form->field($model, 'maximum_number_orders')->textInput() ?>
  80. <div id="delivery-days">
  81. <h2>Jours de livraison</h2>
  82. <?= $form->field($model, 'delivery_monday')->checkbox() ?>
  83. <?= $form->field($model, 'delivery_tuesday')->checkbox() ?>
  84. <?= $form->field($model, 'delivery_wednesday')->checkbox() ?>
  85. <?= $form->field($model, 'delivery_thursday')->checkbox() ?>
  86. <?= $form->field($model, 'delivery_friday')->checkbox() ?>
  87. <?= $form->field($model, 'delivery_saturday')->checkbox() ?>
  88. <?= $form->field($model, 'delivery_sunday')->checkbox() ?>
  89. </div>
  90. <div class="clr"></div>
  91. <h2>Informations</h2>
  92. <?= $form->field($model, 'infos_monday')->textarea(['rows' => 3]) ?>
  93. <?= $form->field($model, 'infos_tuesday')->textarea(['rows' => 3]) ?>
  94. <?= $form->field($model, 'infos_wednesday')->textarea(['rows' => 3]) ?>
  95. <?= $form->field($model, 'infos_thursday')->textarea(['rows' => 3]) ?>
  96. <?= $form->field($model, 'infos_friday')->textarea(['rows' => 3]) ?>
  97. <?= $form->field($model, 'infos_saturday')->textarea(['rows' => 3]) ?>
  98. <?= $form->field($model, 'infos_sunday')->textarea(['rows' => 3]) ?>
  99. <h2>Livraison à domicile</h2>
  100. <?= $form->field($model, 'is_home_delivery')->checkbox() ?>
  101. <h2>Boîte à pain</h2>
  102. <?= $form->field($model, 'is_bread_box')->checkbox() ?>
  103. <?= $form->field($model, 'bread_box_code')->textInput() ?>
  104. </div>
  105. <div class="col-md-4">
  106. <div class="panel panel-default">
  107. <div class="panel-heading">
  108. <h3 class="panel-title">Accès</h3>
  109. </div>
  110. <div class="panel-body">
  111. <?= $form->field($model, 'code')
  112. ->label('Code d\'accès')
  113. ->hint('Renseignez ce champs si vous souhaitez protéger ce point de vente par un code.')
  114. ?>
  115. <?= $form->field($model, 'restricted_access')
  116. ->checkbox()
  117. ->hint('Cochez cette case si seulement un groupe restreint d\'utilisateurs peuvent accéder à ce point de vente.<br />'
  118. . 'Dans le cas des boîtes à pain, il vous est possible de spécifier un commentaire pour chaque utilisateur sélectionné afin de lui renseigner son numéro de boîte ou son code.') ?>
  119. <div id="users">
  120. <?= Html::activeCheckboxList($model, 'users', ArrayHelper::map($users, 'user_id', function ($model_user, $defaultValue) use ($model) {
  121. $userModule = UserModule::getInstance();
  122. return Html::encode($userModule->getUsernameFromArray($model_user)) . '<br />'
  123. . Html::activeTextInput(
  124. $model,
  125. 'users_comment[' . $model_user['user_id'] . ']',
  126. [
  127. 'class' => 'form-control commentaire',
  128. 'placeholder' => 'Commentaire',
  129. 'value' => (isset($model->users_comment[$model_user['user_id']])) ? Html::encode($model->users_comment[$model_user['user_id']]) : ''
  130. ]);
  131. }), ['encode' => false, 'class' => '']) ?>
  132. </div>
  133. </div>
  134. </div>
  135. <div class="panel panel-default">
  136. <div class="panel-heading">
  137. <h3 class="panel-title">Génération des bons de livraison</h3>
  138. </div>
  139. <div class="panel-body">
  140. <?= $form->field($model, 'button_generate_delivery_note_point_sale')->checkbox() ?>
  141. <?= $form->field($model, 'button_generate_delivery_note_each_user')->checkbox() ?>
  142. </div>
  143. </div>
  144. <?php if ($distributionModule->getExportManager()->isEnabled(ExportManager::SHOPPING_CART_LABELS_PDF)): ?>
  145. <div class="panel panel-default">
  146. <div class="panel-heading">
  147. <h3 class="panel-title">Exports</h3>
  148. </div>
  149. <div class="panel-body">
  150. <?= $form->field($model, 'exclude_export_shopping_cart_labels')->checkbox(); ?>
  151. </div>
  152. </div>
  153. <?php endif; ?>
  154. </div>
  155. <div class="clr"></div>
  156. <div class="form-group">
  157. <?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
  158. </div>
  159. <?php ActiveForm::end(); ?>
  160. </div>