mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 02:13:15 +00:00
Add templates
This commit is contained in:
committed by
Romain Neutron
parent
eb37ebc26c
commit
4662223346
25
templates/web/login/cgus.html.twig
Normal file
25
templates/web/login/cgus.html.twig
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{% extends "login/layout/content-only-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="text-title">
|
||||||
|
Condition Générale d'Utilisation de la Base Beta Version 3.0
|
||||||
|
</div>
|
||||||
|
<div class="cgu-content">
|
||||||
|
<p>
|
||||||
|
Nulla pharetra vestibulum mollis. Donec auctor ultricies libero sit amet tempus. Quisque vulputate, metus non lacinia euismod, justo ipsum accumsan metus, id volutpat quam ante varius massa. In interdum sapien nec dolor tincidunt pulvinar. Nulla mattis, purus a pharetra sollicitudin, massa elit fringilla libero, non blandit velit diam vel sapien. Mauris consectetur, orci elementum tincidunt hendrerit, lorem tortor blandit arcu, ac elementum risus turpis a nisl. Donec at laoreet nisl.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Sed tortor lorem, semper eget volutpat id, placerat vel nibh. Quisque ornare, libero quis sagittis dictum, nunc leo scelerisque nisi, eu facilisis nisi sapien ac nisl. Vestibulum feugiat vestibulum orci, nec pharetra quam placerat nec. Vestibulum condimentum rhoncus scelerisque. Duis quis ipsum nec orci pellentesque luctus id quis ipsum. Curabitur placerat, neque non viverra sagittis, nisl orci pharetra lectus, ut sodales massa eros a orci. Quisque ac felis risus, hendrerit laoreet augue. Donec ac ante ipsum, ac placerat elit. Duis volutpat, turpis ut imperdiet ultrices, mauris nisi dignissim eros, a venenatis lacus elit id dui.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Sed at enim et felis dapibus rhoncus. Quisque bibendum diam at ipsum tempor blandit. Proin ut urna purus, faucibus aliquet lorem. Phasellus eu eros fermentum nunc gravida tincidunt. Nulla ac diam risus. Nulla ac lectus justo, ac sodales orci. Suspendisse volutpat neque sed sapien tempor quis lacinia magna rhoncus. Aliquam erat volutpat. Suspendisse bibendum lacinia euismod. Nulla sit amet scelerisque neque. Sed nec nunc ac leo pellentesque tempus non at urna.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<a href="{{ path("homepage") }}" class="btn btn-success ">
|
||||||
|
<i class="icon-arrow-left icon-white"></i> {% trans "Return to login page" %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
98
templates/web/login/change-password.html.twig
Normal file
98
templates/web/login/change-password.html.twig
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
|
{% block sidebar %}
|
||||||
|
<div class="well-large sidebar-block last-item">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 authentication-sidebar-title">
|
||||||
|
<div class="text-title">{% trans "Choose a new password" %}</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12" ng-controller="passwordChangeFormCtrl">
|
||||||
|
<form novalidate name="passwordChangeForm" ng-submit="submit();">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<label for="login-password">
|
||||||
|
{% trans "Password" %}*
|
||||||
|
</label>
|
||||||
|
<table class="input-table" ng-class="getInputClass('password')">
|
||||||
|
<tr>
|
||||||
|
<td class="icon"><i class="icon-lock icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="login-password"
|
||||||
|
name="password"
|
||||||
|
value=""
|
||||||
|
class="input-block-level"
|
||||||
|
type="password"
|
||||||
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="password"
|
||||||
|
force-model-update
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="!passwordChangeForm.password.errors.filled">
|
||||||
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
|
</div>
|
||||||
|
{#{% verbatim %}
|
||||||
|
<tt>passwordChangeForm.password.$valid = {{passwordChangeForm.password.$valid}}</tt><br>
|
||||||
|
<tt>passwordChangeForm.password.$error = {{passwordChangeForm.password.$error}}</tt><br>
|
||||||
|
<tt>passwordChangeForm.$valid = {{passwordChangeForm.$valid}}</tt><br>
|
||||||
|
<tt>passwordChangeForm.password.errors.filled = {{passwordChangeForm.password.errors.filled}}</tt><br>
|
||||||
|
{% endverbatim %}#}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<label for="login-password-confirm">
|
||||||
|
{% trans "Confirm your password" %}*
|
||||||
|
</label>
|
||||||
|
<table class="input-table" ng-class="getInputClass('passwordConfirm')">
|
||||||
|
<tr>
|
||||||
|
<td class="icon"><i class="icon-lock icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="login-password-confirm"
|
||||||
|
name="passwordConfirm"
|
||||||
|
value=""
|
||||||
|
class="input-block-level"
|
||||||
|
type="password"
|
||||||
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="passwordConfirm"
|
||||||
|
force-model-update
|
||||||
|
ui-validate=" '$value==password' "
|
||||||
|
ui-validate-watch=" 'password' "
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="passwordChangeForm.passwordConfirm.$error.validator">
|
||||||
|
{{ auth_macro.fieldError("Passwords do not match!") }}
|
||||||
|
</div>
|
||||||
|
{#{% verbatim %}
|
||||||
|
<tt>passwordChangeForm.passwordConfirm.$valid = {{passwordChangeForm.passwordConfirm.$valid}}</tt><br>
|
||||||
|
<tt>passwordChangeForm.passwordConfirm.$error = {{passwordChangeForm.passwordConfirm.$error}}</tt><br>
|
||||||
|
<tt>passwordChangeForm.$valid = {{passwordChangeForm.$valid}}</tt><br>
|
||||||
|
<tt>passwordChangeForm.passwordConfirm.errors.filled = {{passwordChangeForm.passwordConfirm.errors.filled}}</tt><br>
|
||||||
|
<tt>passwordChangeForm.passwordConfirm.$error.validator = {{passwordChangeForm.passwordConfirm.$error.validator}}</tt><br>
|
||||||
|
{% endverbatim %}#}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<button type="submit" class="btn btn-success btn-trigger ">{% trans "Validate" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
11
templates/web/login/common/form_div_layout.html.twig
Normal file
11
templates/web/login/common/form_div_layout.html.twig
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{% extends "form_div_layout.html.twig" %}
|
||||||
|
|
||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
|
{% block form_errors %}
|
||||||
|
{% spaceless %}
|
||||||
|
{% if errors|length > 0 %}
|
||||||
|
{{ auth_macro.fieldError(errors) }}
|
||||||
|
{% endif %}
|
||||||
|
{% endspaceless %}
|
||||||
|
{% endblock form_errors %}
|
||||||
11
templates/web/login/common/language-block.html.twig
Normal file
11
templates/web/login/common/language-block.html.twig
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<div id="authentication-sidebar-language" class="text-right well-small">
|
||||||
|
<span class="language"><b>{% trans "language" %}</b></span>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button class="btn btn-mini btn-flat dropdown-toggle" data-toggle="dropdown">{% trans "English" %}<span class="caret"></span></button>
|
||||||
|
<ul class="dropdown-menu pull-right">
|
||||||
|
<li><a href="#">{% trans "French" %}</a></li>
|
||||||
|
<li><a href="#">{% trans "German" %}</a></li>
|
||||||
|
<li><a href="#">{% trans "Dutch" %}</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
124
templates/web/login/common/macros.html.twig
Normal file
124
templates/web/login/common/macros.html.twig
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
{% macro fieldInput(id, label, name, value, type, required, icon, placeholder, state, size) %}
|
||||||
|
{% if label is not none and label is not empty %}
|
||||||
|
<label for="{{ id }}">{{ label|trans }}</label>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<table class="input-table input-table-{{ state|default("") }}">
|
||||||
|
<tr>
|
||||||
|
<td class="icon"><i class="{{icon|default("icon-angle-right")}} icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="{{ id }}"
|
||||||
|
name="{{ name }}"
|
||||||
|
value="{{ value|e }}"
|
||||||
|
class="input-block-level"
|
||||||
|
type="{{ type|default("text") }}"
|
||||||
|
placeholder="{{ placeholder|default("") }}"
|
||||||
|
{% if required %}required{% endif %}
|
||||||
|
{% if type == "email" %}ng-model="login.email"{% endif %}
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro checkboxInput (id, label, name, checked) %}
|
||||||
|
<div class="hidden-phone control-group">
|
||||||
|
<div class="controls">
|
||||||
|
<label for="{{ id }}" class="checkbox">
|
||||||
|
<input id="{{ id }}" name="{{ name }}" type="checkbox" {% if checked|default(null) %}checked{% endif %}> {{ label }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="visible-phone switch-control">
|
||||||
|
<ul class="unstyle inline">
|
||||||
|
<li>
|
||||||
|
<div class="switch switch-small">
|
||||||
|
<input id="{{ id }}" name="{{ name }}" type="checkbox" {% if checked|default(null) %}checked{% endif %}>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li> {{ label }} </li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro providerList() %}
|
||||||
|
<ul class="unstyled inline provider-list">
|
||||||
|
<li><a href="#"><img src="/skins/login/img/facebook.png" /></a></li>
|
||||||
|
<li><a href="#"><img src="/skins/login/img/twitter.png" /></a></li>
|
||||||
|
<li><a href="#"><img src="/skins/login/img/google.png" /></a></li>
|
||||||
|
<li><a href="#"><img src="/skins/login/img/linkedin.png" /></a></li>
|
||||||
|
</ul>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro fieldError(errors) %}
|
||||||
|
<div class="hidden-phone popover bottom field-error">
|
||||||
|
<div class="arrow"></div>
|
||||||
|
<div class="popover-content">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width:35px;"><i class="icon-warning-sign icon-white"></i></td>
|
||||||
|
{% if errors|keys|length >= 1 %}
|
||||||
|
{% for error in errors if error.messagePluralization is defined %}
|
||||||
|
<td>
|
||||||
|
{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}
|
||||||
|
</td>
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
<td>{{ errors|trans }}</td>
|
||||||
|
{% endif %}
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="visible-phone text-error help-block help-block-error">
|
||||||
|
{% if errors|keys|length >= 1 %}
|
||||||
|
{% for error in errors if error.messagePluralization is defined %}
|
||||||
|
{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
{{ errors|trans }}
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro providerBadge(provider, img_url, full_name, email) %}
|
||||||
|
<div class="{{ provider }} no-overflow provider-badge rounded">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width:55px;">
|
||||||
|
<img src="{{ img_url }}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ul class="unstyled">
|
||||||
|
<li class="pseudo one-line"><b>{{ full_name }}</b></li>
|
||||||
|
<li class="email one-line">{{ email }}</li>
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro phraseanetBadge(full_name, email, company) %}
|
||||||
|
<div class="authentication-user-pres-phraseanet well">
|
||||||
|
<ul class="unstyled">
|
||||||
|
<li class="one-line"><i class="icon-user"></i>{{ full_name }}</li>
|
||||||
|
<li class="one-line"><i class="icon-envelope"></i>{{ email }}</li>
|
||||||
|
<li class="one-line"><i class="icon-briefcase"></i>{{ company }}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro alert() %}
|
||||||
|
{% for type, messages in app['session'].getFlashBag().all() %}
|
||||||
|
{% for message in messages %}
|
||||||
|
<alert type="{{ type }}">{{ message|trans }}</alert>
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if app.request.query.get("notice") is not none %}
|
||||||
|
<alert type="warning">{{ app.request.query.get("notice") }}</alert>
|
||||||
|
{% endif %}
|
||||||
|
{% endmacro %}
|
||||||
9
templates/web/login/common/main-content.html.twig
Normal file
9
templates/web/login/common/main-content.html.twig
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
|
{% set text %}
|
||||||
|
Best check yo self, you're not looking too good. Best check yo self, you're not looking too good. Best check yo self, you're not looking too good.
|
||||||
|
{% endset %}
|
||||||
|
|
||||||
|
<alert type="success">{{ text }}</alert>
|
||||||
|
<alert type="info">{{ text }}</alert>
|
||||||
|
<alert type="error">{{ text }}</alert>
|
||||||
@@ -1,153 +1,66 @@
|
|||||||
{% extends 'account/base.html.twig' %}
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
{% block title %}
|
{% block sidebar %}
|
||||||
{% trans 'admin::compte-utilisateur changer mon mot de passe' %}
|
<div class="well-large sidebar-block last-item">
|
||||||
{% endblock %}
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
{% block head %}
|
<div class="text-title">{% trans "Forgot your password?" %}</div>
|
||||||
|
<div class="sidebar-hint">
|
||||||
<script type="text/javascript" language="javascript" src="/include/minify/?f=include/jslibs/jquery.validate.js,include/jslibs/jquery.validate.password.js"></script>
|
{% trans "Enter your e-mail address to retrieve your password" %}
|
||||||
|
</div>
|
||||||
<script type="text/javascript" >
|
|
||||||
{% 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' %}",
|
|
||||||
"very-weak": "{% trans 'forms::le mot de passe est trop simple' %}",
|
|
||||||
"weak": "{% trans 'forms::le mot de passe est trop simple' %}",
|
|
||||||
"good": "{% trans 'forms::le mot de passe est bon' %}",
|
|
||||||
"strong": "{% trans 'forms::le mot de passe est tres bon' %}"
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#password-reset").validate(
|
|
||||||
{
|
|
||||||
rules: {
|
|
||||||
form_password_confirm: {
|
|
||||||
required:true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
messages: {
|
|
||||||
form_password_confirm : {
|
|
||||||
equalTo:'{% trans 'forms::les mots de passe ne correspondent pas' %}'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
errorPlacement: function(error, element) {
|
|
||||||
error.prependTo( element.parent().parent().next().find('.form_alert') );
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#form_password').rules("add",{
|
|
||||||
password: "#form_login"
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#form_password_confirm').rules("add",{
|
|
||||||
equalTo: "#form_password"
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#form_password").valid();
|
|
||||||
});
|
|
||||||
{% endif %}
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block menu %}
|
|
||||||
|
|
||||||
{% 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/>
|
|
||||||
{% trans 'Cette tache ne pouvant etre automatisee, merci de bien vouloir la realiser.' %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<form name="send" action="/login/forgot-password/" method="POST" id="password-reset" style="width: 600px; margin: 0 auto;">
|
|
||||||
<table cellspacing="0" cellpadding="0" border="0">
|
|
||||||
<tr style="height: 30px;">
|
|
||||||
<td style="width: 33%;"><label for="form_password">{% trans 'admin::compte-utilisateur nouveau mot de passe' %} :</label></td>
|
|
||||||
<td style="width: 33%;">
|
|
||||||
<div class="form_input">
|
|
||||||
<input autocomplete="off" type="password" value="" id="form_password" name="form_password"/>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td style="width: 33%;">
|
|
||||||
<div class="form_alert">
|
|
||||||
{% if passwordMsg is not none %}
|
|
||||||
{{ passwordMsg }}
|
|
||||||
{% endif %}
|
|
||||||
<div class="password-meter">
|
|
||||||
<div class="password-meter-message"> </div>
|
|
||||||
<div class="password-meter-bg">
|
|
||||||
<div class="password-meter-bar"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr style="height: 30px;">
|
|
||||||
<td>
|
|
||||||
<label for="form_password" >{% trans 'admin::compte-utilisateur confirmer le mot de passe' %} :</label></td>
|
|
||||||
<td>
|
|
||||||
<div class="form_input">
|
|
||||||
<input autocomplete="off" type="password" value="" id="form_password_confirm" name="form_password_confirm"/>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="form_alert">
|
|
||||||
{% if passwordMsg is not none %}
|
|
||||||
{{ passwordMsg }}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr style="height: 30px;">
|
|
||||||
<td></td>
|
|
||||||
<td>
|
|
||||||
<input type="hidden" value="{{ app['request'].get('token') }}" name="token"/>
|
|
||||||
<input type="submit" value="valider"/>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<a class="link" href="{{ app.url_generator.generate('homepage') }}" target="_self">{% trans 'login:: Retour a l\'accueil' %}</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if not tokenize %}
|
|
||||||
<form name="send" action="/login/forgot-password/" method="POST" style="width: 600px; margin: 0 auto;">
|
|
||||||
{% if errorMsg is not none %}
|
|
||||||
<div class="alert alert-error">
|
|
||||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
|
||||||
{{ errorMsg }}
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
</div><!-- /row -->
|
||||||
|
<div class="row-fluid">
|
||||||
{% if sentMsg is not none %}
|
<div class="span12" ng-controller="forgottenPasswordFormCtrl">
|
||||||
<div style="background:#00a8FF;">{{ sentMsg }}</div>
|
<form novalidate name="forgottenPasswordForm" ng-submit="submit();">
|
||||||
{% endif %}
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
<div style="margin-top: 20px; font-size: 16px; font-weight: bold;">
|
<div class="span12">
|
||||||
{% trans 'login:: Forgot your password' %}
|
<label for="login-email">
|
||||||
</div>
|
{% trans "E-mail" %}*
|
||||||
<div style="margin-top: 20px;">
|
</label>
|
||||||
{% trans 'login:: Entrez votre adresse email' %}
|
<table class="input-table" ng-class="getInputClass('email')">
|
||||||
</div>
|
<tr>
|
||||||
<div style="margin-top: 20px;">
|
<td class="icon"><i class="icon-envelope icon-white"></i></td>
|
||||||
<input name="mail" type="text" style="width:100%">
|
<td>
|
||||||
</div>
|
<input
|
||||||
<div style="margin-top: 10px;">
|
id="login-email"
|
||||||
<input type="submit" value="{% trans 'boutton::valider' %}"/>
|
name="email"
|
||||||
<a style="margin-left: 120px;" class="link" href="{{ app.url_generator.generate('homepage') }}" target="_self">{% trans 'login:: Retour a l\'accueil' %}</a>
|
value=""
|
||||||
</div>
|
class="input-block-level"
|
||||||
</form>
|
type="email"
|
||||||
{% endif %}
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="email"
|
||||||
|
force-model-update
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="!forgottenPasswordForm.email.errors.filled">
|
||||||
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
|
</div>
|
||||||
|
<div ng-show="forgottenPasswordForm.email.errors.filled && !forgottenPasswordForm.email.errors.valid">
|
||||||
|
{{ auth_macro.fieldError("Thes field is not valid") }}
|
||||||
|
</div>
|
||||||
|
{#{% verbatim %}
|
||||||
|
<tt>forgottenPasswordForm.email.$valid = {{forgottenPasswordForm.email.$valid}}</tt><br>
|
||||||
|
<tt>forgottenPasswordForm.email.$error = {{forgottenPasswordForm.email.$error}}</tt><br>
|
||||||
|
<tt>forgottenPasswordForm.$valid = {{forgottenPasswordForm.$valid}}</tt><br>
|
||||||
|
<tt>forgottenPasswordForm.email.errors.filled = {{forgottenPasswordForm.email.errors.filled}}</tt><br>
|
||||||
|
<tt>forgottenPasswordForm.email.errors.valid = {{forgottenPasswordForm.email.errors.valid}}</tt><br>
|
||||||
|
{% endverbatim %}#}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<button id="submit-form-login" type="submit" class="btn span12 btn-success btn-trigger">{% trans "Send" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><!-- /row -->
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
<title>{{module_name}}</title>
|
|
||||||
<meta content="{{ app['phraseanet.registry'].get('GV_metaDescription') }}" name="description"/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
|
||||||
<meta content="{{ app['phraseanet.registry'].get('GV_metaKeywords') }}" name="keywords"/>
|
|
||||||
<meta content="phraseanet" name="generator"/>
|
|
||||||
|
|
||||||
{% for feed in feeds %}
|
|
||||||
{% set link = feed.get_homepage_link(app['phraseanet.registry'], 'rss') %}
|
|
||||||
<link rel="alternate" type="{{ link.get_mimetype() }}" title="{{ link.get_title() }}" href="{{ link.get_href() }}" />
|
|
||||||
{% set link = feed.get_homepage_link(app['phraseanet.registry'], 'atom') %}
|
|
||||||
<link rel="alternate" type="{{ link.get_mimetype() }}" title="{{ link.get_title() }}" href="{{ link.get_href() }}" />
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="/include/minify/?f=skins/login/home.css,skins/login/css/main.css" />
|
|
||||||
<script type="text/javascript" language="javascript" src="/include/minify/?f=include/jslibs/jquery-1.7.1.js,include/jslibs/jquery.cookie.js,include/login/home.js"></script>
|
|
||||||
@@ -1,184 +1,130 @@
|
|||||||
<html lang="{{app['locale.I18n']}}">
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
<head>
|
|
||||||
{% include 'login/head.html.twig' %}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div style="display:none;">{{ app['phraseanet.registry'].get('GV_metaDescription') }}</div>
|
|
||||||
<noscript>
|
|
||||||
<div style="width:100%;height:40px;background:#00a8FF;font-size:14px;font-weight:bold;text-align:center;">
|
|
||||||
{% trans 'phraseanet::noscript' %}
|
|
||||||
</div>
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
{% if app['browser'].isOldBrowser %}
|
{% import "common/macros.html.twig" as macro %}
|
||||||
<div id="wrongBrowser" style="display:none;text-align:center;width:100%;background:#00a8FF;font-size:14px;font-weight:bold;">
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
<div>
|
|
||||||
{% trans 'phraseanet::browser not compliant' %}<br/>{% trans 'phraseanet::recommend browser' %}
|
{% block sidebar %}
|
||||||
</div>
|
<div class="well-large sidebar-block">
|
||||||
<div style="height:30px;text-align:center;margin-top:15px;width:950px;margin-right:auto;margin-left:auto;">
|
<div class="row-fluid">
|
||||||
{% if app['browser'].getPlatform == 'Windows' %}
|
<div class="span12 authentication-sidebar-title">
|
||||||
<span style="margin:0 10px;padding:0;white-space:nowrap;height:25px;">
|
<div class="text-title">{% trans "Connexion" %}</div>
|
||||||
<img style="vertical-align:middle;" src="/skins/login/img/firefox.png"/>
|
|
||||||
<a href="http://www.mozilla.com/firefox/" target="_blank">Mozilla Firefox</a></span>
|
|
||||||
<span style="margin:0 10px;padding:0;white-space:nowrap;height:25px;">
|
|
||||||
<img style="vertical-align:middle;" src="/skins/login/img/safari.png"/>
|
|
||||||
<a href="http://www.apple.com/safari/" target="_blank">Apple Safari</a></span>
|
|
||||||
<span style="margin:0 10px;padding:0;white-space:nowrap;height:25px;">
|
|
||||||
<img style="vertical-align:middle;" src="/skins/login/img/chrome.png"/>
|
|
||||||
<a href="http://www.google.com/chrome/" target="_blank">Google Chrome</a></span>
|
|
||||||
{% elseif app['browser'].getPlatform == 'Apple' %}
|
|
||||||
<span style="margin:0 10px;padding:0;white-space:nowrap;height:25px;">
|
|
||||||
<img style="vertical-align:middle;" src="/skins/login/img/firefox.png"/>
|
|
||||||
<a href="http://www.mozilla.com/firefox/" target="_blank">Mozilla Firefox</a></span>
|
|
||||||
<span style="margin:0 10px;padding:0;white-space:nowrap;height:25px;">
|
|
||||||
<img style="vertical-align:middle;" src="/skins/login/img/safari.png"/>
|
|
||||||
<a href="http://www.apple.com/safari/" target="_blank">Apple Safari</a></span>
|
|
||||||
<span style="margin:0 10px;padding:0;white-space:nowrap;height:25px;">
|
|
||||||
<img style="vertical-align:middle;" src="/skins/login/img/opera.png"/>
|
|
||||||
<a href="http://www.opera.com/download/" target="_blank">Opera</a></span>
|
|
||||||
{% else %}
|
|
||||||
<span style="margin:0 10px;padding:0;white-space:nowrap;height:25px;">
|
|
||||||
<img style="vertical-align:middle;" src="/skins/login/img/firefox.png"/>
|
|
||||||
<a href="http://www.mozilla.com/firefox/" target="_blank">Mozilla Firefox</a></span>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% if app['phraseanet.registry'].get('GV_display_gcf', 1) and app['request'].cookies.get('gfc_box') == false %}
|
|
||||||
<!--[if IE]>
|
|
||||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js"></script>
|
|
||||||
<link href="https://www.google.com/css/modules/buttons/g-button.css" type="text/css" rel="stylesheet">
|
|
||||||
<style type="text/css">
|
|
||||||
#gfc_prompt{
|
|
||||||
width: 950px;
|
|
||||||
margin: 0pt auto;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div id="gfc_prompt" style="color:black;height:120px;position:relative;background-color:white;display:none;">
|
|
||||||
<div class="g-button" style="float:right;margin:15px;">
|
|
||||||
<div>
|
|
||||||
<span>
|
|
||||||
<span>
|
|
||||||
<a target="_blank" href="https://www.google.com/chromeframe/eula.html">Get Google Chrome Frame (Beta)</a>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="float:right;margin:15px;width:550px;">
|
|
||||||
<p>{% trans 'Phraseanet recommande l\'utilisation de Google Chrome Frame pour Internet Explorer' %}</p>
|
|
||||||
<p>{% trans 'C\'est gratuit et s\'installe en quelques secondes. Pour Internet Explorer 6, 7, et 8 sur Windows 7 / Vista / XP SP2.' %}</p>
|
|
||||||
<input type="checkbox" onclick="toggle_cookie_gcf(this);" id="gfc_box_toggle"/>
|
|
||||||
<label for="gfc_box_toggle">{% trans 'Ne plus afficher ce message' %}</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
function gcf_install()
|
<div class="row-fluid">
|
||||||
{
|
<div class="span12" ng-controller="LoginFormController">
|
||||||
$('#gfc_prompt').show();
|
{{ auth_macro.alert() }}
|
||||||
}
|
<form novalidate name="loginForm" ng-submit="submit();">
|
||||||
function toggle_cookie_gcf(el)
|
<div class="row-fluid">
|
||||||
{
|
<div class="span12">
|
||||||
if($(el).attr('checked'))
|
{# todo bind with form macro using div_form_layout #}
|
||||||
{
|
<table class="input-table" ng-class="getInputClass('email')">
|
||||||
var date = new Date();
|
<tr>
|
||||||
date.setMonth(date.getYear() + 4);
|
<td class="icon"><i class="icon-envelope-alt icon-white"></i></td>
|
||||||
}
|
<td>
|
||||||
else
|
<input
|
||||||
{
|
id="login-email"
|
||||||
var date = new Date();
|
name="email"
|
||||||
date.setMonth(date.getMonth() - 2);
|
value=""
|
||||||
}
|
class="input-block-level"
|
||||||
$.cookie('gfc_box', 'true', { path: '/', expires: date });
|
type="email"
|
||||||
}
|
placeholder=""
|
||||||
$(document).ready(function(){
|
required
|
||||||
CFInstall.check({
|
ng-model="email"
|
||||||
preventPrompt:true,
|
force-model-update
|
||||||
onmissing:gcf_install
|
>
|
||||||
});
|
</td>
|
||||||
});
|
</tr>
|
||||||
</script>
|
</table>
|
||||||
<![endif]-->
|
<div ng-show="!loginForm.email.errors.filled">
|
||||||
{% endif %}
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
{% if captcha_system != '' %}
|
</div>
|
||||||
<script type="text/javascript">
|
<div ng-show="loginForm.email.errors.filled && !loginForm.email.errors.valid">
|
||||||
var RecaptchaOptions = {
|
{{ auth_macro.fieldError("This field is not valid") }}
|
||||||
theme : 'custom',
|
</div>
|
||||||
tabindex : 3,
|
</div>
|
||||||
lang : '{{app['locale']}}'
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div style="width:950px;margin:0 auto;margin-top:30px;">
|
|
||||||
<div style="height:35px;">
|
|
||||||
<table style="width:100%;">
|
|
||||||
<tr style="height:35px;">
|
|
||||||
<td style="width:500px;white-space:nowrap"><span style="font-size:28px;color:#b1b1b1;margin:0 10px 0 0">{{ app['phraseanet.registry'].get('GV_homeTitle') }}
|
|
||||||
</span><span class="title-desc">{{ app['phraseanet.registry'].get('GV_metaDescription') }}</span></td>
|
|
||||||
<td style="color:#b1b1b1;text-align:right;">
|
|
||||||
<a class="tab click" onclick="setTab('help',this);return false;">{% trans 'phraseanet:: aide' %}</a>
|
|
||||||
{% if login.register_enabled(app) %}
|
|
||||||
<a href="/login/register/" class="tab" id="register-tab">{% trans 'login:: register' %}</a>
|
|
||||||
{% endif %}
|
|
||||||
{% if login.get_cgus(app) != '' %}
|
|
||||||
<a class="tab" onclick="setTab('about',this);return false;">{% trans 'login:: CGUs' %}</a>
|
|
||||||
{% endif %}
|
|
||||||
<a class="tab" id="main-tab" onclick="setTab('main',this);return false;">{% trans 'login:: accueil' %}</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div style="height:530px;" class="tab-pane">
|
|
||||||
<div id="id-main" class="tab-content" style="display:block;">
|
|
||||||
<form name="send" action="/login/authenticate/" method="post" >
|
|
||||||
{% for provider in app['authentication.providers'] %}
|
|
||||||
<a href="{{ path('login_authentication_provider_authenticate', {'providerId' : provider.getId()}) }}">{{ provider.getId() }}</a>
|
|
||||||
{% endfor %}
|
|
||||||
{% if display_layout == 'DISPLAYx1' %}
|
|
||||||
{% include 'login/index_layout_displayx1.html.twig' %}
|
|
||||||
{% elseif display_layout == 'DISPLAYx4' %}
|
|
||||||
|
|
||||||
{% elseif display_layout == 'COOLIRIS' %}
|
|
||||||
{% include 'login/index_layout_displaycooliris.html.twig' %}
|
|
||||||
{% elseif display_layout == 'SCROLL' %}
|
|
||||||
{% include 'login/index_layout_displayscroll.html.twig' %}
|
|
||||||
{% else %}
|
|
||||||
{% include 'login/index_layout_displayx1.html.twig' %}
|
|
||||||
{% endif %}
|
|
||||||
<input type="hidden" name="redirect" value="{{redirect}}">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{% if login.get_cgus(app) != '' %}
|
|
||||||
<div id="id-about" class="tab-content" style="display:none;">
|
|
||||||
<div style="position:relative;float:left;width:930px;height:490px;overflow:auto;">
|
|
||||||
{{login.get_cgus(app)|raw}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
|
||||||
<div id="id-help" class="tab-content" style="display:none;">
|
|
||||||
</div>
|
|
||||||
<div style="position:relative;margin:18px 10px 0 10px;font-size:10px;font-weight:normal;">
|
|
||||||
<table style="border:none;width:100%" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td style="text-align:left;">
|
|
||||||
{% trans 'phraseanet:: language' %}
|
|
||||||
|
|
||||||
<select name="lng" id="lng-select" onchange="setLanguage();">
|
<div class="row-fluid">
|
||||||
{% for code, language in app.getAvailableLanguages() %}
|
<div class="span12">
|
||||||
<option value="{{ code }}" {% if code == app['locale'] %}selected="selected"{% endif %}>
|
<label for="login-password">
|
||||||
{{ language }}
|
{% trans "Password" %}*
|
||||||
</option>
|
</label>
|
||||||
{% endfor %}
|
<table class="input-table" ng-class="getInputClass('password')">
|
||||||
</select>
|
<tr>
|
||||||
|
<td class="icon"><i class="icon-lock icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="login-password"
|
||||||
|
name="password"
|
||||||
|
value=""
|
||||||
|
class="input-block-level"
|
||||||
|
type="password"
|
||||||
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="password"
|
||||||
|
force-model-update
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="!loginForm.password.errors.filled">
|
||||||
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</td>
|
<div class="text-right">
|
||||||
<td style="text-align:right;"><span> © Copyright Alchemy 2005-{{ "now"|date("Y") }}</span></td>
|
<a class="forget-password-link" href="{{ path("login_forgot_password") }}">{% trans "Forgot password?" %}</a>
|
||||||
</tr>
|
</div>
|
||||||
</table>
|
|
||||||
</div>
|
{% set recaptcha_display = true %}
|
||||||
|
{% if recaptcha_display %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{% set recaptcha = "" %}
|
||||||
|
{{ macro.captcha(recaptcha) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<button type="submit" class="btn btn-success btn-trigger">{% trans "Connexion" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.checkboxInput("remember-me","Remember me"|trans,"remember-me") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
</div><!-- /sidebar block -->
|
||||||
|
<div class="well-large sidebar-block">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{% trans "Or login with" %}
|
||||||
|
</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{{ auth_macro.providerList() }}
|
||||||
|
</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
</div><!-- /sidebar block -->
|
||||||
|
<div class="well-large sidebar-block last-item">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{% trans "No account yet?" %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% include 'common/analytics.html.twig' %}
|
<div class="row-fluid">
|
||||||
</body>
|
<div class="span12 text-center">
|
||||||
</html>
|
<a class="btn btn-success btn-trigger" href="{{ path("login_register") }}">{% trans "Register" %}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- /sidebar block -->
|
||||||
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,70 +0,0 @@
|
|||||||
<div style="height:130px;position:relative;">
|
|
||||||
<div style="height:95px;width:220px;float:right;margin:25px 10px 0;">
|
|
||||||
<div style="margin-top:0px;height:20px;">
|
|
||||||
{{login.get_register_link(app) |raw}}
|
|
||||||
{{login.get_guest_link(app) |raw}}
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;height:20px;">
|
|
||||||
<a target="_self" class="link" rel="external" href="/login/forgot-password/">
|
|
||||||
{% trans 'login:: Forgot your password' %}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;height:25px;">
|
|
||||||
<div style="float:left;text-align:left;">
|
|
||||||
<input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="5"
|
|
||||||
type="submit" value="{% trans 'login:: connexion' %}"/>
|
|
||||||
<input tabindex="4" class="checkbox" type="checkbox" name="remember" id="remember-me" value="1" />
|
|
||||||
<label for="remember-me">{% trans 'login::Remember me' %}</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{captcha_system|raw}}
|
|
||||||
<div style="height:110px;width:310px;float:right;margin:10px 20px 0 10px;">
|
|
||||||
<div>
|
|
||||||
<div class="notice notice_cookie" style="display:none;">
|
|
||||||
{% trans 'login::erreur: Les cookies sont desactives sur votre navigateur' %}
|
|
||||||
</div>
|
|
||||||
{% if logged_out == 'user' %}
|
|
||||||
<div class="notice">
|
|
||||||
{% trans 'Vous etes maintenant deconnecte. A bientot.' %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{{ warning }}{{ notice }}
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;">
|
|
||||||
<div style="margin-top:3px;">{% trans 'admin::compte-utilisateur identifiant' %}</div>
|
|
||||||
<div style="margin-top:3px;">
|
|
||||||
<input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="1" name="login"
|
|
||||||
id="login" type="text" style="width:100%" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;">
|
|
||||||
<div style="margin-top:3px;">{% trans 'admin::compte-utilisateur mot de passe' %}</div>
|
|
||||||
<div style="margin-top:3px;"><input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="2" name="pwd" id="pwd"
|
|
||||||
value="" type="password" style="width:100%" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="height:360px;margin-top:0px;">
|
|
||||||
<object id="o"
|
|
||||||
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
|
|
||||||
width="930"
|
|
||||||
height="360">
|
|
||||||
<param name="wmode" value="transparent">
|
|
||||||
<param name="movie"
|
|
||||||
value="https://apps.cooliris.com/embed/cooliris.swf" />
|
|
||||||
<param name="allowFullScreen" value="true" />
|
|
||||||
<param name="allowScriptAccess" value="always" />
|
|
||||||
<param name="flashvars"
|
|
||||||
value="feed=/feeds/cooliris/&glowColor=#0077BC&style=dark&backgroundColor=#000000&showChrome=false&showEMbed=false&showSearch=false" />
|
|
||||||
<embed wmode="transparent" type="application/x-shockwave-flash"
|
|
||||||
src="https://apps.cooliris.com/embed/cooliris.swf"
|
|
||||||
flashvars="feed=/feeds/cooliris/&glowColor=#0077BC&style=dark&backgroundColor=#000000&showChrome=false&showEMbed=false&showSearch=false"
|
|
||||||
width="930"
|
|
||||||
height="360"
|
|
||||||
allowFullScreen="true"
|
|
||||||
allowScriptAccess="always">
|
|
||||||
</embed>
|
|
||||||
</object>
|
|
||||||
</div>
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
<div style="height:180px;position:relative;">
|
|
||||||
<div style="height:95px;width:220px;float:right;margin:25px 10px 0;">
|
|
||||||
<div style="margin-top:0px;height:20px;">
|
|
||||||
{{login.get_register_link(app) |raw}}
|
|
||||||
{{login.get_guest_link(app) |raw}}
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;height:20px;">
|
|
||||||
<a target="_self" class="link" rel="external" href="/login/forgot-password/">
|
|
||||||
{% trans 'login:: Forgot your password' %}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;height:25px;">
|
|
||||||
<div style="float:left;text-align:left;">
|
|
||||||
<input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="5" type="submit"
|
|
||||||
value="{% trans 'login:: connexion' %}"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{captcha_system|raw}}
|
|
||||||
<div style="height:110px;width:310px;float:right;margin:10px 20px 0 10px;">
|
|
||||||
<div>
|
|
||||||
<div class="notice notice_cookie" style="display:none;">
|
|
||||||
{% trans 'login::erreur: Les cookies sont desactives sur votre navigateur' %}
|
|
||||||
</div>
|
|
||||||
{% if logged_out == 'user' %}
|
|
||||||
<div class="notice">
|
|
||||||
{% trans 'Vous etes maintenant deconnecte. A bientot.' %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{{ warning }}{{ notice }}
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;">
|
|
||||||
<div style="margin-top:3px;">{% trans 'admin::compte-utilisateur identifiant' %}</div>
|
|
||||||
<div style="margin-top:3px;">
|
|
||||||
<input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="1" name="login"
|
|
||||||
id="login" type="text" style="width:100%" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;">
|
|
||||||
<div style="margin-top:3px;">{% trans 'admin::compte-utilisateur mot de passe' %}</div>
|
|
||||||
<div style="margin-top:3px;">
|
|
||||||
<input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="2" name="pwd" id="pwd" value=""
|
|
||||||
type="password" style="width:100%" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="height:280px;margin-top:20px;">
|
|
||||||
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
|
|
||||||
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
|
|
||||||
width="930" height="260" align="top" id="slideshow_as2" >
|
|
||||||
<param name="allowScriptAccess" value="sameDomain" />
|
|
||||||
<param name="movie" value="/include/player_scroll.swf" />
|
|
||||||
<param name="quality" value="high" />
|
|
||||||
<param name="wmode" value="transparent" />
|
|
||||||
<param name="flashvars" value="space=20&speed=2&media=content&zoom=0.4&rss=/feeds/cooliris/" />
|
|
||||||
<embed flashvars="space=20&speed=2&media=content&zoom=0.4&rss=/feeds/cooliris/" src="/include/player_scroll.swf"
|
|
||||||
quality="high" bgcolor="#000000" width="930" height="260" name="slideshow_as2" align="top"
|
|
||||||
allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
|
|
||||||
</object>
|
|
||||||
</div>
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
|
|
||||||
<div style="width:545px;float:left;position:relative;height:490px;">
|
|
||||||
<div style="margin:10px 0 0 10px;position:relative;float:left;">
|
|
||||||
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
|
|
||||||
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
|
|
||||||
width="525" height="470" align="top" id="slideshow_as2" >
|
|
||||||
<param name="allowScriptAccess" value="sameDomain" />
|
|
||||||
<param name="movie" value="/include/player_homelink.swf" />
|
|
||||||
<param name="quality" value="high" />
|
|
||||||
<param name="wmode" value="transparent" />
|
|
||||||
<param name="flashvars" value="xmls=/feeds/aggregated/rss/?zh=470&zw=525" />
|
|
||||||
<embed flashvars="xmls=/feeds/cooliris/?zh=470&zw=525" src="/include/player_homelink.swf"
|
|
||||||
quality="high" bgcolor="#000000" width="525" height="470" name="slideshow_as2" align="top"
|
|
||||||
allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
|
|
||||||
</object>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="width:370px;float:right;height:490px;position:relative;">
|
|
||||||
<div style="margin:60px 25px 0 15px;">
|
|
||||||
<div>
|
|
||||||
<div class="notice notice_cookie" style="display:none;">
|
|
||||||
{% trans 'login::erreur: Les cookies sont desactives sur votre navigateur' %}
|
|
||||||
</div>
|
|
||||||
{% if logged_out == 'user' %}
|
|
||||||
<div class="notice">
|
|
||||||
{% trans 'Vous etes maintenant deconnecte. A bientot.' %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{{ warning }}{{ notice }}
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:20px;">
|
|
||||||
<div style="margin-top:3px;">{% trans 'admin::compte-utilisateur identifiant' %}</div>
|
|
||||||
<div style="margin-top:3px;"><input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="1" name="login"
|
|
||||||
id="login" value="" type="text" style="width:100%" /></div>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:20px;">
|
|
||||||
<div style="margin-top:3px;">{% trans 'admin::compte-utilisateur mot de passe' %}</div>
|
|
||||||
<div style="margin-top:3px;"><input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %} tabindex="2" name="pwd"
|
|
||||||
id="pwd" value="" type="password" style="width:100%" /></div>
|
|
||||||
<div style="text-align:right;margin-top:3px;">
|
|
||||||
<a target="_self" class="link" rel="external" href="/login/forgot-password/">
|
|
||||||
{% trans 'login:: Forgot your password' %}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{captcha_system|raw}}
|
|
||||||
<div style="margin-top:10px;">
|
|
||||||
<div><input tabindex="4" class="checkbox" type="checkbox" name="remember" id="remember-me" value="1" />
|
|
||||||
<label for="remember-me">{% trans 'login::Remember me' %}</label></div>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;height:25px;">
|
|
||||||
<div style="float:right;text-align:right;"><input {% if app['phraseanet.registry'].get('GV_maintenance') == true %}disabled{% endif %}
|
|
||||||
tabindex="5" type="submit" value="{% trans 'login:: connexion' %}"/></div>
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:20px;">
|
|
||||||
{{login.get_register_link(app) |raw}}
|
|
||||||
</div>
|
|
||||||
<div style="margin-top:10px;">
|
|
||||||
{{login.get_guest_link(app) |raw}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
91
templates/web/login/layout/base-layout.html.twig
Normal file
91
templates/web/login/layout/base-layout.html.twig
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
{% set home_title = app['phraseanet.registry'].get('GV_homeTitle')|default('Phraseanet') %}
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--[if lt IE 7]> <html ng-app="phraseanetAuthentication" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
||||||
|
<!--[if IE 7]> <html ng-app="phraseanetAuthentication" class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
||||||
|
<!--[if IE 8]> <html ng-app="phraseanetAuthentication" class="no-js lt-ie9"> <![endif]-->
|
||||||
|
<!--[if gt IE 8]><!--> <html ng-app="phraseanetAuthentication" class="no-js"> <!--<![endif]-->
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<title>Phraseanet</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/assets/normalize-css/normalize.css">
|
||||||
|
<link rel="stylesheet" href="/skins/login/css/bootstrap-switch.css">
|
||||||
|
<link rel="stylesheet" href="/skins/login/css/style.css">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/assets/font-awesome/css/font-awesome.css">
|
||||||
|
<!--[if IE 7]>
|
||||||
|
<link rel="stylesheet" href="/assets/font-awesome/css/font-awesome-ie7.min.css">
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<script src="/assets/modernizr/modernizr.js"></script>
|
||||||
|
<script src="/assets/jquery/jquery.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-transition.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-alert.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-modal.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-dropdown.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-scrollspy.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-tab.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-tooltip.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-popover.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-button.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-collapse.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-carousel.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-typeahead.js"></script>
|
||||||
|
<script src="/assets/bootstrap/js/bootstrap-affix.js"></script>
|
||||||
|
<script src="/assets/angular/angular.js"></script>
|
||||||
|
<script src="/assets/angular-ui/build/angular-ui.js"></script>
|
||||||
|
<script src="/skins/login/js/bootstrap-switch.js"></script>
|
||||||
|
<script src="/assets/underscore/underscore.js"></script>
|
||||||
|
<script src="/skins/login/js/main.js"></script>
|
||||||
|
|
||||||
|
<!--[if lte IE 8]>
|
||||||
|
<script>
|
||||||
|
// The ieshiv takes care of our ui.directives, bootstrap module directives and
|
||||||
|
// AngularJS's ng-view, ng-include, ng-pluralize and ng-switch directives.
|
||||||
|
// However, IF you have custom directives (yours or someone else's) then
|
||||||
|
// enumerate the list of tags in window.myCustomTags
|
||||||
|
|
||||||
|
window.myCustomTags = ['alert']; // optional
|
||||||
|
</script>
|
||||||
|
<script src="/assets/angular-ui/build/angular-ui-ieshiv.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!--[if lt IE 7]>
|
||||||
|
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
|
||||||
|
<![endif]-->
|
||||||
|
<div class="container">
|
||||||
|
{% block scaffholding %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 footer well-small">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span9" >
|
||||||
|
<div class="footer-block">
|
||||||
|
<ul class="inline footer-list unstyled">
|
||||||
|
<li class="item-first" >{% trans "Home" %}</li>
|
||||||
|
<li>{% trans "Help" %}</li>
|
||||||
|
<li><a href="{{ path("login_cgus") }}">{% trans "Terms of use" %}</a></li>
|
||||||
|
<li>© Copyright Alchemy 2005-{{ "now"|date("Y") }}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="span3">
|
||||||
|
<div class="footer-block text-right">
|
||||||
|
Phraseanet
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!--/span-->
|
||||||
|
</div><!--/row-->
|
||||||
|
</div><!--/.fluid-container-->
|
||||||
|
{% block javascript %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
13
templates/web/login/layout/content-only-layout.html.twig
Normal file
13
templates/web/login/layout/content-only-layout.html.twig
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{% extends "login/layout/base-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% block scaffholding %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div id="authentication-content">
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
</div>
|
||||||
|
</div><!--/span-->
|
||||||
|
</div><!--/row-->
|
||||||
|
{% endblock %}
|
||||||
50
templates/web/login/layout/sidebar-layout.html.twig
Normal file
50
templates/web/login/layout/sidebar-layout.html.twig
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{% extends "login/layout/base-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% block scaffholding %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span8 left-content">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="logo">
|
||||||
|
{% block logo %}<img src="/skins/login/img/logo.png" />{% endblock %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="header">
|
||||||
|
{% block header %}
|
||||||
|
<div class="text-title">
|
||||||
|
Welcome on {{ app['phraseanet.registry'].get('GV_homeTitle')|default('Tf1') }} Media gallery
|
||||||
|
</div>
|
||||||
|
<a class="visible-phone text-right" data-toggle="collapse" data-target="#headerDetail">More ...</a>
|
||||||
|
<p id="headerDetail" class="collapse">
|
||||||
|
Vivamus justo mauris, elementum eu auctor tincidunt, viverra et erat. Nunc pretium dui eget purus rutrum malesuada. Donec pellentesque arcu quis lectus blandit ac mollis magna vehicula. Fusce non leo id leo blandit feugiat et nec massa. Sed viverra viverra fermentum. In sit amet varius turpis.
|
||||||
|
</p>
|
||||||
|
{% endblock %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid hidden-phone">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="content">
|
||||||
|
{% include "login/common/main-content.html.twig" with {"home_title" : home_title} %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="span4 right-content">
|
||||||
|
<div class="authentication-sidebar">
|
||||||
|
{% include "login/common/language-block.html.twig" %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{% block sidebar %} {% endblock %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!--/span-->
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block javascript %}
|
||||||
|
{% endblock %}
|
||||||
153
templates/web/login/providers/bind.html.twig
Normal file
153
templates/web/login/providers/bind.html.twig
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% import "common/macros.html.twig" as macro %}
|
||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
|
{% block sidebar %}
|
||||||
|
<div class="well-large sidebar-block">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="text-title">{% trans "Connexion" %}</div>
|
||||||
|
<div class="match-hint">
|
||||||
|
{% set provider_name = "Facebook" %}
|
||||||
|
{% trans %}
|
||||||
|
Your {{ provider_name }} account matchs a Phraseanet account
|
||||||
|
{% endtrans %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.providerBadge("facebook-badge","http://profile.ak.fbcdn.net/hprofile-ak-ash4/188043_268328669948930_728750033_q.jpg","Monsieur Grincheux","mr.grincheux@email.com") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="text-center well-small">
|
||||||
|
<img src="/skins/login/img/link.png" style="height:30px;"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.phraseanetBadge("Monsieur Grincheux","mr.grincheux@email.com", "Alchemy") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="well-large sidebar-block">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 sidebar-hint-large">
|
||||||
|
{% trans "Login to link your account" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12" ng-controller="LoginFormController">
|
||||||
|
{{ auth_macro.alert() }}
|
||||||
|
<form novalidate name="loginForm" ng-submit="submit();">
|
||||||
|
{# Note this is hidden for the moment to see how submit the user login #}
|
||||||
|
<div class="row-fluid hidden">
|
||||||
|
<div class="span12">
|
||||||
|
<table class="input-table" ng-class="getInputClass('email')">
|
||||||
|
<tr>
|
||||||
|
<td class="icon"><i class="icon-envelope-alt icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="login-email"
|
||||||
|
name="email"
|
||||||
|
value=""
|
||||||
|
class="input-block-level"
|
||||||
|
type="email"
|
||||||
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="email"
|
||||||
|
force-model-update
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="!loginForm.email.errors.filled">
|
||||||
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
|
</div>
|
||||||
|
<div ng-show="loginForm.email.errors.filled && !loginForm.email.errors.valid">
|
||||||
|
{{ auth_macro.fieldError("This field is not valid") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<label for="login-password">
|
||||||
|
{% trans "Password" %}*
|
||||||
|
</label>
|
||||||
|
<table class="input-table" ng-class="getInputClass('password')">
|
||||||
|
<tr>
|
||||||
|
<td class="icon"><i class="icon-lock icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="login-password"
|
||||||
|
name="password"
|
||||||
|
value=""
|
||||||
|
class="input-block-level"
|
||||||
|
type="password"
|
||||||
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="password"
|
||||||
|
force-model-update
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="!loginForm.password.errors.filled">
|
||||||
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-right">
|
||||||
|
<a class="forget-password-link" href="{{ path("login_forgot_password") }}">{% trans "Forgot password?" %}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% set recaptcha_display = true %}
|
||||||
|
{% if recaptcha_display %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{% set recaptcha = "" %}
|
||||||
|
{{ macro.captcha(recaptcha) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<button type="submit" class="btn btn-success btn-trigger">{% trans "Connexion" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="well-large sidebar-block">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{% trans "These informations do not match?" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
<a href="{{ path("homepage") }}" class="btn span12 btn-info btn-trigger">{% trans "Use my Phraseanet account" %}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="well-large sidebar-block last-item">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{% trans "No account yet?" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
<a class="btn btn-success btn-trigger" href="{{ path("login_register") }}">{% trans "Register" %}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
128
templates/web/login/providers/mapping.html.twig
Normal file
128
templates/web/login/providers/mapping.html.twig
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% import "common/macros.html.twig" as macro %}
|
||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
|
{% block sidebar %}
|
||||||
|
<div class="well-large sidebar-block">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="text-title">{% trans "Connexion" %}</div>
|
||||||
|
<div class="match-hint">
|
||||||
|
{% set provider_name = "Google plus" %}
|
||||||
|
{% trans %}
|
||||||
|
Your {{ provider_name }} account matchs a Phraseanet account
|
||||||
|
{% endtrans %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.providerBadge("google-plus-badge","http://profile.ak.fbcdn.net/hprofile-ak-ash4/188043_268328669948930_728750033_q.jpg","Monsieur Grincheux","mr.grincheux@email.com") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="well-large sidebar-block">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 sidebar-hint-large">
|
||||||
|
{% trans "Login to link your account" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12" ng-controller="LoginFormController">
|
||||||
|
{{ auth_macro.alert() }}
|
||||||
|
<form novalidate name="loginForm" ng-submit="submit();">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<table class="input-table" ng-class="getInputClass('email')">
|
||||||
|
<tr>
|
||||||
|
<td class="icon"><i class="icon-envelope-alt icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="login-email"
|
||||||
|
name="email"
|
||||||
|
value=""
|
||||||
|
class="input-block-level"
|
||||||
|
type="email"
|
||||||
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="email"
|
||||||
|
force-model-update
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="!loginForm.email.errors.filled">
|
||||||
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
|
</div>
|
||||||
|
<div ng-show="loginForm.email.errors.filled && !loginForm.email.errors.valid">
|
||||||
|
{{ auth_macro.fieldError("This field is not valid") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<label for="login-password">
|
||||||
|
{% trans "Password" %}*
|
||||||
|
</label>
|
||||||
|
<table class="input-table" ng-class="getInputClass('password')">
|
||||||
|
<tr>
|
||||||
|
<td class="icon"><i class="icon-lock icon-white"></i></td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
id="login-password"
|
||||||
|
name="password"
|
||||||
|
value=""
|
||||||
|
class="input-block-level"
|
||||||
|
type="password"
|
||||||
|
placeholder=""
|
||||||
|
required
|
||||||
|
ng-model="password"
|
||||||
|
force-model-update
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div ng-show="!loginForm.password.errors.filled">
|
||||||
|
{{ auth_macro.fieldError("This field is required") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-right">
|
||||||
|
<a class="forget-password-link" href="{{ path("login_forgot_password") }}">{% trans "Forgot password?" %}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% set recaptcha_display = true %}
|
||||||
|
{% if recaptcha_display %}
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{% set recaptcha = "" %}
|
||||||
|
{{ macro.captcha(recaptcha) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<button type="submit" class="btn btn-success btn-trigger">{% trans "Connexion" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="well-large sidebar-block last-item">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{% trans "No account yet?" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
<a class="btn btn-success" href="{{ path("login_register") }}">{% trans "Register" %}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- /sidebar block -->
|
||||||
|
{% endblock %}
|
||||||
68
templates/web/login/register-classic.html.twig
Normal file
68
templates/web/login/register-classic.html.twig
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
|
{% block sidebar %}
|
||||||
|
<div class="well-large sidebar-block last-item">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="text-title">{% trans "Inscription" %}</div>
|
||||||
|
<div class="sidebar-hint">
|
||||||
|
{% trans %}
|
||||||
|
Complete the fields below to register on {{ home_title }}!
|
||||||
|
{% endtrans %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<form name="register" class="authentication-sidebar-form">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("first-name","First name","first_name",null,"text","icon-user", "Your first name") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("last-name","Last name","last_name",null,"text","icon-user", "Your last name") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("email","E-mail","email",null,"email","icon-envelope", "Your e-mail address") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("company","Company","company",null,"text","icon-briefcase", "Your company name") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sidebar-hint">
|
||||||
|
* {% trans "Mandatory fields" %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{% set label %}
|
||||||
|
<a href="{{ path("login_cgus") }}">{% trans "I have read the terms of use" %}</a>
|
||||||
|
{% endset %}
|
||||||
|
|
||||||
|
{{ auth_macro.checkboxInput("terms-of-use",label,"terms_of_use") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<button type="submit" class="btn btn-success btn-trigger">{% trans "Resquest access" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
83
templates/web/login/register-provider.html.twig
Normal file
83
templates/web/login/register-provider.html.twig
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
|
|
||||||
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
|
|
||||||
|
{% block sidebar %}
|
||||||
|
<div class="well-large sidebar-block last-item">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="text-title">{% trans "Completion of your registration" %}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.providerBadge("facebook-badge","http://profile.ak.fbcdn.net/hprofile-ak-ash4/188043_268328669948930_728750033_q.jpg","Monsieur Grincheux","mr.grincheux@email.com") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 sidebar-hint">
|
||||||
|
{% trans "Please complete the information to complete your registration" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<form class="authentication-sidebar-form">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("first-name","First name","first_name",null,"text","icon-user", "Your first name") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("last-name","Last name","last_name",null,"text","icon-user", "Your last name") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("email","E-mail","email",null,"email","icon-envelope", "Your e-mail address") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("company","Company","company",null,"text","icon-briefcase", "Your company name", "error") }}
|
||||||
|
{{ auth_macro.fieldError("Sed posuere consectetur est at lobortis.") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{{ auth_macro.fieldInput("job","Job","job",null,"text","icon-briefcase", "Your job name", "success") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sidebar-hint">
|
||||||
|
* {% trans "Mandatory fields" %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
{% set label %}
|
||||||
|
<a href="{{ path("login_cgus") }}">{% trans "I have read the terms of use" %}</a>
|
||||||
|
{% endset %}
|
||||||
|
|
||||||
|
{{ auth_macro.checkboxInput("terms-of-use",label,"terms_of_use") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<button type="submit" class="btn btn-success btn-trigger">{% trans "Resquest access" %}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><!-- /row -->
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
@@ -1,387 +1,33 @@
|
|||||||
{% extends 'account/base.html.twig' %}
|
{% extends "login/layout/sidebar-layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}
|
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||||
{% trans 'login:: register' %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block menu %}
|
{% block sidebar %}
|
||||||
|
<div class="well-large sidebar-block">
|
||||||
{% endblock %}
|
<div class="row-fluid">
|
||||||
|
<div class="span12 authentication-sidebar-title">
|
||||||
{% block head %}
|
<div class="text-title">{% trans "Inscription" %}</div>
|
||||||
<script type="text/javascript" language="javascript" src="/include/minify/?f=include/jslibs/jquery.validate.js,include/jslibs/jquery.validate.password.js,include/jslibs/jquery.validate.login.js"></script>
|
|
||||||
<script type="text/javascript" src="/include/minify/?f=include/account/geonames.js"></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
{% set sep = '' %}
|
|
||||||
{% set msg ='' %}
|
|
||||||
{% set rules = '' %}
|
|
||||||
{% set msgRequiredField = 'forms::ce champ est requis' | trans %}
|
|
||||||
{% set msgTooShortField = 'forms::la valeur donnee est trop courte' | trans %}
|
|
||||||
{% set msgMatchField = 'forms::les mots de passe ne correspondent pas' | trans %}
|
|
||||||
{% set msgInvalidMail = 'forms::l\'email semble invalide' | trans | e('js') %}
|
|
||||||
{% set msgInvalidLogin = 'login invalide (5 caracteres sans accents ni espaces)' | trans | e('js') %}
|
|
||||||
|
|
||||||
{% for ar, ver in arrayVerif if not ver %}
|
|
||||||
{% if ar != 'form_password' %}
|
|
||||||
{% if loop.first %}
|
|
||||||
{% set sep = ',' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% set rules = rules ~ sep ~ ar ~ ':{required:true}' %}
|
|
||||||
{% set msg = msg ~ sep ~ ar ~ ': {' %}
|
|
||||||
{% set msg = msg ~ 'required : "' ~ msgRequiredField ~ '"' %}
|
|
||||||
|
|
||||||
{% if ar == 'form_login' or ar == 'form_password' %}
|
|
||||||
{% set msg = msg ~ ' ,minlength: "' ~ msgTooShortField ~ '"' %}
|
|
||||||
{% endif %}
|
|
||||||
{% if ar == 'form_password' %}
|
|
||||||
{% set msg = msg ~ ' ,minlength: "' ~ msgTooShortField ~ '"' %}
|
|
||||||
{% endif %}
|
|
||||||
{% if ar == 'form_password_confirm' %}
|
|
||||||
{% set msg = msg ~ ' ,equalTo: "' ~ msgMatchField ~ '"' %}
|
|
||||||
{% endif %}
|
|
||||||
{% if ar == 'form_email' %}
|
|
||||||
{% set msg = msg ~ ',email:"' ~ msgInvalidMail ~ '"' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% set msg = msg ~ ',login:"' ~ msgInvalidLogin ~ '"' %}
|
|
||||||
{% set msg = msg ~ '}' %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
|
|
||||||
$(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: {
|
|
||||||
{{ rules }}
|
|
||||||
},
|
|
||||||
messages: {
|
|
||||||
{{ msg }}
|
|
||||||
},
|
|
||||||
errorPlacement: function(error, element) {
|
|
||||||
error.prependTo( element.parent().parent().find('.form_alert') );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
$('#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 %}
|
|
||||||
{% if captcha_system != '' %}
|
|
||||||
<script type="text/javascript">
|
|
||||||
var RecaptchaOptions = {
|
|
||||||
theme : 'custom',
|
|
||||||
tabindex : 3,
|
|
||||||
lang : '{{ app['locale'] }}'
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
{% endif %}
|
|
||||||
<form id="register" class="form-horizontal" name="creation" action="/login/register/" method="POST">
|
|
||||||
<div id="form_register_table" style="font-size: 11px; margin: 0 auto;">
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_login">
|
|
||||||
{% if arrayVerif['form_login'] is defined and arrayVerif['form_login'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur identifiant' %}<br/>
|
|
||||||
<span style="font-size: 10px;">{% trans '5 caracteres minimum' %}</span>
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_login" class="input_element" name="form_login" autocomplete="off" value="{{ parms['form_login'] is defined ? parms['form_login'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_login'] is defined ? needed['form_login'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_password">
|
|
||||||
{% if arrayVerif['form_password'] is defined and arrayVerif['form_password'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur mot de passe' %}<br/>
|
|
||||||
<span style="font-size: 10px;">{% trans '8 caracteres minimum' %}</span>
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="password" id="form_password" class="input_element password" name="form_password" autocomplete="off" value="{{ parms['form_password'] is defined ? parms['form_password'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">
|
|
||||||
<span style="color: #FFF;">{% trans 'Resistance du mot de passe' %}</span><br/>
|
|
||||||
{{ needed['form_password'] is defined ? needed['form_password'] : '' }}
|
|
||||||
<div class="password-meter">
|
|
||||||
<p class="password-meter-message"> </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">
|
|
||||||
{% if arrayVerif['form_password_confirm'] is defined and arrayVerif['form_password_confirm'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
<span style="font-size: 10px;">{% trans 'Confirmation' %}</span>
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="password" id="form_password_confirm" class="input_element" name="form_password_confirm" autocomplete="off" type="password" value="{{ parms['form_password_confirm'] is defined ? parms['form_password_confirm'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_password_confirm'] is defined ? needed['form_password_confirm'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="margin: 20px 0;">
|
|
||||||
<a href="#" onclick="$('#password_infos').slideToggle();return false;" style="color: #FFF; font-size: 13px;">{% trans 'admin::compte-utilisateur A propos de la securite des mots de passe' %}</a>
|
|
||||||
<div id="password_infos" style="display: none;">
|
|
||||||
<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>
|
|
||||||
<ul style="text-align: left; width: 300px;">
|
|
||||||
<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>
|
|
||||||
<hr />
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_email">
|
|
||||||
{% if arrayVerif['form_email'] is defined and arrayVerif['form_email'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur email' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_email" class="input_element" name="form_email" autocomplete="off" value="{{ parms['form_email'] is defined ? parms['form_email'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_email'] is defined ? needed['form_email'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_city">
|
|
||||||
{% if arrayVerif['form_geonameid'] is defined and arrayVerif['form_geonameid'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur ville' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_geonameid" class="input_element geoname_field" name="form_geonameid" geonameid="{{ parms['form_geonameid'] is defined ? parms['form_geonameid'] : '' }}" value="{{ parms['form_geonameid'] is defined ? geonames.name_from_id(parms['form_geonameid'], app) : ''}}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_geonameid'] is defined ? needed['form_geonameid'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label">
|
|
||||||
{% trans 'admin::compte-utilisateur sexe' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<label class="radio">
|
|
||||||
<input type="radio" class="radio" name="form_gender" style="width: 10px;"{% if parms["form_gender"] is defined and parms["form_gender"] == 0 %}checked{% endif %} value="0" />
|
|
||||||
{% trans 'admin::compte-utilisateur:sexe: mademoiselle' %}
|
|
||||||
</label>
|
|
||||||
<label class="radio">
|
|
||||||
<input type="radio" class="radio" name="form_gender" style="width: 10px;"{% if parms["form_gender"] is defined and parms["form_gender"] == 1 %}checked{% endif %} value="1" />
|
|
||||||
{% trans 'admin::compte-utilisateur:sexe: madame' %}
|
|
||||||
</label>
|
|
||||||
<label class="radio">
|
|
||||||
<input type="radio" class="radio" name="form_gender" style="width: 10px;"{% if parms["form_gender"] is defined and parms["form_gender"] == 2 %}checked{% endif %} value="2" />
|
|
||||||
{% trans 'admin::compte-utilisateur:sexe: monsieur' %}
|
|
||||||
</label>
|
|
||||||
<p class="form_alert help-block">{{ needed['form_gender'] is defined ? needed['form_gender'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_lastname">
|
|
||||||
{% if arrayVerif['form_lastname'] is defined and arrayVerif['form_lastname'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur nom' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_lastname" class="input_element" name="form_lastname" autocomplete="off" value="{{ parms['form_lastname'] is defined ? parms['form_lastname'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_lastname'] is defined ? needed['form_lastname'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_firstname">
|
|
||||||
{% if arrayVerif['form_firstname'] is defined and arrayVerif['form_firstname'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur prenom' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_firstname" class="input_element" name="form_firstname" autocomplete="off" value="{{ parms['form_firstname'] is defined ? parms['form_firstname'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_firstname'] is defined ? needed['form_firstname'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_job">
|
|
||||||
{% if arrayVerif['form_job'] is defined and arrayVerif['form_job'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur poste' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_job" class="input_element" name="form_job" autocomplete="off" value="{{ parms['form_job'] is defined ? parms['form_job'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_job'] is defined ? needed['form_job'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_activity">
|
|
||||||
{% if arrayVerif['form_activity'] is defined and arrayVerif['form_activity'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur activite' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_activity" class="input_element" name="form_activity" autocomplete="off" value="{{ parms['form_activity'] is defined ? parms['form_activity'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_activity'] is defined ? needed['form_activity'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_phone">
|
|
||||||
{% if arrayVerif['form_phone'] is defined and arrayVerif['form_phone'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur telephone' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_phone" class="input_element" name="form_phone" autocomplete="off" value="{{ parms['form_phone'] is defined ? parms['form_phone'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_phone'] is defined ? needed['form_phone'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_fax">
|
|
||||||
{% if arrayVerif['form_fax'] is defined and arrayVerif['form_fax'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur fax' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_fax" class="input_element" name="form_fax" autocomplete="off" value="{{ parms['form_fax'] is defined ? parms['form_fax'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_fax'] is defined ? needed['form_fax'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_company">
|
|
||||||
{% if arrayVerif['form_company'] is defined and arrayVerif['form_company'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur societe' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_company" class="input_element" name="form_company" autocomplete="off" value="{{ parms['form_company'] is defined ? parms['form_company'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_company'] is defined ? needed['form_company'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_address">
|
|
||||||
{% if arrayVerif['form_address'] is defined and arrayVerif['form_address'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur adresse' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input type="text" id="form_address" class="input_element" name="form_address" autocomplete="off" value="{{ parms['form_address'] is defined ? parms['form_address'] : '' }}" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_address'] is defined ? needed['form_address'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="form_zip">
|
|
||||||
{% if arrayVerif['form_zip'] is defined and arrayVerif['form_zip'] == true %}<span class="requiredField">*</span>{% endif %}
|
|
||||||
{% trans 'admin::compte-utilisateur code postal' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
<input id="form_zip" autocomplete="off" type="text" value="{{ parms['form_zip'] is defined ? parms['form_zip'] : '' }}" class="input_element" name="form_zip" />
|
|
||||||
<p class="form_alert help-block">{{ needed['form_zip'] is defined ? needed['form_zip'] : '' }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="control-group">
|
|
||||||
<label class="form_label control-label" for="captcha_protecion">
|
|
||||||
{% trans 'Robots SPAM protection :l' %}
|
|
||||||
</label>
|
|
||||||
<div class="controls">
|
|
||||||
{{ captcha_system | raw }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
</div><!-- /form_register_table -->
|
|
||||||
|
|
||||||
{% if app['phraseanet.registry'].get('GV_autoselectDB') %}
|
|
||||||
<div class="well-small">
|
|
||||||
<p style="text-align:center">
|
|
||||||
{% trans 'admin::compte-utilisateur actuellement, acces aux bases suivantes : ' %}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="requiredField" style="text-align:center">
|
|
||||||
{{ needed['demand'] is defined ? needed['demand'] : '' }}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<table border="0" style="width:100%">
|
|
||||||
{% for sbasId, baseInsc in inscriptions %}
|
|
||||||
{% if (baseInsc['CollsCGU'] or baseInsc['Colls']) and baseInsc['inscript'] %}
|
|
||||||
<tr>
|
|
||||||
<td colspan="3" style="text-align: center;">
|
|
||||||
<h3 style="margin: 15px 0pt 2px;" class="inscriptbase">{{ sbasId |sbas_names(app) }}</h3>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% if baseInsc['Colls'] %}
|
|
||||||
{% if baseInsc['CGU'] %}
|
|
||||||
<tr>
|
|
||||||
<td colspan="3" style="text-align: center;">
|
|
||||||
{% trans 'login::register: L\'acces aux bases ci-dessous implique l\'acceptation des Conditions Generales d\'Utilisation (CGU) suivantes' %}<br/>
|
|
||||||
<a target="_blank" class="inscriptlink" href="/prod/TOU/?to_display[]={{sbasId}}">{% trans 'login::register::CGU: ouvrir dans une nouvelle fenetre' %}</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% for collId, collName in baseInsc['Colls'] %}
|
|
||||||
{% set baseId = sbasId |base_from_coll(collId, app) %}
|
|
||||||
<tr>
|
|
||||||
<td style="text-align: right;">{{ collName }}</td>
|
|
||||||
<td style="text-align: left;">
|
|
||||||
<input type="checkbox" class="checkbox" checked="{{ baseId in demandes ? 'checked' : '' }}" name="demand[]" value="{{ baseId }}" style="width: 15px;" >
|
|
||||||
<span>{% trans 'login::register: Faire une demande d\'acces' %}</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% if baseInsc['CollsCGU'] %}
|
|
||||||
{% for collId, collDesc in baseInsc['CollsCGU'] %}
|
|
||||||
{% set baseId = sbasId |base_from_coll(collId, app) %}
|
|
||||||
<tr>
|
|
||||||
<td colspan="3" style="text-align: center;">
|
|
||||||
<hr style="width: 80%"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="3" style="text-align:center;">
|
|
||||||
{% trans 'login::register: L\'acces aux bases ci-dessous implique l\'acceptation des Conditions Generales d\'Utilisation (CGU) suivantes' %}<br/>
|
|
||||||
<a target="_blank" class="inscriptlink" href="/prod/TOU/?to_display[]={{sbasId}}">{% trans 'login::register::CGU: ouvrir dans une nouvelle fenetre' %}</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td style="text-align: right;">{{ collDesc['name'] }}</td>
|
|
||||||
<td style="text-align: left;">
|
|
||||||
<input style="width:15px;" class="checkbox" type="checkbox" checked="{{ baseId in demandes ? 'checked' : '' }}" name="demand[]" value="{{ baseId }}" >
|
|
||||||
<span>{% trans 'login::register: Faire une demande d\'acces' %}</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<input type="hidden" value="{{ lng }}" name="lng">
|
|
||||||
<div style="margin: 10px 0; text-align: center;">
|
|
||||||
<input type="submit" class="btn" value="{% trans 'boutton::valider' %}" />
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
<script type="text/javascript">
|
<a href="{{ path("login_register_classic") }}" class="span12 btn btn-success btn-trigger">
|
||||||
|
<span class="pull-left">{% trans "Create an account manually" %}</span>
|
||||||
$('.tab').hover(function(){
|
<span class="pull-right"><i class="icon-arrow-right icon-white"></i></span>
|
||||||
$(this).addClass('active');
|
</a>
|
||||||
}, function(){
|
</div>
|
||||||
$(this).removeClass('active');
|
</div>
|
||||||
});
|
</div>
|
||||||
</script>
|
<div class="well-large sidebar-block last-item">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{% trans "Or login with" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 text-center">
|
||||||
|
{{ auth_macro.providerList() }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
Reference in New Issue
Block a user