您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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 yii\helpers\Html;
  38. use yii\widgets\ActiveForm;
  39. use yii\helpers\ArrayHelper;
  40. use common\models\Producer;
  41. use common\models\ProductPrice ;
  42. /* @var $this yii\web\View */
  43. /* @var $model backend\models\PointVente */
  44. /* @var $form yii\widgets\ActiveForm */
  45. ?>
  46. <div class="point-sale-form">
  47. <?php $form = ActiveForm::begin(); ?>
  48. <div class="col-md-8">
  49. <?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?>
  50. <?= $form->field($model, 'locality')->textInput(['maxlength' => 255]) ?>
  51. <?= $form->field($model, 'address')->textarea(['rows' => 6]) ?>
  52. <?= $form->field($model, 'id_user', [
  53. '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}',
  54. ])
  55. ->dropDownList(
  56. ArrayHelper::map(User::findBy()->orderBy('type DESC')->all(), 'user_id', function ($model) {
  57. if(strlen($model['name_legal_person'])) {
  58. return 'Personne morale / '.$model['name_legal_person'] ;
  59. }
  60. else {
  61. return $model['lastname'] . ' ' . $model['name'];
  62. }
  63. }),
  64. [
  65. 'prompt' => '--',
  66. ]
  67. )->hint('Utilisé lors de la facturation'); ?>
  68. <?php
  69. $addHintCredit = '';
  70. if (!Producer::getConfig('credit')):
  71. $addHintCredit = '<br /><strong>Attention, le système de Crédit est désactivé au niveau des ' . Html::a('paramètres globaux', ['producer/update']) . '.</strong>';
  72. endif;
  73. echo $form->field($model, 'credit')
  74. ->checkbox()
  75. ->hint('Cochez cette case si le client peut régler ses commandes via son compte <strong>Crédit</strong> pour ce point de vente.'
  76. . $addHintCredit);
  77. ?>
  78. <?= $form->field($model, 'credit_functioning')
  79. ->dropDownList([
  80. '' => 'Paramètres globaux (' . Producer::$creditFunctioningArray[Producer::getConfig('credit_functioning')] . ')',
  81. Producer::CREDIT_FUNCTIONING_OPTIONAL => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_OPTIONAL],
  82. Producer::CREDIT_FUNCTIONING_MANDATORY => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_MANDATORY],
  83. Producer::CREDIT_FUNCTIONING_USER => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_USER],
  84. ], [])->hint(Producer::HINT_CREDIT_FUNCTIONING); ?>
  85. <?php /*$form->field($model, 'product_price_percent')
  86. ->dropDownList(ProductPrice::percentValues(), [])->hint('Pourcentage appliqué aux prix de chaque produit dans ce point de vente.');*/ ?>
  87. <?= $form->field($model, 'maximum_number_orders')->textInput() ?>
  88. <h2>Boîte à pain</h2>
  89. <?= $form->field($model, 'is_bread_box')->checkbox() ?>
  90. <?= $form->field($model, 'bread_box_code')->textInput() ?>
  91. <div id="delivery-days">
  92. <h2>Jours de livraison</h2>
  93. <?= $form->field($model, 'delivery_monday')->checkbox() ?>
  94. <?= $form->field($model, 'delivery_tuesday')->checkbox() ?>
  95. <?= $form->field($model, 'delivery_wednesday')->checkbox() ?>
  96. <?= $form->field($model, 'delivery_thursday')->checkbox() ?>
  97. <?= $form->field($model, 'delivery_friday')->checkbox() ?>
  98. <?= $form->field($model, 'delivery_saturday')->checkbox() ?>
  99. <?= $form->field($model, 'delivery_sunday')->checkbox() ?>
  100. </div>
  101. <div class="clr"></div>
  102. <h2>Informations</h2>
  103. <?= $form->field($model, 'infos_monday')->textarea(['rows' => 3]) ?>
  104. <?= $form->field($model, 'infos_tuesday')->textarea(['rows' => 3]) ?>
  105. <?= $form->field($model, 'infos_wednesday')->textarea(['rows' => 3]) ?>
  106. <?= $form->field($model, 'infos_thursday')->textarea(['rows' => 3]) ?>
  107. <?= $form->field($model, 'infos_friday')->textarea(['rows' => 3]) ?>
  108. <?= $form->field($model, 'infos_saturday')->textarea(['rows' => 3]) ?>
  109. <?= $form->field($model, 'infos_sunday')->textarea(['rows' => 3]) ?>
  110. </div>
  111. <div class="col-md-4">
  112. <?= $form->field($model, 'code')
  113. ->label('Code d\'accès')
  114. ->hint('Renseignez ce champs si vous souhaitez protéger ce point de vente par un code.')
  115. ?>
  116. <?= $form->field($model, 'restricted_access')
  117. ->checkbox()
  118. ->hint('Cochez cette case si seulement un groupe restreint d\'utilisateurs peuvent accéder à ce point de vente.<br />'
  119. . '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.') ?>
  120. <div id="users">
  121. <?= Html::activeCheckboxList($model, 'users', ArrayHelper::map($users, 'user_id', function ($model_user, $defaultValue) use ($model) {
  122. return Html::encode(User::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 class="clr"></div>
  135. <div class="form-group">
  136. <?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
  137. </div>
  138. <?php ActiveForm::end(); ?>
  139. </div>