@@ -26,7 +26,6 @@ class AppAsset extends AssetBundle | |||
public $js = [ | |||
'../../frontend/web/js/jquery-ui-1.11.4.custom/jquery-ui.min.js', | |||
'js/lechatdesnoisettes.js?v=2', | |||
]; | |||
public $depends = [ | |||
'yii\bootstrap\BootstrapAsset', |
@@ -17,7 +17,7 @@ AppAsset::register($this); | |||
<meta charset="<?= Yii::$app->charset ?>"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<?= Html::csrfMetaTags() ?> | |||
<title><?= Html::encode($this->title) ?> - Le Chat des Noisettes</title> | |||
<title><?= Html::encode($this->title) ?> - Réservation de pain</title> | |||
<?php $this->head() ?> | |||
</head> | |||
<body> |
@@ -40,6 +40,7 @@ class AppAsset extends AssetBundle | |||
'js/jquery-ui-1.11.4.custom/jquery-ui.min.js', | |||
'js/lightbox/js/lightbox.min.js', | |||
'js/lechatdesnoisettes.js?v=3', | |||
'js/boulange.js', | |||
]; | |||
public $depends = [ | |||
'yii\web\YiiAsset', |
@@ -16,6 +16,9 @@ class SignupForm extends Model | |||
public $nom; | |||
public $prenom; | |||
public $telephone; | |||
public $is_boulanger; | |||
public $siret; | |||
public $nom_magasin; | |||
/** | |||
* @inheritdoc | |||
@@ -44,6 +47,58 @@ class SignupForm extends Model | |||
['password', 'required','message'=>'Champs obligatoire'], | |||
['password', 'string', 'min' => 6, 'tooShort' => 'Votre mot de passe doit contenir au moins 6 caractères'], | |||
['is_boulanger', 'boolean'], | |||
['nom_magasin', 'string'], | |||
['nom_magasin', 'required','message'=>'Champs obligatoire', 'when' => function($model) { | |||
return $model->is_boulanger ; | |||
},'whenClient' => "function (attribute, value) { | |||
return $('#signupform-is_boulanger').prop('checked') ; | |||
}"], | |||
['siret', 'string'], | |||
['siret', 'required','message'=>'Champs obligatoire', 'when' => function($model) { | |||
return $model->is_boulanger ; | |||
},'whenClient' => "function (attribute, value) { | |||
return $('#signupform-is_boulanger').prop('checked') ; | |||
}"], | |||
['siret', function($attribute, $params) { | |||
$siret = $this->$attribute ; | |||
$siret = str_replace(' ', '', $siret) ; | |||
if (strlen($siret) != 14) | |||
{ | |||
$this->addError($attribute, 'Le numéro SIRET doit contenir 14 caractères'); | |||
return; | |||
} | |||
if (!is_numeric($siret)) | |||
{ | |||
$this->addError($attribute, 'Le numéro SIRET ne doit contenir que des chiffres'); | |||
return; | |||
} | |||
// on prend chaque chiffre un par un | |||
// si son index (position dans la chaîne en commence à 0 au premier caractère) est pair | |||
// on double sa valeur et si cette dernière est supérieure à 9, on lui retranche 9 | |||
// on ajoute cette valeur à la somme totale | |||
$sum = 0 ; | |||
for ($index = 0; $index < 14; $index ++) | |||
{ | |||
$number = (int) $siret[$index]; | |||
if (($index % 2) == 0) { if (($number *= 2) > 9) $number -= 9; } | |||
$sum += $number; | |||
} | |||
// le numéro est valide si la somme des chiffres est multiple de 10 | |||
if (($sum % 10) != 0) | |||
$this->addError($attribute, 'Numéro SIRET invalide'); | |||
}], | |||
]; | |||
} | |||
@@ -63,6 +118,14 @@ class SignupForm extends Model | |||
$user->prenom = $this->prenom ; | |||
$user->telephone = $this->telephone ; | |||
$user->confiance = 1 ; | |||
if($this->is_boulanger) | |||
{ | |||
$user->is_boulanger = 1 ; | |||
$user->nom_magasin = $this->nom_magasin ; | |||
$user->siret = $this->siret ; | |||
} | |||
$user->setPassword($this->password); | |||
$user->generateAuthKey(); | |||
if ($user->save()) { | |||
@@ -99,6 +162,11 @@ Matthieu" ; | |||
'username' => 'Identifiant', | |||
'password' => 'Mot de passe', | |||
'rememberMe' => 'Se souvenir de moi', | |||
'prenom' => 'Prénom', | |||
'telephone' => 'Téléphone', | |||
'is_boulanger' => "Je suis professionnel et souhaite mettre en place un système de réservation de pain dans ma boulangerie", | |||
'nom_magasin' => 'Nom de la boulangerie', | |||
'siret' => 'Numéro SIRET' | |||
]; | |||
} | |||
} |
@@ -17,13 +17,17 @@ $this->params['breadcrumbs'][] = $this->title; | |||
<div class="row"> | |||
<div class="col-lg-5"> | |||
<?php $form = ActiveForm::begin(['id' => 'form-signup']); ?> | |||
<?php $form = ActiveForm::begin(['id' => 'form-signup','enableClientValidation'=> false]); ?> | |||
<?= $form->field($model, 'email') ?> | |||
<?= $form->field($model, 'password')->passwordInput() ?> | |||
<?= $form->field($model, 'nom') ?> | |||
<?= $form->field($model, 'prenom') ?> | |||
<?= $form->field($model, 'telephone') ?> | |||
<?= $form->field($model, 'is_boulanger')->checkbox() ?> | |||
<div id="champs-boulanger"> | |||
<?= $form->field($model, 'nom_magasin') ?> | |||
<?= $form->field($model, 'siret') ?> | |||
</div> | |||
<div class="form-group"> | |||
<?= Html::submitButton("S'inscrire", ['class' => 'btn btn-primary', 'name' => 'signup-button']) ?> | |||
</div> |
@@ -355,6 +355,12 @@ ul li { | |||
font-weight: bold; | |||
} | |||
/* signup */ | |||
/* line 349, ../sass/screen.scss */ | |||
#form-signup #champs-boulanger { | |||
display: none; | |||
} | |||
/* line 2, ../sass/_systeme_commandes.scss */ | |||
h1.title-systeme-commande { | |||
color: black; |
@@ -0,0 +1,35 @@ | |||
/* | |||
* To change this license header, choose License Headers in Project Properties. | |||
* To change this template file, choose Tools | Templates | |||
* and open the template in the editor. | |||
*/ | |||
$(document).ready(function() | |||
{ | |||
boulange_signup() ; | |||
}); | |||
function boulange_signup() | |||
{ | |||
if($('#form-signup').size()) | |||
{ | |||
boulange_signup_champs_boulanger() ; | |||
$('#signupform-is_boulanger').change(function() { | |||
boulange_signup_champs_boulanger() ; | |||
}) ; | |||
} | |||
} | |||
function boulange_signup_champs_boulanger() | |||
{ | |||
if($('#signupform-is_boulanger').prop('checked')) | |||
{ | |||
$('#champs-boulanger').fadeIn() ; | |||
} | |||
else { | |||
$('#champs-boulanger').hide() ; | |||
} | |||
} | |||
@@ -475,4 +475,3 @@ function chat_tabs_gamme_saison() { | |||
}); | |||
} | |||
@@ -343,6 +343,14 @@ ul { | |||
} | |||
/* signup */ | |||
#form-signup { | |||
#champs-boulanger { | |||
display: none ; | |||
} | |||
} | |||
@import "_systeme_commandes.scss" ; | |||
@import "_responsive.scss" ; | |||