mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 09:53:15 +00:00
Merge branch 'master' into PHRAS-2419_refacto_Icons_actions_under_Thumbnail
This commit is contained in:
@@ -232,12 +232,93 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="well well-large" style="border: 1px solid #333333;">
|
||||
<div style="max-width: 400px;margin-left: 52px">
|
||||
<div style="max-width: 400px;margin-left: 2%;display: inline-block;width: 47%;margin-right: 1%;">
|
||||
<input type="submit" class="btn btn-info btn-block btn-large" value="{{ 'boutton::valider' | trans }}"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="max-width: 400px;margin-left: 1%;width: 47%;display: inline-block;margin-right: 2%;float: right;">
|
||||
|
||||
{% if not user.isadmin() and not user.hasLdapCreated() and (owned_feeds|length == 0) and (initiated_validations|length == 0) %}
|
||||
|
||||
<a href="#delete-account-process" type="button" role="button" data-toggle="modal" class="btn btn-danger btn-block btn-large">{{ 'phraseanet::account: Delete my account' | trans }}</a>
|
||||
|
||||
<!-- Modal -->
|
||||
<div id="delete-account-process" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3 id="myModalLabel">{{ "phraseanet::account: Process to delete account" }}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{ "phraseanet::account: Are you sure you want to delete your account?" | trans }} </p>
|
||||
<h6>{{ "phraseanet::account: List of data to be deleted" | trans }}</h6>
|
||||
|
||||
{% if baskets|length > 0 %}
|
||||
- {{ 'Paniers' | trans }}
|
||||
<ul style="padding-left: 30px">
|
||||
{% for basket in baskets %}
|
||||
<li>{{ basket.getName() }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if api_accounts|length > 0 %}
|
||||
- {{ "My application " | trans }}
|
||||
<ul style="padding-left: 30px">
|
||||
{% for api_account in api_accounts %}
|
||||
<li>{{ api_account.getApplication().getName() ~ " => Client_id: " ~ api_account.getApplication().getClientId() }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif%}
|
||||
|
||||
- {{ "phraseanet::account: My phraseanet account" | trans }}
|
||||
<ul style="padding-left: 30px">
|
||||
<li>Name : {{ user.getFirstName() ~ ' ' ~ user.getLastName() }}</li>
|
||||
<li>Login : {{ user.getLogin() }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<label style="text-align: left;" class="form_label checkbox" for="delete_account_aggree">
|
||||
{% if app['conf'].get(['user_account', 'deleting_policies', 'email_confirmation']) %}
|
||||
{{ "phraseanet::account: I am agree to delete my account, need confirmation on mail" | trans }}
|
||||
{% else %}
|
||||
{{ "phraseanet::account: I am agree to delete my account" | trans }}
|
||||
{% endif %}
|
||||
<input class="input_element input-xlarge" type="checkbox" id="delete_account_aggree"/>
|
||||
</label>
|
||||
|
||||
<button class="btn" data-dismiss="modal" aria-hidden="true">{{ "No" | trans }}</button>
|
||||
<a id="delete_account_confirm" class="btn btn-info" style="opacity:0.5;pointer-events: none;" >{{ "Yes" | trans }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
<p style="font-size: 12px"> {{ "phraseanet::account: << your account can be deleted via admin interface >> " | trans }}</p>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var deleteButton = $("#delete_account_confirm");
|
||||
$("#delete_account_aggree").bind("click", function(e) {
|
||||
if ($(this).is(":checked")) {
|
||||
deleteButton.attr("href", '{{ path("account_process_delete") }}');
|
||||
deleteButton.css({"opacity": "1", "pointer-events": "auto"});
|
||||
} else {
|
||||
deleteButton.removeAttr("href");
|
||||
deleteButton.css({"opacity": "0.5", "pointer-events": "none"});
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
@@ -94,7 +94,7 @@
|
||||
<tbody>
|
||||
{% for session in data['sessions'] %}
|
||||
{% set row = session['session'] %}
|
||||
<tr title="{{ _self.tooltip_connected_users(row) | raw }}" class="{% if loop.index is odd %}odd{% else %}even{% endif %} usrTips" id="TREXP_{{ row.getId()}}">
|
||||
<tr title="{{ _self.tooltip_connected_users(row) | e }}" class="{% if loop.index is odd %}odd{% else %}even{% endif %} usrTips" id="TREXP_{{ row.getId()}}">
|
||||
|
||||
{% if row.getId() == app['session'].get('session_id') %}
|
||||
<td style="color:#ff0000"><i>{{ row.getUser().getDisplayName() }}</i></td>
|
||||
|
@@ -19,7 +19,7 @@
|
||||
src="{{ url('alchemy_embed_view', {url: url|trim, autoplay: autoplay|default('false') }) }}"
|
||||
frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
{% elseif record_type == 'FLEXPAPER' %}
|
||||
{% elseif record_type == 'FLEXPAPER' or record_type == 'PDF' %}
|
||||
<div id="phraseanet-embed-frame" class="documentTips"
|
||||
data-original-width="{{original_w}}"
|
||||
data-original-height="{{original_h}}"
|
||||
|
@@ -49,7 +49,13 @@
|
||||
<!-- End of header table -->
|
||||
<!-- Subject table -->
|
||||
<table width="90%" cellpadding="0" cellspacing="0" border="0" align="center" style="width:90% !important;">
|
||||
<tr style="background-color:#a6aab0">
|
||||
<tr style=
|
||||
{% if mailSkin == constant('Alchemy\\Phrasea\\Notification\\Mail\\MailRequestAccountDelete::MAIL_SKIN') %}
|
||||
"background: linear-gradient(to bottom, #ee5f5b, #bd362f)"
|
||||
{% elseif mailSkin == constant('Alchemy\\Phrasea\\Notification\\Mail\\AbstractMail::MAIL_SKIN') %}
|
||||
"background-color:#a6aab0"
|
||||
{% endif %}
|
||||
>
|
||||
<td height="50" valign="center" align="center" style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size:16px; line-height:19px; font-weight:bold; color:#ffffff;">
|
||||
{{ subject }}
|
||||
</td>
|
||||
@@ -72,7 +78,7 @@
|
||||
<span style="color:#FFA500; color:#FFA500 !important; text-decoration:underline; cursor:pointer;">{{ senderMail }}</span></a><br/>
|
||||
{% endif %}
|
||||
<br/>
|
||||
{{ messageText | nl2br }}
|
||||
{{ messageText | raw | nl2br }}
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
|
@@ -51,7 +51,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<h2 class="title15">
|
||||
{{basket.getName()|raw}}
|
||||
{{basket.getName()|e}}
|
||||
</h2>
|
||||
{% if basket.getValidation().isFinished() %}
|
||||
{{ '(validation) session terminee' | trans }}
|
||||
@@ -116,7 +116,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<h2 class="title15">
|
||||
{{ basket.getName()|raw}}
|
||||
{{ basket.getName()|e}}
|
||||
</h2>
|
||||
</td>
|
||||
<td class="right">
|
||||
|
@@ -19,7 +19,7 @@
|
||||
<img src='/assets/common/images/icons/basket_push_unread.png' title=''/>
|
||||
{% endif %}
|
||||
<img src='/assets/common/images/icons/basket.png' title=''/>
|
||||
{{basket.getName()}}
|
||||
{{basket.getName()|e}}
|
||||
</span>
|
||||
</a>
|
||||
<div class="menu">
|
||||
@@ -99,7 +99,7 @@
|
||||
{% else %}
|
||||
<img src='/assets/common/images/icons/basket.png' title=''/>
|
||||
{% endif %}
|
||||
{{basket.getName()}}
|
||||
{{basket.getName()|e}}
|
||||
</span>
|
||||
</a>
|
||||
<div class="menu">
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<div class="PNB10 LeftColumn">
|
||||
<div class="PNB" style="text-align:center;">
|
||||
{% if context == 'Push' %}
|
||||
<img style="width: 36px; height: 36px" src="/assets/common/images/icons/push64.png"/>
|
||||
<img style="width: 36px; height: 36px" src="/assets/common/images/icons/push-icon.png"/>
|
||||
{% else %}
|
||||
<img style="width: 36px; height: 36px" src="/assets/common/images/icons/validation.png"/>
|
||||
{% endif %}
|
||||
|
@@ -264,6 +264,12 @@
|
||||
<div class="PNB" id="rightFrame" style="left:auto; width:{{ w2 ~ '%' }}">
|
||||
<div id="headBlock" class="PNB">
|
||||
<div class="searchFormWrapper">
|
||||
|
||||
{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'QUERY' %}
|
||||
<div id="FIRST_QUERY_CONTAINER" class="start-query" style="display: none" data-format="text">{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_jsonquery') | raw}}</div>
|
||||
{% elseif app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'LAST_QUERY' %}
|
||||
<div id="FIRST_QUERY_CONTAINER" class="last-query" style="display: none" data-format="json">{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'last_jsonquery') | raw}}</div>
|
||||
{% endif %}
|
||||
<form id="searchForm" method="POST" action="{{ path('prod_query') }}" name="phrasea_query" class="phrasea_query">
|
||||
<input id="SENT_query" name="qry" type="hidden" value="{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query')}}">
|
||||
<input type="hidden" name="pag" id="formAnswerPage" value="">
|
||||
@@ -404,27 +410,27 @@
|
||||
</label>
|
||||
|
||||
<div class="term_select">
|
||||
<div class="term_select_wrapper">
|
||||
<select class="term_select_field" style="vertical-align:middle; width:30%;">
|
||||
<div class="term_select_wrapper_template" style="display: none;">
|
||||
<select class="term_select_field" style="vertical-align:middle; width:30%;">
|
||||
<option value="">{{ 'Select a field' | trans }}</option>
|
||||
{% for field_id, field in search_datas['fields'] %}
|
||||
{% if field['type'] != 'date' %}
|
||||
<option class="dbx db_{{field['sbas']|join(' db_')}}" value="{{field_id}}">{{field['fieldname']}}</option>
|
||||
{% endif %}
|
||||
{# {% if field['type'] != 'date' %}#}
|
||||
<option class="dbx db_{{field['sbas']|join(' db_')}}" data-fieldtype="{{ field['type'] }}-FIELD" value="{{field_id}}">{{field['fieldname']}}</option>
|
||||
{#{% endif %}#}
|
||||
{% endfor %}
|
||||
</select>
|
||||
<select disabled style="vertical-align:middle; width: 23%;">
|
||||
<option value="contains">{{ 'Contains' | trans }}</option>
|
||||
<option value="equals">{{ 'Equals' | trans }}</option>
|
||||
<select class="term_select_op" disabled style="vertical-align:middle; width: 23%;">
|
||||
<option value=":">{{ 'Contains' | trans }}</option>
|
||||
<option value="=">{{ 'Equals' | trans }}</option>
|
||||
</select>
|
||||
<input disabled style="vertical-align:middle; width: 32%;" placeholder="{{ 'Ex : Paris, bleu, montagne' | trans }}">
|
||||
<input class="term_deleter" style="margin-bottom: 4px;" disabled>
|
||||
<input class="term_select_value" disabled style="vertical-align:middle; width: 32%;" placeholder="{{ 'Ex : Paris, bleu, montagne' | trans }}">
|
||||
<input class="term_deleter" style="margin-bottom: 4px;">
|
||||
</div>
|
||||
|
||||
<button class="add_new_term"><span>+</span> Add</button>
|
||||
</div>
|
||||
|
||||
<div style="display:none;">
|
||||
{# <div style="display:none;">
|
||||
<select class="term_select_multiple" size="8" multiple onchange="prodApp.appEvents.emit('search.doCheckFilters', true);" name="fields[]" style="vertical-align:middle; width:99%;">
|
||||
<option value="phraseanet--all--fields">{{ 'rechercher dans tous les champs' | trans }}</option>
|
||||
{% for field_id, field in search_datas['fields'] %}
|
||||
@@ -433,7 +439,7 @@
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>#}
|
||||
</div>
|
||||
|
||||
<div id="ADVSRCH_DATE_ZONE">
|
||||
@@ -449,13 +455,15 @@
|
||||
</div>
|
||||
</label>
|
||||
<span>
|
||||
<select name="date_field" class="input-medium check-filters" data-save="true" style="width: 166px;">
|
||||
<select name="date_field" class="date-field input-medium check-filters" data-save="true" style="width: 166px;">
|
||||
<option selected="selected"
|
||||
value="">{{ 'Rechercher dans un champ date' | trans }}</option>
|
||||
{% for fieldname, date in search_datas['dates'] %}
|
||||
<option
|
||||
class="dbx db_{{date['sbas']|join(' db_')}}" value="{{ fieldname }}">{{ fieldname }}</option>
|
||||
{% endfor %}
|
||||
<option value="updated_on">{{ 'updated_on' | trans }}</option>
|
||||
<option value="created_on">{{ 'created_on' | trans }}</option>
|
||||
</select>
|
||||
</span>
|
||||
<span id="ADVSRCH_DATE_SELECTORS" style="display: inline-block;height: 26px;line-height: 26px;">
|
||||
@@ -498,13 +506,16 @@
|
||||
{% for status_bit, status in databox.status %}
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<label class="checkbox inline custom_checkbox_label">
|
||||
{% if status['img_off'] %}
|
||||
<img src="{{status['img_off']}}" title="{{status['labels_off_i18n'][app['locale']]}}" />
|
||||
{% endif %}
|
||||
<input class="field_switch field_{{databox_id}} check-filters" data-save="true"
|
||||
type="checkbox" value="0"
|
||||
n="{{status_bit}}" name="status[{{databox_id}}][{{status_bit}}]" />
|
||||
<input type="checkbox" class="field_switch field_{{databox_id}}"
|
||||
value="0"
|
||||
data-sbas_id="{{databox_id}}" data-sb="{{status_bit}}"
|
||||
name="status[{{databox_id}}][{{status_bit}}]"
|
||||
/>
|
||||
<span class="custom_checkbox"></span>
|
||||
{{status['labels_off_i18n'][app['locale']]}}
|
||||
</label>
|
||||
@@ -514,9 +525,11 @@
|
||||
{% if status['img_on'] %}
|
||||
<img src="{{status['img_on']}}" title="{{status['labels_on_i18n'][app['locale']]}}" />
|
||||
{% endif %}
|
||||
<input class="field_switch field_{{databox_id}} check-filters" data-save="true"
|
||||
type="checkbox" value="1"
|
||||
n="{{status_bit}}" name="status[{{databox_id}}][{{status_bit}}]"/>
|
||||
<input type="checkbox" class="field_switch field_{{databox_id}}"
|
||||
value="1"
|
||||
data-sbas_id="{{databox_id}}" data-sb="{{status_bit}}"
|
||||
name="status[{{databox_id}}][{{status_bit}}]"
|
||||
/>
|
||||
<span class="custom_checkbox"></span>
|
||||
{{status['labels_on_i18n'][app['locale']]}}
|
||||
</label>
|
||||
|
@@ -12,17 +12,17 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="name"><%= item.display_name %></span>
|
||||
<span class="name"><%= htmlEncode(item.display_name) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="email"><i><%= item.email %></i></span>
|
||||
<span class="email"><i><%= htmlEncode(item.email) %></i></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="subtite"><%= item.subtitle || '' %></span>
|
||||
<span class="subtite"><%= htmlEncode(item.subtitle) || '' %></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -47,7 +47,7 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="name"><%= item.name %></span>
|
||||
<span class="name"><%= htmlEncode(item.name) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -81,12 +81,12 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<span class="name"><%= user.display_name %></span>
|
||||
<span class="name"><%= htmlEncode(user.display_name) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<span class="subtite"><%= user.subtitle || '' %></span>
|
||||
<span class="subtite"><%= htmlEncode(user.subtitle) || '' %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="toggles">
|
||||
@@ -201,12 +201,12 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<span class="name"><%= user.display_name %></span>
|
||||
<span class="name"><%= htmlEncode(user.display_name) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<span class="subtite"><%= user.subtitle || '' %></span>
|
||||
<span class="subtite"><%= htmlEncode(user.subtitle) || '' %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="toggles">
|
||||
@@ -242,12 +242,12 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<span class="name"><%= user.display_name %></span>
|
||||
<span class="name"><%= htmlEncode(user.display_name) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<span class="subtite"><%= user.subtitle || '' %></span>
|
||||
<span class="subtite"><%= htmlEncode(user.subtitle) || '' %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="toggles">
|
||||
@@ -267,3 +267,22 @@
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function htmlEncode(str) {
|
||||
return str.replace(/[&"'<>]/g, function(c){
|
||||
switch (c)
|
||||
{
|
||||
case "&":
|
||||
return "&";
|
||||
case "'":
|
||||
return "'";
|
||||
case '"':
|
||||
return """;
|
||||
case "<":
|
||||
return "<";
|
||||
case ">":
|
||||
return ">";
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
@@ -31,7 +31,10 @@
|
||||
<span>{{ 'Select files...' | trans }}</span>
|
||||
<input type="file" name="files[]" multiple>
|
||||
</span>
|
||||
<br />
|
||||
<br />
|
||||
<p class="or_upload">{{ "Or" | trans }}</p>
|
||||
<div class="url_upload"><input type="url" value="" id="add-url"><button class="add-url add_url_upload">{{ 'Add this url' | trans }}</button></div>
|
||||
<br/>
|
||||
<span class="comment">
|
||||
({% trans with {'%maxFileSizeReadable%' : maxFileSizeReadable} %}maximum : %maxFileSizeReadable%{% endtrans %})
|
||||
</span>
|
||||
|
@@ -16,11 +16,11 @@
|
||||
|
||||
{% if context %}
|
||||
{% set zterm %}
|
||||
{% trans with {'%term%' : term, '%context%' : context} %}thesaurus:: le terme %term% avec contexte %context%{% endtrans %}
|
||||
{% trans with {'%term%' : term | e, '%context%' : context | e} %}thesaurus:: le terme %term% avec contexte %context%{% endtrans %}
|
||||
{% endset %}
|
||||
{% else %}
|
||||
{% set zterm %}
|
||||
{% trans with {'%term%' : term} %}thesaurus:: le terme %term% sans contexte{% endtrans %}
|
||||
{% trans with {'%term%' : term | e} %}thesaurus:: le terme %term% sans contexte{% endtrans %}
|
||||
{% endset %}
|
||||
{% endif %}
|
||||
|
||||
|
@@ -338,6 +338,8 @@
|
||||
for(var sy=syl.item(0).firstChild; sy; sy=sy.nextSibling )
|
||||
{
|
||||
var lng = sy.getAttribute("lng");
|
||||
var v = escapeHtmlDataFromXML(sy.getAttribute("v"));
|
||||
|
||||
html += "<tr>";
|
||||
if(lng)
|
||||
if(tFlags[lng])
|
||||
@@ -347,7 +349,7 @@
|
||||
else
|
||||
html += "<td><span style='background-color:#cccccc'> ? </span></td>";
|
||||
|
||||
html += "<td> "+sy.getAttribute("v")+"</td>";
|
||||
html += "<td> "+ v +"</td>";
|
||||
|
||||
var hits = 0+sy.getAttribute("hits");
|
||||
if(hits == 1)
|
||||
@@ -361,6 +363,12 @@
|
||||
return(html);
|
||||
}
|
||||
|
||||
// Let the browser to do it
|
||||
function escapeHtmlDataFromXML(data){
|
||||
var d = document.createElement('div');
|
||||
d.appendChild(document.createTextNode(data));
|
||||
return d.innerHTML;
|
||||
}
|
||||
|
||||
// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
Reference in New Issue
Block a user