|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- <?php
-
- /**
- Copyright Souke (2018)
-
- contact@souke.fr
-
- Ce logiciel est un programme informatique servant à aider les producteurs
- à distribuer leur production en circuits courts.
-
- Ce logiciel est régi par la licence CeCILL soumise au droit français et
- respectant les principes de diffusion des logiciels libres. Vous pouvez
- utiliser, modifier et/ou redistribuer ce programme sous les conditions
- de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
- sur le site "http://www.cecill.info".
-
- En contrepartie de l'accessibilité au code source et des droits de copie,
- de modification et de redistribution accordés par cette licence, il n'est
- offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
- seule une responsabilité restreinte pèse sur l'auteur du programme, le
- titulaire des droits patrimoniaux et les concédants successifs.
-
- A cet égard l'attention de l'utilisateur est attirée sur les risques
- associés au chargement, à l'utilisation, à la modification et/ou au
- développement et à la reproduction du logiciel par l'utilisateur étant
- donné sa spécificité de logiciel libre, qui peut le rendre complexe à
- manipuler et qui le réserve donc à des développeurs et des professionnels
- avertis possédant des connaissances informatiques approfondies. Les
- utilisateurs sont donc invités à charger et tester l'adéquation du
- logiciel à leurs besoins dans des conditions permettant d'assurer la
- sécurité de leurs systèmes et ou de leurs données et, plus généralement,
- à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
-
- Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
- pris connaissance de la licence CeCILL, et que vous en avez accepté les
- termes.
- */
-
- use domain\Subscription\Subscription\Subscription;
- use yii\helpers\ArrayHelper;
- use yii\helpers\Html;
- use yii\widgets\ActiveForm;
-
- $userModule = $this->getUserModule();
- $pointSaleModule = $this->getPointSaleModule();
-
- ?>
-
- <div class="subscription-form" id="app-subscription-form">
- <?php $form = ActiveForm::begin(['enableClientValidation' => false]); ?>
- <?php if($model->id): ?>
- <?= $form->field($model, 'id')->hiddenInput() ?>
- <?php endif; ?>
-
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">
- <i class="fa fa-th-list"></i>
- Général
- </h3>
- </div>
- <div class="panel-body">
- <div class="col-md-5" id="bloc-select-user">
- <?= $form->field($model, 'id_user')->dropDownList($userModule->populateUserDropdownList(), ['class' => 'select2']); ?>
- </div>
- <div class="col-md-1" id="or-user">
- <span>OU</span>
- </div>
- <div class="col-md-6">
- <?= $form->field($model, 'username')->textInput() ?>
- </div>
- <div class="clr"></div>
-
- <?= $form->field($model, 'id_producer')->hiddenInput() ?>
- <?= $form->field($model, 'id_point_sale')->dropDownList(ArrayHelper::map($pointSaleModule->findPointSales(), 'id', function($model, $defaultValue) {
- return $model['name'];
- }), ['prompt' => '--','class' => 'form-control user-id']) ?>
- <?= $form->field($model, 'date_begin') ?>
- <?= $form->field($model, 'date_end')->hint('Laisser vide pour une durée indéterminée') ?>
- </div>
- </div>
-
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">
- <i class="fa fa-calendar"></i>
- Jours et fréquence
- </h3>
- </div>
- <div class="panel-body">
- <div class="days">
- <?= $form->field($model, 'monday')->checkbox() ?>
- <?= $form->field($model, 'tuesday')->checkbox() ?>
- <?= $form->field($model, 'wednesday')->checkbox() ?>
- <?= $form->field($model, 'thursday')->checkbox() ?>
- <?= $form->field($model, 'friday')->checkbox() ?>
- <?= $form->field($model, 'saturday')->checkbox() ?>
- <?= $form->field($model, 'sunday')->checkbox() ?>
- </div>
- <div class="clr"></div>
- <?= $form->field($model, 'week_frequency')->dropDownList([1=>1, 2=>2, 3=>3, 4=>4]) ?>
- </div>
- </div>
-
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">
- <span class="glyphicon glyphicon-piggy-bank"></span>
- Cagnotte
- </h3>
- </div>
- <div class="panel-body">
- <?= $form->field($model, 'auto_payment')
- ->dropDownList([
- Subscription::AUTO_PAYMENT_DEDUCTED => 'Déduit',
- Subscription::AUTO_PAYMENT_YES => 'Oui',
- Subscription::AUTO_PAYMENT_NO => 'Non'
- ])
- ->hint('Attention, un compte client existant doit être spécifié en haut de ce formulaire.') ?>
- </div>
- </div>
-
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">
- <i class="fa fa-clone"></i>
- Produits
- </h3>
- </div>
- <div class="panel-body">
- <div class="products">
- <?php if(isset($model->errors['products']) && count($model->errors['products']))
- {
- echo '<div class="alert alert-danger">'.$model->errors['products'][0].'</div>' ;
- }
- ?>
- <table class="table table-bordered table-condensed table-hover" id="products">
- <tr v-for="product in products" v-if="product.is_available_for_subscriptions == 1 || (product.is_available_for_subscriptions == 0 && product.quantity > 0)">
- <td>
- {{ product.name }}
- <template v-if="product.is_available_for_subscriptions == 0">
- <br /><span class="label label-warning">Indisponible pour les abonnements</span>
- </template>
- </td>
- <td>
- <input type="hidden" :value="product.step" :name="'product_step_'+product.step" />
- <input type="hidden" :value="product.price" :name="'product_price_'+product.price" />
- <div class="input-group">
- <span class="input-group-btn">
- <button class="btn btn-default" type="button" @click="changeQuantityProductSubscription(false, product)"><span class="glyphicon glyphicon-minus"></span></button>
- </span>
- <input v-model="product.quantity" :name="'SubscriptionForm[products][product_'+product.id+']'" class="form-control input-quantity" />
- <div class="input-group-addon">
- <span>{{ product.wording_unit }}</span>
- </div>
- <span class="input-group-btn">
- <button class="btn btn-default" type="button" @click="changeQuantityProductSubscription(true, product)"><span class="glyphicon glyphicon-plus"></span></button>
- </span>
- </div>
- </td>
- </tr>
- </table>
- </div>
- </div>
- </div>
-
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">
- <i class="fa fa-comment"></i>
- Commentaire
- </h3>
- </div>
- <div class="panel-body">
- <?= $form->field($model, 'comment')->textarea(['rows' => 6]) ?>
- </div>
- </div>
-
- <div class="form-group form-actions">
- <?= Html::a('Retour', ['subscription/index'], ['class' => 'btn btn-default']) ?>
- <?= Html::submitButton($model->id ? 'Modifier' : 'Créer', ['class' => 'btn btn-primary']) ?>
- </div>
-
- <?php ActiveForm::end(); ?>
- </div>
|