mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-13 21:13:26 +00:00
349 lines
17 KiB
Twig
349 lines
17 KiB
Twig
{% macro make_bloc(app, WorkZone, selected_type, selected_id, srt) %}
|
|
<div class="alert_datas_changed ui-corner-all">
|
|
<a title="{% trans 'rafraichir' %}" class="basket_refresher" href="#">
|
|
{% trans 'Vous avez recu un nouveau panier' %}
|
|
</a>
|
|
</div>
|
|
<div class="bloc">
|
|
<div class="insidebloc">
|
|
{% set content = WorkZone.getContent(srt) %}
|
|
|
|
{% for basket in content.get(constant('\\Alchemy\\Phrasea\\Helper\\WorkZone::VALIDATIONS')) %}
|
|
|
|
|
|
<div tooltipsrc="/prod/tooltip/basket/{{basket.getId()}}/"
|
|
id="SSTT_{{basket.getId()}}"
|
|
class="basketTips ui-accordion-header ui-state-default
|
|
ui-corner-all header SSTT basket {% if not basket.getIsRead() %}unread{% endif %}
|
|
{% if basket.getId() == selected_id and selected_type == 'basket' %}active{% endif %}">
|
|
<a href="/prod/baskets/{{ basket.getId() }}/" style="text-overflow: ellipsis;">
|
|
<span>
|
|
<img src='/skins/icons/basket.gif' title=''/>
|
|
{{basket.getName()}}
|
|
</span>
|
|
</a>
|
|
<div class="menu">
|
|
<img title="{% trans 'Vous avez recu une demande de validation de document sur ce panier' %}"
|
|
class="basketTips" src="/skins/icons/valid.png"/>
|
|
<a style="cursor:pointer;display:inline;padding:0;margin:0;" class="contextMenuTrigger">▼</a>
|
|
|
|
<table cellspacing="0" cellpadding="0" style="display:none;" class="contextMenu basketcontextmenu">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<div class="context-menu context-menu-theme-vista">
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner"
|
|
onclick="downloadThis('SSTTID={{basket.getId()}}');">{% trans 'action::exporter' %}
|
|
</div>
|
|
</div>
|
|
<div title="" class="context-menu-item menu3-custom-item">
|
|
<div onclick="editThis('SSTT','{{basket.getId()}}');" style=""
|
|
class="context-menu-item-inner">{% trans 'action::editer' %}
|
|
</div>
|
|
</div>
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner">
|
|
<a href="/lightbox/compare/{{basket.getId()}}/" target="_blank">Lightbox</a>
|
|
</div>
|
|
</div>
|
|
|
|
{% if basket.getValidation() %}
|
|
<div title="" class="context-menu-item">
|
|
<a target="_blank" href="/lightbox/validate/{{basket.getId()}}/">
|
|
<div class="context-menu-item-inner">
|
|
{% trans 'action::Valider' %}
|
|
</div>
|
|
</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div id="SSTT_content_{{basket.getId()}}" class="content basket" style="overflow:hidden;">
|
|
|
|
</div>
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
{% for basket in content.get(constant('\\Alchemy\\Phrasea\\Helper\\WorkZone::BASKETS')) %}
|
|
|
|
|
|
<div tooltipsrc="/prod/tooltip/basket/{{basket.getId()}}/"
|
|
id="SSTT_{{basket.getId()}}"
|
|
class="basketTips ui-accordion-header ui-state-default
|
|
ui-corner-all header SSTT basket {% if not basket.getIsRead() %}unread{% endif %}
|
|
{% if basket.getId() == selected_id and selected_type == 'basket' %}active{% endif %}">
|
|
<a href="/prod/baskets/{{ basket.getId() }}/" style="text-overflow: ellipsis;">
|
|
<span>
|
|
<img src='/skins/icons/basket.gif' title=''/>
|
|
{{basket.getName()}}
|
|
</span>
|
|
</a>
|
|
<div class="menu">
|
|
{% if basket.getValidation() %}
|
|
<img title="{% trans 'Vous avez envoye une demande de validation de document sur ce panier' %}"
|
|
class="basketTips" src="/skins/icons/myvalid.png"/>
|
|
{% endif %}
|
|
{% if basket.getPusher(app) %}
|
|
{% set pusher = basket.getPusher(app).get_display_name() %}
|
|
<img class="basketTips" title="{% trans %}paniers:: panier recu de {{pusher}}{% endtrans %}"
|
|
src="/skins/icons/push16.png"/>
|
|
{% endif %}
|
|
|
|
<a style="cursor:pointer;display:inline;padding:0;margin:0;" class="contextMenuTrigger">▼</a>
|
|
|
|
<table cellspacing="0" cellpadding="0" style="display:none;" class="contextMenu basketcontextmenu">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<div class="context-menu context-menu-theme-vista">
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner"
|
|
onclick="downloadThis('SSTTID={{basket.getId()}}');">{% trans 'action::exporter' %}
|
|
</div>
|
|
</div>
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner">
|
|
<a href="/lightbox/compare/{{basket.getId()}}/" target="_blank">Lightbox</a>
|
|
</div>
|
|
</div>
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner">
|
|
<a class="dialog small-dialog" title="{% trans 'action::renommer' %}" href="/prod/baskets/{{basket.getId()}}/update/">
|
|
{% trans 'action::renommer' %}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
{% if basket.getValidation() %}
|
|
<div title="" class="context-menu-item">
|
|
<a target="_blank" href="/lightbox/validate/{{basket.getId()}}/">
|
|
<div class="context-menu-item-inner">
|
|
{% trans 'action::Valider' %}
|
|
</div>
|
|
</a>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner"
|
|
onclick="archiveBasket({{ basket.getId() }});return false;">
|
|
{% trans 'Archive' %}
|
|
</div>
|
|
</div>
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner" id="SSTTREMOVER_{{basket.getId()}}"
|
|
onclick="checkDeleteThis('SSTT',this);return false;">
|
|
{% trans 'action : supprimer' %}
|
|
</div>
|
|
</div>
|
|
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner">
|
|
<a class="dialog" title="{% trans 'Re-ordonner' %}" href="/prod/baskets/{{basket.getId()}}/reorder/">
|
|
{% trans 'Re-ordonner' %}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div id="SSTT_content_{{basket.getId()}}" class="content basket" style="overflow:hidden;">
|
|
|
|
</div>
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
{% for story in content.get(constant('\\Alchemy\\Phrasea\\Helper\\WorkZone::STORIES')) %}
|
|
|
|
|
|
<div tooltipsrc="/prod/tooltip/Story/{{story.getRecord(app).get_sbas_id()}}/{{story.getRecord(app).get_record_id()}}/"
|
|
id="SSWZ_{{story.getId()}}" sbas="{{story.getSbasId()}}"
|
|
class="STORY_{{ story.getRecord(app).get_serialize_key() }} basketTips ui-accordion-header ui-state-default
|
|
ui-corner-all header SSTT grouping
|
|
{% if story.getId() == selected_id and selected_type == 'story' %}active{% endif %}">
|
|
<a href="/prod/story/{{ story.getRecord(app).get_sbas_id }}/{{ story.getRecord(app).get_record_id() }}/">
|
|
<span>
|
|
{{ story.getRecord(app).get_base_id()|get_collection_logo(app)|raw }}
|
|
<i> {{ story.getRecord(app).get_title() }} </i>
|
|
</span>
|
|
</a>
|
|
<div class="menu">
|
|
<a style="cursor:pointer;display:inline;padding:0;margin:0;" class="contextMenuTrigger">
|
|
▼
|
|
</a>
|
|
|
|
<table cellspacing="0" cellpadding="0" style="display:none;" class="contextMenu basketcontextmenu">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<div class="context-menu context-menu-theme-vista">
|
|
<div title="" class="context-menu-item">
|
|
<div class="context-menu-item-inner"
|
|
onclick="downloadThis('lst={{story.getRecord(app).get_serialize_key()}}');">{% trans 'action::exporter' %}
|
|
</div>
|
|
</div>
|
|
<div title="" class="context-menu-item menu3-custom-item">
|
|
<div onclick="editThis('IMGT','{{story.getRecord(app).get_serialize_key()}}');" style=""
|
|
class="context-menu-item-inner">{% trans 'action::editer' %}
|
|
</div>
|
|
</div>
|
|
|
|
<div title="" class="context-menu-item menu3-custom-item">
|
|
<div class="context-menu-item-inner">
|
|
<a class="story_unfix" href="/prod/WorkZone/detachStory/{{story.getRecord(app).get_sbas_id()}}/{{story.getRecord(app).get_record_id()}}/">
|
|
{% trans 'action::detacher' %}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div title="" class="context-menu-item menu3-custom-item">
|
|
<div class="context-menu-item-inner">
|
|
<a class="dialog" title="{% trans 'Re-ordonner' %}" href="/prod/story/{{story.getRecord(app).get_sbas_id()}}/{{story.getRecord(app).get_record_id()}}/reorder/">
|
|
{% trans 'Re-ordonner' %}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div sbas="{{story.getSbasId()}}" id="SSTT_content_{{story.getId()}}" class="content grouping" style="overflow:hidden;">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro element(wz_scope, container, contained, record, ord) %}
|
|
{% set box_height = 110 %}
|
|
{% if app['phraseanet.user'].getPrefs('basket_title_display') == '1' %}
|
|
{% set box_height = (box_height + 20) %}
|
|
{% endif %}
|
|
{% if app['phraseanet.user'].getPrefs('basket_status_display') == '1' %}
|
|
{% set box_height = (box_height + 20) %}
|
|
{% endif %}
|
|
|
|
{% import 'common/thumbnail.html.twig' as thumbnail %}
|
|
|
|
<div ondblclick="{% if wz_scope == 'groupings' %}openPreview('REG',{{ ord }},'{{container.get_sbas_id()}}_{{container.get_record_id()}}');{% else %}openPreview('BASK',{{ ord }},{{container.getId()}});{% endif %}"
|
|
class="CHIM diapo CHIM_{{record.get_serialize_key()}}" style="height:{{box_height}}px;"
|
|
id="CHIM_{% if wz_scope == 'groupings' %}{{record.get_serialize_key()}}{% else %}{{ contained.getId() }}{% endif %}">
|
|
<input type="hidden" name="id" value="{{ record.get_serialize_key() }}"/>
|
|
{% if app['phraseanet.user'].getPrefs('basket_title_display') == '1' %}
|
|
<div class="title">
|
|
{{record.get_title()}}
|
|
</div>
|
|
{% endif %}
|
|
{% if app['phraseanet.user'].getPrefs('basket_status_display') == '1' %}
|
|
<div class="status" style="position:relative;height:20px;overflow-y:visible;z-index:15;">
|
|
{{record.get_status_icons|raw}}
|
|
</div>
|
|
{% endif %}
|
|
<div style="position:absolute;background-color:#959595;color:black;font-weight:bold;padding:3px;z-index:90;">
|
|
{{record.get_number()}}
|
|
</div>
|
|
{{thumbnail.format(record.get_thumbnail,82,82, '', true, false)}}
|
|
<div class="bottom">
|
|
<a
|
|
{% if wz_scope == 'groupings' %}
|
|
id="WZEL{{ container.get_sbas_id() }}_{{ container.get_record_id() }}_{{ record.get_sbas_id() }}_{{ record.get_record_id() }}"
|
|
href="/prod/story/{{ container.get_sbas_id() }}/{{ container.get_record_id() }}/delete/{{ record.get_sbas_id() }}/{{ record.get_record_id() }}/"
|
|
{% elseif wz_scope == 'basket' %}
|
|
id="WZEL_{{ container.getId() }}_{{ record.get_sbas_id() }}_{{ record.get_record_id() }}"
|
|
href="/prod/baskets/{{ container.getId() }}/delete/{{ contained.getId() }}/"
|
|
{% elseif wz_scope == 'basket' %}
|
|
href="#"
|
|
{% endif %}
|
|
class="WorkZoneElementRemover {{ wz_scope }}" title="{% trans 'delete'%}" >
|
|
X
|
|
</a>
|
|
{% if app['phraseanet.user'].getPrefs('basket_caption_display') == '1' %}
|
|
<div class="captionRolloverTips" tooltipsrc="/prod/tooltip/caption/{{record.get_sbas_id()}}/{{record.get_record_id()}}/basket/?number={{record.get_number()}}"></div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro display_basket(app, basket) %}
|
|
{% for basket_element in basket.getElements() %}
|
|
<span class="wrapCHIM_{{ basket_element.getRecord(app).get_serialize_key() }}">
|
|
{{ _self.element('basket', basket, basket_element, basket_element.getRecord(app), basket_element.getOrd()) }}
|
|
</span>
|
|
{% endfor %}
|
|
{% endmacro %}
|
|
|
|
{% macro display_validation(app, basket, ordre) %}
|
|
<div style="margin:5px 0;text-align:center;">
|
|
<form>
|
|
<select name="valid_ord">
|
|
<option {% if ordre=='nat'%}selected{% endif %} value="nat">{% trans 'panier:: ordre du panier' %}</option>
|
|
<option {% if ordre=='desc'%}selected{% endif %} value="desc">{% trans 'panier:: ordre Validation ascendante' %}</option>
|
|
<option {% if ordre=='asc'%}selected{% endif %} value="asc">{% trans 'panier:: ordre Validation descendante' %}</option>
|
|
</select>
|
|
</form>
|
|
</div>
|
|
|
|
{% for basket_element in basket.getElementsByOrder(ordre) %}
|
|
<span class="wrapCHIM_{{ basket_element.getRecord(app).get_serialize_key() }} valid">
|
|
<table style="width: 100%; min-width: 330px; display: inline-block;">
|
|
<tr>
|
|
<td style="width:80px;">
|
|
{{ _self.element('basket', basket, basket_element, basket_element.getRecord(app), basket_element.getOrd()) }}
|
|
</td>
|
|
<td style="width:100%;">
|
|
<table style=width:100%>
|
|
{% for choice in basket_element.getValidationDatas() %}
|
|
{% if basket.getValidation().getParticipant(app['phraseanet.user'], app).getCanSeeOthers() or choice.getParticipant().getUser(app) == app['phraseanet.user'] %}
|
|
<tr>
|
|
<td> {{ choice.getParticipant().getUser(app).get_display_name() }} </td>
|
|
<td>
|
|
{% if choice.getAgreement() == true %}
|
|
<img style="cursor:help;" src='/skins/lightbox/agree.png' title="{% trans "L'utilisateur approuve ce document" %}" />
|
|
{% elseif choice.getAgreement() is null %}
|
|
<img style="cursor:help;" src='/skins/icons/valid.png' title="{% trans "L'utilisateur n'a pas encore donne son avis sur ce document" %}" />
|
|
{% else %}
|
|
<img style="cursor:help;" src='/skins/lightbox/disagree.png' title="{% trans "L'utilisateur desapprouve ce document" %}" />
|
|
{% endif %}
|
|
</td>
|
|
<td style="width:25px;">
|
|
{% if choice.getNote() != '' %}
|
|
<img style="cursor:help;" src='/skins/icons/file-edit.png' class="noteTips" title="{{choice.getNote()|nl2br}}" />
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</span>
|
|
{% endfor %}
|
|
|
|
{% endmacro %}
|