Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

236 lines
10KB

  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 domain\Distribution\Distribution\DistributionModule;
  38. use domain\Distribution\Distribution\ExportManager;
  39. use domain\Producer\Producer\ProducerModule;
  40. use lo\widgets\Toggle;
  41. use domain\User\User\UserModule;
  42. use yii\helpers\ArrayHelper;
  43. use yii\helpers\Html;
  44. use yii\widgets\ActiveForm;
  45. \backend\assets\VuejsUserFormAsset::register($this);
  46. $userModule = UserModule::getInstance();
  47. $producerModule = ProducerModule::getInstance();
  48. $distributionModule = DistributionModule::getInstance();
  49. ?>
  50. <div class="user-form" id="app-user-form">
  51. <div class="col-md-8">
  52. <?php $form = ActiveForm::begin([
  53. 'enableClientValidation' => false
  54. ]); ?>
  55. <div class="panel panel-default">
  56. <div class="panel-heading">
  57. <h3 class="panel-title">
  58. <i class="fa fa-th-list"></i>
  59. Général
  60. </h3>
  61. </div>
  62. <div class="panel-body">
  63. <?= $form->field($model, 'type')
  64. ->dropDownList($userModule->getTypeChoicesArray(), [
  65. 'v-model' => 'type'
  66. ]); ?>
  67. <?= $form->field($model, 'name_legal_person', ['options' => ['v-show' => "type == 'legal-person'"]])->textInput() ?>
  68. <?= $form->field($model, 'lastname')->textInput() ?>
  69. <?= $form->field($model, 'name')->textInput() ?>
  70. <?= $form->field($model, 'phone')->textInput() ?>
  71. <?= $form->field($model, 'email')->textInput() ?>
  72. <?php if(!$model->email): ?>
  73. <?= $form->field($model, 'send_mail_welcome')->checkbox() ?>
  74. <?php endif; ?>
  75. <?= $form->field($model, 'address')->textarea() ?>
  76. </div>
  77. </div>
  78. <div class="panel panel-default panel-newsletter">
  79. <div class="panel-heading">
  80. <h3 class="panel-title">
  81. <i class="fa fa-paper-plane"></i>
  82. Bulletin d'information
  83. </h3>
  84. </div>
  85. <div class="panel-body">
  86. <?= $form->field($model, 'newsletter')->widget(Toggle::class,
  87. [
  88. 'options' => [
  89. 'data-id' => $model->id,
  90. 'data-on' => 'Oui',
  91. 'data-off' => 'Non',
  92. ],
  93. ]
  94. ); ?>
  95. </div>
  96. </div>
  97. <?php if (
  98. $distributionModule->getExportManager()->isEnabled(ExportManager::SHOPPING_CART_LABELS_PDF)
  99. || $producerModule->getSolver()->getConfig('option_export_evoliz')): ?>
  100. <div class="panel panel-default">
  101. <div class="panel-heading">
  102. <h3 class="panel-title">
  103. <i class="fa fa-download"></i>
  104. Exports
  105. </h3>
  106. </div>
  107. <div class="panel-body">
  108. <?php if($distributionModule->getExportManager()->isEnabled(ExportManager::SHOPPING_CART_LABELS_PDF)): ?>
  109. <?= $form->field($model, 'exclude_export_shopping_cart_labels')->checkbox(); ?>
  110. <?php endif; ?>
  111. <?php if ($producerModule->getSolver()->getConfig('option_export_evoliz')): ?>
  112. <?= $form->field($model, 'evoliz_code')->textInput() ?>
  113. <?php endif; ?>
  114. </div>
  115. </div>
  116. <?php endif; ?>
  117. <?php if($pointsSaleArray && count($pointsSaleArray) > 0): ?>
  118. <div class="panel panel-default panel-point-sales">
  119. <div class="panel-heading">
  120. <h3 class="panel-title">
  121. <i class="fa fa-map-marker"></i>
  122. Points de vente
  123. </h3>
  124. </div>
  125. <div class="panel-body">
  126. <?= $form->field($model, 'points_sale')->checkboxlist(
  127. ArrayHelper::map($pointsSaleArray, 'id', function ($pointSale) use ($model) {
  128. $commentUserPointSale = isset($pointSale->userPointSale[0]) ? $pointSale->userPointSale[0]->comment : '';
  129. $html = Html::encode($pointSale->name);
  130. if ($pointSale->restricted_access) {
  131. $html .= '<input type="text" placeholder="Commentaire" class="form-control" name="User[comment_point_sale_' . $pointSale->id . ']" value="' . (($model->id) ? Html::encode($commentUserPointSale) : '') . '" />';
  132. }
  133. return $html;
  134. }), [
  135. 'encode' => false
  136. ]);
  137. ?>
  138. </div>
  139. </div>
  140. <?php endif; ?>
  141. <?php if($userGroupsArray && count($userGroupsArray) > 0): ?>
  142. <div class="panel panel-default panel-user-groups">
  143. <div class="panel-heading">
  144. <h3 class="panel-title">
  145. <i class="fa fa-users"></i>
  146. Groupes
  147. </h3>
  148. </div>
  149. <div class="panel-body">
  150. <?= $form->field($model, 'user_groups')->checkboxlist(
  151. ArrayHelper::map($userGroupsArray, 'id', function ($userGroup) use ($model) {
  152. return Html::encode($userGroup->name);
  153. }), [
  154. 'encode' => false
  155. ]);
  156. ?>
  157. </div>
  158. </div>
  159. <?php endif; ?>
  160. <?php /* $form->field($model, 'product_price_percent')
  161. ->dropDownList( ProductPrice::percentValues(), [])->hint('Pourcentage appliqué aux prix de chaque produit pour cet utilisateur.');*/ ?>
  162. <div class="form-group form-actions">
  163. <?= Html::a('Retour', ['user/index'], ['class' => 'btn btn-default']) ?>
  164. <?= Html::submitButton($model->isNewRecord ? 'Créer' : 'Modifier', ['class' => 'btn btn-primary']) ?>
  165. </div>
  166. <?php ActiveForm::end(); ?>
  167. </div>
  168. <div class="col-md-4">
  169. <?php if($model->email): ?>
  170. <div class="panel panel-default">
  171. <div class="panel-heading">
  172. <h3 class="panel-title">
  173. <i class="fa fa-envelope"></i>
  174. Envoi d'emails
  175. </h3>
  176. </div>
  177. <div class="panel-body">
  178. <?php $form = ActiveForm::begin(); ?>
  179. <div class="form-group">
  180. <?= Html::submitButton(
  181. '<i class="fa fa-home"></i> Envoyer l\'email de bienvenue',
  182. ['class' => 'btn btn-default', 'name' => 'submit_mail_welcome', 'value' => 1]
  183. ) ?>
  184. </div>
  185. <?php ActiveForm::end(); ?>
  186. <?php $form = ActiveForm::begin(); ?>
  187. <div class="form-group">
  188. <?= Html::submitButton(
  189. '<i class="fa fa-key"></i> Envoyer un nouveau mot de passe',
  190. ['class' => 'btn btn-default', 'name' => 'submit_new_password', 'value' => 1]
  191. ) ?>
  192. </div>
  193. <?php ActiveForm::end(); ?>
  194. </div>
  195. </div>
  196. <?php endif; ?>
  197. <?php if(isset($pointSaleBillingArray) && $pointSaleBillingArray && count($pointSaleBillingArray) > 0): ?>
  198. <div class="panel panel-default">
  199. <div class="panel-heading">
  200. <h3 class="panel-title">
  201. <i class="fa fa-sticky-note-o"></i>
  202. Facturation
  203. </h3>
  204. </div>
  205. <div class="panel-body">
  206. <?php foreach($pointSaleBillingArray as $pointSale): ?>
  207. <a class="btn btn-default btn-sm" href="<?= Yii::$app->urlManager->createUrl(['point-sale/update', 'id' => $pointSale->id]) ?>">
  208. <i class="fa fa-map-marker"></i>
  209. <?= $pointSale->name ?>
  210. </a><br />
  211. <?php endforeach; ?>
  212. </div>
  213. </div>
  214. <?php endif; ?>
  215. </div>
  216. </div>