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.

_form.php 8.3KB

8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
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\logic\Producer\Producer\Model\Producer;
  41. use common\logic\User\User\Wrapper\UserManager;
  42. $producerManager = $this->getProducerManager();
  43. $userManager = $this->getUserManager();
  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($userManager->populateUserDropdownList(), ['class' => 'select2'])
  55. ->hint('Utilisé lors de la facturation'); ?>
  56. <?php
  57. $addHintCredit = '';
  58. if (!$producerManager->getConfig('credit')):
  59. $addHintCredit = '<br /><strong>Attention, le système de Crédit est désactivé au niveau des ' . Html::a('paramètres globaux', ['producer/update']) . '.</strong>';
  60. endif;
  61. echo $form->field($model, 'credit')
  62. ->checkbox()
  63. ->hint('Cochez cette case si le client peut régler ses commandes via son compte <strong>Crédit</strong> pour ce point de vente.'
  64. . $addHintCredit);
  65. ?>
  66. <?= $form->field($model, 'credit_functioning')
  67. ->dropDownList([
  68. '' => 'Paramètres globaux (' . Producer::$creditFunctioningArray[$producerManager->getConfig('credit_functioning')] . ')',
  69. Producer::CREDIT_FUNCTIONING_OPTIONAL => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_OPTIONAL],
  70. Producer::CREDIT_FUNCTIONING_MANDATORY => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_MANDATORY],
  71. Producer::CREDIT_FUNCTIONING_USER => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_USER],
  72. ], [])->hint(Producer::HINT_CREDIT_FUNCTIONING); ?>
  73. <?php /*$form->field($model, 'product_price_percent')
  74. ->dropDownList( ProductPrice::percentValues(), [])->hint('Pourcentage appliqué aux prix de chaque produit dans ce point de vente.');*/ ?>
  75. <?= $form->field($model, 'maximum_number_orders')->textInput() ?>
  76. <h2>Boîte à pain</h2>
  77. <?= $form->field($model, 'is_bread_box')->checkbox() ?>
  78. <?= $form->field($model, 'bread_box_code')->textInput() ?>
  79. <div id="delivery-days">
  80. <h2>Jours de livraison</h2>
  81. <?= $form->field($model, 'delivery_monday')->checkbox() ?>
  82. <?= $form->field($model, 'delivery_tuesday')->checkbox() ?>
  83. <?= $form->field($model, 'delivery_wednesday')->checkbox() ?>
  84. <?= $form->field($model, 'delivery_thursday')->checkbox() ?>
  85. <?= $form->field($model, 'delivery_friday')->checkbox() ?>
  86. <?= $form->field($model, 'delivery_saturday')->checkbox() ?>
  87. <?= $form->field($model, 'delivery_sunday')->checkbox() ?>
  88. </div>
  89. <div class="clr"></div>
  90. <h2>Informations</h2>
  91. <?= $form->field($model, 'infos_monday')->textarea(['rows' => 3]) ?>
  92. <?= $form->field($model, 'infos_tuesday')->textarea(['rows' => 3]) ?>
  93. <?= $form->field($model, 'infos_wednesday')->textarea(['rows' => 3]) ?>
  94. <?= $form->field($model, 'infos_thursday')->textarea(['rows' => 3]) ?>
  95. <?= $form->field($model, 'infos_friday')->textarea(['rows' => 3]) ?>
  96. <?= $form->field($model, 'infos_saturday')->textarea(['rows' => 3]) ?>
  97. <?= $form->field($model, 'infos_sunday')->textarea(['rows' => 3]) ?>
  98. </div>
  99. <div class="col-md-4">
  100. <?= $form->field($model, 'code')
  101. ->label('Code d\'accès')
  102. ->hint('Renseignez ce champs si vous souhaitez protéger ce point de vente par un code.')
  103. ?>
  104. <?= $form->field($model, 'restricted_access')
  105. ->checkbox()
  106. ->hint('Cochez cette case si seulement un groupe restreint d\'utilisateurs peuvent accéder à ce point de vente.<br />'
  107. . '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.') ?>
  108. <div id="users">
  109. <?= Html::activeCheckboxList($model, 'users', ArrayHelper::map($users, 'user_id', function ($model_user, $defaultValue) use ($model) {
  110. $userManager = UserManager::getInstance();
  111. return Html::encode($userManager->getUsernameFromArray($model_user)) . '<br />'
  112. . Html::activeTextInput(
  113. $model,
  114. 'users_comment[' . $model_user['user_id'] . ']',
  115. [
  116. 'class' => 'form-control commentaire',
  117. 'placeholder' => 'Commentaire',
  118. 'value' => (isset($model->users_comment[$model_user['user_id']])) ? Html::encode($model->users_comment[$model_user['user_id']]) : ''
  119. ]);
  120. }), ['encode' => false, 'class' => '']) ?>
  121. </div>
  122. </div>
  123. <div class="clr"></div>
  124. <div class="form-group">
  125. <?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
  126. </div>
  127. <?php ActiveForm::end(); ?>
  128. </div>