'icon' => 'clone', | 'icon' => 'clone', | ||||
'url' => ['/product/index'], | 'url' => ['/product/index'], | ||||
'visible' => $isUserCurrentGrantedAsProducer, | 'visible' => $isUserCurrentGrantedAsProducer, | ||||
'active' => Yii::$app->controller->id == 'product', | |||||
'active' => Yii::$app->controller->id == 'product' || Yii::$app->controller->id == 'product-category', | |||||
'items' => [ | 'items' => [ | ||||
['label' => 'Liste', 'icon' => 'th-list', 'url' => ['/product/index'], 'visible' => $isUserCurrentGrantedAsProducer], | ['label' => 'Liste', 'icon' => 'th-list', 'url' => ['/product/index'], 'visible' => $isUserCurrentGrantedAsProducer], | ||||
['label' => 'Catégories', 'icon' => 'book', 'url' => ['/product-category/index'], 'visible' => $isUserCurrentGrantedAsProducer], | ['label' => 'Catégories', 'icon' => 'book', 'url' => ['/product-category/index'], 'visible' => $isUserCurrentGrantedAsProducer], |
use common\logic\Distribution\Distribution\Module\DistributionModule; | use common\logic\Distribution\Distribution\Module\DistributionModule; | ||||
use common\logic\Distribution\Distribution\Service\ExportManager; | use common\logic\Distribution\Distribution\Service\ExportManager; | ||||
use common\logic\Producer\Producer\Module\ProducerModule; | use common\logic\Producer\Producer\Module\ProducerModule; | ||||
use lo\widgets\Toggle; | |||||
use yii\helpers\Html; | use yii\helpers\Html; | ||||
use yii\widgets\ActiveForm; | use yii\widgets\ActiveForm; | ||||
use yii\helpers\ArrayHelper; | use yii\helpers\ArrayHelper; | ||||
<div class="point-sale-form"> | <div class="point-sale-form"> | ||||
<?php $form = ActiveForm::begin(); ?> | |||||
<?php $form = ActiveForm::begin([ | |||||
'enableClientValidation' => false | |||||
]); ?> | |||||
<div class="col-md-8"> | <div class="col-md-8"> | ||||
<?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?> | |||||
<?= $form->field($model, 'locality')->textInput(['maxlength' => 255]) ?> | |||||
<?= $form->field($model, 'address')->textarea(['rows' => 6]) ?> | |||||
<?= $form->field($model, 'id_user', [ | |||||
'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}', | |||||
]) | |||||
->dropDownList($userModule->populateUserDropdownList(), ['class' => 'select2']) | |||||
->hint('Utilisé lors de la facturation'); ?> | |||||
<?php | |||||
$addHintCredit = ''; | |||||
if (!$producerModule->getConfig('credit')): | |||||
$addHintCredit = '<br /><strong>Attention, le système de Crédit est désactivé au niveau des ' . Html::a('paramètres globaux', ['producer/update']) . '.</strong>'; | |||||
endif; | |||||
echo $form->field($model, 'credit') | |||||
->checkbox() | |||||
->hint('Cochez cette case si le client peut régler ses commandes via son compte <strong>Crédit</strong> pour ce point de vente.' | |||||
. $addHintCredit); | |||||
?> | |||||
<?= $form->field($model, 'credit_functioning') | |||||
->dropDownList([ | |||||
'' => 'Paramètres globaux (' . Producer::$creditFunctioningArray[$producerModule->getConfig('credit_functioning')] . ')', | |||||
Producer::CREDIT_FUNCTIONING_OPTIONAL => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_OPTIONAL], | |||||
Producer::CREDIT_FUNCTIONING_MANDATORY => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_MANDATORY], | |||||
Producer::CREDIT_FUNCTIONING_USER => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_USER], | |||||
], [])->hint(Producer::HINT_CREDIT_FUNCTIONING); ?> | |||||
<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"> | |||||
<?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?> | |||||
<?= $form->field($model, 'locality')->textInput(['maxlength' => 255]) ?> | |||||
<?= $form->field($model, 'address')->textarea(['rows' => 4]) ?> | |||||
<?= $form->field($model, 'minimum_order_amount')->textInput() ?> | |||||
</div> | |||||
</div> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<span class="glyphicon glyphicon-piggy-bank"></span> | |||||
Crédit | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<div id="credit"> | |||||
<?php | |||||
$addHintCredit = ''; | |||||
if (!$producerModule->getConfig('credit')): | |||||
$addHintCredit = '<br /><strong>Attention, le système de Crédit est désactivé au niveau des ' . Html::a('paramètres globaux', ['producer/update']) . '.</strong>'; | |||||
endif; | |||||
echo $form->field($model, 'credit')->widget(Toggle::class, | |||||
[ | |||||
'options' => [ | |||||
'data-id' => $model->id, | |||||
'data-on' => 'Oui', | |||||
'data-off' => 'Non', | |||||
], | |||||
] | |||||
)->hint('Activez cette option si vous souhaitez que vos clients puissent régler leurs commandes via leur compte <strong>Crédit</strong> pour ce point de vente.' | |||||
. $addHintCredit); ?> | |||||
<?= $form->field($model, 'credit_functioning') | |||||
->dropDownList([ | |||||
'' => 'Paramètres globaux (' . Producer::$creditFunctioningArray[$producerModule->getConfig('credit_functioning')] . ')', | |||||
Producer::CREDIT_FUNCTIONING_OPTIONAL => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_OPTIONAL], | |||||
Producer::CREDIT_FUNCTIONING_MANDATORY => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_MANDATORY], | |||||
Producer::CREDIT_FUNCTIONING_USER => Producer::$creditFunctioningArray[Producer::CREDIT_FUNCTIONING_USER], | |||||
], [])->hint(Producer::HINT_CREDIT_FUNCTIONING); ?> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<?php /*$form->field($model, 'product_price_percent') | <?php /*$form->field($model, 'product_price_percent') | ||||
->dropDownList( ProductPrice::percentValues(), [])->hint('Pourcentage appliqué aux prix de chaque produit dans ce point de vente.');*/ ?> | ->dropDownList( ProductPrice::percentValues(), [])->hint('Pourcentage appliqué aux prix de chaque produit dans ce point de vente.');*/ ?> | ||||
<?= $form->field($model, 'maximum_number_orders')->textInput() ?> | |||||
<?= $form->field($model, 'minimum_order_amount')->textInput() ?> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-truck"></i> | |||||
Livraison à domicile | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<div id="home-delivery"> | |||||
<?= $form->field($model, 'is_home_delivery')->widget(Toggle::class, | |||||
[ | |||||
'options' => [ | |||||
'data-id' => $model->id, | |||||
'data-on' => 'Oui', | |||||
'data-off' => 'Non', | |||||
], | |||||
] | |||||
); ?> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div id="delivery-days"> | |||||
<h2>Jours de livraison</h2> | |||||
<?= $form->field($model, 'delivery_monday')->checkbox() ?> | |||||
<?= $form->field($model, 'delivery_tuesday')->checkbox() ?> | |||||
<?= $form->field($model, 'delivery_wednesday')->checkbox() ?> | |||||
<?= $form->field($model, 'delivery_thursday')->checkbox() ?> | |||||
<?= $form->field($model, 'delivery_friday')->checkbox() ?> | |||||
<?= $form->field($model, 'delivery_saturday')->checkbox() ?> | |||||
<?= $form->field($model, 'delivery_sunday')->checkbox() ?> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-th-large"></i> | |||||
Boîte à pain | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<div id="bread-box"> | |||||
<?= $form->field($model, 'is_bread_box')->widget(Toggle::class, | |||||
[ | |||||
'options' => [ | |||||
'data-id' => $model->id, | |||||
'data-on' => 'Oui', | |||||
'data-off' => 'Non', | |||||
], | |||||
] | |||||
); ?> | |||||
<?= $form->field($model, 'bread_box_code')->textInput() ?> | |||||
<?= $form->field($model, 'maximum_number_orders')->textInput() ?> | |||||
</div> | |||||
</div> | |||||
</div> | </div> | ||||
<div class="clr"></div> | |||||
<h2>Informations</h2> | |||||
<?= $form->field($model, 'infos_monday')->textarea(['rows' => 3]) ?> | |||||
<?= $form->field($model, 'infos_tuesday')->textarea(['rows' => 3]) ?> | |||||
<?= $form->field($model, 'infos_wednesday')->textarea(['rows' => 3]) ?> | |||||
<?= $form->field($model, 'infos_thursday')->textarea(['rows' => 3]) ?> | |||||
<?= $form->field($model, 'infos_friday')->textarea(['rows' => 3]) ?> | |||||
<?= $form->field($model, 'infos_saturday')->textarea(['rows' => 3]) ?> | |||||
<?= $form->field($model, 'infos_sunday')->textarea(['rows' => 3]) ?> | |||||
<h2>Livraison à domicile</h2> | |||||
<?= $form->field($model, 'is_home_delivery')->checkbox() ?> | |||||
<h2>Boîte à pain</h2> | |||||
<?= $form->field($model, 'is_bread_box')->checkbox() ?> | |||||
<?= $form->field($model, 'bread_box_code')->textInput() ?> | |||||
</div> | </div> | ||||
<div class="col-md-4"> | <div class="col-md-4"> | ||||
<div class="panel panel-default"> | <div class="panel panel-default"> | ||||
<div class="panel-heading"> | <div class="panel-heading"> | ||||
<h3 class="panel-title">Accès</h3> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-calendar"></i> | |||||
Jours de distributions | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<div id="days-distribution"> | |||||
<?php $optionsTextareaInfos = ['rows' => 2, 'placeholder' => 'Informations'] ?> | |||||
<div class="day"> | |||||
<?= $form->field($model, 'delivery_monday')->checkbox() ?> | |||||
<?= $form->field($model, 'infos_monday')->textarea($optionsTextareaInfos) ?> | |||||
</div> | |||||
<div class="day"> | |||||
<?= $form->field($model, 'delivery_tuesday')->checkbox() ?> | |||||
<?= $form->field($model, 'infos_tuesday')->textarea($optionsTextareaInfos) ?> | |||||
</div> | |||||
<div class="day"> | |||||
<?= $form->field($model, 'delivery_wednesday')->checkbox() ?> | |||||
<?= $form->field($model, 'infos_wednesday')->textarea($optionsTextareaInfos) ?> | |||||
</div> | |||||
<div class="day"> | |||||
<?= $form->field($model, 'delivery_thursday')->checkbox() ?> | |||||
<?= $form->field($model, 'infos_thursday')->textarea($optionsTextareaInfos) ?> | |||||
</div> | |||||
<div class="day"> | |||||
<?= $form->field($model, 'delivery_friday')->checkbox() ?> | |||||
<?= $form->field($model, 'infos_friday')->textarea($optionsTextareaInfos) ?> | |||||
</div> | |||||
<div class="day"> | |||||
<?= $form->field($model, 'delivery_saturday')->checkbox() ?> | |||||
<?= $form->field($model, 'infos_saturday')->textarea($optionsTextareaInfos) ?> | |||||
</div> | |||||
<div class="day"> | |||||
<?= $form->field($model, 'delivery_sunday')->checkbox() ?> | |||||
<?= $form->field($model, 'infos_sunday')->textarea($optionsTextareaInfos) ?> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-lock"></i> | |||||
Accès | |||||
</h3> | |||||
</div> | </div> | ||||
<div class="panel-body"> | <div class="panel-body"> | ||||
<?= $form->field($model, 'code') | <?= $form->field($model, 'code') | ||||
<div class="panel panel-default"> | <div class="panel panel-default"> | ||||
<div class="panel-heading"> | <div class="panel-heading"> | ||||
<h3 class="panel-title">Génération des bons de livraison</h3> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-sticky-note-o"></i> | |||||
Facturation | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<?= $form->field($model, 'id_user', [ | |||||
'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}', | |||||
]) | |||||
->dropDownList($userModule->populateUserDropdownList(), ['class' => 'select2']) | |||||
->hint('Utilisateur au nom duquel les factures de ce point de vente seront éditées'); ?> | |||||
</div> | |||||
</div> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-sticky-note-o"></i> | |||||
Génération des bons de livraison | |||||
</h3> | |||||
</div> | </div> | ||||
<div class="panel-body"> | <div class="panel-body"> | ||||
<?= $form->field($model, 'button_generate_delivery_note_point_sale')->checkbox() ?> | |||||
<?= $form->field($model, 'button_generate_delivery_note_each_user')->checkbox() ?> | |||||
<div id="delivery-note-generation"> | |||||
<?= $form->field($model, 'button_generate_delivery_note_point_sale')->checkbox() ?> | |||||
<?= $form->field($model, 'button_generate_delivery_note_each_user')->checkbox() ?> | |||||
</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<?= Html::a('Retour', ['point-sale/index'], ['class' => 'btn btn-default']) ?> | <?= Html::a('Retour', ['point-sale/index'], ['class' => 'btn btn-default']) ?> | ||||
<?= Html::submitButton($model->isNewRecord ? 'Créer' : 'Modifier', ['class' => 'btn btn-primary']) ?> | <?= Html::submitButton($model->isNewRecord ? 'Créer' : 'Modifier', ['class' => 'btn btn-primary']) ?> | ||||
</div> | </div> | ||||
<?php ActiveForm::end(); ?> | <?php ActiveForm::end(); ?> | ||||
</div> | </div> |
<?php $form = ActiveForm::begin(); ?> | <?php $form = ActiveForm::begin(); ?> | ||||
<div class="col-md-8"> | <div class="col-md-8"> | ||||
<?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?> | |||||
<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"> | |||||
<?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?> | |||||
</div> | |||||
</div> | |||||
</div> | </div> | ||||
<div class="clr"></div> | <div class="clr"></div> | ||||
<div class="form-group"> | |||||
<?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | |||||
<div class="form-group form-actions"> | |||||
<?= Html::a('Retour', ['product-category/index'], ['class' => 'btn btn-default']) ?> | |||||
<?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => 'btn btn-primary']) ?> | |||||
</div> | </div> | ||||
<?php ActiveForm::end(); ?> | <?php ActiveForm::end(); ?> | ||||
</div> | </div> |
<?php | <?php | ||||
use common\helpers\Image; | use common\helpers\Image; | ||||
use lo\widgets\Toggle; | |||||
use yii\helpers\Html; | use yii\helpers\Html; | ||||
use yii\bootstrap\ActiveForm; | use yii\bootstrap\ActiveForm; | ||||
use yii\helpers\ArrayHelper; | use yii\helpers\ArrayHelper; | ||||
use common\logic\Product\Product\Model\Product; | use common\logic\Product\Product\Model\Product; | ||||
use common\logic\PointSale\PointSale\Model\PointSale; | use common\logic\PointSale\PointSale\Model\PointSale; | ||||
$producerModule = $this->getProducerModule(); | |||||
$productCategoryModule = $this->getProductCategoryModule(); | $productCategoryModule = $this->getProductCategoryModule(); | ||||
$taxRateModule = $this->getTaxRateModule(); | $taxRateModule = $this->getTaxRateModule(); | ||||
<div> | <div> | ||||
<div class="col-md-8"> | <div class="col-md-8"> | ||||
<div class="panel panel-default"> | <div class="panel panel-default"> | ||||
<div class="panel-heading"> | <div class="panel-heading"> | ||||
<h3 class="panel-title"> | <h3 class="panel-title"> | ||||
</h3> | </h3> | ||||
</div> | </div> | ||||
<div class="panel-body"> | <div class="panel-body"> | ||||
<?= $form->field($model, 'status')->radioList([1 => 'Oui', 0 => 'Non']) ?> | |||||
<?= $form->field($model, 'status')->widget(Toggle::class, | |||||
[ | |||||
'options' => [ | |||||
'data-id' => $model->id, | |||||
'data-on' => 'Oui', | |||||
'data-off' => 'Non', | |||||
], | |||||
] | |||||
); ?> | |||||
<?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?> | <?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?> | ||||
<?= $form->field($model, 'reference')->textInput(['maxlength' => 255]) ?> | |||||
<?php if($producerModule->getSolver()->getConfig('option_export_display_product_reference')): ?> | |||||
<?= $form->field($model, 'reference')->textInput(['maxlength' => 255]) ?> | |||||
<?php endif; ?> | |||||
<?= $form->field($model, 'id_product_category')->dropDownList($productCategoryModule->populateProductCategoriesDropdownList()); ?> | <?= $form->field($model, 'id_product_category')->dropDownList($productCategoryModule->populateProductCategoriesDropdownList()); ?> | ||||
<?= $form->field($model, 'description')->textInput(['maxlength' => 255]) ?> | <?= $form->field($model, 'description')->textInput(['maxlength' => 255]) ?> | ||||
<?= $form->field($model, 'recipe')->textarea()->label('Description longue') ?> | <?= $form->field($model, 'recipe')->textarea()->label('Description longue') ?> | ||||
<?= $form->field($model, 'unit') | <?= $form->field($model, 'unit') | ||||
->dropDownList(ArrayHelper::map(Product::$unitsArray, 'unit', 'wording')) | ->dropDownList(ArrayHelper::map(Product::$unitsArray, 'unit', 'wording')) | ||||
->label('Unité (pièce, poids ou volume)'); ?> | ->label('Unité (pièce, poids ou volume)'); ?> | ||||
<?= $form->field($model, 'step')->textInput()->hint('Définit ce qui est ajouté ou enlevé lors des changements de quantité.') ?> | |||||
<?= $form->field($model, 'weight')->textInput()->label('Poids (g)')->hint("Si unité au poids ou volume, utilisé pour déterminer le nombre de pièces dans les exports.") ?> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<?php | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-euro"></i> Prix | |||||
//Récupère la tva par défaut du producteur courant | |||||
$producer = \common\helpers\GlobalParam::getCurrentProducer(); | |||||
$taxRateDefault = $producer->taxRate; | |||||
<a href="<?= Yii::$app->urlManager->createUrl(['product/prices-list', 'id' => $model->id]) ?>" | |||||
class="btn btn-default btn-xs"> | |||||
Prix spécifiques (<?= count($model->productPrice) ?>) | |||||
</a> | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<?php | |||||
$taxRateNamesArray = array_merge(array(0 => 'Tva par défaut'), ArrayHelper::map($taxRateModule->findTaxRates(), 'id', function ($model) { | |||||
return $model->name; | |||||
})); | |||||
$taxRateValuesArray = array_merge(array(0 => $taxRateDefault->value), ArrayHelper::map($taxRateModule->findTaxRates(), 'id', function ($model) { | |||||
return $model->value; | |||||
})); | |||||
foreach ($taxRateValuesArray as $key => $taxRateValue) { | |||||
$taxRateValuesArrayFormatted[$key] = array('data-tax-rate-value' => $taxRateValue); | |||||
} | |||||
//Récupère la tva par défaut du producteur courant | |||||
$producer = \common\helpers\GlobalParam::getCurrentProducer(); | |||||
$taxRateDefault = $producer->taxRate; | |||||
$taxRateNamesArray = array_merge(array(0 => 'Tva par défaut'), ArrayHelper::map($taxRateModule->findTaxRates(), 'id', function ($model) { | |||||
return $model->name; | |||||
})); | |||||
$taxRateValuesArray = array_merge(array(0 => $taxRateDefault->value), ArrayHelper::map($taxRateModule->findTaxRates(), 'id', function ($model) { | |||||
return $model->value; | |||||
})); | |||||
foreach ($taxRateValuesArray as $key => $taxRateValue) { | |||||
$taxRateValuesArrayFormatted[$key] = array('data-tax-rate-value' => $taxRateValue); | |||||
} | |||||
?> | |||||
?> | |||||
<?php if ($taxRateDefault->value != 0): ?> | |||||
<?= $form->field($model, 'id_tax_rate')->dropDownList($taxRateNamesArray, ['options' => $taxRateValuesArrayFormatted])->label('Taxe'); ?> | |||||
<?php endif; ?> | |||||
<?php if ($taxRateDefault->value != 0): ?> | |||||
<?= $form->field($model, 'id_tax_rate')->dropDownList($taxRateNamesArray, ['options' => $taxRateValuesArrayFormatted])->label('Taxe'); ?> | |||||
<?php endif; ?> | |||||
<?= $form->field($model, 'price', [ | |||||
'template' => ' | |||||
<?= $form->field($model, 'price', [ | |||||
'template' => ' | |||||
<div class="row"> | <div class="row"> | ||||
<div class="col-xs-6"> | <div class="col-xs-6"> | ||||
<label for="product-price" class="control-label without-tax"></label> | <label for="product-price" class="control-label without-tax"></label> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
', | ', | ||||
]) ?> | |||||
<?= $form->field($model, 'step')->textInput()->hint('Définit ce qui est ajouté ou enlevé lors des changements de quantité.') ?> | |||||
<?= $form->field($model, 'weight')->textInput()->label('Poids (g)')->hint("Si unité au poids ou volume, utilisé pour déterminer le nombre de pièces dans les exports.") ?> | |||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max')->textInput() ?> | |||||
</div> | |||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max_monday')->textInput() ?> | |||||
</div> | |||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max_tuesday')->textInput() ?> | |||||
</div> | |||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max_wednesday')->textInput() ?> | |||||
</div> | |||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max_thursday')->textInput() ?> | |||||
</div> | |||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max_friday')->textInput() ?> | |||||
</div> | |||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max_saturday')->textInput() ?> | |||||
]) ?> | |||||
</div> | |||||
</div> | </div> | ||||
<div class="col-md-3"> | |||||
<?= $form->field($model, 'quantity_max_sunday')->textInput() ?> | |||||
<?php if (!$model->isNewRecord): ?> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-edit"></i> | |||||
Distributions à venir | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<?= $form->field($model, 'apply_distributions') | |||||
->checkbox() | |||||
->hint('Sélectionnez cette option si vous souhaitez que ces modifications (actif / non actif, quantités maximum) soient répercutées dans les distributions à venir.'); ?> | |||||
</div> | |||||
</div> | </div> | ||||
<div class="clr"></div> | |||||
<?php | |||||
if (!$model->isNewRecord) { | |||||
echo $form->field($model, 'apply_distributions') | |||||
->checkbox() | |||||
->hint('Sélectionnez cette option si vous souhaitez que ces modifications (actif / non actif, quantité max) soient répercutées dans les distributions à venir déjà initialisées.'); | |||||
} | |||||
?> | |||||
<?php endif; ?> | |||||
</div> | </div> | ||||
<div class="col-md-4"> | <div class="col-md-4"> | ||||
<div class="panel panel-default"> | <div class="panel panel-default"> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="availability-points-sale"> | |||||
<h2>Disponibilité points de vente</h2> | |||||
<?= $form->field($model, 'available_on_points_sale')->radioList([1 => 'Disponible', 0 => 'Indisponible']) ?> | |||||
<strong id="label-availability-points-sale">Et | |||||
<span><?php if ($model->available_on_points_sale): ?>indisponible<?php else: ?>disponible<?php endif; ?></span> | |||||
sur les points de vente</strong> | |||||
<?php $pointSaleArray = PointSale::find() | |||||
->where([ | |||||
'id_producer' => GlobalParam::getCurrentProducerId(), | |||||
'status' => 1 | |||||
]) | |||||
->orderBy('is_bread_box ASC, name ASC') | |||||
->all(); ?> | |||||
<?= Html::activeCheckboxList($model, 'pointsSale', ArrayHelper::map($pointSaleArray, 'id', function ($pointSale, $defaultValue) use ($model) { | |||||
return Html::encode($pointSale->name); | |||||
}), ['encode' => false, 'class' => '']) ?> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-balance-scale"></i> | |||||
Quantités maximum par distribution | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<div id="maximum-quantities"> | |||||
<?= $form->field($model, 'quantity_max')->textInput() ?> | |||||
<?= $form->field($model, 'quantity_max_monday')->textInput() ?> | |||||
<?= $form->field($model, 'quantity_max_tuesday')->textInput() ?> | |||||
<?= $form->field($model, 'quantity_max_wednesday')->textInput() ?> | |||||
<?= $form->field($model, 'quantity_max_thursday')->textInput() ?> | |||||
<?= $form->field($model, 'quantity_max_friday')->textInput() ?> | |||||
<?= $form->field($model, 'quantity_max_saturday')->textInput() ?> | |||||
<?= $form->field($model, 'quantity_max_sunday')->textInput() ?> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-map-marker"></i> | |||||
Disponibilité par point de vente | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<div id="availability-points-sale"> | |||||
<?= $form->field($model, 'available_on_points_sale')->radioList([1 => 'Disponible', 0 => 'Indisponible']) ?> | |||||
<strong id="label-availability-points-sale">Et | |||||
<span><?php if ($model->available_on_points_sale): ?>indisponible<?php else: ?>disponible<?php endif; ?></span> | |||||
sur les points de vente</strong> | |||||
<?php $pointSaleArray = PointSale::find() | |||||
->where([ | |||||
'id_producer' => GlobalParam::getCurrentProducerId(), | |||||
'status' => 1 | |||||
]) | |||||
->orderBy('is_bread_box ASC, name ASC') | |||||
->all(); ?> | |||||
<?= Html::activeCheckboxList($model, 'pointsSale', ArrayHelper::map($pointSaleArray, 'id', function ($pointSale, $defaultValue) use ($model) { | |||||
return Html::encode($pointSale->name); | |||||
}), ['encode' => false, 'class' => '']) ?> | |||||
</div> | |||||
</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="clr"></div> | <div class="clr"></div> | ||||
</div> | </div> |
if ($model->price) { | if ($model->price) { | ||||
$return = Price::format($productModule->getPriceWithTax($model)) . ' (' . $productModule->getSolver()->strUnit($model, 'wording_unit', true) . ')'; | $return = Price::format($productModule->getPriceWithTax($model)) . ' (' . $productModule->getSolver()->strUnit($model, 'wording_unit', true) . ')'; | ||||
} | } | ||||
return $return; | return $return; | ||||
} | } | ||||
], | ], |
'model' => $model, | 'model' => $model, | ||||
]); ?> | ]); ?> | ||||
<?= $this->render('_nav_item', [ | <?= $this->render('_nav_item', [ | ||||
'title' => 'Prix spécifiques', | |||||
'title' => 'Prix spécifiques ('.count($model->productPrice).')', | |||||
'action' => 'prices-list', | 'action' => 'prices-list', | ||||
'currentAction' => $action, | 'currentAction' => $action, | ||||
'model' => $model, | 'model' => $model, |
?> | ?> | ||||
<div class="product-form"> | <div class="product-form"> | ||||
<?= | |||||
$this->render('_base_price', [ | |||||
'model' => $modelProduct, | |||||
]) ; | |||||
?> | |||||
<?php $form = ActiveForm::begin([ | <?php $form = ActiveForm::begin([ | ||||
'enableClientValidation' => false, | 'enableClientValidation' => false, | ||||
'options' => ['enctype' => 'multipart/form-data'] | 'options' => ['enctype' => 'multipart/form-data'] | ||||
]); ?> | ]); ?> | ||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title"> | |||||
<i class="fa fa-euro"></i> | |||||
<?= $model->isNewRecord ? 'Ajouter un prix' : 'Modifier un prix'; ?> | |||||
</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<?= $form->field($model, 'id_user')->dropDownList($userModule->populateUserDropdownList()); ?> | |||||
<?= $form->field($model, 'id_user_group')->dropDownList($userGroupModule->populateUserGroupDropdownList()); ?> | |||||
<?= $form->field($model, 'id_point_sale')->dropDownList($pointSaleModule->populatePointSaleDropdownList()); ?> | |||||
<?= $form->field($model, 'from_quantity')->label('À partir de la quantité ('. $productModule->getSolver()->strUnit($modelProduct, 'wording', true).')'); ?> | |||||
<?= $this->render('_base_price', [ | |||||
'model' => $modelProduct, | |||||
]) ; ?> | |||||
<?= $form->field($model, 'id_user')->dropDownList($userModule->populateUserDropdownList()); ?> | |||||
<?= $form->field($model, 'id_user_group')->dropDownList($userGroupModule->populateUserGroupDropdownList()); ?> | |||||
<?= $form->field($model, 'id_point_sale')->dropDownList($pointSaleModule->populatePointSaleDropdownList()); ?> | |||||
<?= $form->field($model, 'from_quantity')->label('À partir de la quantité ('. $productModule->getSolver()->strUnit($modelProduct, 'wording', true).')'); ?> | |||||
<?php | |||||
$producer = GlobalParam::getCurrentProducer(); | |||||
$taxRateValue = $producer->taxRate->value; | |||||
if($modelProduct->taxRate) { | |||||
<?php | |||||
$producer = GlobalParam::getCurrentProducer(); | |||||
$taxRateValue = $producer->taxRate->value; | |||||
if($modelProduct->taxRate) { | |||||
$taxRateValue = $modelProduct->taxRate->value ; | $taxRateValue = $modelProduct->taxRate->value ; | ||||
} | |||||
?> | |||||
} | |||||
?> | |||||
<?= $form->field($model, 'price', [ | |||||
'template' => ' | |||||
<?= $form->field($model, 'price', [ | |||||
'template' => ' | |||||
<div class="row"> | <div class="row"> | ||||
<div class="col-xs-4"> | <div class="col-xs-4"> | ||||
<label for="reduction-increase-percent" class="control-label">Réduction / augmentation</label> | <label for="reduction-increase-percent" class="control-label">Réduction / augmentation</label> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div>', | </div>', | ||||
]) ?> | |||||
]) ?> | |||||
</div> | |||||
</div> | |||||
<div class="form-group"> | |||||
<?= Html::a('Annuler', ['prices-list', 'id' => $model->id_product], ['class' => 'btn btn-default']) ?> | |||||
<div class="form-group form-actions"> | |||||
<?= Html::a('Retour', ['prices-list', 'id' => $model->id_product], ['class' => 'btn btn-default']) ?> | |||||
<?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => 'btn btn-primary']) ?> | <?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => 'btn btn-primary']) ?> | ||||
</div> | </div> | ||||
<div class="panel panel-default"> | <div class="panel panel-default"> | ||||
<div class="panel-heading"> | <div class="panel-heading"> | ||||
<h3 class="panel-title"> | <h3 class="panel-title"> | ||||
Prix spécifiques à ce produit | |||||
<i class="fa fa-th-list"></i> | |||||
Liste des prix | |||||
<a href="<?= Yii::$app->urlManager->createUrl(['product/prices-create', 'idProduct' => $model->id]) ?>" | <a href="<?= Yii::$app->urlManager->createUrl(['product/prices-create', 'idProduct' => $model->id]) ?>" | ||||
class="btn btn-default btn-xs"> | class="btn btn-default btn-xs"> | ||||
Nouveau prix | Nouveau prix | ||||
</h3> | </h3> | ||||
</div> | </div> | ||||
<div class="panel-body"> | <div class="panel-body"> | ||||
<?php | |||||
<?= $this->render('_base_price', [ | |||||
'model' => $model, | |||||
]) ; ?> | |||||
<?php | |||||
echo GridView::widget([ | echo GridView::widget([ | ||||
'dataProvider' => $dataProvider, | 'dataProvider' => $dataProvider, | ||||
'columns' => [ | 'columns' => [ | ||||
], | ], | ||||
], | ], | ||||
]); | ]); | ||||
?> | ?> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="panel panel-default"> | |||||
<div class="panel-heading"> | |||||
<h3 class="panel-title">Rappel du prix de base</h3> | |||||
</div> | |||||
<div class="panel-body"> | |||||
<p>Prix de base : <strong><?= Price::format($productModule->getPrice($model)); ?> HT</strong> / | |||||
<strong><?= Price::format($productModule->getPriceWithTax($model)); ?> TTC</strong><br/></p> | |||||
</div> | |||||
</div> | |||||
</div> | </div> |
} | } | ||||
/* line 6, ../sass/product/_form.scss */ | /* line 6, ../sass/product/_form.scss */ | ||||
.product-create .field-product-status label, | |||||
.product-update .field-product-status label { | |||||
display: block; | |||||
} | |||||
/* line 12, ../sass/product/_form.scss */ | |||||
.product-create #product-active label, | .product-create #product-active label, | ||||
.product-update #product-active label { | .product-update #product-active label { | ||||
margin-right: 15px; | margin-right: 15px; | ||||
} | } | ||||
/* line 10, ../sass/product/_form.scss */ | |||||
/* line 18, ../sass/product/_form.scss */ | |||||
.product-create .field-product-photofile label, | |||||
.product-update .field-product-photofile label { | |||||
display: none; | |||||
} | |||||
/* line 24, ../sass/product/_form.scss */ | |||||
.product-create #maximum-quantities label, .product-create #maximum-quantities .form-control, | |||||
.product-update #maximum-quantities label, | |||||
.product-update #maximum-quantities .form-control { | |||||
width: 49%; | |||||
height: 35px; | |||||
margin-bottom: 5px; | |||||
} | |||||
/* line 29, ../sass/product/_form.scss */ | |||||
.product-create #maximum-quantities label, | |||||
.product-update #maximum-quantities label { | |||||
float: left; | |||||
line-height: 35px; | |||||
} | |||||
/* line 33, ../sass/product/_form.scss */ | |||||
.product-create #maximum-quantities .form-control, | |||||
.product-update #maximum-quantities .form-control { | |||||
float: right; | |||||
} | |||||
/* line 38, ../sass/product/_form.scss */ | |||||
.product-create #days-production, | .product-create #days-production, | ||||
.product-create #availability-points-sale, | |||||
.product-update #days-production, | |||||
.product-update #availability-points-sale { | |||||
margin-top: 30px; | |||||
} | |||||
/* line 14, ../sass/product/_form.scss */ | |||||
.product-create #days-production h2, | |||||
.product-create #availability-points-sale h2, | |||||
.product-update #days-production h2, | |||||
.product-update #availability-points-sale h2 { | |||||
font-size: 20px; | |||||
.product-update #days-production { | |||||
padding-left: 3px; | |||||
} | } | ||||
/* line 20, ../sass/product/_form.scss */ | |||||
/* line 41, ../sass/product/_form.scss */ | |||||
.product-create #days-production .form-group, | |||||
.product-update #days-production .form-group { | |||||
margin-bottom: 7px; | |||||
} | |||||
/* line 45, ../sass/product/_form.scss */ | |||||
.product-create #days-production label, | .product-create #days-production label, | ||||
.product-update #days-production label { | .product-update #days-production label { | ||||
font-weight: normal; | font-weight: normal; | ||||
} | } | ||||
/* line 26, ../sass/product/_form.scss */ | |||||
/* line 48, ../sass/product/_form.scss */ | |||||
.product-create #days-production label input, | |||||
.product-update #days-production label input { | |||||
position: relative; | |||||
top: 1px; | |||||
left: -3px; | |||||
} | |||||
/* line 55, ../sass/product/_form.scss */ | |||||
.product-create #days-production .checkbox, | |||||
.product-update #days-production .checkbox { | |||||
margin-top: 0px; | |||||
} | |||||
/* line 59, ../sass/product/_form.scss */ | |||||
.product-create #days-production .field-product-sunday, | |||||
.product-update #days-production .field-product-sunday { | |||||
margin-bottom: 0px; | |||||
} | |||||
/* line 62, ../sass/product/_form.scss */ | |||||
.product-create #days-production .field-product-sunday .checkbox, | |||||
.product-update #days-production .field-product-sunday .checkbox { | |||||
margin-bottom: 0px; | |||||
} | |||||
/* line 69, ../sass/product/_form.scss */ | |||||
.product-create #availability-points-sale #label-availability-points-sale, | .product-create #availability-points-sale #label-availability-points-sale, | ||||
.product-update #availability-points-sale #label-availability-points-sale { | .product-update #availability-points-sale #label-availability-points-sale { | ||||
display: block; | display: block; | ||||
margin-bottom: 6px; | margin-bottom: 6px; | ||||
} | } | ||||
/* line 30, ../sass/product/_form.scss */ | |||||
/* line 73, ../sass/product/_form.scss */ | |||||
.product-create #availability-points-sale #label-availability-points-sale span, | .product-create #availability-points-sale #label-availability-points-sale span, | ||||
.product-update #availability-points-sale #label-availability-points-sale span { | .product-update #availability-points-sale #label-availability-points-sale span { | ||||
border-bottom: dotted 1px black; | border-bottom: dotted 1px black; | ||||
} | } | ||||
/* line 36, ../sass/product/_form.scss */ | |||||
/* line 79, ../sass/product/_form.scss */ | |||||
.product-create #availability-points-sale .field-product-available_on_points_sale label.control-label, | .product-create #availability-points-sale .field-product-available_on_points_sale label.control-label, | ||||
.product-update #availability-points-sale .field-product-available_on_points_sale label.control-label { | .product-update #availability-points-sale .field-product-available_on_points_sale label.control-label { | ||||
margin-bottom: 0px; | margin-bottom: 0px; | ||||
position: relative; | position: relative; | ||||
top: 3px; | top: 3px; | ||||
} | } | ||||
/* line 44, ../sass/product/_form.scss */ | |||||
/* line 87, ../sass/product/_form.scss */ | |||||
.product-create #availability-points-sale #product-pointssale label, | .product-create #availability-points-sale #product-pointssale label, | ||||
.product-update #availability-points-sale #product-pointssale label { | .product-update #availability-points-sale #product-pointssale label { | ||||
display: block; | display: block; | ||||
text-align: center; | text-align: center; | ||||
} | } | ||||
/* line 6, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #credit .field-pointsale-credit label, | |||||
.point-sale-update #credit .field-pointsale-credit label { | |||||
display: block; | |||||
} | |||||
/* line 13, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #days-distribution .form-group, | |||||
.point-sale-update #days-distribution .form-group { | |||||
margin-bottom: 0px; | |||||
} | |||||
/* line 15, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #days-distribution .form-group label, | |||||
.point-sale-update #days-distribution .form-group label { | |||||
font-weight: normal; | |||||
} | |||||
/* line 18, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #days-distribution .form-group.has-success label, | |||||
.point-sale-update #days-distribution .form-group.has-success label { | |||||
color: #333; | |||||
} | |||||
/* line 21, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #days-distribution .form-group .help-block, | |||||
.point-sale-update #days-distribution .form-group .help-block { | |||||
display: none; | |||||
} | |||||
/* line 26, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #days-distribution .field-pointsale-infos_monday, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_tuesday, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_wednesday, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_thursday, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_friday, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_saturday, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_sunday, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_monday, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_tuesday, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_wednesday, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_thursday, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_friday, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_saturday, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_sunday { | |||||
margin-bottom: 10px; | |||||
} | |||||
/* line 34, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #days-distribution .field-pointsale-infos_monday label, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_tuesday label, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_wednesday label, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_thursday label, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_friday label, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_saturday label, | |||||
.point-sale-create #days-distribution .field-pointsale-infos_sunday label, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_monday label, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_tuesday label, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_wednesday label, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_thursday label, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_friday label, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_saturday label, | |||||
.point-sale-update #days-distribution .field-pointsale-infos_sunday label { | |||||
display: none; | |||||
} | |||||
/* line 41, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #delivery-note-generation .form-group, | |||||
.point-sale-update #delivery-note-generation .form-group { | |||||
margin-bottom: 0px; | |||||
} | |||||
/* line 44, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #delivery-note-generation .form-group label, | |||||
.point-sale-update #delivery-note-generation .form-group label { | |||||
margin-bottom: 0px; | |||||
font-weight: normal; | |||||
} | |||||
/* line 52, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #home-delivery .field-pointsale-is_home_delivery label, | |||||
.point-sale-update #home-delivery .field-pointsale-is_home_delivery label { | |||||
display: block; | |||||
} | |||||
/* line 58, ../sass/point_sale/_form.scss */ | |||||
.point-sale-create #bread-box .field-pointsale-is_bread_box label, | |||||
.point-sale-update #bread-box .field-pointsale-is_bread_box label { | |||||
display: block; | |||||
} | |||||
/** | /** | ||||
Copyright distrib (2018) | Copyright distrib (2018) | ||||
opendistrib_producers_admin(); | opendistrib_producers_admin(); | ||||
opendistrib_user_form(); | opendistrib_user_form(); | ||||
opendistrib_features_index(); | opendistrib_features_index(); | ||||
opendistrib_point_sale_form(); | |||||
}); | }); | ||||
var UrlManager = { | var UrlManager = { | ||||
} | } | ||||
}; | }; | ||||
function opendistrib_point_sale_form() { | |||||
if($('.point-sale-form').length) { | |||||
opendistrib_point_sale_form_days_distribution_event(); | |||||
$('#days-distribution .day input[type=checkbox]').change(function() { | |||||
opendistrib_point_sale_form_days_distribution_event(); | |||||
}); | |||||
} | |||||
} | |||||
function opendistrib_point_sale_form_days_distribution_event() { | |||||
$('#days-distribution .day').each(function() { | |||||
var isChecked = $(this).find('input[type=checkbox]').prop('checked'); | |||||
var $textareaInfos = $(this).find('textarea'); | |||||
if(isChecked) { | |||||
$textareaInfos.show(); | |||||
} | |||||
else { | |||||
$textareaInfos.hide(); | |||||
} | |||||
}); | |||||
} | |||||
function opendistrib_user_form() { | function opendistrib_user_form() { | ||||
if($('#app-user-form').length) { | if($('#app-user-form').length) { | ||||
var $fieldUserEmail = $('#app-user-form .field-user-email input'); | var $fieldUserEmail = $('#app-user-form .field-user-email input'); | ||||
if (unit == 'piece') { | if (unit == 'piece') { | ||||
label_price_ttc.html('Prix (la pièce) TTC'); | label_price_ttc.html('Prix (la pièce) TTC'); | ||||
label_price_ht.html('Prix (la pièce) HT'); | label_price_ht.html('Prix (la pièce) HT'); | ||||
label_quantity_max.html('Quantité max par défaut (pièces)'); | |||||
label_quantity_max.html('Par défaut (pièces)'); | |||||
} else if (unit == 'g' || unit == 'kg') { | } else if (unit == 'g' || unit == 'kg') { | ||||
label_price_ttc.html('Prix (au kg) TTC'); | label_price_ttc.html('Prix (au kg) TTC'); | ||||
label_price_ht.html('Prix (au kg) HT'); | label_price_ht.html('Prix (au kg) HT'); | ||||
label_quantity_max.html('Quantité max par défaut (kg)'); | |||||
label_quantity_max.html('Par défaut (kg)'); | |||||
label_step.html('Pas (' + unit + ')'); | label_step.html('Pas (' + unit + ')'); | ||||
} else if (unit == 'mL' || unit == 'L') { | } else if (unit == 'mL' || unit == 'L') { | ||||
label_price_ttc.html('Prix (au litre) TTC'); | label_price_ttc.html('Prix (au litre) TTC'); | ||||
label_price_ht.html('Prix (au litre) HT'); | label_price_ht.html('Prix (au litre) HT'); | ||||
label_quantity_max.html('Quantité max par défaut (litres)'); | |||||
label_quantity_max.html('Par défaut (litres)'); | |||||
label_step.html('Pas (' + unit + ')'); | label_step.html('Pas (' + unit + ')'); | ||||
} | } | ||||
.point-sale-create, | |||||
.point-sale-update { | |||||
#credit { | |||||
.field-pointsale-credit { | |||||
label { | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
#days-distribution { | |||||
.form-group { | |||||
margin-bottom: 0px; | |||||
label { | |||||
font-weight: normal; | |||||
} | |||||
&.has-success label { | |||||
color: #333; | |||||
} | |||||
.help-block { | |||||
display: none; | |||||
} | |||||
} | |||||
.field-pointsale-infos_monday, | |||||
.field-pointsale-infos_tuesday, | |||||
.field-pointsale-infos_wednesday, | |||||
.field-pointsale-infos_thursday, | |||||
.field-pointsale-infos_friday, | |||||
.field-pointsale-infos_saturday, | |||||
.field-pointsale-infos_sunday { | |||||
margin-bottom: 10px; | |||||
label { | |||||
display: none; | |||||
} | |||||
} | |||||
} | |||||
#delivery-note-generation { | |||||
.form-group { | |||||
margin-bottom: 0px; | |||||
label { | |||||
margin-bottom: 0px; | |||||
font-weight: normal; | |||||
} | |||||
} | |||||
} | |||||
#home-delivery { | |||||
.field-pointsale-is_home_delivery label { | |||||
display: block; | |||||
} | |||||
} | |||||
#bread-box { | |||||
.field-pointsale-is_bread_box label { | |||||
display: block; | |||||
} | |||||
} | |||||
} |
.product-create, | .product-create, | ||||
.product-update { | .product-update { | ||||
.field-product-status { | |||||
label { | |||||
display: block; | |||||
} | |||||
} | |||||
#product-active { | #product-active { | ||||
label { | label { | ||||
margin-right: 15px ; | margin-right: 15px ; | ||||
} | } | ||||
} | } | ||||
#days-production, | |||||
#availability-points-sale { | |||||
margin-top: 30px ; | |||||
h2 { | |||||
font-size: 20px ; | |||||
.field-product-photofile { | |||||
label { | |||||
display: none; | |||||
} | |||||
} | |||||
#maximum-quantities { | |||||
label, .form-control { | |||||
width: 49%; | |||||
height: 35px; | |||||
margin-bottom: 5px; | |||||
} | |||||
label { | |||||
float: left; | |||||
line-height: 35px; | |||||
} | |||||
.form-control { | |||||
float: right; | |||||
} | } | ||||
} | } | ||||
#days-production { | #days-production { | ||||
padding-left: 3px; | |||||
.form-group { | |||||
margin-bottom: 7px; | |||||
} | |||||
label { | label { | ||||
font-weight: normal ; | font-weight: normal ; | ||||
input { | |||||
position: relative; | |||||
top: 1px; | |||||
left: -3px; | |||||
} | |||||
} | |||||
.checkbox { | |||||
margin-top: 0px; | |||||
} | |||||
.field-product-sunday { | |||||
margin-bottom: 0px; | |||||
.checkbox { | |||||
margin-bottom: 0px; | |||||
} | |||||
} | } | ||||
} | } | ||||
@import "user/_credit.scss" ; | @import "user/_credit.scss" ; | ||||
@import "user/_form.scss" ; | @import "user/_form.scss" ; | ||||
@import "producer/_update.scss" ; | @import "producer/_update.scss" ; | ||||
@import "point_sale/_index.scss" ; | |||||
@import "point_sale/_index.scss" ; | |||||
@import "point_sale/_form.scss" ; | |||||
@import "report/_index.scss" ; | @import "report/_index.scss" ; | ||||
@import "document/_form.scss" ; | @import "document/_form.scss" ; | ||||
@import "document/_index.scss" ; | @import "document/_index.scss" ; |
'default' => 'Point de vente par défaut', | 'default' => 'Point de vente par défaut', | ||||
'id_user' => 'Contact facturation', | 'id_user' => 'Contact facturation', | ||||
'product_price_percent' => 'Prix produits : pourcentage', | 'product_price_percent' => 'Prix produits : pourcentage', | ||||
'maximum_number_orders' => 'Nombre maximum de commandes', | |||||
'maximum_number_orders' => 'Nombre maximum de commandes par distribution', | |||||
'is_bread_box' => 'Boîte à pain', | 'is_bread_box' => 'Boîte à pain', | ||||
'bread_box_code' => 'Code boîte à pain', | 'bread_box_code' => 'Code boîte à pain', | ||||
'status' => 'Statut', | 'status' => 'Statut', | ||||
'button_generate_delivery_note_point_sale' => 'Activer le bouton de génération de bon de livraison par point de vente', | |||||
'button_generate_delivery_note_each_user' => 'Activer le bouton de génération de bon de livraison par client', | |||||
'button_generate_delivery_note_point_sale' => 'Par point de vente', | |||||
'button_generate_delivery_note_each_user' => 'Par client', | |||||
'exclude_export_shopping_cart_labels' => "Exclure de l'export d'étiquettes", | 'exclude_export_shopping_cart_labels' => "Exclure de l'export d'étiquettes", | ||||
'is_home_delivery' => "Livraison à domicile", | 'is_home_delivery' => "Livraison à domicile", | ||||
'minimum_order_amount' => "Montant minimum de commande (€)" | 'minimum_order_amount' => "Montant minimum de commande (€)" |
'saturday' => 'Samedi', | 'saturday' => 'Samedi', | ||||
'sunday' => 'Dimanche', | 'sunday' => 'Dimanche', | ||||
'order' => 'Ordre', | 'order' => 'Ordre', | ||||
'quantity_max' => 'Quantité max par défaut', | |||||
'quantity_max_monday' => 'Quantité max : lundi', | |||||
'quantity_max_tuesday' => 'Quantité max : mardi', | |||||
'quantity_max_wednesday' => 'Quantité max : mercredi', | |||||
'quantity_max_thursday' => 'Quantité max : jeudi', | |||||
'quantity_max_friday' => 'Quantité max : vendredi', | |||||
'quantity_max_saturday' => 'Quantité max : samedi', | |||||
'quantity_max_sunday' => 'Quantité max : dimanche', | |||||
'quantity_max' => 'Par défaut', | |||||
'quantity_max_monday' => 'Lundi', | |||||
'quantity_max_tuesday' => 'Mardi', | |||||
'quantity_max_wednesday' => 'Mercredi', | |||||
'quantity_max_thursday' => 'Jeudi', | |||||
'quantity_max_friday' => 'Vendredi', | |||||
'quantity_max_saturday' => 'Samedi', | |||||
'quantity_max_sunday' => 'Dimanche', | |||||
'unavailable' => 'Épuisé', | 'unavailable' => 'Épuisé', | ||||
'apply_distributions' => 'Appliquer ces modifications dans les distributions futures', | |||||
'apply_distributions' => 'Appliquer ces modifications dans les distributions à venir', | |||||
'unit' => 'Unité', | 'unit' => 'Unité', | ||||
'step' => 'Pas', | 'step' => 'Pas', | ||||
'id_tax_rate' => 'TVA', | 'id_tax_rate' => 'TVA', |
public function getUsernameFromArray(array $modelArray, $withType = false): string | public function getUsernameFromArray(array $modelArray, $withType = false): string | ||||
{ | { | ||||
$username = ''; | |||||
$username = 'Nom indéfini'; | |||||
if ($modelArray['type'] == User::TYPE_LEGAL_PERSON | if ($modelArray['type'] == User::TYPE_LEGAL_PERSON | ||||
&& isset($modelArray['name_legal_person']) | && isset($modelArray['name_legal_person']) | ||||
&& strlen($modelArray['name_legal_person'])) { | && strlen($modelArray['name_legal_person'])) { | ||||
$username = $modelArray['name_legal_person']; | $username = $modelArray['name_legal_person']; | ||||
} else { | |||||
} elseif((isset($modelArray['lastname']) && $modelArray['lastname']) | |||||
|| (isset($modelArray['name']) && $modelArray['name'])) { | |||||
$username = $modelArray['lastname'] . ' ' . $modelArray['name']; | $username = $modelArray['lastname'] . ' ' . $modelArray['name']; | ||||
} | } | ||||