} | } | ||||
} | } | ||||
/** | |||||
* Modification d'un producteur. | |||||
* | |||||
* @return mixed | |||||
*/ | |||||
public function actionUpdate($id) | |||||
{ | |||||
$model = $this->findModel($id); | |||||
if ($model->load(Yii::$app->request->post()) && $model->save()) { | |||||
Yii::$app->getSession()->setFlash('success', 'Producteur modifié.'); | |||||
return $this->redirect(['index']); | |||||
} else { | |||||
return $this->render('update', [ | |||||
'model' => $model, | |||||
]); | |||||
} | |||||
} | |||||
public function actionUserTransfer($fromProducerId, $toProducerId, $withOrders = 1) | public function actionUserTransfer($fromProducerId, $toProducerId, $withOrders = 1) | ||||
{ | { | ||||
$fromProducerId = (int) $fromProducerId; | $fromProducerId = (int) $fromProducerId; |
<?php | |||||
/** | |||||
Copyright distrib (2018) | |||||
contact@opendistrib.net | |||||
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 yii\helpers\Html; | |||||
use yii\widgets\ActiveForm; | |||||
?> | |||||
<?php $form = ActiveForm::begin(); ?> | |||||
<h3>Général</h3> | |||||
<?= $form->field($model, 'name') ?> | |||||
<?= $form->field($model, 'type')->textInput(['placeholder' => 'Boulangerie, brasserie, ferme ...']); ?> | |||||
<?= $form->field($model, 'postcode') ?> | |||||
<?= $form->field($model, 'city') ?> | |||||
<?= $form->field($model, 'code')->label('Code d\'accès') ?> | |||||
<h3>Facturation</h3> | |||||
<?= $form->field($model, 'option_billing_type') | |||||
->dropDownList(Producer::getBillingTypePopulateDropdown()); ?> | |||||
<?= $form->field($model, 'option_billing_frequency') | |||||
->dropDownList(Producer::getBillingFrequencyPopulateDropdown()); ?> | |||||
<?= $form->field($model, 'option_billing_reduction') | |||||
->dropDownList([ | |||||
0 => 'Non', | |||||
1 => 'Oui' | |||||
]); ?> | |||||
<?= $form->field($model, 'option_billing_reduction_percentage') ?> | |||||
<?= $form->field($model, 'option_billing_permanent_transfer') | |||||
->dropDownList([ | |||||
0 => 'Non', | |||||
1 => 'Oui' | |||||
]); ?> | |||||
<?= $form->field($model, 'option_billing_permanent_transfer_amount') ?> | |||||
<div class="form-group"> | |||||
<?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => 'btn btn-success']) ?> | |||||
</div> | |||||
<?php ActiveForm::end(); ?> |
?> | ?> | ||||
<div class="producer-create"> | <div class="producer-create"> | ||||
<?php $form = ActiveForm::begin(); ?> | |||||
<?= $form->field($model, 'name') ?> | |||||
<?= $form->field($model, 'type')->textInput(['placeholder' => 'Boulangerie, brasserie, ferme ...']); ?> | |||||
<?= $form->field($model, 'postcode') ?> | |||||
<?= $form->field($model, 'city') ?> | |||||
<?= $form->field($model, 'code')->label('Code d\'accès') ?> | |||||
<div class="form-group"> | |||||
<?= Html::submitButton('Ajouter', ['class' => 'btn btn-success']) ?> | |||||
</div> | |||||
<?php ActiveForm::end(); ?> | |||||
<?= $this->render('_form', [ | |||||
'model' => $model, | |||||
]) ?> | |||||
</div> | </div> |
} | } | ||||
} | } | ||||
], | ], | ||||
[ | |||||
/*[ | |||||
'attribute' => 'Prix libre', | 'attribute' => 'Prix libre', | ||||
'label' => 'Prix libre', | 'label' => 'Prix libre', | ||||
'format' => 'raw', | 'format' => 'raw', | ||||
return $str; | return $str; | ||||
} | } | ||||
} | } | ||||
], | |||||
],*/ | |||||
[ | [ | ||||
'attribute' => 'À facturer / chiffre d\'affaire', | 'attribute' => 'À facturer / chiffre d\'affaire', | ||||
'label' => 'À facturer / chiffre d\'affaire', | 'label' => 'À facturer / chiffre d\'affaire', | ||||
'format' => 'raw', | 'format' => 'raw', | ||||
'value' => function($model) { | 'value' => function($model) { | ||||
$str = ''; | |||||
if($model->isBillingFrequencyMonthly()) { | if($model->isBillingFrequencyMonthly()) { | ||||
return $model->getSummaryAmountsToBeBilled('Mois dernier', 1); | |||||
$str .= $model->getSummaryAmountsToBeBilled('Mois dernier', 1); | |||||
} | } | ||||
elseif($model->isBillingFrequencyQuarterly()) { | elseif($model->isBillingFrequencyQuarterly()) { | ||||
return $model->getSummaryAmountsToBeBilled('3 derniers mois', 3); | |||||
$str .= $model->getSummaryAmountsToBeBilled('3 derniers mois', 3); | |||||
} | } | ||||
elseif($model->isBillingFrequencyBiannual()) { | elseif($model->isBillingFrequencyBiannual()) { | ||||
return $model->getSummaryAmountsToBeBilled('6 derniers mois', 6); | |||||
$str .= $model->getSummaryAmountsToBeBilled('6 derniers mois', 6); | |||||
} | } | ||||
if($model->option_billing_reduction && strlen($str)) { | |||||
$str .= '<br /><u>Avec réduction</u> : '; | |||||
if($model->option_billing_reduction_percentage) { | |||||
$str .= ' '.$model->option_billing_reduction_percentage.' %'; | |||||
} | |||||
} | |||||
return $str; | |||||
} | } | ||||
], | ], | ||||
[ | [ | ||||
'label' => 'Détails facturation', | 'label' => 'Détails facturation', | ||||
'format' => 'raw', | 'format' => 'raw', | ||||
'value' => function($model) { | 'value' => function($model) { | ||||
$str = ''; | |||||
$str .= '- '.Producer::$billingTypeArray[$model->option_billing_type].'<br />'; | |||||
$str .= '- '.Producer::$billingFrequencyArray[$model->option_billing_frequency]; | |||||
$str = '<ul style="margin: 0px;padding-left: 15px;">'; | |||||
$str .= '<li>'.Producer::$billingFrequencyArray[$model->option_billing_frequency].'</li>'; | |||||
if($model->option_billing_reduction) { | |||||
$str .= '<br />- <u>Avec réduction</u>'; | |||||
if($model->option_billing_permanent_transfer) { | |||||
$str .= '<li>Virement permanent : <strong>'.Price::format($model->option_billing_permanent_transfer_amount).'</strong></li>'; | |||||
} | } | ||||
$str .= '</ul>'; | |||||
return $str; | return $str; | ||||
} | } | ||||
] | |||||
], | |||||
[ | |||||
'class' => 'yii\grid\ActionColumn', | |||||
'template' => '{update}', | |||||
'headerOptions' => ['class' => 'column-actions'], | |||||
'contentOptions' => ['class' => 'column-actions'], | |||||
'buttons' => [ | |||||
'update' => function ($url, $model) { | |||||
return Html::a( | |||||
'<span class="glyphicon glyphicon-pencil"></span>', | |||||
$url, | |||||
[ | |||||
'title' => Yii::t('app', 'Modifier'), | |||||
'class' => 'btn btn-default' | |||||
] | |||||
); | |||||
}, | |||||
], | |||||
], | |||||
], | ], | ||||
]); ?> | ]); ?> |
<?php | |||||
/** | |||||
Copyright distrib (2018) | |||||
contact@opendistrib.net | |||||
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 yii\helpers\Html; | |||||
use yii\widgets\ActiveForm; | |||||
use yii\helpers\ArrayHelper ; | |||||
use common\models\Producer ; | |||||
$this->setTitle('Modifier producteur') ; | |||||
$this->addBreadcrumb(['label' => 'Producteurs', 'url' => ['index']]) ; | |||||
$this->addBreadcrumb('Modifier') ; | |||||
?> | |||||
<div class="producer-update"> | |||||
<?= $this->render('_form', [ | |||||
'model' => $model, | |||||
]) ?> | |||||
</div> |
->textarea(['rows' => 15]) ?> | ->textarea(['rows' => 15]) ?> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<?php if (User::isCurrentAdmin()): ?> | |||||
<div v-show="currentSection == 'administration'" class="panel panel-default"> | |||||
<div class="panel-body"> | |||||
<h4>Administration</h4> | |||||
<?= $form->field($model, 'option_billing_type') | |||||
->dropDownList(Producer::getBillingTypePopulateDropdown()); ?> | |||||
<?= $form->field($model, 'option_billing_frequency') | |||||
->dropDownList(Producer::getBillingFrequencyPopulateDropdown()); ?> | |||||
<?= $form->field($model, 'option_billing_reduction') | |||||
->dropDownList([ | |||||
0 => 'Non', | |||||
1 => 'Oui' | |||||
]); ?> | |||||
</div> | |||||
</div> | |||||
<?php endif; ?> | |||||
<div class="form-group"> | <div class="form-group"> | ||||
<?= Html::submitButton('Mettre à jour', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | <?= Html::submitButton('Mettre à jour', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||||
</div> | </div> |
name: 'logiciels-caisse', | name: 'logiciels-caisse', | ||||
nameDisplay: 'Logiciels de caisse', | nameDisplay: 'Logiciels de caisse', | ||||
isAdminSection: 0 | isAdminSection: 0 | ||||
}, | |||||
{ | |||||
name: 'administration', | |||||
nameDisplay: 'Administration', | |||||
isAdminSection: 1 | |||||
} | } | ||||
] | ] | ||||
}, window.appInitValues); | }, window.appInitValues); |
'document_quotation_duration', | 'document_quotation_duration', | ||||
'option_dashboard_number_distributions', | 'option_dashboard_number_distributions', | ||||
'option_online_payment_minimum_amount', | 'option_online_payment_minimum_amount', | ||||
'option_document_price_decimals' | |||||
'option_document_price_decimals', | |||||
'option_billing_reduction_percentage', | |||||
'option_billing_permanent_transfer_amount', | |||||
], | ], | ||||
'integer' | 'integer' | ||||
], | ], | ||||
'option_notify_producer_order_summary', | 'option_notify_producer_order_summary', | ||||
'option_billing_reduction', | 'option_billing_reduction', | ||||
'option_export_evoliz', | 'option_export_evoliz', | ||||
'option_display_message_new_opendistrib_version' | |||||
'option_display_message_new_opendistrib_version', | |||||
'option_billing_permanent_transfer' | |||||
], | ], | ||||
'boolean' | 'boolean' | ||||
], | ], | ||||
'option_csv_separator' => 'Séparateur de colonnes (CSV)', | 'option_csv_separator' => 'Séparateur de colonnes (CSV)', | ||||
'option_display_message_new_opendistrib_version' => 'Afficher les messages de mise à jour du logiciel Opendistrib', | 'option_display_message_new_opendistrib_version' => 'Afficher les messages de mise à jour du logiciel Opendistrib', | ||||
'option_online_payment_minimum_amount' => 'Paiement en ligne : montant minimum', | 'option_online_payment_minimum_amount' => 'Paiement en ligne : montant minimum', | ||||
'option_document_price_decimals' => 'Prix : nombre de décimales affichées' | |||||
'option_document_price_decimals' => 'Prix : nombre de décimales affichées', | |||||
'option_billing_reduction_percentage' => 'Réduction : pourcentage', | |||||
'option_billing_permanent_transfer' => 'Virement permanent', | |||||
'option_billing_permanent_transfer_amount' => 'Virement permanent : montant', | |||||
]; | ]; | ||||
} | } | ||||
$turnover = $this->getTurnover($month); | $turnover = $this->getTurnover($month); | ||||
if ($turnover) { | if ($turnover) { | ||||
if ($this->isBillingTypeClassic()) { | |||||
$text .= '<strong>'; | |||||
} | |||||
$isBold = $this->isBillingTypeClassic() && !$this->option_billing_permanent_transfer; | |||||
if ($isBold) $text .= '<strong>'; | |||||
$text .= $this->getAmountToBeBilledByTurnover($turnover, true); | $text .= $this->getAmountToBeBilledByTurnover($turnover, true); | ||||
if ($this->isBillingTypeClassic()) { | |||||
$text .= '</strong>'; | |||||
} | |||||
if ($isBold) $text .= '</strong>'; | |||||
$text .= ' / '.Price::format($turnover); | $text .= ' / '.Price::format($turnover); | ||||
$text .= '<br />'; | $text .= '<br />'; | ||||
} | } | ||||
} | } |
<?php | |||||
use yii\db\Migration; | |||||
use yii\db\Schema; | |||||
/** | |||||
* Class m230112_094203_producer_add_options_billing | |||||
*/ | |||||
class m230112_094203_producer_add_options_billing extends Migration | |||||
{ | |||||
/** | |||||
* {@inheritdoc} | |||||
*/ | |||||
public function safeUp() | |||||
{ | |||||
$this->addColumn('producer', 'option_billing_reduction_percentage', Schema::TYPE_INTEGER .' DEFAULT NULL'); | |||||
$this->addColumn('producer', 'option_billing_permanent_transfer', Schema::TYPE_BOOLEAN . ' DEFAULT 0'); | |||||
$this->addColumn('producer', 'option_billing_permanent_transfer_amount', Schema::TYPE_INTEGER .' DEFAULT NULL'); | |||||
} | |||||
/** | |||||
* {@inheritdoc} | |||||
*/ | |||||
public function safeDown() | |||||
{ | |||||
$this->dropColumn('producer', 'option_billing_reduction_percentage'); | |||||
$this->dropColumn('producer', 'option_billing_permanent_transfer'); | |||||
$this->dropColumn('producer', 'option_billing_permanent_transfer_amount'); | |||||
} | |||||
} |