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.

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