Merge branch 'master' of https://github.com/alchemy-fr/Phraseanet into PHRAS-2276-port-template-escape

This commit is contained in:
aina-esokia
2019-03-29 17:09:37 +04:00
143 changed files with 3313 additions and 10651 deletions

View File

@@ -136,55 +136,72 @@
<tbody>
<tr>
<td>
<div class="context-menu context-menu-theme-vista">
<div class="context-menu context-menu-theme-flat">
<div title="" class="context-menu-item">
<div class="context-menu-item-inner export-record-action"
data-kind="basket" data-id="{{basket.getId()}}">{{ 'action::exporter' | trans }}
data-kind="basket" data-id="{{basket.getId()}}">
<a href="#">
<img src="/assets/common/images/icons/export-shadow.png" style="width: 22px;" alt="{{ 'action::exporter' | trans }}">
<span>{{ 'action::exporter' | trans }}</span>
</a>
</div>
</div>
<div title="" class="context-menu-item">
<div class="context-menu-item-inner">
<a href="{{ path('lightbox_compare', { 'basket' : basket.getId() }) }}" target="_blank">Lightbox</a>
<a href="{{ path('lightbox_compare', { 'basket' : basket.getId() }) }}" target="_blank">
<img src="/assets/lightbox/images/lightbox-icon.png" style="width: 20px; box-shadow: 0 2px 2px rgba(0,0,0,.2);" alt="{{ 'Lightbox' | trans }}">
<span>{{ 'Lightbox' | trans }}</span>
</a>
</div>
</div>
<div title="" class="context-menu-item">
<div class="context-menu-item-inner">
<a class="basket-update-action" data-basket-id="{{ basket.getId() }}" title="{{ 'action::renommer' | trans }}" href="#">
{{ 'action::renommer' | trans }}
<img src="/assets/common/images/icons/rename.png" style="width: 26px; margin-left: -2px; margin-right: -2px;" alt="{{ 'action::renommer' | trans }}">
<span>{{ 'action::renommer' | trans }}</span>
</a>
</div>
</div>
{% if basket.getValidation() %}
<div title="" class="context-menu-item">
<a target="_blank" href="{{ path('lightbox_validation', { 'basket' : basket.getId() }) }}">
<div class="context-menu-item-inner">
{{ 'action::Valider' | trans }}
</div>
</a>
<div class="context-menu-item-inner">
<a target="_blank" href="{{ path('lightbox_validation', { 'basket' : basket.getId() }) }}">
<img src="/assets/common/images/icons/basket_validation.png" style="width: 22px;" alt="{{ 'action::Valider' | trans }}">
<span>{{ 'action::Valider' | trans }}</span>
</a>
</div>
</div>
{% endif %}
<div title="" class="context-menu-item">
<div class="context-menu-item-inner basket-archive-action" data-basket-id="{{ basket.getId() }}" >
{{ 'Archive' | trans }}
</div>
</div>
<div title="" class="context-menu-item">
<div class="context-menu-item-inner basket-delete-action" id="SSTTREMOVER_{{basket.getId()}}" data-context="SSTT">
{{ 'action : supprimer' | trans }}
<a href="#">
<img src="/assets/common/images/icons/archive.png" style="width: 26px; margin-left: -2px; margin-right: -2px;" alt="{{ 'Archive' | trans }}">
<span>{{ 'Archive' | trans }}</span>
</a>
</div>
</div>
<div title="" class="context-menu-item">
<div class="context-menu-item-inner">
<a class="basket-reorder-content-action" data-basket-id="{{ basket.getId() }}" title="{{ 'Re-ordonner' | trans }}" href="#">
{{ 'Re-ordonner' | trans }}
<img src="/assets/common/images/icons/set-order.png" style="width: 26px; margin-left: -2px; margin-right: -2px;" alt="{{ 'Re-ordonner' | trans }}">
<span>{{ 'Re-ordonner' | trans }}</span>
</a>
</div>
</div>
<div title="" class="context-menu-item">
<div class="context-menu-item-inner basket-delete-action" id="SSTTREMOVER_{{basket.getId()}}" data-context="SSTT">
<a href="#">
<img src="/assets/common/images/icons/delete.png" style="width: 22px;" alt="{{ 'action : supprimer' | trans }}">
<span>{{ 'action : supprimer' | trans }}</span>
</a>
</div>
</div>
</div>
</td>
</tr>
</tbody>
@@ -222,24 +239,33 @@
<tbody>
<tr>
<td>
<div class="context-menu context-menu-theme-vista">
<div class="context-menu context-menu-theme-flat">
<div title="" class="context-menu-item">
<div class="context-menu-item-inner export-record-action"
data-kind="record" data-id="{{story.getRecord(app).get_serialize_key()}}">{{ 'action::exporter' | trans }}
data-kind="record" data-id="{{story.getRecord(app).get_serialize_key()}}">
<a href="#">
<img src="/assets/common/images/icons/export-shadow.png" style="width: 22px;" alt="{{ 'action::exporter' | trans }}">
<span>{{ 'action::exporter' | trans }}</span>
</a>
</div>
</div>
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::CANMODIFRECORD')) %}
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::CANMODIFRECORD')) %}
<div title="" class="context-menu-item menu3-custom-item">
<div class="context-menu-item-inner edit-record-action"
data-kind="record" data-id="{{story.getRecord(app).get_serialize_key()}}"
>{{ 'action::editer' | trans }}
>
<a href="#">
<img src="/assets/common/images/icons/edit-pen.png" style="width: 22px;" alt="{{ 'action::editer' | trans }}">
<span>{{ 'action::editer' | trans }}</span>
</a>
</div>
</div>
{% endif %}
{% endif %}
<div title="" class="context-menu-item menu3-custom-item">
<div class="context-menu-item-inner">
<a class="story_unfix" href="{{ path('prod_workzone_detach_story', { 'sbas_id' : story.getRecord(app).get_sbas_id(), 'record_id' : story.getRecord(app).get_record_id()}) }}">
{{ 'action::detacher' | trans }}
<img src="/assets/common/images/icons/detach.png" style="width: 26px; margin-left: -2px; margin-right: 2px;" alt="{{ 'action::detacher' | trans }}">
<span style="margin-left: 4px;">{{ 'action::detacher' | trans }}</span>
</a>
</div>
</div>
@@ -249,7 +275,8 @@
data-db-id="{{ story.getRecord(app).get_sbas_id }}"
data-record-id="{{ story.getRecord(app).get_record_id() }}"
href="#">
{{ 'Re-ordonner' | trans }}
<img src="/assets/common/images/icons/set-order.png" style="width: 26px; margin-left: -2px; margin-right: -2px;" alt="{{ 'Re-ordonner' | trans }}">
<span>{{ 'Re-ordonner' | trans }}</span>
</a>
</div>
</div>

View File

@@ -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 %}

View File

@@ -197,39 +197,43 @@
{% endif %}
</div>
</div>
<div id="basket_menu" class="context-menu context-menu-theme-vista" style="display:none;">
<div id="basket_menu" class="context-menu context-menu-theme-flat" style="display:none;">
<ul style="list-style-type:none;margin:0;padding:0">
<li class="context-menu-item">
<div class="context-menu-item-inner">
<a title="{{ 'action:: nouveau panier' | trans }}" class="basket-create-action" href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/new_basket.png"
<img style="cursor:pointer;" src="/assets/common/images/icons/Basket-New.png"
title="{{ 'action:: nouveau panier' | trans }}"/>
<span>{{ 'action:: nouveau panier' | trans }}</span>
</a>
</div>
</li>
<li class="context-menu-item">
<div class="context-menu-item-inner">
<a title="{{ 'Browse Baskets' | trans }}" class="basket-browse-action" href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/browse_basket.png"
<img style="cursor:pointer;" src="/assets/common/images/icons/Basket-Browse.png"
title="{{ 'Browse Baskets' | trans }}"/>
<span>{{ 'Browse Baskets' | trans }}</span>
</a>
</div>
</li>
<li class="context-menu-item divider"></li>
<li class="context-menu-item">
{% if app['conf'].get(['registry', 'modules', 'stories']) and app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::CANADDRECORD')) %}
<div class="context-menu-item-inner" style="line-height: 34px;">
<div class="divider"></div>
<div class="context-menu-item-inner">
<a title="{{ 'action:: nouveau reportage' | trans }}" class="story-create-action" href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/new_report.png"
<img style="cursor:pointer;" src="/assets/common/images/icons/Basket-New-Story.png"
title="{{ 'action:: nouveau reportage' | trans }}"/>
<span>{{ 'action:: nouveau reportage' | trans }}</span>
</a>
<div class="divider"></div>
</div>
{% endif %}
</li>
<li class="context-menu-item divider"></li>
<li class="context-menu-item">
<div class="context-menu-item-inner basket-filter-action" data-sort="date">
<a title="{{ 'phraseanet:: tri par date' | trans }} " href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/sort_date.png"
<img style="cursor:pointer;" src="/assets/common/images/icons/Sort-Date.png"
title="{{ 'phraseanet:: tri par date' | trans }}"/>
<span>{{ 'phraseanet:: tri par date' | trans }}</span>
</a>
@@ -238,7 +242,7 @@
<li class="context-menu-item">
<div class="context-menu-item-inner basket-filter-action" data-sort="name">
<a title="{{ 'phraseanet:: tri par nom' | trans }} " href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/sort_alpha.png"
<img style="cursor:pointer;" src="/assets/common/images/icons/Alphabetique.png"
title="{{ 'phraseanet:: tri par nom' | trans }}"/>
<span>{{ 'phraseanet:: tri par nom' | trans }}</span>
</a>
@@ -247,6 +251,8 @@
<li class="context-menu-item">
<div class="context-menu-item-inner basket-preferences-action">
<a title="{{ 'Preferences' | trans }} " href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/Basket-Settings.png"
title="{{ 'phraseanet:: Preferences' | trans }}"/>
<span>{{ 'Preferences' | trans }}</span>
</a>
</div>

View File

@@ -12,10 +12,11 @@
</div>
dans index {{ results.getIndexes() }}
{% if not(esquery is null) %}
<div>
<a href="#" id="esqueryCopy">{{ 'copyClipboardLabel' | trans }}</a>
</div>
<div class="esqueryDataDiv">
<textarea id="esqueryDataPaths" placeholder="{{ 'No thesaurus concept query' | trans }}"></textarea>
<div style="overflow: hidden;">
<a href="#" id="esqueryCopy">{{ 'copyClipboardLabel' | trans }}</a>
</div>
<textarea id="esqueryData">{{ esquery }}</textarea>
</div>
{% endif %}
@@ -23,6 +24,27 @@
<script language="javascript">
$(document).ready(function () {
var esQuery = JSON.parse($('#esqueryData').text());
var pathField = $('#esqueryDataPaths');
// Loop the top level
$.each(esQuery, testQuery);
function testQuery(key, value) {
if (value !== null && typeof value === "object") {
if(key === 'multi_match') {
var testValue = value.fields[0];
if(testValue.startsWith('concept_path')) {
pathField.append(value.query + '\n');
}
}
else {
// Recurse into children
$.each(value, testQuery);
}
}
}
var copyElContentClipboard = function (elId) {
var copyEl = document.getElementById(elId);
copyEl.select();

View File

@@ -111,25 +111,34 @@
<tbody>
<tr>
<td>
<div class="context-menu context-menu-theme-vista">
<div class="context-menu context-menu-theme-flat">
{% if granted_on_collection(record.baseId, [constant('\\ACL::CANPUTINALBUM')]) and not record.story %}
<div title="" class="context-menu-item">
<div class="context-menu-item-inner record-add-to-basket-action" data-db-id="{{record.databoxId}}" data-record-id="{{record.recordId}}">
{{ 'action : ajouter au panier' | trans }}
<a title="{{ 'action : ajouter au panier' | trans }}" href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/basket-1.png" alt="{{ 'action : ajouter au panier' | trans }}">
<span>{{ 'action : ajouter au panier' | trans }}</span>
</a>
</div>
</div>
{% endif %}
{% if granted_on_collection(record.baseId, [constant('\\ACL::CANDWNLDPREVIEW')]) or granted_on_collection(record.baseId, [constant('\\ACL::CANDWNLDHD')]) %}
<div title="" class="context-menu-item">
<div class="context-menu-item-inner record-export-action" data-kind="record" data-id="{{record.id}}">
{{ 'action : exporter' | trans }}
<a title="{{ 'action : exporter' | trans }}" href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/export-shadow.png" alt="{{ 'action : exporter' | trans }}">
<span>{{ 'action : exporter' | trans }}</span>
</a>
</div>
</div>
{% endif %}
<div title="" class="context-menu-item">
<div class="context-menu-item-inner record-print-action"
data-kind="record" data-id="{{record.id}}">
{{ 'action : print' | trans }}
<a title="{{ 'action : print' | trans }}" href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/print-shadow.png" alt="{{ 'action : print' | trans }}">
<span>{{ 'action : print' | trans }}</span>
</a>
</div>
</div>
{% if app['conf'].get(['registry', 'actions', 'social-tools']) == 'all'
@@ -138,7 +147,10 @@
{% if record.story is empty %}
<div title="" class="context-menu-item">
<div class="context-menu-item-inner share-record-action" data-db="{{record.baseId}}" data-record-id="{{record.recordId}}">
{{ 'reponses:: partager' | trans }}
<a title="{{ 'reponses:: partager' | trans }}" href="#">
<img style="cursor:pointer;" src="/assets/common/images/icons/Share.png" alt="{{ 'reponses:: partager' | trans }}">
<span>{{ 'reponses:: partager' | trans }}</span>
</a>
</div>
</div>
{% endif %}