twigification of reset-password and reset-mail pages

This commit is contained in:
Ysolyne Gresille
2012-07-16 18:52:50 +02:00
parent aa3de2a2c5
commit 999fcb710f
11 changed files with 814 additions and 175 deletions

View File

@@ -25,6 +25,7 @@ return call_user_func(function() {
$app = new SilexApp();
$app['Core'] = \bootstrap::getCore();
$app['debug'] = true;
$app->register(new ValidatorServiceProvider());

View File

@@ -143,6 +143,54 @@ class Account implements ControllerProviderInterface
$controllers->get('/access/', $this->call('accountAccess'))
->bind('account_access');
/**
* Reset user email
*
* name : account_reset_email
*
* description : Reset User email
*
* method : GET
*
* parameters : none
*
* return : HTML Response
*/
$controllers->get('/register/', $this->call('registerAccount'))
->bind('account_register');
/**
* Reset user email
*
* name : account_reset_email
*
* description : Reset User email
*
* method : GET
*
* parameters : none
*
* return : HTML Response
*/
$controllers->get('/reset-email/', $this->call('resetEmail'))
->bind('account_reset_email');
/**
* Reset user password
*
* name : account_reset_password
*
* description : Reset user password
*
* method : GET
*
* parameters : none
*
* return : HTML Response
*/
$controllers->get('/reset-password/', $this->call('resetPassword'))
->bind('account_reset_password');
/**
* Give account open sessions
*
@@ -195,6 +243,22 @@ class Account implements ControllerProviderInterface
return $controllers;
}
public function registerAccount(Application $app, Request $request)
{
return new Response($app['Core']['Twig']->render('account/register.html.twig'));
}
public function resetPassword(Application $app, Request $request)
{
return new Response($app['Core']['Twig']->render('account/reset-password.html.twig'));
}
public function resetEmail(Application $app, Request $request)
{
return new Response($app['Core']['Twig']->render('account/reset-email.html.twig'));
}
/**
* Submit the new password
*

View File

@@ -7,6 +7,10 @@
</script>
{% endblock %}
{% block title %}
{% trans 'login:: Mon compte' %}
{% endblock %}
{% block content %}
<table style="width: 100%">
<tr valign="top">
@@ -20,7 +24,7 @@
<legend>{% trans 'Informations personnelles' %}</legend>
<div class="control-group">
<div class="controls">
<p><a href="/login/reset-password.php" target="_self">{% trans 'admin::compte-utilisateur changer mon mot de passe' %}</a></p>
<p><a href="/account/reset-password/" target="_self">{% trans 'admin::compte-utilisateur changer mon mot de passe' %}</a></p>
</div>
</div>
<div class="control-group">
@@ -64,7 +68,7 @@
<div class="control-group">
<label class="form_label control-label" for="form_firstname">{% trans 'admin::compte-utilisateur email' %}</label>
<div class="controls">
<p>{{ user.get_email() }} <a href="/login/reset-email.php" target="_self">{% trans 'login:: Changer mon adresse email' %}</a></p>
<p>{{ user.get_email() }} <a href="/account/reset-email/" target="_self">{% trans 'login:: Changer mon adresse email' %}</a></p>
<p class="form_alert help-block"></p>
</div>
</div>

View File

@@ -45,6 +45,7 @@ $(document).ready(function(){
});
</script>
{% endblock %}
{% block content %}
<table class='app-placement'>
<tbody>

View File

@@ -1,6 +1,6 @@
<html lang="{{ session.get_I18n() }}">
<head>
<title>{{ registry.get('GV_homeTitle') }} {% trans 'login:: Mon compte'%}</title>
<title>{{ home_title }} {% block title %}{% endblock %}</title>
<link rel="stylesheet" type="text/css" href="/include/minify/f=login/home.css,/login/geonames.css,/skins/html5/bootstrap/css/bootstrap.min.css,/skins/html5/bootstrap/css/bootstrap-responsive.min.css,/skins/login/css/main.css"/>
<link rel="stylesheet" type="text/css" href="/skins/login/css/main.css"/>
<script type="text/javascript" language="javascript" src="/include/minify/f=include/jslibs/jquery-1.7.1.js"></script>
@@ -14,8 +14,8 @@
<table style="width: 100%;">
<tr style="height: 35px;">
<td style="width: 580px;">
<span class="title-name">{{ registry.get('GV_homeTitle') }}</span>
<span class="title-desc">{% trans 'login:: Mon compte' %}</span>
<span class="title-name">{{ home_title }}</span>
<span class="title-desc">{{ block('title') }}</span>
</td>
<td style="color: #b1b1b1; text-align: right;">
</td>

View File

@@ -1,38 +1,19 @@
<html lang="{{ session.get_I18n() }}">
<head>
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<link type="text/css" rel="stylesheet" href="/login/home.css" />
<title>{% trans 'admin::compte-utilisateur changer mon mot de passe' %}</title>
</head>
<body>
<div style="width: 950px;margin: 0 auto;">
<div style="margin-top: 70px;height: 35px;">
<table style="width: 100%;">
<tr style="height: 35px;">
<td style="width: auto;"><div style="font-size: 28px; color: #b1b1b1;">{{ registry.get('GV_homeTitle') }}</div></td>
<td style="color: #b1b1b1; text-align: right;">
</td>
</tr>
</table>
</div>
<div style="height: 530px; background-color: #525252;">
<div id="id-main" class="tab-content" style="display: block;">
<!--<div style="width: 560px; float: left; height: 490px;">
<img src="/skins/icons/home.jpg" style="margin: 85px 10px; width: 540px;"/>
</div>-->
<div xstyle="width:360px;float:right;height:490px;">
<div style="margin: 40px 25px; float: left; width: 880px;">
{% extends 'account/base.html.twig' %}
{% block title %}
{% trans 'admin::compte-utilisateur changer mon mot de passe' %}
{% endblock %}
{% block head %}
{% if tokenize %}
<script type="text/javascript" language="javascript" src="/include/minify/f=include/jslibs/jquery-1.7.1.js"></script>
<script type="text/javascript" language="javascript" src="/include/minify/f=include/jslibs/jquery.validate.js"></script>
<script type="text/javascript" language="javascript" src="/include/minify/f=include/jslibs/jquery.validate.password.js"></script>
<script type="text/javascript" >
<?php
?>
{% if tokenize %}
$(document).ready(function() {
$.validator.passwordRating.messages = {
"similar-to-username": "{% trans 'forms::le mot de passe est trop similaire a l\'identifiant' %}",
"too-short": "{% trans 'forms::la valeur donnee est trop courte' %}",
@@ -57,8 +38,7 @@
errorPlacement: function(error, element) {
error.prependTo( element.parent().parent().next().find('.form_alert') );
}
}
);
});
$('#form_password').rules("add",{
password: "#form_login"
@@ -69,10 +49,16 @@
});
$("#form_password").valid();
});
{% endif %}
</script>
{% endblock %}
{% block content %}
{% if tokenize %}
{% if app.request.get('salt') %}
<div class="notice" style="text-align: center; margin: 20px 40px; padding: 10px; font-weight: bold; font-size: 14px;">
{% trans 'Pour ameliorer la securite de l\'application, vous devez mettre a jour votre mot de passe.' %}<br/>
@@ -159,13 +145,5 @@
</div>
</form>
{% endif %}
</div>
</div>
</div>
<div style="text-align: right; position: relative; margin: 18px 10px 0 0; font-size: 10px; font-weight: normal;">
<span>&copy; Copyright Alchemy 2005-{{ "now"|date("Y") }}</span>
</div>
</div>
</div>
</body>
</html>
{% endblock %}

View File

@@ -0,0 +1,384 @@
{% extends 'account/base.html.twig' %}
{% block title %}
{% endblock %}
{% block head %}
<script type="text/javascript" language="javascript" src="/include/minify/f=include/jslibs/jquery-1.7.1.js,include/jslibs/jquery.validate.js,include/jslibs/jquery.validate.password.js,include/jslibs/jquery.validate.login.js"></script>
<script type="text/javascript">
<?php
$geonames = new geonames();
$first = true;
$sep = $msg = $rules = '';
foreach ($arrayVerif as $ar => $ver) {
if ($ver === false)
continue;
if ($ar != 'form_password') {
if ( ! $first)
$sep = ',';
$first = false;
$rules .= $sep . $ar . ':{required:true}';
$msg .= $sep . $ar . ': {';
$msg .= 'required : "' . _('forms::ce champ est requis') . '"';
if ($ar == 'form_login' || $ar == 'form_password')
$msg .= ' ,minlength: "' . _('forms::la valeur donnee est trop courte') . '"';
if ($ar == 'form_password')
$msg .= ' ,minlength: "' . _('forms::la valeur donnee est trop courte') . '"';
if ($ar == 'form_password_confirm')
$msg .= ' ,equalTo: "' . _('forms::les mots de passe ne correspondent pas') . '"';
if ($ar == 'form_email')
$msg .= ',email:"' . (str_replace('"', '\"', _('forms::l\'email semble invalide'))) . '"';
$msg .= ',login:"' . (str_replace('"', '\"', _('login invalide (5 caracteres sans accents ni espaces)'))) . '"';
$msg .= '}';
}
}
?>
$(document).ready(function() {
$.validator.passwordRating.messages = {
"similar-to-username": "{% trans 'forms::le mot de passe est trop similaire a l\'identifiant' %}",
"too-short": "{% trans 'forms::la valeur donnee est trop courte' %}",
"very-weak": "{% trans 'forms::le mot de passe est trop simple' %}",
"weak": "{% trans 'forms::le mot de passe est simple' %}",
"good": "{% trans 'forms::le mot de passe est bon' %}",
"strong": "{% trans 'forms::le mot de passe est tres bon' %}"
}
$("#register").validate(
{
rules: {
<?php echo $rules ?>
},
messages: {
<?php echo $msg ?>
},
errorPlacement: function(error, element) {
error.prependTo( element.parent().next() );
}
}
);
$('#form_email').rules("add",{email:true});
$('#form_login').rules("add",{
minlength: 5
});
$('#form_password').rules("add",{password: "#form_login"});
$('#form_password_confirm').rules("add",{equalTo: "#form_password"});
$("#form_password").valid();
initialize_geoname_field($('#form_geonameid'));
});
</script>
{% endblock %}
{% block content %}
<form id="register" name="creation" action="register.php" method="post">
<table id="form_register_table" cellspacing="0" cellpadding="0" style="font-size:11px;margin:0 auto;">
<tr style="height:10px;">
<td colspan="3">
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_login">
<?php echo (isset($arrayVerif['form_login']) && $arrayVerif['form_login'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur identifiant' %} <br/><span style="font-size:9px;">{% trans '5 caracteres minimum' %}</span> :
</label>
</td>
<td class="form_input">
<input id="form_login" autocomplete="off" type="text" value="<?php echo $parm ["form_login"] ?>" class="input_element" name="form_login">
</td>
<td class="form_alert">
<?php echo isset($needed['form_login']) ? $needed['form_login'] : '' ?>
</td>
</tr>
<tr style="height:10px;">
<td colspan="3">
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_password">
<?php echo (isset($arrayVerif['form_password']) && $arrayVerif['form_password'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur mot de passe' %} <br/><span style="font-size:9px;">{% trans '8 caracteres minimum' %}</span> :
</label>
</td>
<td class="form_input">
<input autocomplete="off" type="password" value="<?php echo $parm ["form_password"] ?>" class="input_element password" name="form_password" id="form_password" />
</td>
<td class="form_alert">
<span style="color:white;">{% trans 'Resistance du mot de passe' %}</span><br/>
<?php echo isset($needed['form_password']) ? $needed['form_password'] : '' ?>
<div class="password-meter">
<div class="password-meter-message">&nbsp;</div>
<div class="password-meter-bg">
<div class="password-meter-bar"></div>
</div>
</div>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_password_confirm">
<?php echo (isset($arrayVerif['form_password_confirm']) && $arrayVerif['form_password_confirm'] === true) ? '<span class="requiredField">*</span>' : '' ?> <span style="font-size:9px;">Confirmation</span> :
</label>
</td>
<td class="form_input">
<input id="form_password_confirm" autocomplete="off" type="password" value="<?php echo $parm ["form_password_confirm"] ?>" class="input_element" name="form_password_confirm">
</td>
<td class="form_alert">
<?php echo isset($needed['form_password_confirm']) ? $needed['form_password_confirm'] : '' ?>
</td>
</tr>
<tr style="height:10px;">
<td colspan="3">
<div style="margin:20px 0;">
<a href="#" onclick="$('#password_infos').slideToggle();return false;" style="color:white;font-size:13px;">{% trans 'admin::compte-utilisateur A propos de la securite des mots de passe' %}</a>
<div id="password_infos" style="display:none;">
<div style="text-align:center;margin:20px 0 0;">
{% trans 'admin::compte-utilisateur Les mots de passe doivent etre clairement distincts du login et contenir au moins deux types parmis les caracteres suivants :' %}
</div>
<div style="text-align:left;margin:10px auto;width:300px;">
<ul>
<li>{% trans 'admin::compte-utilisateur::securite caracteres speciaux' %}</li>
<li>{% trans 'admin::compte-utilisateur::securite caracteres majuscules' %}</li>
<li>{% trans 'admin::compte-utilisateur::securite caracteres minuscules' %}</li>
<li>{% trans 'admin::compte-utilisateur::securite caracteres numeriques' %}</li>
</ul>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="3">
<hr/>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_email">
<?php echo (isset($arrayVerif['form_email']) && $arrayVerif['form_email'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur email' %} :
</label>
</td>
<td class="form_input">
<input id="form_email" autocomplete="off" type="text" value="<?php echo $parm["form_email"] ?>" class="input_element" name="form_email">
</td>
<td class="form_alert">
<?php echo isset($needed['form_email']) ? $needed['form_email'] : '' ?>
</td>
</tr>
<tr><td colspan="3">&nbsp;</td></tr>
<tr>
<td class="form_label">
<label for="form_city">
<?php echo (isset($arrayVerif['form_geonameid']) && $arrayVerif['form_geonameid'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur ville' %} :
</label>
</td>
<td class="form_input">
<input id="form_geonameid" type="text" geonameid="<?php echo $parm["form_geonameid"] ?>" value="<?php echo $geonames->name_from_id($parm["form_geonameid"]) ?>" class="input_element geoname_field" name="form_geonameid">
</td>
<td class="form_alert">
<?php echo isset($needed['form_geonameid']) ? $needed['form_geonameid'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
{% trans 'admin::compte-utilisateur sexe' %} :
</td>
<td class="form_input">
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 0) ? "checked" : "") ?> value="0">{% trans 'admin::compte-utilisateur:sexe: mademoiselle' %}
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 1) ? "checked" : "") ?> value="1">{% trans 'admin::compte-utilisateur:sexe: madame' %}
<input type="radio" class="checkbox" name="form_gender" style="width:10px;" <?php echo (($parm ["form_gender"] == 2) ? "checked" : "") ?> value="2">{% trans 'admin::compte-utilisateur:sexe: monsieur' %}
</td>
<td class="form_alert">
<?php echo isset($needed['form_gender']) ? $needed['form_gender'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_lastname">
<?php echo (isset($arrayVerif['form_lastname']) && $arrayVerif['form_lastname'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur nom' %} :
</label>
</td>
<td class="form_input">
<input id="form_lastname" autocomplete="off" type="text" value="<?php echo $parm['form_lastname'] ?>" class="input_element" name="form_lastname">
</td>
<td class="form_alert">
<?php echo isset($needed['form_lastname']) ? $needed['form_lastname'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_firstname">
<?php echo (isset($arrayVerif['form_firstname']) && $arrayVerif['form_firstname'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur prenom' %} :
</label>
</td>
<td class="form_input">
<input id="form_firstname" autocomplete="off" type="text" value="<?php echo $parm["form_firstname"] ?>" class="input_element" name="form_firstname">
</td>
<td class="form_alert">
<?php echo isset($needed['form_firstname']) ? $needed['form_firstname'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_job">
<?php echo (isset($arrayVerif['form_job']) && $arrayVerif['form_job'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur poste' %} :
</label>
</td>
<td class="form_input">
<input id="form_job" autocomplete="off" type="text" value="<?php echo $parm["form_job"] ?>" class="input_element" name="form_job">
</td>
<td class="form_alert">
<?php echo isset($needed['form_job']) ? $needed['form_job'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_activity">
<?php echo (isset($arrayVerif['form_activity']) && $arrayVerif['form_activity'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur activite' %} :
</label>
</td>
<td class="form_input">
<input id="form_activity" autocomplete="off" type="text" value="<?php echo $parm["form_activity"] ?>" class="input_element" name="form_activity">
</td>
<td class="form_alert">
<?php echo isset($needed['form_activity']) ? $needed['form_activity'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_phone">
<?php echo (isset($arrayVerif['form_phone']) && $arrayVerif['form_phone'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur telephone' %} :
</label>
</td>
<td class="form_input">
<input id="form_phone" autocomplete="off" type="text" value="<?php echo $parm["form_phone"] ?>" class="input_element" name="form_phone">
</td>
<td class="form_alert">
<?php echo isset($needed['form_phone']) ? $needed['form_phone'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_fax">
<?php echo (isset($arrayVerif['form_fax']) && $arrayVerif['form_fax'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur fax' %} :
</label>
</td>
<td class="form_input">
<input id="form_fax" autocomplete="off" type="text" value="<?php echo $parm["form_fax"] ?>" class="input_element" name="form_fax">
</td>
<td class="form_alert">
<?php echo isset($needed['form_fax']) ? $needed['form_fax'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_company">
<?php echo (isset($arrayVerif['form_company']) && $arrayVerif['form_company'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur societe' %} :
</label>
</td>
<td class="form_input">
<input id="form_company" autocomplete="off" type="text" value="<?php echo $parm["form_company"] ?>" class="input_element" name="form_company">
</td>
<td class="form_alert">
<?php echo isset($needed['form_company']) ? $needed['form_company'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_address">
<?php echo (isset($arrayVerif['form_address']) && $arrayVerif['form_address'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur adresse' %} :
</label>
</td>
<td class="form_input">
<input id="form_address" autocomplete="off" type="text" value="<?php echo $parm["form_address"] ?>" class="input_element" name="form_address">
</td>
<td class="form_alert">
<?php echo isset($needed['form_address']) ? $needed['form_address'] : '' ?>
</td>
</tr>
<tr>
<td class="form_label">
<label for="form_zip">
<?php echo (isset($arrayVerif['form_zip']) && $arrayVerif['form_zip'] === true) ? '<span class="requiredField">*</span>' : '' ?> {% trans 'admin::compte-utilisateur code postal' %} :
</label>
</td>
<td class="form_input">
<input id="form_zip" autocomplete="off" type="text" value="<?php echo $parm["form_zip"] ?>" class="input_element" name="form_zip">
</td>
<td class="form_alert">
<?php echo isset($needed['form_zip']) ? $needed['form_zip'] : '' ?>
</td>
</tr>
<tr>
<td colspan="3">
<hr/>
</td>
</tr>
</table>
<?php
if ($registry->get('GV_autoselectDB')) {
?>
<div style="display:none;">
<?php
}
?>
<div style="width:600px;height:20px;text-align:center;margin:0 auto;">{% trans 'admin::compte-utilisateur actuellement, acces aux bases suivantes : ' %}</div>
<div class="requiredField" style="width:600px;height:20px;text-align:center;margin:0 auto;"><?php echo isset($needed['demand']) ? 'Vous n\'avez selectionne aucune base' : '' ?></div>
<div style="width:600px;center;margin:0 5px;">
<?php
$demandes = null;
if (is_array($parm['demand']))
foreach ($parm['demand'] as $id)
$demandes[$id] = true;
echo giveInscript($lng, $demandes);
?>
</div>
<?php
if ($registry->get('GV_autoselectDB')) {
?>
</div>
<?php
}
?>
<input type="hidden" value="<?php echo $lng ?>" name="lng">
<div style="margin:10px 0;text-align:center;"><input type="submit" value="{% trans 'boutton::valider' %}"/></div>
</form>
<script type="text/javascript">
$('.tab').hover(function(){
$(this).addClass('active');
}, function(){
$(this).removeClass('active');
});
</script>
{% endblock %}

View File

@@ -0,0 +1,88 @@
{% extends 'account/base.html.twig' %}
{% block title %}
{% trans 'admin::compte-utilisateur changer mon mot de passe' %}
{% endblock %}
{% block head %}
<script type="text/javascript" language="javascript" src="/include/jslibs/jquery.validate.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#mainform").validate(
{
rules: {
form_password : {
required:true
},
form_email : {
required:true,
email:true
},
form_email_confirm : {
required:true,
equalTo:'#form_email'
}
},
messages: {
form_password : {
required : "{% trans 'forms::ce champ est requis' %}"
},
form_email : {
required : "{% trans 'forms::ce champ est requis' %}",
email:"{% trans 'forms::l\'email semble invalide' %}"
},
form_email_confirm : {
required : "{% trans 'forms::ce champ est requis' %}",
equalTo : "{% trans 'forms::les emails ne correspondent pas' %}"
}
},
errorPlacement: function(error, element) {
error.prependTo( element.parent().next() );
}
});
});
</script>
{% endblock %}
{% block content %}
<form method="POST" action="/account/reset-email/" id="mainform" class="form-horizontal">
<div class="control-group">
<label class="form_label control-label" for="form_login">{% trans 'admin::compte-utilisateur identifiant' %}</label>
<div class="controls">
<p>{{ user.get_login() }}</p>
<p class="form_alert help-block"></p>
</div>
</div>
<div class="control-group">
<label class="form_label control-label" for="form_password">{% trans 'admin::compte-utilisateur mot de passe' %}</label>
<div class="controls">
<input type="password" id="form_password" name="form_password" autocomplete="off" />
{#<p class="form_alert help-block"><?php echo isset($needed['form_password']) ? $needed['form_password'] : '' ?></p>#}
</div>
</div>
<div class="control-group">
<label class="form_label control-label" for="form_email">{% trans 'admin::compte-utilisateur nouvelle adresse email' %}</label>
<div class="controls">
<input type="text" id="form_email" name="form_email" />
{#<p class="form_alert help-block"><?php echo isset($needed['form_email']) ? $needed['form_email'] : '' ?></p>#}
</div>
</div>
<div class="control-group">
<label class="form_label control-label" for="form_email_confirm">{% trans 'admin::compte-utilisateur confirmer la nouvelle adresse email' %}</label>
<div class="controls">
<input type="text" id="form_email_confirm" name="form_email_confirm" autocomplete="off" />
{#<p class="form_alert help-block"><?php echo isset($needed['form_email_confirm']) ? $needed['form_email_confirm'] : '' ?></p>#}
</div>
</div>
<div class="form-actions" style="background-color: transparent;">
<input type="submit" class="btn" value="{% trans 'boutton::valider' %}" style="margin: 20px auto;" />
<input type="button" class="btn" value="{% trans 'boutton::annuler' %}" onclick="self.location.replace('/account/');" />
</div>
</form>
<p>
{% trans 'admin::compte-utilisateur: Pourquoi me demande-t-on mon mot de passe pour changer mon adresse email ?'%}
<br />
{% trans 'admin::compte-utilisateur: Votre adresse e-mail sera utilisee lors de la perte de votre mot de passe afin de pouvoir le reinitialiser, il est important que vous soyez la seule personne a pouvoir la changer.'%}
</p>
{% endblock %}

View File

@@ -0,0 +1,122 @@
{% extends 'account/base.html.twig' %}
{% block title %}
{% trans 'admin::compte-utilisateur changer mon mot de passe' %}
{% endblock %}
{% block head %}
<script type="text/javascript">
$(document).ready(function() {
$.validator.passwordRating.messages = {
"similar-to-username": "{% trans 'forms::le mot de passe est trop similaire a l\'identifiant' %}",
"too-short": "{% trans 'forms::la valeur donnee est trop courte' %}",
"very-weak": "{% trans 'forms::le mot de passe est trop simple' %}",
"weak": "{% trans 'forms::le mot de passe est simple' %}",
"good": "{% trans 'forms::le mot de passe est bon' %}",
"strong": "{% trans 'forms::le mot de passe est tres bon' %}"
}
$("#mainform").validate(
{
rules: {
form_old_password : {
required:true
},
form_password : {
password:'#form_login'
},
form_password_confirm : {
required:true,
equalTo:'#form_password'
}
},
messages: {
form_old_password : {
required : "<?php echo str_replace('"', '\"', {% trans 'forms::ce champ est requis' %}) ?>"
},
form_password : {
required : "<?php echo str_replace('"', '\"', {% trans 'forms::ce champ est requis' %}) ?>"
},
form_password_confirm : {
required : "<?php echo str_replace('"', '\"', {% trans 'forms::ce champ est requis' %}) ?>",
equalTo : "<?php echo str_replace('"', '\"', {% trans 'forms::les mots de passe ne correspondent pas' %}) ?>"
}
},
errorPlacement: function(error, element) {
error.prependTo( element.parent().next() );
}
}
);
$("#form_password").valid();
});
</script>
{% endblock %}
{% block content %}
<form method="post" action="/login/reset-password.php" id="mainform" class="form-horizontal">
<div class="control-group">
<label class="form_label control-label" for="form_login">{% trans 'admin::compte-utilisateur identifiant' %}</label>
<div class="controls">
<p>{{ user.get_login() }}</p>
<p class="form_alert help-block"></p>
</div>
</div>
<div class="control-group">
<label class="form_label control-label" for="form_old_password">{% trans 'admin::compte-utilisateur ancien mot de passe' %}</label>
<div class="controls">
<input type="password" id="form_old_password" name="form_old_password" autocomplete="off" />
{#<p class="form_alert help-block"><?php echo isset($needed['form_old_password']) ? $needed['form_old_password'] : '' ?></p>#}
</div>
</div>
<div class="control-group">
<label class="form_label control-label" for="form_password">
{% trans 'admin::compte-utilisateur nouveau mot de passe' %}<br />
<span style="font-size: 10px;">{% trans '8 caracteres minimum' %}</span>
</label>
<div class="controls">
<input type="hidden" id="form_login" value="{{ user.get_login() }}" autocomplete="off" />
<input type="password" id="form_password" name="form_password" />
{#<p class="form_alert help-block">
<?php echo isset($needed['form_password']) ? $needed['form_password'] : '' ?>
<div class="password-meter">
<p class="password-meter-message">&nbsp;</p>
<div class="password-meter-bg">
<div class="password-meter-bar"></div>
</div>
</div>
</p>#}
</div>
</div>
<div class="control-group">
<label class="form_label control-label" for="form_password_confirm">{% trans 'admin::compte-utilisateur confirmer le mot de passe' %}</label>
<div class="controls">
<input type="password" id="form_password_confirm" name="form_password_confirm" autocomplete="off" />
{#<p class="form_alert help-block"><?php echo isset($needed['form_password_confirm']) ? $needed['form_password_confirm'] : '' ?></p>#}
</div>
</div>
<div class="form-actions" style="background-color: transparent;">
<input type="submit" class="btn" value="{% trans 'boutton::valider' %}" style="margin: 20px auto;" />
<input type="button" class="btn" value="{% trans 'boutton::annuler' %}" onclick="self.location.replace('/account/');" />
</div>
</form>
<div>
<p style="text-align: center; font-weight: bold; font-size: 13px; margin: 40px 0 0;">
{% trans 'admin::compte-utilisateur A propos de la securite des mots de passe :' %}
</p>
<p style="text-align: center; margin: 20px 0 0;">
{% trans 'admin::compte-utilisateur Les mots de passe doivent etre clairement distincts du login et contenir au moins deux types parmis les caracteres suivants :' %}
</p>
<div style="text-align: left; margin: 10px auto; width: 300px;">
<ul>
<li>{% trans 'admin::compte-utilisateur::securite caracteres speciaux' %}</li>
<li>{% trans 'admin::compte-utilisateur::securite caracteres majuscules' %}</li>
<li>{% trans 'admin::compte-utilisateur::securite caracteres minuscules' %}</li>
<li>{% trans 'admin::compte-utilisateur::securite caracteres numeriques' %}</li>
</ul>
</div>
</div>
{% endblock %}

View File

@@ -1,15 +1,12 @@
{% extends 'account/base.html.twig' %}
{% block title %}
{% trans 'Mes sessions' %}
{% endblock %}
{% block content %}
<div>
<table style="width: 80%; margin: 0 auto;">
<thead>
<tr>
<th colspan="7" style="text-align: left;">
{% trans 'Mes sessions' %}
</th>
</tr>
</thead>
<tbody>
<tr>
<td>