mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +00:00
317 lines
17 KiB
Twig
317 lines
17 KiB
Twig
|
||
{% extends app['request'].isXmlHttpRequest ? "admin/common/ajax_wrap.html.twig" : "admin/common/iframe_wrap.html.twig" %}
|
||
|
||
{% block content %}
|
||
|
||
{% if app['request'].query.get('user-updated') is not none%}
|
||
<div class="alert alert-success">
|
||
<button class="close" data-dismiss="alert" type="button">×</button>
|
||
{% set user_count = app['request'].get('user-updated') %}
|
||
{% if user_count == 1 %}
|
||
{% trans %}
|
||
The user has been created.
|
||
{% endtrans %}
|
||
{% else %}
|
||
{% trans %}
|
||
{{ user_count }} users have been created.
|
||
{% endtrans %}
|
||
{% endif %}
|
||
</div>
|
||
{% endif %}
|
||
|
||
<div class="page-header">
|
||
<h1>{{ 'Users' | trans }}</h1>
|
||
</div>
|
||
|
||
<div id="users_page">
|
||
<p class="admin_head_opts">
|
||
<a class="user_adder" href="#">{{ 'admin::user: nouvel utilisateur' | trans }}</a>
|
||
<a class="template_adder" href="#">{{ 'admin::user: nouveau template' | trans }}</a>
|
||
<a href="{{ path('users_display_import_file') }}" target='right'>{{ 'admin::user: import d\'utilisateurs' | trans }}</a> /
|
||
<a href="#" onclick="exportlist();return(false);">{{ 'admin::user: export d\'utilisateurs' | trans }}</a>
|
||
<a class="invite_modifier" href="#">{{ 'Reglages:: reglages d acces guest' | trans }}</a>
|
||
<input type="hidden" value="{{invite_user.get_id()}}" name="invite_user_id"/>
|
||
<a class="autoregister_modifier" href="#">{{ 'Reglages:: reglages d inscitpition automatisee' | trans }}</a>
|
||
<input type="hidden" value="{{autoregister_user.get_id()}}" name="autoregister_user_id"/>
|
||
</p>
|
||
|
||
<form id="users_page_search" method="post" action="{{ path('admin_users_search') }}" target="_self" class="form-inline">
|
||
<fieldset class="admin_head_opts">
|
||
<span>{{ 'Filter' | trans }}</span>
|
||
<select name="like_field" class="input-medium">
|
||
<option {% if parm['like_field'] == "usr_login" %}selected="selected"{% endif %} value="usr_login">{{ 'Push::filter on login' | trans }}</option>
|
||
<option {% if parm['like_field'] == "name" %}selected="selected"{% endif %} value="name">{{ 'First/Last Name' | trans }}</option>
|
||
<option {% if parm['like_field'] == "pays" %}selected="selected"{% endif %} value="pays">{{ 'Push::filter on countries' | trans }}</option>
|
||
<option {% if parm['like_field'] == "societe" %}selected="selected"{% endif %} value="societe">{{ 'Push::filter on companies' | trans }}</option>
|
||
<option {% if parm['like_field'] == "usr_mail" %}selected="selected"{% endif %} value="usr_mail">{{ 'Push::filter on emails' | trans }}</option>
|
||
</select>
|
||
<span>{{ 'Push::filter starts' | trans }}</span>
|
||
<input type="text" value="{{parm['like_value']}}" name="like_value" class="input-medium">
|
||
<span>{{ 'Last applied template' | trans }}</span>
|
||
<select name="last_model" class="input-medium">
|
||
<option value="">{{ 'None' | trans }}</option>
|
||
{% for template in templates %}
|
||
<option {% if parm['last_model'] == template.get_login() %}selected="selected"{% endif %} value="{{ template.get_login() }}">{{ template.get_login() }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
<button type="submit" class="btn">{{ 'boutton::chercher' | trans }}</button>
|
||
</fieldset>
|
||
</form>
|
||
|
||
<form id="users_apply_template" method="post" action="{{ path('admin_users_apply_template') }}" target="_self" class="form-inline pull-left no-ajax" style="margin:0">
|
||
<fieldset class="admin_head_opts">
|
||
<span>{{ 'Apply a template' | trans }}</span>
|
||
<select name="template_chooser" class="input-medium">
|
||
<option value="">{{ 'boutton::choisir' | trans }}</option>
|
||
{% for template in templates %}
|
||
<option value="{{ template.get_id() }}">{{ template.get_display_name() }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
<button type="submit" class="btn">{{ 'boutton::appliquer' | trans }}</button>
|
||
</fieldset>
|
||
</form>
|
||
|
||
<form id="users_reset_rights" method="post" action="{{ path('admin_users_rights_reset') }}" target="_self" class="form-inline pull-right" style="margin:0">
|
||
<fieldset class="admin_head_opts">
|
||
<input type="hidden" value="" name="users">
|
||
<button type='button' class="btn btn-warning">{{ 'Delete all users rights' | trans }}</button>
|
||
</fieldset>
|
||
</form>
|
||
|
||
<table id="users" cellspacing="0" cellpadding="0" border="0" class="admintable">
|
||
<thead>
|
||
<tr>
|
||
<th style="text-align: center;" class="sortable {{ parm.srt == 'usr_id' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||
<span>{{ 'admin::compte-utilisateur id utilisateur' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="usr_id" />
|
||
</th>
|
||
<th class="sortable {{ parm.srt == 'usr_login' ? 'sorted' : '' }} ">
|
||
<span>{{ 'admin::compte-utilisateur identifiant' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="usr_login" />
|
||
</th>
|
||
<th class="sortable {{ parm.srt == 'usr_nom' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||
<span>{{ 'First/Last Name' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="usr_nom" />
|
||
</th>
|
||
<th class="sortable {{ parm.srt == 'societe' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||
<span>{{ 'admin::compte-utilisateur societe' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="societe" />
|
||
</th>
|
||
<th class="sortable {{ parm.srt == 'usr_mail' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||
<span>{{ 'admin::compte-utilisateur email' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="usr_mail" />
|
||
</th>
|
||
<th class="sortable {{ parm.srt == 'pays' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||
<span>{{ 'admin::compte-utilisateur pays' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="pays" />
|
||
</th>
|
||
<th class="sortable {{ parm.srt == 'lastModel' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||
<span>{{ 'admin::compte-utilisateur dernier modele applique' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="lastModel" />
|
||
</th>
|
||
<th class="sortable {{ parm.srt == 'usr_creationdate' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||
<span>{{ 'admin::compte-utilisateur date de creation' | trans }}</span>
|
||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||
<input type="hidden" name="srt" value="usr_creationdate" />
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
{% for usr in users.get_results %}
|
||
<tr class="{% if loop.index is odd %}odd{% else %}even{% endif %}" id="user_{{usr.get_id()}}">
|
||
<td style="text-align: center;">
|
||
{% if usr.is_template() %}
|
||
<img title="{{ 'This is a template' | trans }}" src="/skins/icons/template.png"/>
|
||
{% else %}
|
||
{% if app['acl'].get(usr).is_phantom() %}
|
||
<img title="{{ 'This user has no rights' | trans }}" src="/skins/admin/ghost.png"/>
|
||
{% endif %}
|
||
{{usr.get_id()}}
|
||
{% endif %}
|
||
</td>
|
||
<td>
|
||
{{usr.get_login()}}
|
||
</td>
|
||
<td>
|
||
{{usr.get_firstname()}} {{usr.get_lastname()}}
|
||
</td>
|
||
<td>
|
||
{{usr.get_company()}}
|
||
</td>
|
||
<td>
|
||
{{usr.get_email()}}
|
||
</td>
|
||
<td>
|
||
{{usr.get_country()}}
|
||
</td>
|
||
<td>
|
||
{{usr.get_applied_template()}}
|
||
</td>
|
||
<td>
|
||
{{ app['date-formatter'].getDate(usr.get_creation_date()) }}
|
||
</td>
|
||
</tr>
|
||
{% endfor %}
|
||
</tbody>
|
||
</table>
|
||
|
||
<form id="export_form" method="post" target="_blank" class="no-ajax" action="{{ path('admin_users_search_export') }}" class="inline-form">
|
||
<input name="srt" value="{{parm['srt']}}" type="hidden" />
|
||
<input name="ord" value="{{parm.ord}}" type="hidden" />
|
||
{% for sbas_id in parm.sbas_id %}
|
||
<input name="sbas_id[]" value="{{sbas_id}}" type="hidden" />
|
||
{% endfor %}
|
||
{% for base_id in parm.base_id %}
|
||
<input name="base_id[]" value="{{base_id}}" type="hidden" />
|
||
{% endfor %}
|
||
{% if parm['usr_ids'] is defined %}
|
||
<input name="usr_ids" value="{{parm.usr_ids}}" type="hidden" />
|
||
{% endif %}
|
||
<input name="like_value" value="{{parm.like_value}}" type="hidden" />
|
||
<input name="like_field" value="{{parm.like_field}}" type="hidden" />
|
||
<input name="last_model" value="{{parm.last_model}}" type="hidden" />
|
||
<input name="inactives" value="{{parm.inactives}}" type="hidden" />
|
||
</form>
|
||
|
||
<form id="users_page_form" method="post" target="_self" action="{{ path('admin_users_search') }}" class="inline-form pull-left">
|
||
<fieldset>
|
||
{% set pages = users.get_total() / parm['per_page'] %}
|
||
{% set modulo = users.get_total() % parm['per_page'] %}
|
||
|
||
{% if modulo > 0 %}{% set pages = pages + 1 %}{% endif %}
|
||
<span>{{users.get_total}} resultats, {{pages|floor}} pages</span>
|
||
|
||
{% if users.get_page > 2 %}
|
||
<button class="pager first btn"><<</button>
|
||
{% endif %}
|
||
{% if users.get_page > 1 %}
|
||
<button class="pager prev btn"><</button>
|
||
{% endif %}
|
||
<input type="text" value="{{users.get_page}}" class="input-mini" style="margin:0"/>
|
||
{% if users.get_page < pages -1 %}
|
||
<button class="pager next btn">></button>
|
||
{% endif %}
|
||
{% if users.get_page < pages - 2 %}
|
||
<button class="pager last btn">>></button>
|
||
{% endif %}
|
||
<select name="per_page" class="input-medium">
|
||
{% set n_par_page = 10 %}
|
||
<option value="10" {% if parm['per_page'] == 10%}selected="selected"{% endif %}>{% trans %}{{n_par_page}} par page {% endtrans %}</option>
|
||
{% set n_par_page = 20 %}
|
||
<option value="20" {% if parm['per_page'] == 20%}selected="selected"{% endif %}>{% trans %}{{n_par_page}} par page {% endtrans %}</option>
|
||
{% set n_par_page = 50 %}
|
||
<option value="50" {% if parm['per_page'] == 50%}selected="selected"{% endif %}>{% trans %}{{n_par_page}} par page {% endtrans %}</option>
|
||
</select>
|
||
<button class="user_modifier btn">{{ 'boutton::modifier' | trans }}</button>
|
||
<button class="user_deleter btn">{{ 'Supprimer' | trans }}</button>
|
||
|
||
<input type="hidden" name="total_results" value="{{users.get_total()}}"/>
|
||
<input type="hidden" name="page" value="{{users.get_page()}}"/>
|
||
<input name="srt" value="{{parm['srt']}}" type="hidden" />
|
||
<input name="ord" value="{{parm.ord}}" type="hidden" />
|
||
{% if parm['act'] is defined %}
|
||
<input name="act" value="{{parm.act}}" type="hidden" />
|
||
{% endif %}
|
||
{% for sbas_id in parm.sbas_id %}
|
||
<input name="sbas_id[]" value="{{sbas_id}}" type="hidden" />
|
||
{% endfor %}
|
||
{% for base_id in parm.base_id %}
|
||
<input name="base_id[]" value="{{base_id}}" type="hidden" />
|
||
{% endfor %}
|
||
{% if parm['usr_ids'] is defined %}
|
||
<input name="usr_ids" value="{{parm.usr_ids}}" type="hidden" />
|
||
{% endif %}
|
||
<input name="like_value" value="{{parm.like_value}}" type="hidden" />
|
||
<input name="like_field" value="{{parm.like_field}}" type="hidden" />
|
||
<input name="inactives" value="{{parm.inactives}}" type="hidden" />
|
||
<input name="offset_start" value="{{parm.offset_start}}" type="hidden" />
|
||
</fieldset>
|
||
</form>
|
||
|
||
<form method="post" action="{{ path('admin_users_export_csv') }}" class="inline-form pull-right no-ajax">
|
||
{% if parm.base_id is not empty %}
|
||
{% for base_id in parm.base_id %}
|
||
<input name="base_id[]" value="{{base_id}}" type="hidden" />
|
||
{% endfor %}
|
||
{% endif %}
|
||
{% if parm.sbas_id is not empty %}
|
||
{% for sbas_id in parm.sbas_id %}
|
||
<input name="sbas_id[]" value="{{sbas_id}}" type="hidden" />
|
||
{% endfor %}
|
||
{% endif %}
|
||
<input name="like_value" value="{{parm.like_value}}" type="hidden" />
|
||
<input name="like_field" value="{{parm.like_field}}" type="hidden" />
|
||
<button class="btn btn-warning">{{ 'boutton::exporter' | trans }}</button>
|
||
</form>
|
||
|
||
<script type="text/javascript">
|
||
$(document).ready(function(){
|
||
$.each(p4.users.sel, function(i,n){
|
||
var el = $('#user_'+n);
|
||
if(el.length > 0)
|
||
{
|
||
el.addClass('selected');
|
||
}
|
||
});
|
||
$('#users_page_form select[name="per_page"]').bind('change', function(){
|
||
$(this).closest('form').submit();
|
||
});
|
||
|
||
$('#users_reset_rights button').bind('click', function(){
|
||
var selectedUsers = $("#users tr.selected");
|
||
|
||
if(selectedUsers.length === 0)
|
||
{
|
||
alert("{{ 'select at least one user' | trans }}");
|
||
return;
|
||
}
|
||
|
||
var users = '';
|
||
$.each(selectedUsers, function(i,n){
|
||
users += $(n).attr("id").split("_").pop() + ';';
|
||
});
|
||
|
||
if(confirm("{{ 'Are you sure you want delete users rights ?' | trans }}"))
|
||
{
|
||
$("#users_reset_rights input[name='users']").val(users);
|
||
|
||
var form = $(this).closest('form');
|
||
|
||
$.ajax({
|
||
url: form.attr("action"),
|
||
dataType: 'json',
|
||
type : form.attr('method'),
|
||
data: form.serializeArray(),
|
||
success: function(data){
|
||
if(data.error)
|
||
{
|
||
alert("{{ 'An error occured' | trans }}");
|
||
}
|
||
else
|
||
{
|
||
alert("{{ 'users rights have been reseted' | trans }}");
|
||
}
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
});
|
||
|
||
function exportlist()
|
||
{
|
||
$('#export_form').submit();
|
||
}
|
||
|
||
</script>
|
||
</div>
|
||
|
||
{% endblock %}
|