Files
Phraseanet/templates/web/admin/editusers.html.twig
2013-05-29 14:22:50 +02:00

624 lines
24 KiB
Twig

{% macro format_checkbox(admin, right, name, users, type) %}
{% set id = right['base_id'] %}
{% set class = 'base_id' %}
{% if type == 'sbas' %}
{% set id = right['sbas_id'] %}
{% set class = 'sbas_id' %}
{% set sbas_class = "" %}
{% else %}
{% set sbas_class = "inside_sbas_" ~ right['sbas_id'] %}
{% endif %}
{% set display = 'block' %}
{% if right[name] != users|length and name != 'access' and right['access'] != users|length and type != 'sbas' %}
{% set display = 'none' %}
{% endif %}
{% if right[name] == 0 %}
{% set class = 'unchecked' %}
{% elseif right[name] == users|length %}
{% set class = 'checked' %}
{% else %}
{% set class = 'mixed' %}
{% endif %}
{% if name == 'access' %}
{% if class != 'checked' and type == 'base' and admin.ACL().has_access_to_base(id) is empty %}
<div class="no_switch">
</div>
{% else %}
<div style="display:{{display}};" class="{{class}} switch_right {{sbas_class}} {{type}} {{type}}_{{id}} right_{{name}}">
<input class="{{class}}" name="{{name}}_{{id}}" value="" type="hidden"/>
</div>
{% endif %}
{% else %}
{% if class != 'checked' and type == 'base' and admin.ACL().has_right_on_base(id, name) is empty %}
<div class="no_switch">
</div>
{% elseif class != 'checked' and type == 'sbas' and admin.ACL().has_right_on_sbas(id, name) is empty %}
<div class="no_switch">
</div>
{% else %}
<div style="display:{{display}};" class="{{class}} switch_right {{sbas_class}} {{type}} {{type}}_{{id}} right_{{name}}">
<input class="{{class}}" name="{{name}}_{{id}}" value="" type="hidden"/>
</div>
{% endif %}
{% endif %}
{% endmacro %}
<style>
div.no_switch,
div.switch_quota,
div.switch_masks,
div.switch_time,
div.switch_right{
background-repeat:no-repeat;
background-position: center center;
width:12px;
height:12px;
margin:0 auto;
}
div.no_switch{
background-image:url(/skins/icons/ccoch5.gif);
}
div.switch_quota.mixed,
div.switch_masks.mixed,
div.switch_time.mixed,
div.switch_right.mixed{
background-image:url(/skins/icons/ccoch2.gif);
}
div.switch_quota.checked,
div.switch_masks.checked,
div.switch_time.checked,
div.switch_right.checked{
background-image:url(/skins/icons/ccoch1.gif);
}
div.switch_quota.unchecked,
div.switch_masks.unchecked,
div.switch_time.unchecked,
div.switch_right.unchecked{
background-image:url(/skins/icons/ccoch0.gif);
}
td.users_col{
vertical-align:middle;
text-align:center;
width:23px;
border:0px solid transparent;
}
.ui-datepicker{
z-index:1500;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
ini_edit_usrs();
$('div.tabs').tabs();
});
</script>
<div>
<div class="tabs PNB" style="bottom:40px;">
<ul>
<li>
<a href="#rights_tab">{% trans 'Rights' %}</a>
</li>
{% if main_user is not empty and main_user.is_template is empty and main_user.is_special is empty %}
<li>
<a href="#user_infos_tab">{% trans 'Infos' %}</a>
</li>
{% endif %}
</ul>
<div id="rights_tab" class="PNB" style="top:40px;">
<form id="users_rights_form" method="post" action="/admin/users/rights/apply/">
<input type="hidden" name="users" value="{{users_serial}}"/>
<table style="width:100%;" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
{% if main_user is not empty %}
{% if main_user.is_special is not empty %}
{% if main_user.get_login() == 'invite' %}
{% trans 'Reglages:: reglages d acces guest' %}
{% elseif main_user.get_login() == 'autoregister' %}
{% trans 'Reglages:: reglages d inscitpition automatisee' %}
{% endif %}
{% else %}
{% set display_name = main_user.get_display_name() %}
{% trans %}
Edition des droits de {{ display_name }}
{% endtrans %}
{% endif %}
{% else %}
{% set number = users|length %}
{% trans %}
Edition des droits de {{ number }} utilisateurs
{% endtrans %}
{% endif %}
</td>
<td style="text-align:right;">
{% trans 'Apply a template' %}
<select name="template">
<option value="">{% trans 'boutton::choisir' %}</option>
{% for template in templates %}
<option value="{{ template.get_id() }}">{{ template.get_display_name() }}</option>
{% endfor %}
</select>
<button type='button' id='reset_rights'>{% trans 'Delete all users rights' %}</button>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" border="0" style="table-layout: auto;width:820px;height:67px;bottom:auto;top:50px;" class="PNB10">
<thead>
<tr>
<th style="width:122px;">
</th>
<th colspan="26">
<img src="/skins/lng/inclin-{{app['locale.I18n']}}.png" style="width:698px"/>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
</td>
<td colspan="26">
</td>
</tr>
</tbody>
</table>
<div class="PNB10" style="bottom:40px;top:127px;overflow-y:auto;overflow-x:hidden;width:850px;">
<table class="hoverable" cellspacing="0" cellpadding="0" border="0" style="table-layout: fixed;width:820px;">
<!-- <thead>
<tr>
<th style="width:122px;">
</th>
<th colspan="26">
<img src="/skins/lng/inclin-{{app['locale.I18n']}}.gif" >
</th>
</tr>
</thead>-->
<tbody>
{% set sbas = '' %}
{% for rights in datas %}
{% if rights['sbas_id'] != sbas %}
{% set sbas = rights['sbas_id'] %}
{% if loop.index != 1 %}
<tr style="height:15px;">
<td></td>
</tr>
{% endif %}
<tr>
<td style="width:122px;overflow:hidden;white-space:nowrap;">
{{rights['sbas_id']|sbas_names(app)}}
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_access"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_actif"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_canputinalbum"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_candwnldpreview"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_nowatermark"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_candwnldhd"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_cancmd"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col">
</td>
<td class="users_col">
</td>
<td class="users_col">
</td>
<td>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_canaddrecord"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_canmodifrecord"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_chgstatus"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_candeleterecord"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_imgtools"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_canadmin"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_canreport"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_canpush"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_manage"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td class="users_col options">
<div>
&#x25bc;
<input type="hidden" name="right" value="right_modify_struct"/>
<input type="hidden" name="sbas_id" value="{{rights['sbas_id']}}"/>
</div>
</td>
<td style="text-align:center;width:19px;" title="{% trans 'Allowed to publish' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'bas_chupub', users, 'sbas')}}
</td>
<td style="text-align:center;width:19px;" title="{% trans 'Manage Thesaurus' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'bas_modif_th', users, 'sbas')}}
</td>
<td style="text-align:center;width:19px;" title="{% trans 'Manage Database' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'bas_manage', users, 'sbas')}}
</td>
<td style="text-align:center;width:19px;" title="{% trans 'Manage DB fields' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'bas_modify_struct', users, 'sbas')}}
</td>
<td style="text-align:center;width:48px;"></td>
</tr>
{% endif %}
<tr>
<td style="overflow:hidden;white-space:nowrap;">
{{rights['base_id']|bas_names(app)}}
</td>
<td class="users_col case_right_access" title="{% trans 'Access' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'access', users, 'base')}}
</td>
<td class="users_col case_right_actif" title="{% trans 'Active' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'actif', users, 'base')}}
</td>
<td class="users_col case_right_canputinalbum" title="{% trans 'Allowed to add in basket' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'canputinalbum', users, 'base')}}
</td>
<td class="users_col case_right_candwnldpreview" title="{% trans 'Access to preview' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'candwnldpreview', users, 'base')}}
</td>
<td class="users_col case_right_nowatermark" title="{% trans 'Remove watermark' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'nowatermark', users, 'base')}}
</td>
<td class="users_col case_right_candwnldhd" title="{% trans 'Access to HD' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'candwnldhd', users, 'base')}}
</td>
<td class="users_col case_right_cancmd" title="{% trans 'Allowed to order' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'cancmd', users, 'base')}}
</td>
<td class="users_col case_right_quota" title="{% trans 'Set download quotas' %}">
<div class="quota_trigger quota_{{rights['base_id']}}">
{% if rights['restrict_dwnld'] > 0 %}
<img src="/skins/icons/user_details_on.png" />
{% else %}
<img src="/skins/icons/user_details_off.png" />
{% endif %}
<input type="hidden" name="quota_base_id" value="{{rights['base_id']}}"/>
</div>
</td>
<td class="users_col case_right_time" title="{% trans 'Set time restrictions' %}">
<div class="time_trigger time_{{rights['base_id']}}">
{% if rights['time_limited'] > 0 %}
<img src="/skins/icons/user_details_on.png" />
{% else %}
<img src="/skins/icons/user_details_off.png" />
{% endif %}
<input type="hidden" name="time_base_id" value="{{rights['base_id']}}"/>
</div>
</td>
<td class="users_col case_right_masks" title="{% trans 'Set statuses restrictions' %}">
<div class="masks_trigger quotatime_{{rights['base_id']}}">
{% if rights['masks'] > 0 %}
<img src="/skins/icons/user_details_on.png" />
{% else %}
<img src="/skins/icons/user_details_off.png" />
{% endif %}
<input type="hidden" name="masks_base_id" value="{{rights['base_id']}}"/>
</div>
</td>
<td style="text-align:center;width:100px;"></td>
<td class="users_col case_right_canaddrecord" title="{% trans 'Allowed to add' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'canaddrecord', users, 'base')}}
</td>
<td class="users_col case_right_canmodifrecord" title="{% trans 'Allowed to edit' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'canmodifrecord', users, 'base')}}
</td>
<td class="users_col case_right_chgstatus" title="{% trans 'Allowed to change statuses' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'chgstatus', users, 'base')}}
</td>
<td class="users_col case_right_candeleterecord" title="{% trans 'Allowed to delete' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'candeleterecord', users, 'base')}}
</td>
<td class="users_col case_right_imgtools" title="{% trans 'Access to image tools' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'imgtools', users, 'base')}}
</td>
<td class="users_col case_right_canadmin" title="{% trans 'Manage users' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'canadmin', users, 'base')}}
</td>
<td class="users_col case_right_canreport" title="{% trans 'Allowed to access report' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'canreport', users, 'base')}}
</td>
<td class="users_col case_right_canpush" title="{% trans 'Allowed to push' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'canpush', users, 'base')}}
</td>
<td class="users_col case_right_manage" title="{% trans 'Manage collection' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'manage', users, 'base')}}
</td>
<td class="users_col case_right_modify" title="{% trans 'Manage values lists' %}">
{{_self.format_checkbox(app['authentication'].getUser(), rights, 'modify_struct', users, 'base')}}
</td>
<td colspan="5">
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</form>
</div>
{% if main_user is not empty and main_user.is_template is empty and main_user.is_special is empty %}
<div id="user_infos_tab" class="PNB" style="top:40px;overflow:auto;">
<form id="user_infos_form">
<table>
<tr>
<td>
{% trans 'admin::compte-utilisateur identifiant' %}
</td>
<td>
<input type="text" value="{{main_user.get_login()}}" readonly="readonly" />
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur sexe' %}
</td>
<td>
<select name="gender">
<option {% if main_user.get_gender() == 0 %}selected="selected"{% endif %} value="0" >{% trans 'admin::compte-utilisateur:sexe: mademoiselle' %}</option>
<option {% if main_user.get_gender() == 1 %}selected="selected"{% endif %} value="1" >{% trans 'admin::compte-utilisateur:sexe: madame' %}</option>
<option {% if main_user.get_gender() == 2 %}selected="selected"{% endif %} value="2" >{% trans 'admin::compte-utilisateur:sexe: monsieur' %}</option>
</select>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur prenom' %}
</td>
<td>
<input type="text" name="first_name" value="{{main_user.get_firstname()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur nom' %}
</td>
<td>
<input type="text" name="last_name" value="{{main_user.get_lastname()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur email' %}
</td>
<td>
<input type="text" name="email" value="{{main_user.get_email()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur adresse' %}
</td>
<td>
<input type="text" name="address" value="{{main_user.get_address()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur code postal' %}
</td>
<td>
<input type="text" name="zip" value="{{main_user.get_zipcode()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur ville' %}
</td>
<td>
<input type="text" geonameid="{{main_user.get_geonameid()}}" value="{{ app['geonames'].name_from_id(main_user.get_geonameid()) }}" class="geoname_field" name="geonameid" />
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur poste' %}
</td>
<td>
<input type="text" name="function" value="{{main_user.get_position()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur societe' %}
</td>
<td>
<input type="text" name="company" value="{{main_user.get_company()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur activite' %}
</td>
<td>
<input type="text" name="activite" value="{{main_user.get_job()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur telephone' %}
</td>
<td>
<input type="text" name="telephone" value="{{main_user.get_tel()}}"/>
</td>
</tr>
<tr>
<td>
{% trans 'admin::compte-utilisateur fax' %}
</td>
<td>
<input type="text" name="fax" value="{{main_user.get_fax()}}"/>
</td>
</tr>
</table>
</form>
</div>
{% endif %}
</div>
<div class="PNB10" style="top:auto;height:20px;">
<button class="users_rights_valid">{% trans 'boutton::valider' %}</button>
<a href="/admin/users/search/" class="users_rights_cancel">{% trans 'boutton::retour' %}</a>
</div>
</div>
<script type='text/javascript'>
$('#users_rights_form button#reset_rights').bind('click', function(){
if(confirm("{% trans'are you sure you want reset rights ?' %}"))
{
var users = $('#users_rights_form input[name="users"]').val();
$.ajax({
type: 'POST',
url: '/admin/users/rights/reset/',
dataType:'json',
data: {
users : users
},
success: function(data){
if(!data.error)
{
if(users === '')
{
return false;
}
$('#right-ajax').empty().addClass('loading');
p4.users.sel = [];
$.ajax({
type: 'GET',
url: '/admin/users/rights/',
data: {
users : users
},
success: function(data){
$('#right-ajax').removeClass('loading').html(data);
}
});
return false;
}
else
{
alert(data.message);
}
}
});
}
});
</script>