Browse Source

[Administration & boutique] Infolettre Souke : ajout cases à cocher opt-in (inscription, profil)

feature/rotating_product
Guillaume Bourgeois 7 months ago
parent
commit
02b0268460
9 changed files with 40 additions and 11 deletions
  1. +12
    -1
      backend/views/user/_form.php
  2. +14
    -1
      backend/views/user/view.php
  3. +2
    -2
      domain/User/User/User.php
  4. +5
    -3
      frontend/forms/SignupForm.php
  5. +2
    -1
      frontend/views/site/producer.php
  6. +2
    -1
      frontend/views/site/signup.php
  7. +1
    -1
      frontend/views/site/signup_confirm.php
  8. +1
    -0
      frontend/views/user/update.php
  9. +1
    -1
      producer/views/order/order.php

+ 12
- 1
backend/views/user/_form.php View File

@@ -163,7 +163,7 @@ $distributionModule = DistributionModule::getInstance();
<div class="panel-heading">
<h3 class="panel-title">
<i class="fa fa-paper-plane"></i>
Bulletin d'information
Infolettres
</h3>
</div>
<div class="panel-body">
@@ -176,6 +176,17 @@ $distributionModule = DistributionModule::getInstance();
],
]
); ?>
<?php if($userModule->getAuthorizationChecker()->isGrantedAsAdministrator($userCurrent)): ?>
<?= $form->field($model, 'newsletter_souke')->widget(Toggle::class,
[
'options' => [
'data-id' => $model->id,
'data-on' => 'Oui',
'data-off' => 'Non',
],
]
); ?>
<?php endif; ?>
</div>
</div>


+ 14
- 1
backend/views/user/view.php View File

@@ -36,6 +36,7 @@ pris connaissance de la licence CeCILL, et que vous en avez accepté les
termes.
*/

use common\helpers\GlobalParam;
use common\helpers\Price;
use domain\Order\Order\OrderModule;
use domain\User\User\UserModule;
@@ -43,6 +44,7 @@ use domain\User\UserProducer\UserProducerModule;
use yii\helpers\Html;
use yii\widgets\ActiveForm;

$userCurrent = GlobalParam::getCurrentUser();
$orderModule = OrderModule::getInstance();
$userModule = UserModule::getInstance();
$userProducerModule = UserProducerModule::getInstance();
@@ -115,7 +117,7 @@ $this->addBreadcrumb('Récapitulatif') ;
</li>
<?php endif; ?>
<li class="list-group-item">
<strong>Bulletin d'information</strong>
<strong>Infolettre</strong>
<span class="pull-right">
<?php $isUserSubscribedNewsletter = $userModule->getNewsletterManager()->isUserSubscribedNewsletter($model); ?>
<span class="label label-<?= $isUserSubscribedNewsletter ? 'success' : 'default' ?>">
@@ -123,6 +125,17 @@ $this->addBreadcrumb('Récapitulatif') ;
</span>
</span>
</li>
<?php if($userModule->getAuthorizationChecker()->isGrantedAsAdministrator($userCurrent)): ?>
<li class="list-group-item">
<strong>Infolettre Souke</strong>
<span class="pull-right">
<?php $isUserSubscribedNewsletterSouke = $model->newsletter_souke; ?>
<span class="label label-<?= $isUserSubscribedNewsletterSouke ? 'success' : 'default' ?>">
<?= $isUserSubscribedNewsletterSouke ? 'Oui' : 'Non' ?>
</span>
</span>
</li>
<?php endif; ?>
<?php if($model->userPointSale): ?>
<li class="list-group-item">
<strong>Points de vente</strong>

+ 2
- 2
domain/User/User/User.php View File

@@ -151,13 +151,13 @@ class User extends ActiveRecordCommon implements IdentityInterface
'product_price_percent' => 'Prix produits : pourcentage',
'user_groups' => "Groupes d'utilisateurs",
'evoliz_code' => 'Code client Evoliz',
'newsletter' => "Inscrit au bulletin d'information",
'newsletter' => "Inscrit à l'infolettre",
'exclude_export_shopping_cart_labels' => "Exclure de l'export d'étiquettes",
'send_mail_welcome' => "Envoyer un email de bienvenue",
'email_sending_invoicing_documents' => 'Email facturation',
'trust_alert' => 'Alerte confiance',
'trust_alert_comment' => 'Commentaire',
'newsletter_souke' => 'Infolettre Souke'
'newsletter_souke' => "S'abonner à l'infolettre de Souke"
];
}


+ 5
- 3
frontend/forms/SignupForm.php View File

@@ -73,6 +73,7 @@ class SignupForm extends Model
public $verifyCode;
public $is_test;
public $newsletter = false;
public $newsletter_souke = false;

/**
* @inheritdoc
@@ -105,7 +106,7 @@ class SignupForm extends Model
return !$model->signup_producer_only;
}],
['password', 'string', 'min' => 6, 'tooShort' => 'Votre mot de passe doit contenir au moins 6 caractères'],
[['is_producer', 'newsletter'], 'boolean'],
[['is_producer', 'newsletter', 'newsletter_souke'], 'boolean'],
['cgv', 'boolean'],
['cgv', function ($attribute, $params) {
$cgv = $this->$attribute;
@@ -218,10 +219,10 @@ class SignupForm extends Model
'city' => 'Commune',
'id_producer' => 'Producteur',
'type' => 'Type de producteur',
// 'free_price' => 'Prix libre',
'id_tax_rate_default' => 'TVA par défaut',
'verifyCode' => 'Code de vérification',
'newsletter' => "S'abonner au bulletin d'information de ce producteur"
'newsletter' => "S'abonner à l'infolettre de ce producteur",
'newsletter_souke' => "S'abonner à l'infolettre de Souke",
];
}

@@ -318,6 +319,7 @@ class SignupForm extends Model
$user->name = $this->name;
$user->lastname = $this->lastname;
$user->phone = $this->phone;
$user->newsletter_souke = $this->newsletter_souke;
}

public function populateProducer($producer)

+ 2
- 1
frontend/views/site/producer.php View File

@@ -110,7 +110,6 @@ $this->setMeta('description', 'Veuillez vous connecter pour réserver les produi
<?= $form->field($signupForm, 'lastname') ?>
<?= $form->field($signupForm, 'name') ?>
<?= $form->field($signupForm, 'phone') ?>
<?= $form->field($signupForm, 'newsletter')->checkbox() ?>
<?php if(strlen($producer->code)): ?>
<?= $form->field($signupForm, 'code',[
'inputTemplate' => '<div class="input-group"><span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span>{input}</div>',
@@ -118,6 +117,8 @@ $this->setMeta('description', 'Veuillez vous connecter pour réserver les produi
->label('Code du producteur')
->hint('Renseignez-vous auprès de votre producteur pour qu\'il vous fournisse le code d\'accès') ; ?>
<?php endif; ?>
<?= $form->field($signupForm, 'newsletter')->checkbox() ?>
<?= $form->field($signupForm, 'newsletter_souke')->checkbox() ?>
<?= $form->field($signupForm, 'verifyCode')->widget(\yii\captcha\Captcha::className(), [
'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>',
]) ?>

+ 2
- 1
frontend/views/site/signup.php View File

@@ -90,7 +90,6 @@ $this->params['breadcrumbs'][] = $this->title;
<div id="fields-user">
<?= $form->field($model, 'id_producer')
->dropDownList($dataProducers, ['prompt' => '--','encode' => false,'options' => $optionsProducers]) ?>
<?= $form->field($model, 'newsletter')->checkbox() ?>
<div id="bloc-code-acces">
<?= $form->field($model, 'code',[
'inputTemplate' => '<div class="input-group"><span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span>{input}</div>',
@@ -99,6 +98,8 @@ $this->params['breadcrumbs'][] = $this->title;
->label('Code')
->hint('Renseignez-vous auprès de votre producteur pour qu\'il vous fournisse le code d\'accès') ; ?>
</div>
<?= $form->field($model, 'newsletter')->checkbox() ?>
<?= $form->field($model, 'newsletter_souke')->checkbox() ?>
</div>

<?= $form->field($model, 'verifyCode')->widget(\yii\captcha\Captcha::className(), [

+ 1
- 1
frontend/views/site/signup_confirm.php View File

@@ -51,7 +51,7 @@ if($userModule->isProducer($user)) {
}
elseif($producerRedirect) {
$urlRedirect = $this->getUrlManagerProducer()->createAbsoluteUrl(['site/index', 'slug_producer' => $producerRedirect->slug]);
$redirectLabel = "Redirection vers l'espace de votre producteur ...";
$redirectLabel = "Redirection vers la boutique de votre producteur ...";
}

?>

+ 1
- 0
frontend/views/user/update.php View File

@@ -59,6 +59,7 @@ $this->setIcon('user');
<?= $form->field($model, 'phone')->textInput() ?>
<?= $form->field($model, 'email')->textInput(); ?>
<?= $form->field($model, 'address')->textarea() ?>
<?= $form->field($model, 'newsletter_souke')->checkbox() ?>

<h2>Mot de passe</h2>
<p>Renseignez les champs ci-dessous si vous souhaitez modifier votre mot de passe.</p>

+ 1
- 1
producer/views/order/order.php View File

@@ -132,7 +132,7 @@ $this->setTitle('Commander');
<div class="clr"></div>
</div>
<div class="content">
<div v-if="order" class="alert alert-warning alert-edit-order">
<div v-if="order && date" class="alert alert-warning alert-edit-order">
<div class="glyphicon glyphicon-pencil"></div>
Attention, vous êtes en train de modifier votre commande du <strong>{{ dateFormat }}</strong>.
</div>

Loading…
Cancel
Save