@@ -199,8 +199,8 @@ class UserController extends BackendController | |||
{ | |||
$model = $this->findModel($id); | |||
// Moodification du profil | |||
$previousMail = $model->email ; | |||
$user = User::find()->with('userProducer')->where(['id' => $model['id']])->one(); | |||
$userBelongToProducer = UserProducer::findOne(['id_user' => $id, 'id_producer' => Producer::getId()]); | |||
if (($userBelongToProducer && count($user->userProducer) == 1) || User::getCurrentStatus() == USER::STATUS_ADMIN) { | |||
@@ -221,6 +221,25 @@ class UserController extends BackendController | |||
throw new UserException("Vous ne pouvez pas modifier cet utilisateur, soit parce qu'il appartient à plusieurs établissements, soit parce qu'il n'est pas lié au votre."); | |||
} | |||
// Nouveau mot de passe | |||
$newPassword = Yii::$app->request->post('submit_new_password'); | |||
if($newPassword) { | |||
$password = Password::generate(); | |||
$model->setPassword($password); | |||
$model->save() ; | |||
$producer = Producer::getCurrent(); | |||
Yii::$app->mailer->compose(); | |||
$mail = Yii::$app->mailer->compose( | |||
['html' => 'newPasswordUserAdmin-html', 'text' => 'newPasswordUserAdmin-text'], ['user' => $model, 'producer' => $producer, 'password' => $password] | |||
) | |||
->setTo($model->email) | |||
->setFrom(['contact@opendistrib.net' => 'Opendistrib']) | |||
->setSubject('[Opendistrib] Nouveau mot de passe') | |||
->send(); | |||
Yii::$app->getSession()->setFlash('success', 'Nouveau mot de passe envoyé.'); | |||
} | |||
return $this->render('update', array_merge($this->initForm($model),[ | |||
'model' => $model, | |||
])); |
@@ -46,29 +46,40 @@ use yii\widgets\ActiveForm; | |||
<div class="user-form"> | |||
<?php $form = ActiveForm::begin(); ?> | |||
<?= $form->field($model, 'lastname')->textInput() ?> | |||
<?= $form->field($model, 'name')->textInput() ?> | |||
<?= $form->field($model, 'phone')->textInput() ?> | |||
<?= $form->field($model, 'email')->textInput() ?> | |||
<?= $form->field($model, 'address')->textarea() ?> | |||
<?= $form->field($model, 'points_sale')->checkboxlist( | |||
ArrayHelper::map($pointsSaleArray, 'id',function($pointSale) use ($model) { | |||
$commentUserPointSale = isset($pointSale->userPointSale[0]) ? $pointSale->userPointSale[0]->comment : '' ; | |||
$html = Html::encode($pointSale->name); | |||
if($pointSale->restricted_access) { | |||
$html .= '<input type="text" placeholder="Commentaire" class="form-control" name="User[comment_point_sale_'.$pointSale->id.']" value="'.(($model->id) ? Html::encode($commentUserPointSale) : '').'" />' ; | |||
} | |||
return $html ; | |||
}), [ | |||
'encode' => false | |||
]); | |||
?> | |||
<div class="col-md-8"> | |||
<?php $form = ActiveForm::begin(); ?> | |||
<?= $form->field($model, 'lastname')->textInput() ?> | |||
<?= $form->field($model, 'name')->textInput() ?> | |||
<?= $form->field($model, 'phone')->textInput() ?> | |||
<?= $form->field($model, 'email')->textInput() ?> | |||
<?= $form->field($model, 'address')->textarea() ?> | |||
<?= $form->field($model, 'points_sale')->checkboxlist( | |||
ArrayHelper::map($pointsSaleArray, 'id',function($pointSale) use ($model) { | |||
$commentUserPointSale = isset($pointSale->userPointSale[0]) ? $pointSale->userPointSale[0]->comment : '' ; | |||
$html = Html::encode($pointSale->name); | |||
if($pointSale->restricted_access) { | |||
$html .= '<input type="text" placeholder="Commentaire" class="form-control" name="User[comment_point_sale_'.$pointSale->id.']" value="'.(($model->id) ? Html::encode($commentUserPointSale) : '').'" />' ; | |||
} | |||
return $html ; | |||
}), [ | |||
'encode' => false | |||
]); | |||
?> | |||
<div class="form-group"> | |||
<?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | |||
</div> | |||
<?php ActiveForm::end(); ?> | |||
</div> | |||
<div class="form-group"> | |||
<?= Html::submitButton($model->isNewRecord ? 'Ajouter' : 'Modifier', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | |||
<div class="col-md-4"> | |||
<h2>Mot de passe</h2> | |||
<?php $form = ActiveForm::begin(); ?> | |||
<div class="form-group"> | |||
<?= Html::submitButton('Envoyer un nouveau mot de passe', ['class' => 'btn btn-primary', 'name' => 'submit_new_password', 'value' => 1]) ?> | |||
</div> | |||
<?php ActiveForm::end(); ?> | |||
</div> | |||
<?php ActiveForm::end(); ?> | |||
</div> |
@@ -0,0 +1,52 @@ | |||
<?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; | |||
?> | |||
<p>Bonjour <?= Html::encode($user->name); ?>,</p> | |||
<p>Votre producteur <strong><?= Html::encode($producer->name); ?></strong> vient | |||
de générer un nouveau mot de passe pour vous sur le site <a href="http://www.opendistrib.net/">Opendistrib</a>.</p> | |||
<p>Voci vos nouveaux identifiants de connexion :<br /> | |||
Identifiant : <strong><?= Html::encode($user->email); ?></strong><br /> | |||
Mot de passe : <strong><?= $password ?></strong></p> | |||
<p>À bientôt.</p> |
@@ -0,0 +1,50 @@ | |||
<?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. | |||
*/ | |||
?> | |||
Bonjour <?= $user->name ?>, | |||
Votre producteur "<?= $producer->name ?>" vient | |||
de générer un nouveau mot de passe pour vous sur le site http://www.opendistrib.net/. | |||
Voci vos nouveaux identifiants de connexion : | |||
Identifiant : <?= $user->email; ?> | |||
Mot de passe : <?= $password ?> | |||
À bientôt. |