mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +00:00
Merge branch 4.0
This commit is contained in:
@@ -10,55 +10,3 @@
|
||||
{{ 'Ajouter ma selection courrante' | trans }}
|
||||
</label>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
var $dialog = p4.Dialog.get(1);
|
||||
var $dialogBox = $dialog.getDomElement();
|
||||
|
||||
$('input[name="lst"]', $dialogBox).val(p4.Results.Selection.serialize());
|
||||
|
||||
var buttons = $dialog.getOption('buttons');
|
||||
|
||||
buttons[language.create] = function(){
|
||||
$('form', $dialogBox).trigger('submit')
|
||||
};
|
||||
|
||||
$dialog.setOption('buttons', buttons);
|
||||
|
||||
$('form', $dialogBox).bind('submit', function(event){
|
||||
|
||||
var $form = $(this);
|
||||
var dialog = $dialogBox.closest('.ui-dialog');
|
||||
var buttonPanel = dialog.find('.ui-dialog-buttonpane');
|
||||
|
||||
$.ajax({
|
||||
type: $form.attr('method'),
|
||||
url: $form.attr('action'),
|
||||
data: $form.serializeArray(),
|
||||
dataType: 'json',
|
||||
beforeSend:function(){
|
||||
$(":button:contains('" + language.create + "')", buttonPanel)
|
||||
.attr("disabled", true).addClass("ui-state-disabled");
|
||||
},
|
||||
success: function(data){
|
||||
|
||||
p4.WorkZone.refresh(data.basket.id);
|
||||
p4.Dialog.Close(1);
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
$(":button:contains('" + language.create + "')", buttonPanel)
|
||||
.attr("disabled", false).removeClass("ui-state-disabled");
|
||||
},
|
||||
timeout: function(){
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -34,187 +34,3 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var container = $('#reorder_box');//p4.Dialog.get(1).getDomElement();
|
||||
|
||||
$('button.autoorder', container).bind('click', function(){
|
||||
autoorder();
|
||||
return false;
|
||||
});
|
||||
$('button.reverseorder', container).bind('click', function(){
|
||||
reverse_order();
|
||||
return false;
|
||||
});
|
||||
|
||||
function autoorder()
|
||||
{
|
||||
var val = $.trim($('#auto_order').val());
|
||||
|
||||
if(val == '') {
|
||||
return;
|
||||
}
|
||||
|
||||
var diapos = [];
|
||||
$('#reorder_box .diapo form').each(function(i,n){
|
||||
diapos.push({
|
||||
"title": $('input[name=title]',n).val(),
|
||||
"order" : parseInt($('input[name=default]',n).val()),
|
||||
"id" : $('input[name=id]',n).val()
|
||||
});
|
||||
});
|
||||
|
||||
var sorterCallback;
|
||||
|
||||
if (val === "default") {
|
||||
sorterCallback = function(diapo) {return diapo.order;};
|
||||
} else {
|
||||
sorterCallback = function(diapo) {return diapo.title;};
|
||||
}
|
||||
|
||||
var elements = [];
|
||||
|
||||
_.chain(diapos)
|
||||
.sortBy(sorterCallback)
|
||||
.each(function(diapo) {
|
||||
elements.push($('#ORDER_'+ diapo.id));
|
||||
});
|
||||
|
||||
$('#reorder_box .elements').append(elements);
|
||||
}
|
||||
|
||||
function reverse_order() {
|
||||
var $container = $('#reorder_box .elements');
|
||||
$('#reorder_box .diapo').each(function() {
|
||||
$(this).prependTo($container);
|
||||
});
|
||||
}
|
||||
|
||||
$('.elements', container).sortable({
|
||||
appendTo : container,
|
||||
placeholder: 'diapo ui-sortable-placeholder',
|
||||
distance:20,
|
||||
cursorAt: {
|
||||
top:10,
|
||||
left:-20
|
||||
},
|
||||
items:'div.diapo',
|
||||
scroll:true,
|
||||
scrollSensitivity:40,
|
||||
scrollSpeed:30,
|
||||
start:function(event, ui){
|
||||
var selected = $('.selected',container);
|
||||
|
||||
selected.each(function(i,n){
|
||||
$(n).attr('position',i);
|
||||
});
|
||||
|
||||
var n = selected.length - 1;
|
||||
|
||||
$('.selected:visible', container).hide();
|
||||
|
||||
while(n > 0){
|
||||
$('<div style="height:130px;" class="diapo ui-sortable-placeholderfollow"></div>').after($('.diapo.ui-sortable-placeholder', container));
|
||||
n--;
|
||||
}
|
||||
},
|
||||
stop:function(event, ui){
|
||||
|
||||
$('.diapo.ui-sortable-placeholderfollow', container).remove();
|
||||
|
||||
var main_id = $(ui.item[0]).attr('id');
|
||||
|
||||
var selected = $('.selected',container);
|
||||
var sorter = new Array();
|
||||
|
||||
|
||||
selected.each(function(i,n){
|
||||
|
||||
var position = parseInt($(n).attr('position'));
|
||||
|
||||
if(position !== '') {
|
||||
sorter[position] = $(n);
|
||||
}
|
||||
|
||||
var id = $(n).attr('id');
|
||||
if(id == main_id) {
|
||||
return;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var before = true;
|
||||
var last_moved = $(ui.item[0]);
|
||||
$(sorter).each(function(i,n){
|
||||
$(n).show().removeAttr('position');
|
||||
if($(n).attr('id') == main_id){
|
||||
before = false;
|
||||
} else {
|
||||
if(before){
|
||||
$(n).before($(ui.item[0]));
|
||||
} else{
|
||||
$(n).after($(last_moved));
|
||||
}
|
||||
|
||||
}
|
||||
last_moved = sorter[i];
|
||||
});
|
||||
|
||||
},
|
||||
change:function(){
|
||||
$('.diapo.ui-sortable-placeholderfollow', container).remove();
|
||||
|
||||
var n = OrderSelection.length() - 1 ;
|
||||
while(n > 0) {
|
||||
$('<div style="height:130px;" class="diapo ui-sortable-placeholderfollow"></div>').after($('.diapo.ui-sortable-placeholder', container));
|
||||
n--;
|
||||
}
|
||||
}
|
||||
|
||||
}).disableSelection();
|
||||
|
||||
var OrderSelection = new Selectable($('.elements', container), {
|
||||
selector : '.CHIM'
|
||||
});
|
||||
|
||||
$('form[name="reorder"]', container).bind('submit', function(event){
|
||||
|
||||
//$this.SetLoader(true);
|
||||
var $form = $(this);
|
||||
|
||||
$('.elements form', container).each(function(i, el){
|
||||
var id = $('input[name="id"]', $(el)).val();
|
||||
|
||||
$('input[name="element[' + id + ']"]', $form).val(i+1);
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
type: $form.attr('method'),
|
||||
url: $form.attr('action'),
|
||||
data: $form.serializeArray(),
|
||||
dataType: 'json',
|
||||
beforeSend:function(){
|
||||
|
||||
},
|
||||
success: function(data){
|
||||
if(!data.success) {
|
||||
alert(data.message);
|
||||
}
|
||||
p4.WorkZone.refresh('current');
|
||||
p4.Dialog.get(1).Close();
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
|
||||
},
|
||||
timeout: function(){
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -6,48 +6,4 @@
|
||||
<textarea style="width:98%;height:120px;" name="description">{{ basket.getDescription() }}</textarea>
|
||||
<button type='button' class="btn btn-inverse" style="margin: 5px 40%;">{{ 'boutton::valider' | trans }}</button>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('form[name="basket-rename-box"]').on('submit', function(event){
|
||||
event.preventDefault();
|
||||
onSubmitRenameForm(event);
|
||||
});
|
||||
|
||||
$('#basket-rename-box button').on('click', function(event){
|
||||
event.preventDefault();
|
||||
onSubmitRenameForm(event);
|
||||
});
|
||||
|
||||
var onSubmitRenameForm = function(event) {
|
||||
var $form = $(event.currentTarget).closest('form');
|
||||
$.ajax({
|
||||
type: $form.attr('method'),
|
||||
url: $form.attr('action'),
|
||||
dataType: 'json',
|
||||
data: $form.serializeArray(),
|
||||
beforeSend:function(){
|
||||
|
||||
},
|
||||
success: function(data){
|
||||
$dialog = p4.Dialog.get(1).Close();
|
||||
if(data.success) {
|
||||
humane.info(data.message);
|
||||
return p4.WorkZone.refresh(data.basket.id);
|
||||
} else {
|
||||
humane.error(data.message);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
|
||||
},
|
||||
timeout: function(){
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
};
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
@@ -53,44 +53,7 @@
|
||||
</form>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<script language="javascript">
|
||||
$(document).ready(function(){
|
||||
$('input.ui-state-default').hover(
|
||||
function(){$(this).addClass('ui-state-hover');},
|
||||
function(){$(this).removeClass('ui-state-hover');}
|
||||
);
|
||||
|
||||
$('#permalinkUrlCopy').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
return copyElContentClipboard('permalinkUrl');
|
||||
});
|
||||
|
||||
$('#permaviewUrlCopy').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
return copyElContentClipboard('permaviewUrl');
|
||||
});
|
||||
|
||||
$('#embedCopy').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
return copyElContentClipboard('embedRecordUrl');
|
||||
});
|
||||
|
||||
var copyElContentClipboard = function(elId) {
|
||||
var copyEl = document.getElementById(elId);
|
||||
copyEl.select();
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'successful' : 'unsuccessful';
|
||||
console.log('Copying text command was ' + msg);
|
||||
} catch (err) {
|
||||
console.log('unable to copy');
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{% else %}
|
||||
<div>{{ 'No URL available' | trans }}</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
@@ -14,55 +14,4 @@
|
||||
<input type="checkbox" name="lst" value="" id="new_story_add_sel"/>
|
||||
{{ 'Ajouter ma selection courrante' | trans }}
|
||||
</label>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var $dialog = p4.Dialog.get(1);
|
||||
var $dialogBox = $dialog.getDomElement();
|
||||
|
||||
$('input[name="lst"]', $dialogBox).val(p4.Results.Selection.serialize());
|
||||
|
||||
var buttons = $dialog.getOption('buttons');
|
||||
|
||||
buttons[language.create] = function(){
|
||||
$('form', $dialogBox).trigger('submit')
|
||||
};
|
||||
|
||||
$dialog.setOption('buttons', buttons);
|
||||
|
||||
$('form', $dialogBox).bind('submit', function(event){
|
||||
|
||||
var $form = $(this);
|
||||
var dialog = $dialogBox.closest('.ui-dialog');
|
||||
var buttonPanel = dialog.find('.ui-dialog-buttonpane');
|
||||
|
||||
$.ajax({
|
||||
type: $form.attr('method'),
|
||||
url: $form.attr('action'),
|
||||
data: $form.serializeArray(),
|
||||
dataType: 'json',
|
||||
beforeSend:function(){
|
||||
$(":button:contains('" + language.create + "')", buttonPanel)
|
||||
.attr("disabled", true).addClass("ui-state-disabled");
|
||||
},
|
||||
success: function(data){
|
||||
|
||||
p4.WorkZone.refresh(data.WorkZone, '', true, 'story');
|
||||
p4.Dialog.Close(1);
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
$(":button:contains('" + language.create + "')", buttonPanel)
|
||||
.attr("disabled", false).removeClass("ui-state-disabled");
|
||||
},
|
||||
timeout: function(){
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</form>
|
||||
|
@@ -34,195 +34,3 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var optionsContainer = $('#reorder_options');
|
||||
var container = $('#reorder_box');
|
||||
|
||||
$('button.autoorder', optionsContainer).bind('click', function(){
|
||||
autoorder();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('button.reverseorder', optionsContainer).bind('click', function(){
|
||||
reverse_order();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
function autoorder()
|
||||
{
|
||||
var val = $.trim($('#auto_order').val());
|
||||
|
||||
if(val == '') {
|
||||
return;
|
||||
}
|
||||
|
||||
var diapos = [];
|
||||
$('#reorder_box .diapo form').each(function(i,n){
|
||||
diapos.push({
|
||||
"title": $('input[name=title]',n).val(),
|
||||
"order" : parseInt($('input[name=default]',n).val()),
|
||||
"id" : $('input[name=id]',n).val()
|
||||
});
|
||||
});
|
||||
|
||||
var sorterCallback;
|
||||
|
||||
if (val === "default") {
|
||||
sorterCallback = function(diapo) {return diapo.order;};
|
||||
} else {
|
||||
sorterCallback = function(diapo) {return diapo.title;};
|
||||
}
|
||||
|
||||
var elements = [];
|
||||
|
||||
_.chain(diapos)
|
||||
.sortBy(sorterCallback)
|
||||
.each(function(diapo) {
|
||||
elements.push($('#ORDER_'+ diapo.id));
|
||||
});
|
||||
|
||||
$('#reorder_box .elements').append(elements);
|
||||
}
|
||||
|
||||
function reverse_order() {
|
||||
var $container = $('#reorder_box .elements');
|
||||
$('#reorder_box .diapo').each(function() {
|
||||
$(this).prependTo($container);
|
||||
});
|
||||
}
|
||||
|
||||
$('.elements', container).sortable({
|
||||
appendTo : container,
|
||||
placeholder: 'diapo ui-sortable-placeholder',
|
||||
distance:20,
|
||||
cursorAt: {
|
||||
top:10,
|
||||
left:-20
|
||||
},
|
||||
items:'div.diapo',
|
||||
scroll:true,
|
||||
scrollSensitivity:40,
|
||||
scrollSpeed:30,
|
||||
start:function(event, ui){
|
||||
var selected = $('.selected',container);
|
||||
|
||||
selected.each(function(i,n){
|
||||
$(n).attr('position',i);
|
||||
});
|
||||
|
||||
var n = selected.length - 1;
|
||||
|
||||
$('.selected:visible', container).hide();
|
||||
|
||||
while(n > 0)
|
||||
{
|
||||
$('<div style="height:130px;" class="diapo ui-sortable-placeholderfollow"></div>').after($('.diapo.ui-sortable-placeholder', container));
|
||||
n--;
|
||||
}
|
||||
},
|
||||
stop:function(event, ui){
|
||||
|
||||
$('.diapo.ui-sortable-placeholderfollow', container).remove();
|
||||
|
||||
var main_id = $(ui.item[0]).attr('id');
|
||||
|
||||
var selected = $('.selected',container);
|
||||
var sorter = new Array();
|
||||
|
||||
|
||||
selected.each(function(i,n){
|
||||
|
||||
var position = parseInt($(n).attr('position'));
|
||||
|
||||
if(position !== '')
|
||||
{
|
||||
sorter[position] = $(n);
|
||||
}
|
||||
|
||||
var id = $(n).attr('id');
|
||||
if(id == main_id)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var before = true;
|
||||
var last_moved = $(ui.item[0]);
|
||||
$(sorter).each(function(i,n){
|
||||
$(n).show().removeAttr('position');
|
||||
if($(n).attr('id') == main_id)
|
||||
{
|
||||
before = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(before)
|
||||
$(n).before($(ui.item[0]));
|
||||
else
|
||||
$(n).after($(last_moved));
|
||||
|
||||
}
|
||||
last_moved = sorter[i];
|
||||
});
|
||||
|
||||
},
|
||||
change:function(){
|
||||
$('.diapo.ui-sortable-placeholderfollow', container).remove();
|
||||
|
||||
var n = OrderSelection.length() - 1 ;
|
||||
while(n > 0)
|
||||
{
|
||||
$('<div style="height:130px;" class="diapo ui-sortable-placeholderfollow"></div>').after($('.diapo.ui-sortable-placeholder', container));
|
||||
n--;
|
||||
}
|
||||
}
|
||||
|
||||
}).disableSelection();
|
||||
|
||||
var OrderSelection = new Selectable($('.elements', container), {
|
||||
selector : '.CHIM'
|
||||
});
|
||||
|
||||
|
||||
$('form[name="reorder"] button').bind('click', function(event){
|
||||
var $form = $(this).closest("form");
|
||||
|
||||
$('.elements form', container).each(function(i, el){
|
||||
var id = $('input[name="id"]', $(el)).val();
|
||||
$('input[name="element[' + id + ']"]', $form).val(i+1);
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
type: $form.attr('method'),
|
||||
url: $form.attr('action'),
|
||||
data: $form.serializeArray(),
|
||||
dataType: 'json',
|
||||
beforeSend:function(){
|
||||
|
||||
},
|
||||
success: function(data){
|
||||
if(!data.success) {
|
||||
alert(data.message);
|
||||
}
|
||||
p4.WorkZone.refresh('current', null, false, 'story');
|
||||
p4.Dialog.get(1).Close();
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
|
||||
},
|
||||
timeout: function(){
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -47,7 +47,7 @@
|
||||
<label for="">{{ 'City' | trans }}</label>
|
||||
</td>
|
||||
<td>
|
||||
<input name="city" type="text" value="" class="geoname_field"/>
|
||||
<input name="city" type="text" value="" class="geoname_field" autocomplete="false"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -66,67 +66,8 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var addUserConfig = {
|
||||
geonameServerUrl: "{{ app['geonames.server-uri'] }}"
|
||||
}
|
||||
|
||||
$addUserForm = $('#quickAddUser');
|
||||
$addUserFormMessages = $addUserForm.find('.messages');
|
||||
|
||||
var closeModal = function() {
|
||||
var dialog = $addUserForm.closest('.ui-dialog-content');
|
||||
if (dialog.data("ui-dialog")) {
|
||||
dialog.dialog('destroy').remove();
|
||||
}
|
||||
};
|
||||
|
||||
var submitAddUser = function() {
|
||||
console.log('add user');
|
||||
$addUserFormMessages.empty();
|
||||
var method = $addUserForm.attr('method');
|
||||
|
||||
method = $.inArray(method.toLowerCase(), ['post', 'get']) ? method : 'POST';
|
||||
$.ajax({
|
||||
type : method,
|
||||
url : $addUserForm.attr('action'),
|
||||
data : $addUserForm.serializeArray(),
|
||||
beforeSend : function(){
|
||||
$addUserForm.addClass('loading');
|
||||
},
|
||||
success : function(datas){
|
||||
if( datas.success === true ) {
|
||||
p4.Feedback.addUser($addUserForm, closeModal);
|
||||
} else {
|
||||
if( datas.message !== undefined ) {
|
||||
$addUserFormMessages.empty().append('<div class="alert alert-error">' + datas.message + '</div>');
|
||||
}
|
||||
}
|
||||
$addUserForm.removeClass('loading');
|
||||
},
|
||||
error:function(){
|
||||
$addUserForm.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$addUserForm.removeClass("loading");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$addUserForm.find('.geoname_field').geocompleter({
|
||||
"server": "{{ app['geonames.server-uri'] }}",
|
||||
"limit": 40
|
||||
});
|
||||
|
||||
$addUserForm.on('submit', function(event) {
|
||||
event.preventDefault();
|
||||
submitAddUser();
|
||||
});
|
||||
|
||||
$addUserForm.on('click', '.validate', function(event) {
|
||||
event.preventDefault();
|
||||
submitAddUser();
|
||||
});
|
||||
|
||||
$addUserForm.on('click', '.cancel', function(event) {
|
||||
event.preventDefault();
|
||||
closeModal();
|
||||
return false;
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
@@ -4,57 +4,57 @@
|
||||
|
||||
<label>Actions</label>
|
||||
|
||||
<button class="ui-corner-all TOOL_disktt_btn basket_window" title="{{ 'action : exporter' | trans }}">
|
||||
<button class="ui-corner-all TOOL_disktt_btn basket_window" title="{{ 'action : exporter' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/disktt_history.png"/>
|
||||
</button>
|
||||
<button class="ui-corner-all TOOL_print_btn basket_window" title="{{ 'action : print' | trans }}">
|
||||
<button class="ui-corner-all TOOL_print_btn basket_window" title="{{ 'action : print' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/print_history.png"/>
|
||||
</button>
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('modifyrecord') %}
|
||||
<button class="ui-corner-all TOOL_ppen_btn basket_window" title="{{ 'action : editer' | trans }}">
|
||||
<button class="ui-corner-all TOOL_ppen_btn basket_window" title="{{ 'action : editer' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/ppen_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('changestatus') %}
|
||||
<button class="ui-corner-all TOOL_chgstatus_btn basket_window" title="{{ 'action : status' | trans }}">
|
||||
<button class="ui-corner-all TOOL_chgstatus_btn basket_window" title="{{ 'action : status' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/chgstatus_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('deleterecord') and app.getAclForUser(app.getAuthenticatedUser()).has_right('addrecord') %}
|
||||
<button class="ui-corner-all TOOL_chgcoll_btn basket_window" title="{{ 'action : collection' | trans }}">
|
||||
<button class="ui-corner-all TOOL_chgcoll_btn basket_window" title="{{ 'action : collection' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/chgcoll_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('push') %}
|
||||
<button class="ui-corner-all TOOL_pushdoc_btn basket_window" title="{{ 'action : push' | trans }}">
|
||||
<button class="ui-corner-all TOOL_pushdoc_btn basket_window" title="{{ 'action : push' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/push16.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('push') %}
|
||||
<button class="ui-corner-all TOOL_feedback_btn basket_window" title="{{ 'Feedback' | trans }}">
|
||||
<button class="ui-corner-all TOOL_feedback_btn basket_window" title="{{ 'Feedback' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/feedback16.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('bas_chupub') %}
|
||||
<button class="ui-corner-all TOOL_bridge_btn basket_window" title="{{ 'action : bridge' | trans }}" data-href="{{ path("prod_bridge_manager") }}">
|
||||
<button class="ui-corner-all TOOL_bridge_btn basket_window" title="{{ 'action : bridge' | trans }}" data-href="{{ path("prod_bridge_manager") }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/door.png"/>
|
||||
</button>
|
||||
<button class="ui-corner-all TOOL_publish_btn basket_window" title="{{ 'action : publier' | trans }}">
|
||||
<button class="ui-corner-all TOOL_publish_btn basket_window" title="{{ 'action : publier' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/rss16.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('doctools') %}
|
||||
<button class="ui-corner-all TOOL_imgtools_btn basket_window" title="{{ 'action : outils' | trans }}">
|
||||
<button class="ui-corner-all TOOL_imgtools_btn basket_window" title="{{ 'action : outils' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/imgtools_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="ui-corner-all TOOL_trash_btn basket_window" title="{{ 'action : supprimer' | trans }}">
|
||||
<button class="ui-corner-all TOOL_trash_btn basket_window" title="{{ 'action : supprimer' | trans }}" data-selection-source="basket">
|
||||
<img src="/assets/common/images/icons/delete.png"/>
|
||||
</button>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
{% for plugin in plugins['actionbar'] %}
|
||||
{% for key, action in plugin.getBasketActionBar() %}
|
||||
{% set label = action.label %}
|
||||
<button class="ui-corner-all basket_window {{ action.classes|default('') }}" title="{{ label|trans([], plugin.PluginLocale) }}">
|
||||
<button class="ui-corner-all basket_window {{ action.classes|default('') }}" title="{{ label|trans([], plugin.PluginLocale) }}" data-selection-source="basket">
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}"/>
|
||||
</button>
|
||||
{% endfor %}
|
||||
|
@@ -84,226 +84,3 @@
|
||||
<div class="PNB10 Basket">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
var $container = $('#BasketBrowser'),results = null;
|
||||
|
||||
function loadResults(datas, url)
|
||||
{
|
||||
results = $.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
dataType: 'html',
|
||||
data: datas,
|
||||
beforeSend: function(){
|
||||
if(results && results.abort && typeof results.abort == 'function')
|
||||
results.abort();
|
||||
$('.results', $container).addClass('loading').empty();
|
||||
},
|
||||
error: function(){
|
||||
$('.results', $container).removeClass('loading');
|
||||
},
|
||||
timeout: function(){
|
||||
$('.results', $container).removeClass('loading');
|
||||
},
|
||||
success: function(data){
|
||||
var results = $('.results', $container);
|
||||
results.removeClass('loading').append(data);
|
||||
activateLinks(results);
|
||||
active_archiver(results);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function loadBasket(url)
|
||||
{
|
||||
results = $.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
dataType: 'html',
|
||||
beforeSend: function(){
|
||||
if(results && results.abort && typeof results.abort == 'function')
|
||||
results.abort();
|
||||
$('.Browser', $container).hide();
|
||||
$('.Basket', $container).addClass('loading').empty().show();
|
||||
},
|
||||
error: function(){
|
||||
$('.Browser', $container).show();
|
||||
$('.Basket', $container).removeClass('loading').hide();
|
||||
},
|
||||
timeout: function(){
|
||||
$('.Browser', $container).show();
|
||||
$('.Basket', $container).removeClass('loading').hide();
|
||||
},
|
||||
success: function(data){
|
||||
$('.Basket', $container).removeClass('loading').append(data);
|
||||
|
||||
$('.Basket a.back', $container).bind('click', function(){
|
||||
$('.Basket', $container).hide();
|
||||
$('.Browser', $container).show();
|
||||
|
||||
return false;
|
||||
});
|
||||
active_archiver($('.Basket', $container));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function activateLinks($scope)
|
||||
{
|
||||
$('a.result', $scope).bind('click', function(){
|
||||
var $this = $(this);
|
||||
|
||||
loadResults({}, $this.attr('href'));
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('a.basket_link', $scope).bind('click', function(){
|
||||
var $this = $(this);
|
||||
|
||||
loadBasket($this.attr('href'));
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('a.delete-basket', $scope).bind('click', function(event) {
|
||||
event.preventDefault();
|
||||
var $this = $(this);
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.valider] = function() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: $this.attr('href'),
|
||||
data: {},
|
||||
success: function(datas){
|
||||
if(datas.success) {
|
||||
confirmBox.Close();
|
||||
$('form[name="BasketBrowser"]', $container).trigger('submit');
|
||||
p4.WorkZone.refresh();
|
||||
} else {
|
||||
confirmBox.Close();
|
||||
var alertBox = p4.Dialog.Create({
|
||||
size : 'Alert',
|
||||
closeOnEscape : true,
|
||||
closeButton:true
|
||||
}, 2);
|
||||
|
||||
alertBox.setContent(datas.message);
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
confirmBox.Close();
|
||||
var alertBox = p4.Dialog.Create({
|
||||
size : 'Alert',
|
||||
closeOnEscape : true,
|
||||
closeButton:true
|
||||
}, 2);
|
||||
|
||||
alertBox.setContent("{{'Something wrong happened, please retry or contact an admin.'|trans|e('js') }}");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var confirmBox = p4.Dialog.Create({
|
||||
size : 'Alert',
|
||||
closeOnEscape : true,
|
||||
cancelButton: true,
|
||||
buttons: buttons
|
||||
}, 2);
|
||||
|
||||
confirmBox.setContent("{{'You are about to delete this basket. Would you like to continue ?'|trans|e('js') }}");
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
function active_archiver($scope)
|
||||
{
|
||||
$('a.UserTips', $scope).bind('click', function(){
|
||||
|
||||
return false;
|
||||
}).tooltip();
|
||||
|
||||
$('.infoTips, .previewTips', $scope).tooltip();
|
||||
|
||||
$('a.archive_toggler', $scope).bind('click', function(){
|
||||
var $this = $(this), parent = $this.parent();
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: $this.attr('href'),
|
||||
dataType: 'json',
|
||||
beforeSend: function(){
|
||||
$('.loader',parent).show();
|
||||
$('.archive_toggler:visible', parent).addClass('last_act').hide();
|
||||
},
|
||||
error: function(){
|
||||
$('.loader',parent).hide();
|
||||
$('.last_act', parent).removeClass('last_act').show();
|
||||
},
|
||||
timeout: function(){
|
||||
$('.loader',parent).hide();
|
||||
$('.last_act', parent).removeClass('last_act').show();
|
||||
},
|
||||
success: function(data){
|
||||
$('.loader',parent).hide();
|
||||
$('.last_act', parent).removeClass('last_act');
|
||||
if(!data.success)
|
||||
{
|
||||
humane.error(data.message);
|
||||
|
||||
return;
|
||||
}
|
||||
if(data.archive === true)
|
||||
{
|
||||
$('.unarchiver', parent).show();
|
||||
$('.archiver', parent).hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('.unarchiver', parent).hide();
|
||||
$('.archiver', parent).show();
|
||||
}
|
||||
|
||||
p4.WorkZone.refresh();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
$('form[name="BasketBrowser"]', $container).bind('submit', function(){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
loadResults($this.serializeArray(), $this.attr('action'));
|
||||
|
||||
return false;
|
||||
}).trigger('submit').find('label').bind('click', function(){
|
||||
var input = $(this).prev('input'),
|
||||
name = input.attr('name');
|
||||
|
||||
var inputs = $('input[name="' + $(this).prev('input').attr('name') + '"]', $container);
|
||||
inputs.prop('checked', false).next('label').removeClass('selected');
|
||||
|
||||
input.prop('checked', true).next('label').addClass('selected');
|
||||
$('form[name="BasketBrowser"]', $container).trigger('submit')
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
@@ -44,14 +44,14 @@
|
||||
<td>
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="downloadThis('ssel={{basket.getId()}}');">{{ 'action::exporter' | trans }}
|
||||
<div class="context-menu-item-inner export-record-action"
|
||||
data-kind="basket" data-id="{{basket.getId()}}">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('modifyrecord') %}
|
||||
<div title="" class="context-menu-item menu3-custom-item">
|
||||
<div onclick="editThis('SSTT','{{basket.getId()}}');" style=""
|
||||
class="context-menu-item-inner">{{ 'edit' | trans }}
|
||||
<div data-kind="basket" data-id="{{basket.getId()}}"
|
||||
class="context-menu-item-inner edit-record-action">{{ 'edit' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -138,8 +138,8 @@
|
||||
<td>
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="downloadThis('ssel={{basket.getId()}}');">{{ 'action::exporter' | trans }}
|
||||
<div class="context-menu-item-inner export-record-action"
|
||||
data-kind="basket" data-id="{{basket.getId()}}">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
<div title="" class="context-menu-item">
|
||||
@@ -149,7 +149,7 @@
|
||||
</div>
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner">
|
||||
<a class="dialog small-dialog" title="{{ 'action::renommer' | trans }}" href="{{ path('prod_baskets_basket_update', { 'basket' : basket.getId()}) }}">
|
||||
<a class="basket-update-action" data-basket-id="{{ basket.getId() }}" title="{{ 'action::renommer' | trans }}" href="#">
|
||||
{{ 'action::renommer' | trans }}
|
||||
</a>
|
||||
</div>
|
||||
@@ -166,21 +166,19 @@
|
||||
{% endif %}
|
||||
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="archiveBasket({{ basket.getId() }});return false;">
|
||||
<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" id="SSTTREMOVER_{{basket.getId()}}"
|
||||
onclick="checkDeleteThis('SSTT',this);return false;">
|
||||
<div class="context-menu-item-inner basket-delete-action" id="SSTTREMOVER_{{basket.getId()}}" data-context="SSTT">
|
||||
{{ 'action : supprimer' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner">
|
||||
<a class="dialog" title="{{ 'Re-ordonner' | trans }}" href="{{ path('prod_baskets_basket_reorder', { 'basket' : basket.getId() }) }}">
|
||||
<a class="basket-reorder-content-action" data-basket-id="{{ basket.getId() }}" title="{{ 'Re-ordonner' | trans }}" href="#">
|
||||
{{ 'Re-ordonner' | trans }}
|
||||
</a>
|
||||
</div>
|
||||
@@ -226,14 +224,15 @@
|
||||
<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()}}');">{{ 'action::exporter' | trans }}
|
||||
<div class="context-menu-item-inner export-record-action"
|
||||
data-kind="record" data-id="{{story.getRecord(app).get_serialize_key()}}">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('modifyrecord') %}
|
||||
<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">{{ 'action::editer' | trans }}
|
||||
<div class="context-menu-item-inner edit-record-action"
|
||||
data-kind="record" data-id="{{story.getRecord(app).get_serialize_key()}}"
|
||||
>{{ 'action::editer' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -246,7 +245,10 @@
|
||||
</div>
|
||||
<div title="" class="context-menu-item menu3-custom-item">
|
||||
<div class="context-menu-item-inner">
|
||||
<a class="dialog" title="{{ 'Re-ordonner' | trans }}" href="{{ path('prod_stories_story_reorder', { 'sbas_id' : story.getRecord(app).get_sbas_id, 'record_id' : story.getRecord(app).get_record_id() }) }}">
|
||||
<a class="story-reorder-content-action" title="{{ 'Re-ordonner' | trans }}"
|
||||
data-db-id="{{ story.getRecord(app).get_sbas_id }}"
|
||||
data-record-id="{{ story.getRecord(app).get_record_id() }}"
|
||||
href="#">
|
||||
{{ 'Re-ordonner' | trans }}
|
||||
</a>
|
||||
</div>
|
||||
@@ -277,8 +279,11 @@
|
||||
|
||||
{% import 'common/thumbnail.html.twig' as thumbnail %}
|
||||
|
||||
<div ondblclick="{% if wz_scope == 'groupings' %}openPreview(this, 'REG',{{ ord }},'{{container.get_sbas_id()}}_{{container.get_record_id()}}');{% else %}openPreview(this, 'BASK',{{ ord }},{{container.getId()}});{% endif %}"
|
||||
class="CHIM diapo CHIM_{{record.get_serialize_key()}}" style="height:{{box_height}}px;"
|
||||
<div class="CHIM diapo CHIM_{{record.get_serialize_key()}} open-preview-action"
|
||||
data-kind="{% if wz_scope == 'groupings' %}REG{% else %}BASK{% endif %}"
|
||||
data-position="{{ ord }}"
|
||||
data-id="{% if wz_scope == 'groupings' %}{{container.get_sbas_id()}}_{{container.get_record_id()}}{% else %}{{container.getId()}}{% endif %}"
|
||||
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['settings'].getUserSetting(app.getAuthenticatedUser(), 'basket_title_display') == '1' %}
|
||||
|
@@ -4,57 +4,57 @@
|
||||
|
||||
<label>Actions</label>
|
||||
|
||||
<button class="ui-corner-all TOOL_disktt_btn story_window" title="{{ 'action : exporter' | trans }}">
|
||||
<button class="ui-corner-all TOOL_disktt_btn story_window" title="{{ 'action : exporter' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/disktt_history.png"/>
|
||||
</button>
|
||||
<button class="ui-corner-all TOOL_print_btn story_window" title="{{ 'action : print' | trans }}">
|
||||
<button class="ui-corner-all TOOL_print_btn story_window" title="{{ 'action : print' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/print_history.png"/>
|
||||
</button>
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('modifyrecord') %}
|
||||
<button class="ui-corner-all TOOL_ppen_btn story_window" title="{{ 'action : editer' | trans }}">
|
||||
<button class="ui-corner-all TOOL_ppen_btn story_window" title="{{ 'action : editer' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/ppen_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('changestatus') %}
|
||||
<button class="ui-corner-all TOOL_chgstatus_btn story_window" title="{{ 'action : status' | trans }}">
|
||||
<button class="ui-corner-all TOOL_chgstatus_btn story_window" title="{{ 'action : status' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/chgstatus_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('deleterecord') and app.getAclForUser(app.getAuthenticatedUser()).has_right('addrecord') %}
|
||||
<button class="ui-corner-all TOOL_chgcoll_btn story_window" title="{{ 'action : collection' | trans }}">
|
||||
<button class="ui-corner-all TOOL_chgcoll_btn story_window" title="{{ 'action : collection' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/chgcoll_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('push') %}
|
||||
<button class="ui-corner-all TOOL_pushdoc_btn story_window" title="{{ 'action : push' | trans }}">
|
||||
<button class="ui-corner-all TOOL_pushdoc_btn story_window" title="{{ 'action : push' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/push16.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('push') %}
|
||||
<button class="ui-corner-all TOOL_feedback_btn story_window" title="{{ 'Feedback' | trans }}">
|
||||
<button class="ui-corner-all TOOL_feedback_btn story_window" title="{{ 'Feedback' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/feedback16.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('bas_chupub') %}
|
||||
<button class="ui-corner-all TOOL_bridge_btn story_window" title="{{ 'action : bridge' | trans }}" data-href="{{ path("prod_bridge_manager") }}">
|
||||
<button class="ui-corner-all TOOL_bridge_btn story_window" title="{{ 'action : bridge' | trans }}" data-href="{{ path("prod_bridge_manager") }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/door.png"/>
|
||||
</button>
|
||||
<button class="ui-corner-all TOOL_publish_btn story_window" title="{{ 'action : publier' | trans }}">
|
||||
<button class="ui-corner-all TOOL_publish_btn story_window" title="{{ 'action : publier' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/rss16.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('doctools') %}
|
||||
<button class="ui-corner-all TOOL_imgtools_btn story_window" title="{{ 'action : outils' | trans }}">
|
||||
<button class="ui-corner-all TOOL_imgtools_btn story_window" title="{{ 'action : outils' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/imgtools_history.png"/>
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="ui-corner-all TOOL_trash_btn story_window" title="{{ 'action : supprimer' | trans }}">
|
||||
<button class="ui-corner-all TOOL_trash_btn story_window" title="{{ 'action : supprimer' | trans }}" data-selection-source="story">
|
||||
<img src="/assets/common/images/icons/delete.png"/>
|
||||
<input type="hidden" name="story_key" value="{{ Story.get_serialize_key() }}"/>
|
||||
</button>
|
||||
|
@@ -3,7 +3,8 @@
|
||||
{% if error_message is empty %}
|
||||
|
||||
<script type="text/javascript">
|
||||
window.opener.publicator_reload_publicator("{{ path("prod_bridge_manager") }}");
|
||||
window.opener.prodApp.appEvents.emit('push.reload',{{ path("prod_bridge_manager") }});
|
||||
// pushModule.reloadBridge("{{ path("prod_bridge_manager") }}");
|
||||
window.close();
|
||||
</script>
|
||||
|
||||
|
@@ -84,332 +84,6 @@
|
||||
{# SCRIPT - HORIZONTAL TABS #}
|
||||
<script type ="text/javascript">
|
||||
$(function() {
|
||||
var pub_tabs = $("#pub_tabs");
|
||||
var container = $('#dialog_publicator');
|
||||
var managerUrl = container.data("url");
|
||||
|
||||
function popme(url) {
|
||||
var newwindow=window.open(url,'logger','height=500,width=800');
|
||||
if (window.focus)
|
||||
{
|
||||
newwindow.focus();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function panel_load($panel)
|
||||
{
|
||||
$(".new_bridge_button", $panel).bind("click", function(){
|
||||
var url = $(this).parent('form').find('input[name="url"]').val();
|
||||
popme(url);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.error_box, .notice_box', $panel).delay(10000).fadeOut();
|
||||
|
||||
$('.back_link', $panel).bind('click', function(){
|
||||
if ($('#pub_tabs').data("ui-tabs")) {
|
||||
$('#pub_tabs').tabs('load',$('#pub_tabs').tabs('option', 'active'));
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.bridge_action', $panel).bind('click', function(){
|
||||
var $this = $(this);
|
||||
|
||||
$.ajax({
|
||||
type : 'GET',
|
||||
url : $(this).attr('href'),
|
||||
beforeSend : function(){
|
||||
var container = $('.container-bridge', $panel);
|
||||
container.empty();
|
||||
if( ! $this.hasClass('bridge_logout')) {
|
||||
container.addClass('loading');
|
||||
}
|
||||
},
|
||||
success : function(datas){
|
||||
$('.container-bridge', $panel).removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".delete-account" , $panel).bind("click", function(){
|
||||
account_id = $(this).val();
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.valider] = function() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: "/prod/bridge/adapter/" + account_id + "/delete/",
|
||||
data: {},
|
||||
success: function(datas){
|
||||
if(datas.success) {
|
||||
confirmBox.Close();
|
||||
publicator_reload_publicator(managerUrl);
|
||||
} else {
|
||||
confirmBox.Close();
|
||||
var alertBox = p4.Dialog.Create({
|
||||
size : 'Alert',
|
||||
closeOnEscape : true,
|
||||
closeButton:true
|
||||
}, 2);
|
||||
|
||||
alertBox.setContent(datas.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var confirmBox = p4.Dialog.Create({
|
||||
size : 'Alert',
|
||||
closeOnEscape : true,
|
||||
closeButton:true,
|
||||
cancelButton: true,
|
||||
buttons: buttons
|
||||
}, 2);
|
||||
|
||||
confirmBox.setContent("{{'You are about to delete this account. Would you like to continue ?'|trans|e('js') }}");
|
||||
});
|
||||
|
||||
$('.form_submitter', $panel).bind('click', function(){
|
||||
var $form = $(this).closest('form');
|
||||
var method = $form.attr('method');
|
||||
|
||||
method = $.inArray(method.toLowerCase(), ['post', 'get']) ? method : 'POST';
|
||||
|
||||
$.ajax({
|
||||
type : method,
|
||||
url : $form.attr('action'),
|
||||
data : $form.serializeArray(),
|
||||
beforeSend : function(){
|
||||
$panel.empty().addClass('loading');
|
||||
},
|
||||
success : function(datas){
|
||||
$panel.removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
$(".bridge_all_selector", $panel).bind("click", function() {
|
||||
var checkboxes = $('.bridge_element_selector', $panel);
|
||||
var $this = $(this);
|
||||
|
||||
checkboxes.each(function(i, checkbox){
|
||||
if($(checkbox).is(':checked') !== $this.is(':checked'))
|
||||
{
|
||||
var event = jQuery.Event("click");
|
||||
event.selector_all = true;
|
||||
$(checkbox).trigger(event);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.bridge_element_selector', $panel)
|
||||
.bind('click', function(event){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if(event.selector_all)
|
||||
{
|
||||
$this.prop('checked', $(".bridge_all_selector", $panel).is(':checked'));
|
||||
}
|
||||
|
||||
$('form[name="bridge_selection"] input[name="elements_list"]', $panel).val(
|
||||
$.makeArray($('.bridge_element_selector:checked', $panel).map(function(i, el){
|
||||
return ($(el).val());
|
||||
})).join(';')
|
||||
);
|
||||
|
||||
if($this.is(':checked'))
|
||||
$this.closest('.element').addClass('selected');
|
||||
else
|
||||
$this.closest('.element').removeClass('selected');
|
||||
|
||||
if(!event.selector_all)
|
||||
{
|
||||
var bool = !($(".bridge_element_selector:checked", $panel).length !== $(".bridge_element_selector", $panel).length);
|
||||
$(".bridge_all_selector", $panel).prop('checked', bool);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(event.stopPropagation)
|
||||
event.stopPropagation();
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('a.form_multiple_submitter', $panel).bind('click', function(){
|
||||
|
||||
var $form = $(this).closest('form');
|
||||
var elements = $('form[name="bridge_selection"] input[name="elements_list"]', $panel).val();
|
||||
|
||||
if($.trim(elements) === '')
|
||||
var n_elements = 0;
|
||||
else
|
||||
var n_elements = elements.split(';').length;
|
||||
|
||||
if(n_elements === 0 && $form.hasClass('action_works_standalone') === false)
|
||||
{
|
||||
alert('No records selected');
|
||||
|
||||
return false;
|
||||
}
|
||||
if(n_elements === 1 && $form.hasClass('action_works_single_element') === false)
|
||||
{
|
||||
alert('This action works only with a single records');
|
||||
|
||||
return false;
|
||||
}
|
||||
if(n_elements > 1 && $form.hasClass('action_works_many_element') === false)
|
||||
{
|
||||
alert('This action works only with many records');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$('input[name="elements_list"]', $form).val(elements);
|
||||
|
||||
$.ajax({
|
||||
type : 'GET',
|
||||
url : $form.attr('action'),
|
||||
data : $form.serializeArray(),
|
||||
beforeSend : function(){
|
||||
$panel.empty().addClass('loading');
|
||||
},
|
||||
success : function(datas){
|
||||
$panel.removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
pub_tabs.tabs({
|
||||
beforeLoad: function( event, ui ) {
|
||||
ui.tab.html_tab = ui.tab.find('span').html();
|
||||
ui.tab.find('span').html("<i>{{ 'Loading'|trans }}...</i>");
|
||||
},
|
||||
load: function(event, ui)
|
||||
{
|
||||
ui.tab.find('span').empty().append(ui.tab.html_tab);
|
||||
$panel = $(ui.panel);
|
||||
$('.container-bridge', $panel).removeClass('loading');
|
||||
$panel.addClass("PNB");
|
||||
$panel.wrapInner("<div class='PNB10 container-bridge' />");
|
||||
panel_load($panel);
|
||||
}
|
||||
,beforeActivate: function(event, ui)
|
||||
{
|
||||
if($(ui.tab).hasClass('account'))
|
||||
{
|
||||
var container = $('.container-bridge', ui.panel);
|
||||
container.empty();
|
||||
$('.container', ui.panel).addClass('loading');
|
||||
}
|
||||
}
|
||||
}).addClass('ui-tabs-vertical ui-helper-clearfix');
|
||||
$('.ui-tabs-nav', pub_tabs).removeClass('ui-corner-all');
|
||||
|
||||
|
||||
$(".new_bridge_button", pub_tabs).bind("click", function(){
|
||||
var url = $(this).parent('form').find('input[name="url"]').val();
|
||||
popme(url);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$("ul li a.account", pub_tabs).bind("click", function(){
|
||||
$('#dialog_publicator form[name="current_datas"] input[name="account_id"]').val($('input[name="account_id"]', this).val());
|
||||
});
|
||||
|
||||
$("ul li.ui-tabs-selected a.account", pub_tabs).trigger("click");
|
||||
|
||||
$('#publicator_selection .PNB10:first').selectable();
|
||||
|
||||
$('#publicator_selection button.act_upload').bind('click', function(){
|
||||
|
||||
var $this = $(this);
|
||||
var $form = $this.closest('form');
|
||||
|
||||
$('input[name=lst]', $form).val(
|
||||
$.makeArray(
|
||||
$('#publicator_selection .diapo.ui-selected').map(function(i, el){
|
||||
return $(el).attr('id').split('_').slice(2,4).join('_');
|
||||
})
|
||||
).join(';')
|
||||
);
|
||||
|
||||
var account_id = $('form[name="current_datas"] input[name="account_id"]').val();
|
||||
$('input[name="account_id"]', $form).val(account_id);
|
||||
|
||||
var $panel = $('#pub_tabs .ui-tabs-panel:visible');
|
||||
|
||||
$.ajax({
|
||||
type : 'GET',
|
||||
url : '/prod/bridge/upload/',
|
||||
data : $form.serializeArray(),
|
||||
beforeSend : function(){
|
||||
$panel.empty().addClass('loading');
|
||||
},
|
||||
success : function(datas){
|
||||
$panel.removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
|
||||
$("li", pub_tabs).removeClass('ui-corner-top').addClass('ui-corner-left');
|
||||
|
||||
$("#api_connexion").click(function(){
|
||||
if (container.data("ui-dialog")) {
|
||||
container.dialog("close");
|
||||
}
|
||||
});
|
||||
|
||||
{% if route.get_count_element_received() == 0 %}
|
||||
alert('{{ "Vous n\'avez selectionne aucun element"|trans|e('js') }}');
|
||||
if (container.data("ui-dialog")) {
|
||||
|
@@ -106,19 +106,18 @@
|
||||
|
||||
{% if list['complete'] is not defined %} {# Zip not done #}
|
||||
$.post("{{ path('execute_download', {'token': token.getValue(), 'type': type, 'anonymous': anonymous}) }}", function(data){
|
||||
var data = $.parseJSON(data);
|
||||
if(data.success) {
|
||||
$('form[name=download]').submit();
|
||||
} else {
|
||||
setTimeout("location.reload()", "{{ time ~ "000" }}");
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
setTimeout("location.reload()", "{{ time ~ "000" }}");
|
||||
{% elseif (list['complete'] is defined and list['complete'])%} {# Zip done #}
|
||||
// Get files
|
||||
$('form[name=download]').submit();
|
||||
{% else %}
|
||||
|
||||
setTimeout("location.reload()", "{{ time ~ "000" }}");
|
||||
{% endif %}
|
||||
});
|
||||
|
@@ -39,7 +39,7 @@
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<label>{{ 'Role' | trans }}</label>
|
||||
<select name="role">
|
||||
<select name="role" data-list-id="{{ list.getId() }}" data-user-id="{{ owner.getUser().getId() }}">
|
||||
<option {% if owner.getRole() == constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_USER') %}selected {% endif %} value="{{ constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_USER') }}">
|
||||
{{ 'Access' | trans }}
|
||||
</option>
|
||||
@@ -54,7 +54,7 @@
|
||||
</td>
|
||||
<td style="width:15px">
|
||||
{% if app.getAuthenticatedUser().getId() == owner.getUser().getId() %}
|
||||
<a href="#" class="deleter">
|
||||
<a href="#" class="deleter listmanager-share-delete-user-action" data-list-id="{{ list.getId() }}" data-user-id="{{ owner.getUser().getId() }}">
|
||||
<img src="/assets/prod/images/Push/close_badge.png" title="{{ 'Remove' | trans }}"/>
|
||||
</a>
|
||||
{% endif %}
|
||||
@@ -67,137 +67,4 @@
|
||||
</div>
|
||||
|
||||
{% include "prod/templates/push.html.twig" %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var $container = $('#ListShare'),
|
||||
$completer_form = $('form[name="list_share_user"]', $container),
|
||||
$owners_form = $('form[name="owners"]', $container),
|
||||
$autocompleter = $('input[name="user"]', $completer_form),
|
||||
$dialog = p4.Dialog.get(2);
|
||||
|
||||
$completer_form.bind('submit', function(){
|
||||
return false;
|
||||
});
|
||||
|
||||
$('select[name="role"]', $owners_form).bind('change', function(){
|
||||
var usr_id = $(this).closest('.owner').find('input[name="usr_id"]').val(),
|
||||
role = $(this).val();
|
||||
|
||||
shareWith(usr_id, role);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.deleter', $container).bind('click', function(){
|
||||
var owner = $(this).closest('.owner');
|
||||
var usr_id = owner.find('input[name="usr_id"]').val();
|
||||
|
||||
unShareWith(usr_id, function(data){
|
||||
owner.remove();
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
function shareWith(usr_id, role)
|
||||
{
|
||||
var role = typeof role === 'undefined' ? 1 : role;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/{{ list.getId() }}/share/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data : {role : role},
|
||||
beforeSend:function(){
|
||||
},
|
||||
success: function(data){
|
||||
if(data.success)
|
||||
{
|
||||
humane.info(data.message);
|
||||
}
|
||||
else
|
||||
{
|
||||
humane.error(data.message);
|
||||
}
|
||||
$dialog.refresh();
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
return;
|
||||
},
|
||||
timeout: function(){
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function unShareWith(usr_id, callback)
|
||||
{
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/{{ list.getId() }}/unshare/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data : {},
|
||||
beforeSend:function(){
|
||||
},
|
||||
success: function(data){
|
||||
if(data.success)
|
||||
{
|
||||
humane.info(data.message);
|
||||
callback(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
humane.error(data.message);
|
||||
}
|
||||
$dialog.refresh();
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
return;
|
||||
},
|
||||
timeout: function(){
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$autocompleter.autocomplete({
|
||||
minLength: 2,
|
||||
source: function( request, response ) {
|
||||
$.ajax({
|
||||
url: '/prod/push/search-user/',
|
||||
dataType: "json",
|
||||
data: {
|
||||
query: request.term
|
||||
},
|
||||
success: function( data ) {
|
||||
response( data );
|
||||
}
|
||||
});
|
||||
},
|
||||
select: function( event, ui ) {
|
||||
if(ui.item.type === 'USER')
|
||||
{
|
||||
shareWith(ui.item.usr_id);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
|
||||
if(item.type === 'USER') {
|
||||
html = _.template($("#list_user_tpl").html(), {
|
||||
item: item
|
||||
});
|
||||
|
||||
return $(html).data( "ui-autocomplete-item", item ).appendTo(ul);
|
||||
}
|
||||
};
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
|
@@ -97,79 +97,6 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
$(document).ready(function(){
|
||||
var $editor = $('#list-editor-search-results');
|
||||
|
||||
$('a.next, a.prev', $editor).bind('click', function(){
|
||||
var page = $(this).attr('value');
|
||||
|
||||
$('input[name="page"]', $form).val(page);
|
||||
$form.trigger('submit');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
var $form = $('#ListManager .editor').find('form[name="list-editor-search"]');
|
||||
|
||||
$('input[name="page"]', $form).val('');
|
||||
|
||||
$('th.sortable', $editor).bind('click', function(){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
var sort = $('input', $this).val();
|
||||
|
||||
if((sort == $('input[name="srt"]', $form).val())
|
||||
&& ($('input[name="ord"]', $form).val() == 'asc'))
|
||||
{
|
||||
var ord = 'desc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var ord = 'asc';
|
||||
}
|
||||
|
||||
$('input[name="srt"]', $form).val(sort);
|
||||
$('input[name="ord"]', $form).val(ord);
|
||||
|
||||
$form.trigger('submit');
|
||||
})
|
||||
.bind('mouseover', function(){$(this).addClass('hover');})
|
||||
.bind('mouseout', function(){$(this).removeClass('hover');});
|
||||
|
||||
$('tbody tr', $editor).bind('click', function(){
|
||||
|
||||
var $this = $(this);
|
||||
var usr_id = $('input[name="usr_id"]', $this).val();
|
||||
|
||||
var counters = $('#ListManager .counter.current, #ListManager .lists .list.selected .counter');
|
||||
|
||||
if($this.hasClass('selected'))
|
||||
{
|
||||
$this.removeClass('selected');
|
||||
p4.ListManager.getList().removeUser(usr_id);
|
||||
|
||||
counters.each(function(i,el){
|
||||
var n = parseInt($(el).text());
|
||||
$(el).text(n - 1);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
$this.addClass('selected');
|
||||
p4.ListManager.getList().addUser(usr_id);
|
||||
|
||||
counters.each(function(i,el){
|
||||
var n = parseInt($(el).text());
|
||||
$(el).text(n + 1);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endmacro %}
|
||||
|
||||
@@ -178,7 +105,7 @@
|
||||
<div class="badge">
|
||||
<input type="hidden" value="{{ entry.getUser().getId() }}" name="id">
|
||||
{% if role >= constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_EDITOR') %}
|
||||
<a class="deleter" href="#">
|
||||
<a class="deleter listmanager-delete-list-user-action" href="#" data-list-id="" data-user-id="{{ entry.getUser().getId() }}">
|
||||
<img src="/assets/prod/images/Push/close_badge.png">
|
||||
</a>
|
||||
{% endif %}
|
||||
|
@@ -17,7 +17,10 @@
|
||||
</td>
|
||||
<td style="text-align:right;white-space:nowrap;">
|
||||
{% if list.getOwner(app.getAuthenticatedUser()).getRole() == constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_ADMIN') %}
|
||||
<a href="{{ path('prod_lists_list_share', { 'list_id' : list.getId() }) }}" title="{{ 'Share the list' | trans }}" class="list_sharer">
|
||||
<a href="{{ path('prod_lists_list_share', { 'list_id' : list.getId() }) }}" title="{{ 'Share the list' | trans }}"
|
||||
class="list_sharer push-list-share-action"
|
||||
|
||||
data-list-id="{{ list.getId() }}">
|
||||
<img src="/assets/prod/images/Push/list-icon.png" />
|
||||
{{ "Set sharing permission" | trans }}
|
||||
</a>
|
||||
@@ -25,7 +28,7 @@
|
||||
</td>
|
||||
{% if list.getOwner(app.getAuthenticatedUser()).getRole() >= constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_ADMIN') %}
|
||||
<td style="text-align:right;white-space:nowrap;width:150px;">
|
||||
<button class="deleter btn btn-inverse" data-list-id="{{ list.getId() }}">
|
||||
<button class="deleter btn btn-inverse listmanager-delete-list-action" data-list-id="{{ list.getId() }}">
|
||||
{{ 'Delete' | trans }}
|
||||
</button>
|
||||
</td>
|
||||
@@ -159,15 +162,3 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
p4.ListManager.workOn({{ list.getId() }});
|
||||
$("#ListManager .readonly .badge .deleter").click(function(){
|
||||
var badge = $(this).closest(".badge");
|
||||
var usr_id = badge.find('input[name="id"]').val();
|
||||
p4.ListManager.getList().removeUser(usr_id, function(list, data){
|
||||
badge.remove();
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -2,17 +2,17 @@
|
||||
<div class="PNB10 lists">
|
||||
<h1>{{ 'Lists' | trans }}</h1>
|
||||
<span class="action">
|
||||
<a href="{{ path('prod_lists_list') }}" class="list_adder link">
|
||||
<a href="{{ path('prod_lists_list') }}" class="list_adder link push-add-list-action">
|
||||
{{ "Add" | trans }}
|
||||
</a>
|
||||
<a href="{{ path('prod_lists_all') }}" class="list_refresh link">
|
||||
<a href="{{ path('prod_lists_all') }}" class="list_refresh link push-refresh-list-action">
|
||||
{{ "Refresh" | trans }}
|
||||
</a>
|
||||
</span>
|
||||
<ul class="lists">
|
||||
{% for list in lists %}
|
||||
<li class="list" style="padding:2px;">
|
||||
<a href="{{ path('prod_push_list_edit', { 'list_id' : list.getId() }) }}" class="list_link">
|
||||
<a href="#" class="list_link list-edit-action" data-list-id="{{ list.getId() }}">
|
||||
{% if list.getOwner(app.getAuthenticatedUser()).getRole() >= constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_EDITOR') %}
|
||||
<img src="/assets/prod/images/Push/list-icon.png" />
|
||||
{% else %}
|
||||
|
@@ -16,12 +16,12 @@
|
||||
<input type="hidden" name='original_selection' value="{{ app.request.query.get('lst') }}">
|
||||
|
||||
<ul>
|
||||
<li><a href="#property-statut">{{ 'Records Statut' | trans }}</a></li>
|
||||
<li><a href="#property-status">{{ 'Records Statut' | trans }}</a></li>
|
||||
{# <span> </span> element is required for the jQuery loading spinner appears && disappears properly #}
|
||||
<li><a href="{{ path('display_type_property', { 'lst' : records.serializedList() } ) }}">{{ 'Records type' | trans }} <span> </span></a></li>
|
||||
</ul>
|
||||
|
||||
<div id='property-statut'>
|
||||
<div id="property-status">
|
||||
<p class="header">
|
||||
<h4 style='text-align:center;'>
|
||||
{% if nbReceivedDocuments == 1 %}
|
||||
@@ -119,64 +119,6 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("#tabs-records-property").tabs({
|
||||
beforeLoad: function( event, ui ) {
|
||||
ui.ajaxSettings.data = {
|
||||
lst: $("input[name=original_selection]", $(this)).val()
|
||||
};
|
||||
|
||||
// load template only once
|
||||
if ( ui.tab.data( "loaded" ) ) {
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
ui.jqXHR.success(function() {
|
||||
ui.tab.data( "loaded", true );
|
||||
});
|
||||
|
||||
ui.tab.find('span').html("<i>{{ 'Loading'|trans }}...</i>");
|
||||
},
|
||||
load: function(event, ui)
|
||||
{
|
||||
ui.tab.find('span').empty();
|
||||
}
|
||||
});
|
||||
|
||||
var $dialog = p4.Dialog.get(1);
|
||||
var $dialogBox = $dialog.getDomElement();
|
||||
|
||||
$("button.cancel", $dialogBox).bind("click", function(){
|
||||
$dialog.Close();
|
||||
});
|
||||
|
||||
$("button.submiter", $dialogBox).bind("click", function(){
|
||||
var $this = $(this);
|
||||
var form = $(this).closest("form");
|
||||
var loader = form.find("form-action-loader");
|
||||
|
||||
$.ajax({
|
||||
type: form.attr("method"),
|
||||
url: form.attr("action"),
|
||||
data: form.serializeArray(),
|
||||
dataType: 'json',
|
||||
beforeSend:function(){
|
||||
$this.attr("disabled", true);
|
||||
loader.show();
|
||||
},
|
||||
success: function(data){
|
||||
$dialog.Close();
|
||||
},
|
||||
complete: function(){
|
||||
$this.attr("disabled", false);
|
||||
loader.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div id="type-status"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@@ -53,36 +53,3 @@
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
var $dialog = p4.Dialog.get(1);
|
||||
var $dialogBox = $dialog.getDomElement();
|
||||
|
||||
$("button.cancel", $dialogBox).bind("click", function(){
|
||||
$dialog.Close();
|
||||
});
|
||||
|
||||
$("button.submiter", $dialogBox).bind("click", function(){
|
||||
var $this = $(this);
|
||||
var form = $(this).closest("form");
|
||||
var loader = form.find("form-action-loader");
|
||||
|
||||
$.ajax({
|
||||
type: form.attr("method"),
|
||||
url: form.attr("action"),
|
||||
data: form.serializeArray(),
|
||||
dataType: "json",
|
||||
beforeSend:function(){
|
||||
$this.attr("disabled", true);
|
||||
loader.show();
|
||||
},
|
||||
success: function(data){
|
||||
$dialog.Close();
|
||||
},
|
||||
complete: function(){
|
||||
$this.attr("disabled", false);
|
||||
loader.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
<div style="text-align:center;margin-top:15px;">
|
||||
<button class="btn btn-inverse" onclick="p4.Dialog.Close(1)">{{ "boutton::fermer" | trans }}</button>
|
||||
<button class="btn btn-inverse close-dialog-action">{{ "boutton::fermer" | trans }}</button>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
@@ -89,7 +89,7 @@
|
||||
{{ 'Select a user in the list' | trans }} <br/>
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('manageusers') %}
|
||||
{{ 'or' | trans }}
|
||||
<a href="{{ path('prod_push_add_user') }}" class="user_adder btn btn-mini">{{ 'Add user' | trans }}</a>
|
||||
<a href="#" class="push-add-user btn btn-mini">{{ 'Add user' | trans }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<p id="recommanded-users">
|
||||
@@ -263,11 +263,4 @@
|
||||
</div>
|
||||
|
||||
{% include "prod/templates/push.html.twig" %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
p4.Feedback = new Feedback($('#PushBox'), '{{ context }}');
|
||||
p4.ListManager = new ListManager($('#ListManager'));
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
|
@@ -16,7 +16,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style='text-align:left'>
|
||||
{{ 'do you want to validate' | trans }} ?
|
||||
{{ 'do you want to validate' | trans }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@@ -37,6 +37,11 @@
|
||||
{{ "video tool" | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#rangeExtractor">
|
||||
{{ "video range extractor" | trans }}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@@ -124,7 +129,9 @@
|
||||
{% set height = technical_info[dataH].value %}
|
||||
|
||||
{% if width and height %}
|
||||
{% set ratio = (width / height)|number_format(2, '.') %}
|
||||
{% set rawRatio = (width / height)|number_format(3, '.') %}
|
||||
{% set rawRatioLength = rawRatio|length %}
|
||||
{% set ratio = rawRatio|slice(0,rawRatioLength-1) %}
|
||||
{% else %}
|
||||
{% set ratio = '' %}
|
||||
{% endif %}
|
||||
@@ -171,6 +178,33 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="rangeExtractor" class="">
|
||||
<div class="main_title">
|
||||
<img src='/assets/prod/images/ThumbExtractor/camera_title.png'/>
|
||||
{{ "video range extractor" | trans }}
|
||||
</div>
|
||||
<div class="video-range-editor-container"></div>
|
||||
<div class="video-data-container">
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Ratio</dt><dd>{{ ratio }}</dd>
|
||||
<dt>Type</dt><dd>{{ record.get_mime() }}</dd>
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_FRAMERATE')] is defined %}
|
||||
<dt>{{ 'Images par secondes' | trans }}</dt>
|
||||
<dd>{{ record.exif[constant('media_subdef::TC_DATA_FRAMERATE')] | round(2) }} ips</dd>
|
||||
{% endif %}
|
||||
{% if record.exif[constant('media_subdef::TC_DATA_AUDIOCODEC')] is defined %}
|
||||
<dt>{{ 'Codec Audio' | trans }}</dt>
|
||||
<dd>{{ record.exif[constant('media_subdef::TC_DATA_AUDIOCODEC')] }}</dd>
|
||||
{% endif %}
|
||||
<dt>{{ 'Size' | trans }}</dt><dd>{% set width = record.exif[constant('media_subdef::TC_DATA_WIDTH')]|default
|
||||
(null) %}
|
||||
{% set height = record.exif[constant('media_subdef::TC_DATA_HEIGHT')]|default(null) %}
|
||||
{% if width is not none and height is not none %}
|
||||
{{ width ~ " x " ~ height }}
|
||||
{% endif %}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@@ -348,302 +382,55 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var toolsConfig = {
|
||||
selectionLength: {{ selectionLength }},
|
||||
databaseId: {% if selectionLength == 1%}{{record.get_base_id}}{% else %}0{% endif %},
|
||||
recordId: {% if selectionLength == 1%}{{record.get_record_id}}{% else %}0{% endif %},
|
||||
translations: {
|
||||
alertTitle: '{{ "alert" | trans }}',
|
||||
noImgSelected: '{{ "no image selected" | trans }}',
|
||||
processing: '{{ "processing" | trans }}',
|
||||
thumbnailTitle: '{{ 'thumbnail validation' | trans }}'
|
||||
},
|
||||
videoEditorConfig: {% if videoEditorConfig is not null %}{{ videoEditorConfig|json_encode()|raw }}{% else %}{}{% endif %},
|
||||
records: [
|
||||
|
||||
$(document).ready(function(){
|
||||
var $scope = $("#prod-tool-box");
|
||||
var tabs = $("#tool-tabs", $scope).tabs();
|
||||
var width = 0;
|
||||
|
||||
$(".iframe_submiter", $scope).bind("click", function(){
|
||||
var form = $(this).closest("form");
|
||||
form.submit();
|
||||
form.find('.load').empty().html(language.loading + ' ...');
|
||||
$("#uploadHdsub").contents().find(".content").empty();
|
||||
$("#uploadHdsub").load(function(){
|
||||
form.find('.load').empty();
|
||||
var iframeContent = $("#uploadHdsub").contents().find(".content").html();
|
||||
form.closest('div').find('.resultAction').empty().append(iframeContent);
|
||||
});
|
||||
});
|
||||
|
||||
$(".action_submiter", $scope).bind("click", function(){
|
||||
var $this = $(this);
|
||||
var form = $(this).closest("form");
|
||||
|
||||
$.ajax({
|
||||
url : form.attr("action"),
|
||||
type : form.attr("method"),
|
||||
dataType : 'json',
|
||||
data : form.serializeArray(),
|
||||
beforeSend: function(){
|
||||
$this.prop('disabled', true);
|
||||
},
|
||||
success : function(data){
|
||||
if(!data.success){
|
||||
humane.error(data.message);
|
||||
}else{
|
||||
var dialog = p4.Dialog.get(1);
|
||||
dialog.Close();
|
||||
}
|
||||
},
|
||||
complete: function(){
|
||||
$this.prop('disabled', false);
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".action_cancel", $scope).bind("click", function(){
|
||||
var dialog = p4.Dialog.get(1);
|
||||
dialog.Close();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
//thumbExtractor
|
||||
|
||||
var ThumbEditor = new this.THUMB_EDITOR("thumb_video", "thumb_canvas", {
|
||||
altCanvas: $('#alt_canvas_container .alt_canvas')
|
||||
});
|
||||
|
||||
if(ThumbEditor.isSupported()) {
|
||||
|
||||
var $sliderWrapper = $("#thumb_wrapper", $scope);
|
||||
|
||||
$sliderWrapper.on('click', 'img', function(){
|
||||
$('.selected', $sliderWrapper).removeClass('selected');
|
||||
$(this).addClass('selected');
|
||||
|
||||
var $self = this;
|
||||
var selectedScreenId = $self.getAttribute("id").split("_").pop();
|
||||
var screenshots = ThumbEditor.store.get(selectedScreenId);
|
||||
|
||||
ThumbEditor.copy(screenshots.getDataURI(), screenshots.getAltScreenShots());
|
||||
});
|
||||
|
||||
|
||||
$scope.on('click', '#thumb_delete_button', function(){
|
||||
var img = $sliderWrapper.find(".selected");
|
||||
var id = img.attr("id").split("_").pop();
|
||||
var previous = img.prev();
|
||||
var next = img.next();
|
||||
|
||||
if(previous.length > 0)
|
||||
{% for record in records %}
|
||||
{
|
||||
previous.trigger("click");
|
||||
}
|
||||
else if(next.length > 0)
|
||||
{
|
||||
next.trigger("click");
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).hide();
|
||||
$("#thumb_info", $scope).show();
|
||||
ThumbEditor.resetCanva();
|
||||
}
|
||||
id: {{ record.get_record_id }},
|
||||
type: "{{ record.get_type() }}",
|
||||
{% if record.get_type() == 'video' %}
|
||||
{% if selectionLength == 1 %}
|
||||
{% set outputFormats = record.getSubdfefByDeviceAndMime(null, ['image/jpeg', 'image/png']) %}
|
||||
{% set previewHtml5 = record.getSubdfefByDeviceAndMime(constant('\\databox_subdef::DEVICE_SCREEN'), ['video/ogg', 'video/mp4', 'video/webm']) %}
|
||||
{% set dataW = constant('media_subdef::TC_DATA_WIDTH') %}
|
||||
{% set dataH = constant('media_subdef::TC_DATA_HEIGHT') %}
|
||||
|
||||
img.remove();
|
||||
ThumbEditor.store.remove(id);
|
||||
});
|
||||
{% set technical_info = record.get_technical_infos %}
|
||||
{% set width = technical_info[dataW].value %}
|
||||
{% set height = technical_info[dataH].value %}
|
||||
|
||||
$scope.on('click', '.close_action_frame', function(){
|
||||
$(this).closest(".action_frame").hide();
|
||||
});
|
||||
{% if width and height %}
|
||||
{% set ratio = (width / height)|number_format(2, '.') %}
|
||||
{% else %}
|
||||
{% set ratio = '' %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
$scope.on('click', '#thumb_camera_button', function(){
|
||||
$("#thumb_info", $scope).hide();
|
||||
$("#thumb_delete_button", $scope).show();
|
||||
|
||||
var screenshot = ThumbEditor.screenshot();
|
||||
var img = $("<img />");
|
||||
$('.selected', $sliderWrapper).removeClass('selected');
|
||||
img.addClass('selected')
|
||||
.attr('id', 'working_'+ screenshot.getId())
|
||||
.attr('src', screenshot.getDataURI())
|
||||
.attr("alt", screenshot.getVideoTime())
|
||||
.appendTo($sliderWrapper);
|
||||
});
|
||||
|
||||
$("#thumb_canvas").on('tool_event', function(){
|
||||
var thumbnail = $('.selected', $sliderWrapper);
|
||||
|
||||
if(thumbnail.length === 0)
|
||||
{
|
||||
console.error('No image selected');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
thumbnail.attr('src', ThumbEditor.getCanvaImage());
|
||||
|
||||
});
|
||||
$scope.on('click', '#thumb_validate_button', function(){
|
||||
var thumbnail = $('.selected', $sliderWrapper);
|
||||
|
||||
if(thumbnail.length === 0)
|
||||
{
|
||||
var dialog = p4.Dialog.Create({
|
||||
size:'Alert',
|
||||
title: '{{ "alert" | trans }}',
|
||||
closeOnEscape:true
|
||||
}, 3);
|
||||
|
||||
var content = $("<div />").css({
|
||||
'text-align':'center',
|
||||
'width': '100%',
|
||||
'font-size':'14px'
|
||||
}).append('{{ "no image selected" | trans }}');
|
||||
dialog.setContent(content);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var buttons = {};
|
||||
|
||||
var record_id = $("input[name=record_id]").val();
|
||||
var sbas_id = $("input[name=sbas_id]").val();
|
||||
|
||||
var selectedScreenId = thumbnail.attr('id').split("_").pop();
|
||||
var screenshots = ThumbEditor.store.get(selectedScreenId);
|
||||
|
||||
|
||||
var screenData = screenshots.getAltScreenShots(),
|
||||
subDefs = [];
|
||||
|
||||
for(var i = 0; i < screenData.length; i++ ) {
|
||||
subDefs.push({
|
||||
name: screenData[i].name,
|
||||
src: screenData[i].dataURI
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function disableConfirmButton(dialog){
|
||||
dialog.getDomElement().closest('.ui-dialog').find(".ui-dialog-buttonpane button").filter(function() {
|
||||
return $(this).text() == language.valider;
|
||||
}).addClass("ui-state-disabled").attr("disabled", true);
|
||||
}
|
||||
|
||||
|
||||
function enableConfirmButton(dialog){
|
||||
dialog.getDomElement().closest('.ui-dialog').find(".ui-dialog-buttonpane button").filter(function() {
|
||||
return $(this).text() == language.valider;
|
||||
}).removeClass("ui-state-disabled").attr("disabled", false);
|
||||
}
|
||||
|
||||
buttons[language.valider] = function(){
|
||||
var dialog = p4.Dialog.get(2);
|
||||
var buttonPanel = dialog.getDomElement().closest('.ui-dialog').find(".ui-dialog-buttonpane");
|
||||
var loadingDiv = buttonPanel.find('.info-div');
|
||||
|
||||
if(loadingDiv.length == 0)
|
||||
{
|
||||
loadingDiv = $("<div />").css({
|
||||
'width' : '120px',
|
||||
'height' : '40px',
|
||||
'float':'left',
|
||||
'line-height' : '40px',
|
||||
'padding-left' : '40px',
|
||||
'text-align' : 'left',
|
||||
'background-position' : 'left center'
|
||||
}).attr('class', 'info-div').prependTo(buttonPanel);
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/prod/tools/thumb-extractor/apply/",
|
||||
data: {
|
||||
sub_def: subDefs,
|
||||
record_id : record_id,
|
||||
sbas_id: sbas_id
|
||||
},
|
||||
beforeSend: function(){
|
||||
disableConfirmButton(dialog);
|
||||
loadingDiv.empty().addClass('loading').append('{{ "processing" | trans }}');
|
||||
},
|
||||
success: function(data){
|
||||
loadingDiv.empty().removeClass('loading');
|
||||
|
||||
if(data.success)
|
||||
{
|
||||
dialog.Close();
|
||||
p4.Dialog.get(1).Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
//var content = $("<div />").css({'color':'#a00'}).append("{{ "an error occured" | trans }} " + data.message);
|
||||
loadingDiv.append(content);
|
||||
enableConfirmButton(dialog);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//show confirm box, content is loaded here /prod/tools/thumb-extractor/confirm-box/
|
||||
var dialog = p4.Dialog.Create({
|
||||
size:'Small',
|
||||
title:"{{ 'thumbnail validation' | trans }}",
|
||||
cancelButton:true,
|
||||
buttons: buttons
|
||||
}, 2);
|
||||
|
||||
var datas = {
|
||||
image: $('.selected', $sliderWrapper).attr("src"),
|
||||
sbas_id: sbas_id,
|
||||
record_id: record_id
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/prod/tools/thumb-extractor/confirm-box/",
|
||||
data: datas,
|
||||
success: function(data){
|
||||
|
||||
if(data.error)
|
||||
sources: [
|
||||
{% for subdef in previewHtml5 %}
|
||||
{
|
||||
var content = $("<div />").css({'font-size':'16px', 'text-align':'center'}).append(data.datas);
|
||||
dialog.setContent(content);
|
||||
disableConfirmButton(dialog);
|
||||
}
|
||||
else
|
||||
{
|
||||
dialog.setContent(data.datas);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
//not supported
|
||||
$("#thumbExtractor").empty().append(language.browserFeatureSupport);
|
||||
}
|
||||
ratio: '{{ ratio }}',
|
||||
framerate: {{ record.exif[constant('media_subdef::TC_DATA_FRAMERATE')] | round(2) }},
|
||||
type: "{{ subdef.get_mime() }}",
|
||||
src: "{{ subdef.get_url() }}"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
]
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
]
|
||||
|
||||
{% if selectionLength == 1%}
|
||||
$('#tools-sharing .stateChange_button').bind('click',function(event){
|
||||
var $btn = $(event.currentTarget),
|
||||
state = true;
|
||||
|
||||
// inverse state
|
||||
if( $btn.data('state') == 1) {
|
||||
state = false;
|
||||
}
|
||||
|
||||
// submit changes
|
||||
$.post('tools/sharing-editor/{{record.get_base_id}}/{{record.get_record_id}}/', {
|
||||
name: $btn.data('name'),
|
||||
state: state
|
||||
}).done(function(data) {
|
||||
// self reload tab with current active tab:
|
||||
var activeTab = tabs.tabs('option', 'active');
|
||||
toolREFACTOR($dialog.getOption('contextArgs'), activeTab);
|
||||
}).error(function(err) {
|
||||
alert('forbidden action')
|
||||
});
|
||||
return false;
|
||||
});
|
||||
{% endif %}
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
@@ -1,110 +1,42 @@
|
||||
{% set canValid = false %}
|
||||
<div class="well-small text-center">
|
||||
<form onsubmit="return false" action="{{ path('prod_move_collection_apply') }}" method="post">
|
||||
{% if records.databoxes() | length > 1 %}
|
||||
{% if records | length != records.received() | length %}
|
||||
<div class="well-small">
|
||||
{{ 'prod::Les enregistrements ne provienent pas tous de la meme base et ne peuvent donc etre traites ensemble' | trans }}
|
||||
</div>
|
||||
{% elseif records | length == 0 %}
|
||||
<div class="well-small">
|
||||
{{ 'prod::Vous n\'avez le droit d\'effectuer l\'operation sur aucun document' | trans }}
|
||||
</div>
|
||||
{% elseif collections | length == 0 %}
|
||||
<div class="well-small">
|
||||
{{ 'erreur : Vous n\'avez pas les droits' | trans }}
|
||||
</div>
|
||||
{% else %}
|
||||
{% set canValid = true %}
|
||||
|
||||
{% if records | length != records.received() | length %}
|
||||
<div class="well-small">
|
||||
{% set countable = records.received().count() - records.count() %}
|
||||
{% if countable == 1 %}
|
||||
{% trans %}One document can not be modified.{% endtrans %}
|
||||
{% else %}
|
||||
{% trans with {'%countable%' : countable} %}%countable% documents can not be modified.{% endtrans %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="well-small">
|
||||
{% set countable = records | length %}
|
||||
{% set countable = records.received().count() - records.count() %}
|
||||
{% if countable == 1 %}
|
||||
{% trans %}Move one record to the chosen collection in the list.{% endtrans %}
|
||||
{% trans %}One document can not be modified.{% endtrans %}
|
||||
{% else %}
|
||||
{% trans with {'%countable%' : countable} %}Move %countable% records to the chosen collection in the list.{% endtrans %}
|
||||
{% trans with {'%countable%' : countable} %}%countable% documents can not be modified.{% endtrans %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="well-small">
|
||||
<select name="base_id">
|
||||
{% for collection in collections %}
|
||||
<option value="{{ collection.get_base_id() }}">{{ collection.get_label(app['locale']) }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{% if records.stories() | length > 0 %}
|
||||
<div class="well-small">
|
||||
<label class="checkbox text-info">
|
||||
<input type="checkbox" value="1" name="chg_coll_son"> {{ 'prod::collection deplacer egalement les documents rattaches a ce(s) regroupement(s)' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<input type="hidden" name="act" value="WORK">
|
||||
<input type="hidden" name="lst" value="{{ records.serializedList() }}">
|
||||
{% endif %}
|
||||
|
||||
<div class="well-small">
|
||||
{% set countable = records | length %}
|
||||
{% if countable == 1 %}
|
||||
{% trans %}Move one record to the chosen collection in the list.{% endtrans %}
|
||||
{% else %}
|
||||
{% trans with {'%countable%' : countable} %}Move %countable% records to the chosen collection in the list.{% endtrans %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="well-small">
|
||||
<select name="base_id">
|
||||
{% for collection in collections %}
|
||||
<option value="{{ collection.get_base_id() }}">{{ collection.get_label(app['locale']) }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{% if records.stories() | length > 0 %}
|
||||
<div class="well-small">
|
||||
<label class="checkbox text-info">
|
||||
<input type="checkbox" value="1" name="chg_coll_son"> {{ 'prod::collection deplacer egalement les documents rattaches a ce(s) regroupement(s)' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<input type="hidden" name="act" value="WORK">
|
||||
<input type="hidden" name="lst" value="{{ records.serializedList() }}">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{% if canValid %}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$dialog = p4.Dialog.get(1);
|
||||
|
||||
var $form = $dialog.getDomElement();
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.valider] = function(){
|
||||
var coll_son = $('input[name="chg_coll_son"]:checked', $form).length > 0 ? '1' : '0';
|
||||
var datas = {
|
||||
lst: $('input[name="lst"]', $form).val(),
|
||||
base_id: $('select[name="base_id"]', $form).val(),
|
||||
chg_coll_son: coll_son
|
||||
};
|
||||
|
||||
var buttonPanel = $dialog.getDomElement()
|
||||
.closest('.ui-dialog')
|
||||
.find('.ui-dialog-buttonpane');
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/prod/records/movecollection/apply/",
|
||||
dataType: 'json',
|
||||
data: datas,
|
||||
beforeSend: function() {
|
||||
$(":button:contains('" + language.valider + "')", buttonPanel)
|
||||
.attr("disabled", true).addClass("ui-state-disabled");
|
||||
},
|
||||
success: function(data){
|
||||
$dialog.Close();
|
||||
if(data.success) {
|
||||
humane.info(data.message);
|
||||
} else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
},
|
||||
complete: function(){
|
||||
$(":button:contains('" + language.valider + "')", buttonPanel)
|
||||
.attr("disabled", false).removeClass("ui-state-disabled");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
$dialog.setOption('buttons', buttons);
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
|
@@ -27,73 +27,6 @@
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
var $dialog = p4.Dialog.get(1);
|
||||
var $dialogBox = $dialog.getDomElement();
|
||||
var $closeButton = $("button.ui-dialog-titlebar-close", $dialogBox.parent());
|
||||
var $cancelButton = $("button.cancel", $dialogBox);
|
||||
|
||||
$cancelButton.bind("click", function(){
|
||||
$dialog.Close();
|
||||
});
|
||||
|
||||
$("button.submiter", $dialogBox).bind("click", function(){
|
||||
var $this = $(this);
|
||||
var form = $(this).closest("form");
|
||||
var loader = form.find("form-action-loader");
|
||||
|
||||
$.ajax({
|
||||
type: form.attr("method"),
|
||||
url: form.attr("action"),
|
||||
data: form.serializeArray(),
|
||||
dataType: "json",
|
||||
beforeSend:function(){
|
||||
$this.prop('disabled', true);
|
||||
$closeButton.prop('disabled', true);
|
||||
$cancelButton.prop('disabled', true);
|
||||
$dialog.setOption('closeOnEscape', false);
|
||||
loader.show();
|
||||
},
|
||||
success: function(data){
|
||||
$dialog.Close();
|
||||
$.each(data,function(i,n){
|
||||
var imgt = $('#IMGT_'+n),
|
||||
chim = $('.CHIM_'+n),
|
||||
stories = $('.STORY_'+n);
|
||||
$('.doc_infos', imgt).remove();
|
||||
imgt.unbind("click").removeAttr("ondblclick").removeClass("selected").draggable("destroy").removeClass("IMGT").find("img").unbind();
|
||||
imgt.find(".thumb img").attr("src","/assets/common/images/icons/deleted.png").css({
|
||||
width:'100%',
|
||||
height:'auto',
|
||||
margin: '0 10px',
|
||||
top: '0'
|
||||
});
|
||||
chim.parent().slideUp().remove();
|
||||
imgt.find(".status,.title,.bottom").empty();
|
||||
|
||||
p4.Results.Selection.remove(n);
|
||||
if(stories.length > 0)
|
||||
{
|
||||
p4.WorkZone.refresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
p4.WorkZone.Selection.remove(n);
|
||||
}
|
||||
});
|
||||
viewNbSelect();
|
||||
},
|
||||
complete: function(){
|
||||
$this.prop('disabled', false);
|
||||
$closeButton.prop('disabled', false);
|
||||
$cancelButton.prop('disabled', false);
|
||||
$dialog.setOption('closeOnEscape', true);
|
||||
loader.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% elseif nbReceived == 0 %}
|
||||
<div class="well-small" style="text-align:center;">
|
||||
<span class="label label-important">{{ "No document selected" | trans }}</span>
|
||||
@@ -102,4 +35,4 @@
|
||||
<div class="well-small" style="text-align:center;">
|
||||
<span class="label label-info">{{ "You do not have rights to remove selected documents" | trans }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@@ -35,7 +35,9 @@
|
||||
<div class='titre'>
|
||||
{{ record.get_original_name() }}
|
||||
</div>
|
||||
<img class="edit_IMGT" id="idEditDiapoImg_{{ i }}" style="position:absolute; top:{{ top|round }}%; width:{{ width }}; height:{{ height }}; left:{{ left|round }}%;" onclick="edit_clk_editimg(event, {{ i }});" src="{{ thumbnail }}" />
|
||||
<img class="edit_IMGT select-record-action" id="idEditDiapoImg_{{ i }}"
|
||||
style="position:absolute; top:{{ top|round }}%; width:{{ width }}; height:{{ height }}; left:{{ left|round }}%;"
|
||||
data-index="{{ i }}" src="{{ thumbnail }}" />
|
||||
<div style='position:absolute; top:0px; left:0px; height:20px'>
|
||||
<img class="require_alert" src="/assets/common/images/icons/alert.png" style="display:none;cursor:help;" title="{{ 'edit::Certains champs doivent etre remplis pour valider cet editing' | trans }}">
|
||||
</div>
|
||||
@@ -59,7 +61,9 @@
|
||||
<td>
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner" onclick="setRegDefault('{{i}}','{{record.get_record_id()}}');">{{ 'edit: chosiir limage du regroupement' | trans }}</div>
|
||||
<div class="context-menu-item-inner set-grouping-image-action"
|
||||
data-index="{{i}}"
|
||||
data-record-id="{{record.get_record_id()}}">{{ 'edit: chosiir limage du regroupement' | trans }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -75,7 +79,7 @@
|
||||
{% endmacro %}
|
||||
|
||||
{% macro HTML_fieldlist(recordsRequest, fields) %}
|
||||
<div class="edit_field" id="EditFieldBox_status" onclick="return(edit_mdwn_status(event));" >
|
||||
<div class="edit_field edit-status-action" id="EditFieldBox_status">
|
||||
{% trans %}prod::editing::fields: status{% endtrans %}
|
||||
</div>
|
||||
{% set cssfile = '000000' %}
|
||||
@@ -85,7 +89,9 @@
|
||||
{% for field in fields %}
|
||||
{% set i = field.get_id() %}
|
||||
{% if field.is_readonly() is empty %}
|
||||
<div class="edit_field" id="EditFieldBox_{{i}}" onclick="return(edit_mdwn_fld(event, {{i}}, '{{field.get_name()}}'));" >
|
||||
<div class="edit_field edit-field-action" id="EditFieldBox_{{i}}"
|
||||
data-id="{{i}}"
|
||||
data-name="{{field.get_name()}}">
|
||||
<i id="editSGtri_{{i}}" style="visibility:hidden;" class="icon-caret-right"></i>
|
||||
<span class="icon-stack fieldTips" tooltipsrc="{{ path('prod_tooltip_metadata', { 'sbas_id' : field.get_databox().get_sbas_id(), 'field_id' : field.get_id() }) }}">
|
||||
<i class="icon-circle icon-stack-base"></i>
|
||||
@@ -118,19 +124,6 @@
|
||||
{% set actionable = recordsRequest|length %}
|
||||
{% set not_actionable = recordsRequest.received|length - actionable %}
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
p4.edit.T_statbits = {{ JSonStatus|raw }};
|
||||
p4.edit.T_fields = {{ JSonFields|raw }};
|
||||
|
||||
p4.edit.T_records = {{ JSonRecords|raw }};
|
||||
p4.edit.T_sgval = {{ JSonSuggValues|raw }};
|
||||
p4.edit.T_id = p4.edit.T_pos = {{ JSonIds|raw }};
|
||||
p4.edit.T_mval = [];
|
||||
|
||||
</script>
|
||||
|
||||
<div id="EDIT_ALL">
|
||||
|
||||
<div class="content-wrapper">
|
||||
@@ -173,28 +166,32 @@
|
||||
<div class="edit-zone-title PNB">
|
||||
<table style='position:relative; top:5px; table-layout:fixed; width:100%'>
|
||||
<tr>
|
||||
<td style='width:30px; text-align:right'>
|
||||
<input type='button' value='◄' class='btn btn-inverse' onclick="edit_chgFld(event, -1);return(false);" />
|
||||
</td>
|
||||
<td style='width:30px; text-align:right'>
|
||||
<input type='button' value='◄' class='btn btn-inverse field-navigate-action'
|
||||
data-direction="backward"/>
|
||||
</td>
|
||||
<td id="idFieldNameEdit"></td>
|
||||
<td style='width:30px; text-align:left'>
|
||||
<input type='button' value='►' class='btn btn-inverse' onclick="edit_chgFld(event, 1);return(false);" />
|
||||
<input type='button' value='►' class='btn btn-inverse field-navigate-action'
|
||||
data-direction="forward"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="EDIT_EDIT" class="PNB">
|
||||
<div id="ZTextMonoValued">
|
||||
<textarea id="idEditZTextArea" onmousedown="return(edit_mdwn_ta(event));" onmouseup="return(edit_mup_ta(event, this));" onkeyup="return(edit_kup_ta(event, this));" onKeyDown="return(edit_kdwn(event, this));"></textarea>
|
||||
<textarea id="idEditZTextArea" ></textarea>
|
||||
<div id="idEditDateZone"></div>
|
||||
</div>
|
||||
<div id="ZTextMultiValued">
|
||||
<form onsubmit="edit_addmval($('#EditTextMultiValued', p4.edit.editBox).val(), null);return(false);" style="position:absolute; height:30px; left:2px; right:2px;">
|
||||
<form class="add-multivalued-field-action"
|
||||
data-input-id="EditTextMultiValued"
|
||||
style="position:absolute; height:30px; left:2px; right:2px;">
|
||||
<div style="position:absolute; top:0px; left:0px; right:70px; height:17px;">
|
||||
<input type='text' style="font-size:15px; position:absolute; top:0px; left:0px; width:100%; height:100%;" id="EditTextMultiValued" value="" />
|
||||
</div>
|
||||
<div style="position:absolute; top:6px; width:60px; right:0px; height:11px;">
|
||||
<img id="EditButAddMultiValued" style="cursor:pointer" src="/assets/common/images/icons/plus16.png" onclick="edit_addmval($('#EditTextMultiValued', p4.edit.editBox).val(), null);" />
|
||||
<img id="EditButAddMultiValued add-multivalued-field-action" style="cursor:pointer" src="/assets/common/images/icons/plus16.png" />
|
||||
</div>
|
||||
</form>
|
||||
<div id="ZTextMultiValued_values"></div>
|
||||
@@ -211,7 +208,8 @@
|
||||
{% for n, stat in status %}
|
||||
<tr>
|
||||
<td style="padding-left:10px">
|
||||
<span style="cursor:pointer" onclick="edit_clkstatus(event, {{n}}, 0);">
|
||||
<span class="toggle-status-field-action" data-state="false" data-bit="{{n}}"
|
||||
style="cursor:pointer" >
|
||||
<div id="idCheckboxStatbit0_{{n}}" class="gui_ckbox_0"></div>
|
||||
{% if stat['img_off'] %}
|
||||
<img src="{{stat['img_off']}}" title="{{stat['label0']}}" style="width:16px;height:16px;vertical-align:bottom" />
|
||||
@@ -220,7 +218,8 @@
|
||||
</span>
|
||||
</td>
|
||||
<td style="padding-left:20px">
|
||||
<span style="cursor:pointer" onclick="edit_clkstatus(event, {{n}}, 1);">
|
||||
<span class="toggle-status-field-action" data-state="true" data-bit="{{n}}"
|
||||
style="cursor:pointer" >
|
||||
<div id="idCheckboxStatbit1_{{n}}" class="gui_ckbox_0"></div>
|
||||
{% if stat['img_on'] %}
|
||||
<img src="{{stat['img_on']}}" title="{{stat['label1']}}" style="width:16px;height:16px;vertical-align:bottom" />
|
||||
@@ -235,9 +234,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="idDivButtons" class="PNB">
|
||||
<input id="ok" type="button" value="{{ 'boutton::remplacer' | trans }}" class="btn btn-inverse" onclick="edit_validField(event, 'ok');return(false);">
|
||||
<input id="fusion" type="button" value="{{ 'boutton::ajouter' | trans }}" class="btn btn-inverse" onclick="edit_validField(event, 'fusion');return(false);">
|
||||
<input id="cancel" type="button" value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse" onclick="edit_validField(event, 'cancel');return(false);">
|
||||
<input id="ok" type="button" value="{{ 'boutton::remplacer' | trans }}" class="btn btn-inverse commit-field-action" data-mode="ok">
|
||||
<input id="fusion" type="button" value="{{ 'boutton::ajouter' | trans }}" class="btn btn-inverse commit-field-action" data-mode="fusion">
|
||||
<input id="cancel" type="button" value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse commit-field-action" data-mode="cancel">
|
||||
</div>
|
||||
<div id="idExplain" class="PNB"></div>
|
||||
</div>
|
||||
@@ -249,15 +248,15 @@
|
||||
{% if thesaurus %}
|
||||
<li><a href="#TH_Ofull">{{ 'phraseanet:: thesaurus' | trans }}</a></li>
|
||||
{% endif %}
|
||||
<li><a href="#TH_Oclipboard">{{ 'phraseanet:: presse-papier' | trans }}</a></li>
|
||||
<li><a href="#TH_Opreview">{{ 'phraseanet:: preview' | trans }}</a></li>
|
||||
<li><a href="#TH_Oreplace">{{ 'prod::editing: rechercher-remplacer' | trans }}</a></li>
|
||||
<li><a href="#TH_Opresets">{{ 'prod::editing: modeles de fiches' | trans }}</a></li>
|
||||
<li><a href="#TH_Oclipboard">{{ 'phraseanet:: presse-papier' | trans }}</a></li>
|
||||
</ul>
|
||||
{% if thesaurus %}
|
||||
<div id='TH_Ofull'>
|
||||
<div class='thesaurus' ondblclick='return(edit_dblclickThesaurus(event));' onclick='return(edit_clickThesaurus(event));'>
|
||||
<p id='TH_T.{{ databox.get_sbas_id() }}.T'>
|
||||
<div class='thesaurus edit-thesaurus-action'>
|
||||
<p id='TH_T.{{ databox.get_sbas_id() }}.T' class="thesaurus-db-root">
|
||||
<u id='TH_P.{{ databox.get_sbas_id() }}.T'>+</u><a id='GL_W.{{ databox.get_sbas_id() }}.T' style='FONT-WEIGHT: bold;'>{{ databox.get_label(app['locale']) }}</a>
|
||||
</p>
|
||||
<div id='TH_K.{{ databox.get_sbas_id() }}.T' class='c'>{{ 'phraseanet::chargement' | trans }}</div>
|
||||
@@ -265,11 +264,6 @@
|
||||
<img style="position:absolute; margin:auto" id="TH_searching" src="/assets/common/images/icons/ftp-loader-blank.gif" />
|
||||
</div>
|
||||
{% endif %}
|
||||
<div id='TH_Oclipboard'>
|
||||
<div class="PNB10">
|
||||
<textarea id='CLIP_CC' style="width:98%; height:98% !important; height:300px;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div id='TH_Opreview'>
|
||||
<div class="PNB10"></div>
|
||||
</div>
|
||||
@@ -301,7 +295,7 @@
|
||||
<tr>
|
||||
<td valign="top">{{ 'prod::editing:remplace: options de remplacement' | trans }}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="checkbox" id="EditSROptionRX" value="regexp" onchange="changeReplaceMode(this);">
|
||||
<input type="checkbox" id="EditSROptionRX" value="regexp" class="checkbox record-editor-toggle-replace-mode-action">
|
||||
{{ 'prod::editing:remplace::option : utiliser une expression reguliere' | trans }}
|
||||
{% set help_link = 'https://secure.wikimedia.org/wikipedia/en/wiki/Regular_expression' %}
|
||||
{% if app['locale'] == 'de' %}
|
||||
@@ -338,7 +332,7 @@
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<br />
|
||||
<input type="button" class='btn btn-inverse' value="{{ 'boutton::valider' | trans }}" onclick="replace(); return(false);" />
|
||||
<input type="button" class="btn btn-inverse record-editor-searchReplace-action" value="{{ 'boutton::valider' | trans }}"/>
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
@@ -350,13 +344,18 @@
|
||||
</div>
|
||||
<ul style="top:50px;" class="PNB10 EDIT_presets_list"></ul>
|
||||
</div>
|
||||
<div id='TH_Oclipboard'>
|
||||
<div class="PNB10">
|
||||
<textarea id='CLIP_CC' style="width:98%; height:98% !important; height:300px;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="buttonEditing">
|
||||
<input type='button' value="{{ 'boutton::valider' | trans }}" class="btn btn-inverse btn-small" onclick="edit_applyMultiDesc(event);" />
|
||||
<input type='button' value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse btn-small" onclick="edit_cancelMultiDesc(event);" />
|
||||
<input type='button' value="{{ 'boutton::valider' | trans }}" class="btn btn-inverse btn-small apply-multi-desc-action" />
|
||||
<input type='button' value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse btn-small cancel-multi-desc-action" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -376,7 +375,7 @@
|
||||
<input type="hidden" name="edit-lst" id="edit_lst" value="{{ recordsRequest.serializedList() }}" />
|
||||
<input type='button' class='btn btn-inverse'
|
||||
value="{{ 'boutton::fermer' | trans }}"
|
||||
onClick="$('#EDITWINDOW').fadeOut();hideOverlay(2);return(false);" />
|
||||
onClick="$('#EDITWINDOW').fadeOut();return(false);" />
|
||||
</center>
|
||||
</div>
|
||||
|
||||
@@ -404,30 +403,64 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
{% if multipleDataboxes or recordsRequest|length == 0 %}
|
||||
$('#EDITWINDOW').hide();
|
||||
hideOverlay(2);
|
||||
|
||||
$(function() {
|
||||
// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
|
||||
$( "#dialog-edit-many-sbas:ui-dialog" ).dialog( "destroy" );
|
||||
|
||||
$( "#dialog-edit-many-sbas" ).dialog({
|
||||
modal: true,
|
||||
resizable:false,
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
$( this ).dialog( "close" );
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
{% else %}
|
||||
{% if not_actionable > 1 %}
|
||||
alert("{{ 'prod::editing: %not_actionable% documents ne peuvent etre edites car vos droits sont induffisants' | trans({'%not_actionable%' : not_actionable}) | e('js') }}");
|
||||
{% elseif not_actionable == 1 %}
|
||||
alert("{{ 'prod::editing: 1 document ne peut etre edite car vos droits sont induffisants' | trans | e('js') }}");
|
||||
{% endif %}
|
||||
startThisEditing({{ databox.get_sbas_id }},{% if recordsRequest.isSingleStory() %}'GRP'{% else %}'LST'{% endif %},"",'');
|
||||
{% set notActionableMsg = '' %}
|
||||
{% if not_actionable > 1 %}
|
||||
{% set notActionableMsg = 'prod::editing: %not_actionable% documents ne peuvent etre edites car vos droits sont induffisants' | trans({'%not_actionable%' : not_actionable}) %}
|
||||
{% elseif not_actionable == 1 %}
|
||||
{% set notActionableMsg = 'prod::editing: 1 document ne peut etre edite car vos droits sont induffisants' | trans | e('js')%}
|
||||
{% endif %}
|
||||
var recordEditorConfig = {
|
||||
hasMultipleDatabases: {% if multipleDataboxes or recordsRequest|length == 0 %}true{% else %}false{% endif %},
|
||||
databoxId: {{ databox.get_sbas_id }},
|
||||
mode: {% if recordsRequest.isSingleStory() %}'GRP'{% else %}'LST'{% endif %},
|
||||
notActionable: {{ not_actionable }},
|
||||
notActionableMsg: '{{notActionableMsg}}',
|
||||
diapoSize: {{ app['settings'].getUserSetting(app.getAuthenticatedUser(), 'editing_images_size') }},
|
||||
state: {
|
||||
T_statbits: {{ JSonStatus|raw }},
|
||||
T_fields: {{ JSonFields|raw }},
|
||||
T_records: {{ JSonRecords|raw }},
|
||||
T_sgval: {{ JSonSuggValues|raw }},
|
||||
T_id: {{ JSonIds|raw }},
|
||||
T_pos: {{ JSonIds|raw }},
|
||||
T_mval: []
|
||||
},
|
||||
videoEditorConfig: {% if videoEditorConfig is not null %}{{ videoEditorConfig|json_encode()|raw }}{% else %}{}{% endif %},
|
||||
records: [
|
||||
|
||||
{% for record in recordsRequest %}
|
||||
{
|
||||
id: {{ record.get_record_id }},
|
||||
type: "{{ record.get_type() }}",
|
||||
{% if record.get_type() == 'video' %}
|
||||
{% set outputFormats = record.getSubdfefByDeviceAndMime(null, ['image/jpeg', 'image/png']) %}
|
||||
{% set previewHtml5 = record.getSubdfefByDeviceAndMime(constant('\\databox_subdef::DEVICE_SCREEN'), ['video/ogg', 'video/mp4', 'video/webm']) %}
|
||||
{% set dataW = constant('media_subdef::TC_DATA_WIDTH') %}
|
||||
{% set dataH = constant('media_subdef::TC_DATA_HEIGHT') %}
|
||||
|
||||
{% set technical_info = record.get_technical_infos %}
|
||||
{% set width = technical_info[dataW].value %}
|
||||
{% set height = technical_info[dataH].value %}
|
||||
|
||||
{% if width and height %}
|
||||
{% set ratio = (width / height)|number_format(2, '.') %}
|
||||
{% else %}
|
||||
{% set ratio = '' %}
|
||||
{% endif %}
|
||||
|
||||
sources: [
|
||||
{% for subdef in previewHtml5 %}
|
||||
{
|
||||
ratio: '{{ ratio }}',
|
||||
framerate: {{ record.exif[constant('media_subdef::TC_DATA_FRAMERATE')] | round(2) }},
|
||||
type: "{{ subdef.get_mime() }}",
|
||||
src: "{{ subdef.get_url() }}"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
]
|
||||
{% endif %}
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
]
|
||||
};
|
||||
</script>
|
||||
|
@@ -5,18 +5,9 @@
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
<style type="text/css">
|
||||
.record_list .sortable.ui-sortable-placeholder{
|
||||
width:112px;
|
||||
height:118px;
|
||||
position:relative;
|
||||
float:left;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="modal_feed">
|
||||
<div class="row-fluid" style="height:120px">
|
||||
<div class="span12" style="overflow:auto;">
|
||||
<div class="span12 record_list" style="overflow:auto;">
|
||||
{% for record in publishing %}
|
||||
<div class="sortable" style="position:relative;float:left;">
|
||||
{{ _self.format_diapo(record) }}
|
||||
@@ -83,16 +74,3 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('#modal_feed .record_list').sortable({
|
||||
stop:function(event, ui){
|
||||
var lst = [];
|
||||
$('#modal_feed .record_list .sortable form').each(function(i, el){
|
||||
lst.push($('input[name="sbas_id"]', el).val()+'_'+$('input[name="record_id"]', el).val());
|
||||
});
|
||||
$('#modal_feed form.main_form input[name="lst"]').val(lst.join(';'));
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -5,18 +5,9 @@
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
<style type="text/css">
|
||||
.record_list .sortable.ui-sortable-placeholder{
|
||||
width:112px;
|
||||
height:118px;
|
||||
position:relative;
|
||||
float:left;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="modal_feed">
|
||||
<div class="row-fluid" style="height:120px">
|
||||
<div class="span12" style="overflow:auto;">
|
||||
<div class="span12 record_list" style="overflow:auto;">
|
||||
{% for content in entry.getItems() %}
|
||||
<div class="sortable" style="position:relative;float:left;">
|
||||
{{ _self.format_diapo(content.getRecord(app)) }}
|
||||
@@ -31,7 +22,7 @@
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<form class="main_form" method="post" action="{{ path('prod_feeds_entry_update', {'id': entry.getId()}) }}">
|
||||
<input type="hidden" name="sorted_lst" value="" />
|
||||
<input type="hidden" name="lst" value="" />
|
||||
<div class="row-fluid">
|
||||
<div class="span6">
|
||||
<h1>{{ 'Editer' | trans }}</h1>
|
||||
@@ -68,16 +59,3 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('#modal_feed .record_list').sortable({
|
||||
stop:function(event, ui){
|
||||
var lst = [];
|
||||
$('#modal_feed .record_list form').each(function(i, el){
|
||||
lst.push($('input[name="item_id"]', el).val()+'_'+(i+1));
|
||||
});
|
||||
$('#modal_feed form.main_form input[name="sorted_lst"]').val(lst.join(';'));
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -5,9 +5,8 @@
|
||||
<div class="sbas_list sbas_{{sbas_id}}" style="margin-bottom: 10px;">
|
||||
<input type="hidden" name="reference" value="{{sbas_id}}"/>
|
||||
<div class="clksbas">
|
||||
<span onclick="deploy(this, '.sbascont_{{sbas_id}}' );" class="deployer_closed" ></span>
|
||||
<input type="checkbox" checked style="display: none;" id="sbasChkr_{{sbas_id}}_{{unique_id}}" class="sbasChkr_{{sbas_id}}"
|
||||
onchange="clksbas(this, {{sbas_id}});" />
|
||||
<span class="toggle-collection deployer_closed" data-toggle-content=".sbascont_{{sbas_id}}"></span>
|
||||
<input type="checkbox" checked style="display: none;" id="sbasChkr_{{sbas_id}}_{{unique_id}}" class="select-database sbasChkr_{{sbas_id}}" data-database="{{sbas_id}}" />
|
||||
<label id="ADVSRCH_SBAS_LABEL_{{sbas_id}}" style="display: inline" class="checkbox danger_indicator" for="sbasChkr_{{sbas_id}}_{{unique_id}}">
|
||||
<span>{{sbas_id|sbas_labels(app)}}</span>
|
||||
<span class="infos_sbas_{{sbas_id}}">
|
||||
@@ -23,8 +22,8 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<input class="ck_{{collection["base_id"]}} checkbas" style="*margin-top:-18px;"
|
||||
onchange="checkFilters(true);"
|
||||
<input class="ck_{{collection["base_id"]}} checkbas check-filters" style="*margin-top:-18px;" data-save="true"
|
||||
|
||||
id="ck_{{collection["base_id"]}}_{{unique_id}}" type="checkbox"
|
||||
name="bases[]" value="{{collection["base_id"]}}" {% if collection["selected"] %}checked="checked"{% endif %} />
|
||||
</td>
|
||||
@@ -67,22 +66,86 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block stylesheet %}
|
||||
<link type="text/css" rel="stylesheet" href="/assets/prod/css/prod{% if not app.debug %}.min{% endif %}.css">
|
||||
<link id="skinCss" type="text/css" rel="stylesheet" href="/assets/prod/skins/{{ cssfile }}/skin-{{ cssfile }}{% if not app.debug %}.min{% endif %}.css">
|
||||
<link type="text/css" rel="stylesheet" href="/assets/production/production{% if not app.debug %}.min{% endif %}.css">
|
||||
<link id="skinCss" type="text/css" rel="stylesheet" href="/assets/production/skin-{{ cssfile }}{% if not app.debug %}.min{% endif %}.css">
|
||||
<style title="color_selection" type="text/css">
|
||||
/* .diapo.ui-selecting,#reorder_box .diapo.selecting, #EDIT_ALL .diapo.selecting, .list.selecting, .list.selecting .diapo {
|
||||
color: #{{ app['settings'].getUserSetting(app.getAuthenticatedUser(), 'fontcolor-selection', 'FFFFFF') }};
|
||||
background-color: #{{ app['settings'].getUserSetting(app.getAuthenticatedUser(), 'background-selection-disabled', '333333')}}};
|
||||
}*/
|
||||
.diapo.selected,#reorder_box .diapo.selected, #EDIT_ALL .diapo.selected, .list.selected, .list.selected .diapo {
|
||||
color: {{"#" ~ app['settings'].getUserSetting(app.getAuthenticatedUser(), 'fontcolor-selection', 'FFFFFF')}};
|
||||
background-color: {{"#" ~ app['settings'].getUserSetting(app.getAuthenticatedUser(), 'background-selection', '404040')}};
|
||||
}
|
||||
</style>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascript %}
|
||||
<script type="text/javascript" src="/assets/production/commons{% if not app.debug %}.min{% endif %}.js"></script>
|
||||
<script type="text/javascript" src="/assets/production/production{% if not app.debug %}.min{% endif %}.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'QUERY' %}
|
||||
{% set initialAppState = 'default' %}
|
||||
{% elseif app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'LAST_QUERY' %}
|
||||
{% set initialAppState = 'default' %}
|
||||
{% elseif app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'PUBLI' %}
|
||||
{% set initialAppState = 'publication' %}
|
||||
{% endif %}
|
||||
|
||||
window.prodApp = ProductionApplication.bootstrap({
|
||||
lang: "{{ app.locale }}",
|
||||
baseUrl: '{{ app['request'].getUriForPath('/') }}',
|
||||
basePath: '{{ app.request.basePath|e('js') }}',
|
||||
notify: {
|
||||
url: "{{ path('list_notifications') }}",
|
||||
moduleId: 1,
|
||||
userId: {{app.getAuthenticatedUser().getId()}}
|
||||
},
|
||||
debug: {% if app.debug %}true{% else %}false{% endif %},
|
||||
initialState: "{{ initialAppState }}",
|
||||
geonameServerUrl: '{{ app['geonames.server-uri'] }}',
|
||||
geocodingProviders: {{ geocodingProviders|json_encode()|raw}},
|
||||
thesaurusConfig: {
|
||||
replaceMessage: '{{ 'prod::thesaurusTab:dlg:Remplacement du candidat "%(from)s" par "%(to)s"' | trans }}',
|
||||
replaceInProgressMsg: '{{ 'prod::thesaurusTab:dlg:Remplacement en cours.' | trans }}',
|
||||
acceptMsg: '{{ 'prod::thesaurusTab:dlg:Acceptation en cours.' | trans }}',
|
||||
deleteMsg: '{{ 'prod::thesaurusTab:dlg:Suppression en cours.' | trans }}',
|
||||
candidateUniqueMsg: '{{ 'prod::thesaurusTab:dlg:accepter le terme candidat "%s" ?' | trans }}',
|
||||
candidateManyMsg: '{{ 'prod::thesaurusTab:dlg:accepter les %d termes candidats ?' | trans }}',
|
||||
acceptCandidateUniqueMsg: '{{ 'prod::thesaurusTab:wizard:clic-droit / accepter le terme candidat "%s"' | trans }}',
|
||||
acceptCandidateManyMsg: '{{ "prod::thesaurusTab:wizard:clic-droit / accepter les %s termes candidats" | trans }}',
|
||||
replaceCandidateUniqueMsg: '{{ "prod::thesaurusTab:dlg:remplacer le terme \"%s\" des fiches par :" | trans }}',
|
||||
replaceCandidateManyMsg: '{{ "prod::thesaurusTab:dlg:remplacer les %d termes des fiches par :" | trans }}',
|
||||
deleteCandidateUniqueMsg: '{{ 'prod::thesaurusTab:dlg:supprimer le terme "%s" des fiches ?' | trans }}',
|
||||
deleteCandidateManyMsg: '{{ 'prod::thesaurusTab:dlg:supprimer les %d termes des fiches ?' | trans }}',
|
||||
loadingMsg: '{{ 'prod::thesaurusTab:tree:loading' | trans }}',
|
||||
searchMsg: '{{ 'boutton::chercher' | trans }}',
|
||||
acceptSpecificTermMsg: '{{ 'prod::thesaurusTab:tmenu:Accepter comme terme specifique' | trans }}',
|
||||
acceptSynonymeMsg: '{{ 'prod::thesaurusTab:tmenu:Accepter comme synonyme' | trans }}',
|
||||
replaceWithMsg: '{{ 'prod::thesaurusTab:cmenu:Remplacer par...' | trans }}',
|
||||
removeActionMsg: '{{ 'boutton::supprimer' | trans }}',
|
||||
sbas: {{thesau_json_sbas|raw}},
|
||||
bas2sbas: {{thesau_json_bas2sbas|raw}},
|
||||
availableDatabases: [
|
||||
{% for base in search_datas['bases'] %}{% if base['thesaurus'] %}{
|
||||
id: {{base['sbas_id']}}
|
||||
}{% if not loop.last %},{% endif %}{% endif %}{% endfor %}
|
||||
],
|
||||
languagesCount: {{ thesau_languages|length }},
|
||||
langContextMenu: [
|
||||
{% for lng_code, lng in thesau_languages %}
|
||||
{
|
||||
label:'{% trans with {'%lng_code%' : lng_code} %}prod::thesaurusTab:cmenu:Accepter en %lng_code%{% endtrans %}',
|
||||
lngCode: '{{lng_code}}',
|
||||
},
|
||||
{% endfor %}
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function(){
|
||||
prodApp.appEvents.emit('workzone.doRemoveWarning', "{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), "warning_on_delete_story") %}true{% else %}false{% endif %}");
|
||||
|
||||
});
|
||||
</script>
|
||||
{% include "common/templates.html.twig" %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -115,8 +178,7 @@
|
||||
{{WorkZoneMacros.make_bloc(app, WorkZone)}}
|
||||
</div>
|
||||
{% if GV_thesaurus %}
|
||||
<div id="proposals" class="PNB"
|
||||
ondblclick="return(thesau_dblclickThesaurus(event));" onclick="return(thesau_clickThesaurus(event));">
|
||||
<div id="proposals" class="PNB thesaurus-from-facets-action">
|
||||
<button id="facets-back-btn" style="display:none;">back</button>
|
||||
</div>
|
||||
{% include 'prod/tab_thesaurus.html.twig' with {has_access_to_module: app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('thesaurus')} %}
|
||||
@@ -135,19 +197,19 @@
|
||||
<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="dialog small-dialog" href="{{ path('prod_baskets_create') }}">
|
||||
<a title="{{ 'action:: nouveau panier' | trans }}" class="basket-create-action" href="#">
|
||||
<img style="cursor:pointer;" src="/assets/common/images/icons/mtadd_0.gif" title="{{ 'action:: nouveau panier' | trans }}" />
|
||||
{{ 'action:: nouveau panier' | trans }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="context-menu-item-inner">
|
||||
<a title="{{ 'Browse Baskets' | trans }}" class="dialog" href="{{ path('prod_workzone_browse') }}">
|
||||
<a title="{{ 'Browse Baskets' | trans }}" class="basket-browse-action" href="#">
|
||||
{{ 'Browse Baskets' | trans }}
|
||||
</a>
|
||||
</div>
|
||||
{% if app['conf'].get(['registry', 'modules', 'stories']) and app.getAclForUser(app.getAuthenticatedUser()).has_right('addrecord') %}
|
||||
<div class="context-menu-item-inner">
|
||||
<a title="{{ 'action:: nouveau reportage' | trans }}" class="dialog small-dialog" href="{{ path('prod_stories_create') }}">
|
||||
<a title="{{ 'action:: nouveau reportage' | trans }}" class="story-create-action" href="#">
|
||||
<img style="cursor:pointer;" src="/assets/common/images/icons/mtadd_0.gif" title="{{ 'action:: nouveau reportage' | trans }}" />
|
||||
{{ 'action:: nouveau reportage' | trans }}
|
||||
</a>
|
||||
@@ -155,19 +217,19 @@
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="context-menu-item">
|
||||
<div class="context-menu-item-inner" onclick="return p4.WorkZone.refresh('current','date');">
|
||||
<div class="context-menu-item-inner basket-filter-action" data-sort="date">
|
||||
<img style="cursor:pointer;" src="/assets/common/images/icons/cal.png" title="{{ 'phraseanet:: tri par date' | trans }}" />
|
||||
{{ 'phraseanet:: tri par date' | trans }}
|
||||
</div>
|
||||
</li>
|
||||
<li class="context-menu-item">
|
||||
<div class="context-menu-item-inner" onclick="return p4.WorkZone.refresh('current','name');">
|
||||
<div class="context-menu-item-inner basket-filter-action" data-sort="name">
|
||||
<img style="cursor:pointer;" src="/assets/common/images/icons/alpha.png" title="{{ 'phraseanet:: tri par nom' | trans }}" />
|
||||
{{ 'phraseanet:: tri par nom' | trans }}
|
||||
</div>
|
||||
</li>
|
||||
<li class="context-menu-item">
|
||||
<div class="context-menu-item-inner" onclick="basketPrefs();">
|
||||
<div class="context-menu-item-inner basket-preferences-action">
|
||||
{{ 'Preferences' | trans }}
|
||||
</div>
|
||||
</li>
|
||||
@@ -189,6 +251,11 @@
|
||||
<a id="ADV_query" href="#" class="btn btn-inverse adv_trigger adv_search_button">
|
||||
<img src="/assets/common/images/icons/settings.png" title="{{ 'Advanced Search' | trans }}"/>
|
||||
</a>
|
||||
{% if geocodingProviders|length > 0 %}
|
||||
<a id="geo_query" href="#" class="btn btn-inverse adv_trigger geo-search-action-btn">
|
||||
<img src="/assets/common/images/icons/map.png" title="{{ 'Geo Search' | trans }}"/>
|
||||
</a>
|
||||
{% endif %}
|
||||
<button type="submit" class="btn btn-inverse" style="font-size:14px">{{ 'boutton::rechercher' | trans }}</button>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
@@ -215,17 +282,17 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="controls controls-row adv_options" style="display:none;">
|
||||
<div id="advancedSearchForm" class="controls controls-row adv_options" style="display:none;">
|
||||
<table style="width:100%; table-layout:fixed;">
|
||||
<tr>
|
||||
<td style="width:50%; vertical-align:top;">
|
||||
<div id="ADVSRCH_SBAS_ZONE" class="sbasglob">
|
||||
<div class="btn-toolbar">
|
||||
<input class="btn btn-inverse" type="button"
|
||||
value="{{ 'boutton:: selectionner toutes les bases' | trans }}" onclick="checkBases(true);" />
|
||||
<input class="btn btn-inverse" type="button"
|
||||
value="{{ 'boutton:: selectionner aucune base' | trans }}" onclick="checkBases(false);" />
|
||||
<input class="btn btn-inverse toggle-database" type="button"
|
||||
value="{{ 'boutton:: selectionner toutes les bases' | trans }}"
|
||||
data-state="true" />
|
||||
<input class="btn btn-inverse toggle-database" type="button" data-state="false"
|
||||
value="{{ 'boutton:: selectionner aucune base' | trans }}" />
|
||||
</div>
|
||||
{{_self.bas_list(module_prod, search_datas)}}
|
||||
</div>
|
||||
@@ -233,7 +300,7 @@
|
||||
<td style="width:50%; vertical-align:top;">
|
||||
<div id="sbasfiltercont">
|
||||
<div class="btn-toolbar">
|
||||
<input class="btn btn-inverse" type="button" value="{{ 'Re-initialiser' | trans }}" onclick="reset_adv_search();" />
|
||||
<input class="btn btn-inverse search-reset-action" type="button" value="{{ 'Re-initialiser' | trans }}" />
|
||||
</div>
|
||||
<div id="ADVSRCH_OPTIONS_ZONE">
|
||||
<div id="ADVSRCH_SORT_ZONE">
|
||||
@@ -250,7 +317,7 @@
|
||||
{% set sortOrderPreference = search_datas.elasticSort.order %}
|
||||
{% endif %}
|
||||
<span>{{ 'Trier par' | trans }}</span>
|
||||
<select name="sort" class="input-medium" onchange="checkFilters(true);">
|
||||
<select name="sort" class="input-medium check-filters" data-save="true">
|
||||
{% set isSelected = (sortByPreference == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON')) %}
|
||||
{% set isDefault = (sortByDefault == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON')) %}
|
||||
<option value="{{ constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON') }}" {% if isSelected %}selected="selected"{% endif %}{% if isDefault %} class="default-selection"{% endif %}>{{ "Date Added"|trans }}</option>
|
||||
@@ -267,7 +334,7 @@
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
</select>
|
||||
<select name="ord" class="input-medium" onchange="checkFilters(true);">
|
||||
<select name="ord" class="input-medium check-filters" data-save="true">
|
||||
{% for ord, ord_name in app['phraseanet.SE'].getAvailableOrder() %}
|
||||
{% set isSelected = (sortOrderPreference == ord) %}
|
||||
{% set isDefault = (sortOrderDefault == ord) %}
|
||||
@@ -278,7 +345,7 @@
|
||||
|
||||
<div id="ADVSRCH_FIELDS_ZONE" class="danger_indicator">
|
||||
<span>{{ 'Les termes apparaissent dans le(s) champs' | trans }}</span>
|
||||
<select size="8" multiple onchange="checkFilters(true);" name="fields[]" style="vertical-align:middle; width:99%;">
|
||||
<select 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'] %}
|
||||
{% if field['type'] != 'date' %}
|
||||
@@ -298,7 +365,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<span onclick="deploy(this, '#ADVSRCH_SB_{{databox_id}}' );return false;" class="deployer_closed" ></span>
|
||||
<span class="toggle-collection deployer_closed" data-toggle-content="#ADVSRCH_SB_{{databox_id}}"></span>
|
||||
<span class="danger_indicator">{{ databox['name'] }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -311,7 +378,7 @@
|
||||
{% if status['img_off'] %}
|
||||
<img src="{{status['img_off']}}" title="{{status['labels_off_i18n'][app['locale']]}}" />
|
||||
{% endif %}
|
||||
<input onchange="checkFilters(true);" class="field_switch field_{{databox_id}}"
|
||||
<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}}]" />
|
||||
{{status['labels_off_i18n'][app['locale']]}}
|
||||
@@ -322,7 +389,7 @@
|
||||
{% if status['img_on'] %}
|
||||
<img src="{{status['img_on']}}" title="{{status['labels_on_i18n'][app['locale']]}}" />
|
||||
{% endif %}
|
||||
<input onchange="checkFilters(true);" class="field_switch field_{{databox_id}}"
|
||||
<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}}]"/>
|
||||
{{status['labels_on_i18n'][app['locale']]}}
|
||||
@@ -341,7 +408,7 @@
|
||||
{% if app['phraseanet.SE'].getAvailableDateFields() | length > 0 %}
|
||||
<hr />
|
||||
<span>
|
||||
<select name="date_field" class="input-medium" onchange="checkFilters(true);">
|
||||
<select name="date_field" class="input-medium check-filters" data-save="true">
|
||||
<option selected="selected"
|
||||
value="">{{ 'Rechercher dans un champ date' | trans }}</option>
|
||||
{% for fieldname, date in search_datas['dates'] %}
|
||||
@@ -354,12 +421,12 @@
|
||||
{{ 'phraseanet::time:: de' | trans }}
|
||||
<div class="input-prepend">
|
||||
<span class="add-on"><i class="icon-calendar"></i></span>
|
||||
<input onchange="checkFilters(true);" class="datepicker input-small" type="text" name="date_min" placeholder="{% trans %}YYYY/MM/DD{% endtrans %}" style="margin: 0;position: relative; z-index: 10001;" />
|
||||
<input onchange="prodApp.appEvents.emit('search.doCheckFilters', true);" class="datepicker input-small" type="text" name="date_min" placeholder="{% trans %}YYYY/MM/DD{% endtrans %}" style="margin: 0;position: relative; z-index: 10001;" />
|
||||
</div>
|
||||
{{ 'phraseanet::time:: a' | trans }}
|
||||
<div class="input-prepend">
|
||||
<span class="add-on"><i class="icon-calendar"></i></span>
|
||||
<input onchange="checkFilters(true);" class="datepicker input-small" type="text" name="date_max" placeholder="{% trans %}YYYY/MM/DD{% endtrans %}" style="margin: 0;position: relative; z-index: 10001;" />
|
||||
<input onchange="prodApp.appEvents.emit('search.doCheckFilters', true);" class="datepicker input-small" type="text" name="date_max" placeholder="{% trans %}YYYY/MM/DD{% endtrans %}" style="margin: 0;position: relative; z-index: 10001;" />
|
||||
</div>
|
||||
</span>
|
||||
{% endif %}
|
||||
@@ -372,42 +439,14 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div id="history-queries" class="PNB" style="top:30px;overflow:hidden;">
|
||||
<div class="PNB10" style="overflow-y:auto;overflow-x:auto;">
|
||||
{{queries_history|raw}}
|
||||
</div>
|
||||
</div>
|
||||
{% if queries_topics %}
|
||||
<div id="choosen-topics" class="PNB" style="top:30px;overflow:hidden;">
|
||||
<div class="PNB10" style="overflow-y:auto;overflow-x:auto;">
|
||||
{{queries_topics|raw}}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
|
||||
<div id="idFrameT" class="PNB ui-corner-top">
|
||||
<div class="tools PNB10 btn-toolbar">
|
||||
{% include "prod/toolbar.html.twig" with {acl: app.getAclForUser(app.getAuthenticatedUser())} %}
|
||||
<a href="#" id="settings" onclick="lookBox(this,event);return false;">{{ 'Preferences' | trans }} </a>
|
||||
</div>
|
||||
<div id="answers" class=" PNB10">
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'QUERY' %}
|
||||
$('form[name="phrasea_query"]').addClass('triggerAfterInit');
|
||||
{% elseif app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'LAST_QUERY' %}
|
||||
$('form[name="phrasea_query"]').addClass('triggerAfterInit');
|
||||
{% elseif app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'PUBLI' %}
|
||||
getHome('PUBLI');
|
||||
{% endif %}
|
||||
});
|
||||
</script>
|
||||
<a href="#" id="settings" class="open-preferences" data-action="">{{ 'Preferences' | trans }} </a>
|
||||
</div>
|
||||
<div id="answers" class=" PNB10"></div>
|
||||
<div id="answers_status">
|
||||
<div class="infos">
|
||||
<span id="tool_results">
|
||||
@@ -415,22 +454,6 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<!--div id="answers_status" class="PNB">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="infos">
|
||||
<a href="#" onclick="lookBox(this,event);return false;">{{ 'Preferences' | trans }} </a>
|
||||
|
|
||||
<span id="tool_results">
|
||||
|
||||
</span>
|
||||
</td>
|
||||
<td class="navigation">
|
||||
<div id="tool_navigate"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -531,7 +554,7 @@
|
||||
<div class="" style="float:left; width:100%;margin-top:20px;">
|
||||
{% set mod = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'advanced_search_reload') %}
|
||||
<label class="checkbox inline" for="user_settings_advanced_search_reload">
|
||||
<input onchange="setPref('advanced_search_reload',$(this).prop('checked')?'1' : '0');" name="advanced_search_reload" type="checkbox" style="margin: 3px 0 0 -18px;" class="checkbox" value="1" id="user_settings_advanced_search_reload" {% if mod == '1' %}checked="checked"{% endif %}/>
|
||||
<input name="advanced_search_reload" type="checkbox" style="margin: 3px 0 0 -18px;" class="checkbox preferences-options-search-reload" value="1" id="user_settings_advanced_search_reload" {% if mod == '1' %}checked="checked"{% endif %}/>
|
||||
{{ 'Use latest search settings on Production loading' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
@@ -541,31 +564,28 @@
|
||||
<h1>{{ 'Mode de presentation' | trans }}</h1>
|
||||
{% set mod = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'view') %}
|
||||
<label class="radio inline" for="thumbs_view">
|
||||
<input onchange="setPref('view',$(this).val());" name="view_type" type="radio" style="margin: 3px 0 0 -18px;" class="radio" value="thumbs" id="thumbs_view" {% if mod == 'thumbs' %}checked="checked"{% endif %}/>
|
||||
<input name="view_type" type="radio" style="margin: 3px 0 0 -18px;" class="radio preferences-options-presentation-thumbnail" value="thumbs" id="thumbs_view" {% if mod == 'thumbs' %}checked="checked"{% endif %}/>
|
||||
{{ 'reponses:: mode vignettes' | trans }}
|
||||
</label>
|
||||
<label class="radio inline" for="list_view">
|
||||
<input onchange="setPref('view',$(this).val());" name="view_type" type="radio" style="margin: 3px 0 0 -18px;" class="radio" value="list" id="list_view" {% if mod == 'list' %}checked="checked"{% endif %}/>
|
||||
<input name="view_type" type="radio" style="margin: 3px 0 0 -18px;" class="radio preferences-options-presentation-list" value="list" id="list_view" {% if mod == 'list' %}checked="checked"{% endif %}/>
|
||||
{{ 'reponses:: mode liste' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
<div style="float:right; width:49%;">
|
||||
<h1>{{ 'Theme' | trans }}</h1>
|
||||
{% for color, file in css %}
|
||||
<div title="{{ 'Selecteur de theme' | trans }}" class="colorpicker_box"
|
||||
onclick="setCss('{{color}}');" style="width:16px;height:16px;background-color:{{ '#' ~ color ~ ';' }}"> </div>
|
||||
{% endfor %}
|
||||
<div id="theme-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
{% set rollover_thumbnail = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'rollover_thumbnail') %}
|
||||
<h1>{{ 'Presentation de vignettes' | trans }}</h1>
|
||||
<label class="radio" for="rollover_caption">
|
||||
<input onchange="setPref('rollover_thumbnail',$(this).val());" name="rollover_thumbnail" type="radio" class="radio" value="caption" id="rollover_caption" {% if rollover_thumbnail == 'caption' %}checked="checked" {% endif %}/>
|
||||
<input name="rollover_thumbnail" type="radio" class="radio preferences-options-rollover-caption" value="caption" id="rollover_caption" {% if rollover_thumbnail == 'caption' %}checked="checked" {% endif %}/>
|
||||
{{ 'Iconographe (description au rollover)' | trans }}
|
||||
</label>
|
||||
<label class="radio" for="rollover_preview">
|
||||
<input onchange="setPref('rollover_thumbnail',$(this).val());" name="rollover_thumbnail" type="radio" class="radio" value="preview" id="rollover_preview" {% if rollover_thumbnail == 'preview' %}checked="checked" {% endif %}/>
|
||||
<input name="rollover_thumbnail" type="radio" class="radio preferences-options-rollover-preview" value="preview" id="rollover_preview" {% if rollover_thumbnail == 'preview' %}checked="checked" {% endif %}/>
|
||||
{{ 'Graphiste (preview au rollover)' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
@@ -573,15 +593,15 @@
|
||||
{% set technical_display = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'technical_display') %}
|
||||
<h1>{{'Display technical data' | trans }}</h1>
|
||||
<label class="radio" for="technical_show">
|
||||
<input onchange="setPref('technical_display',$(this).val());" name="technical_display" type="radio" class="radio" value="1" id="technical_show" {% if technical_display == '1' %}checked="checked"{% endif %}/>
|
||||
<input name="technical_display" type="radio" class="radio preferences-options-technical-display" value="1" id="technical_show" {% if technical_display == '1' %}checked="checked"{% endif %}/>
|
||||
{{ 'In the answer grid' | trans }}
|
||||
</label>
|
||||
<label class="radio" for="technical_group">
|
||||
<input onchange="setPref('technical_display',$(this).val());" name="technical_display" type="radio" class="radio" value="group" id="technical_group" {% if technical_display == 'group' %}checked="checked"{% endif %}/>
|
||||
<input name="technical_display" type="radio" class="radio preferences-options-technical-display" value="group" id="technical_group" {% if technical_display == 'group' %}checked="checked"{% endif %}/>
|
||||
{{ 'After metadata' | trans }}
|
||||
</label>
|
||||
<label class="radio" for="technical_hide">
|
||||
<input onchange="setPref('technical_display',$(this).val());" name="technical_display" type="radio" class="radio" value="0" id="technical_hide" {% if technical_display == '0' %}checked="checked"{% endif %}/>
|
||||
<input name="technical_display" type="radio" class="radio preferences-options-technical-display" value="0" id="technical_hide" {% if technical_display == '0' %}checked="checked"{% endif %}/>
|
||||
{{ 'Do not display' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
@@ -589,7 +609,7 @@
|
||||
{% set doctype_display = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'doctype_display') %}
|
||||
<h1>{{'Type de documents' | trans }}</h1>
|
||||
<label class="checkbox" for="doctype_display_show">
|
||||
<input onchange="setPref('doctype_display',($(this).prop('checked') ? '1' :'0'));" name="doctype_display" type="checkbox" class="checkbox" value="1" id="doctype_display_show" {% if doctype_display != '0' %}checked="checked"{% endif %}/>
|
||||
<input name="doctype_display" type="checkbox" class="checkbox preferences-options-doctype-display" value="1" id="doctype_display_show" {% if doctype_display != '0' %}checked="checked"{% endif %}/>
|
||||
{{ 'Afficher une icone' | trans }}
|
||||
</label>
|
||||
|
||||
@@ -623,7 +643,7 @@
|
||||
<h1>{{ 'Affichage au demarrage' | trans }}</h1>
|
||||
<form class="form-inline">
|
||||
{% set start_page_pref = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') %}
|
||||
<select class="span4" name="start_page" onchange="start_page_selector();">
|
||||
<select class="span4 preferences-options-start-page" name="start_page">
|
||||
<option value="LAST_QUERY" {% if start_page_pref == 'LAST_QUERY' %}selected="selected"{% endif %} >
|
||||
{{ 'Ma derniere question' | trans }}
|
||||
</option>
|
||||
@@ -638,7 +658,7 @@
|
||||
</option>
|
||||
</select>
|
||||
<input type="text" class="span4" name="start_page_value" value="{{ app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query')}}" style="display:{% if start_page_pref == 'QUERY' %}inline{% else %}none{% endif %}" />
|
||||
<input type="button" class="btn btn-inverse" value="{{'boutton::valider' | trans }}" onclick="set_start_page();" />
|
||||
<input type="button" class="btn btn-inverse preferences-options-submit" value="{{'boutton::valider' | trans }}" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -669,7 +689,7 @@
|
||||
<div class="gui_vsplitter gui_vsplitter2" style="left:60%;">
|
||||
|
||||
</div>
|
||||
<div id="PREVIEWRIGHT" class="preview_col PNB" style="top:7px;left:60%;overflow:hidden;">
|
||||
<div id="PREVIEWRIGHT" class="preview_col PNB">
|
||||
<div id="PREVIEWIMGDESC" class="PNB10">
|
||||
<ul class="PNB" style="height:30px;bottom:auto;">
|
||||
<li><a href="#PREVIEWIMGDESCINNER-BOX">{{ 'preview:: Description' | trans }}</a></li>
|
||||
@@ -696,7 +716,7 @@
|
||||
<div class="PNB" style="width:180px;left:auto;">
|
||||
<div class="PNB10 ui-corner-all" style="height:20px;">
|
||||
|
||||
<button type="button" onclick="closePreview();" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close" role="button" aria-disabled="false" title="close">
|
||||
<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close close-preview-action" role="button" aria-disabled="false" title="close">
|
||||
<span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span><span class="ui-button-text">close</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -716,8 +736,8 @@
|
||||
<div>
|
||||
{% set basket_status_display = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'basket_status_display') %}
|
||||
<label for="basket_status_display" class="checkbox">
|
||||
<input onchange="setPref('basket_status_display',($(this).prop('checked') ? '1' :'0'));"
|
||||
name="basket_status_display" type="checkbox" class="checkbox" value="1"
|
||||
<input
|
||||
name="basket_status_display" type="checkbox preferences-options-basket-status" class="checkbox" value="1"
|
||||
id="basket_status_display" {% if basket_status_display == '1' %}checked="checked"{% endif %} />
|
||||
{{ 'Afficher les status' | trans }}
|
||||
</label>
|
||||
@@ -725,8 +745,8 @@
|
||||
<div>
|
||||
{% set basket_caption_display = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'basket_caption_display') %}
|
||||
<label for="basket_caption_display" class="checkbox">
|
||||
<input onchange="setPref('basket_caption_display',($(this).prop('checked') ? '1' :'0'));"
|
||||
name="basket_caption_display" type="checkbox" class="checkbox" value="1"
|
||||
<input
|
||||
name="basket_caption_display" type="checkbox" class="checkbox preferences-options-basket-caption" value="1"
|
||||
id="basket_caption_display" {% if basket_caption_display == '1' %}checked="checked"{% endif %} />
|
||||
{{ 'Afficher la fiche descriptive' | trans }}
|
||||
</label>
|
||||
@@ -734,8 +754,8 @@
|
||||
<div>
|
||||
{% set basket_title_display = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'basket_title_display') %}
|
||||
<label for="basket_title_display" class="checkbox">
|
||||
<input onchange="setPref('basket_title_display',($(this).prop('checked') ? '1' :'0'));"
|
||||
name="basket_title_display" type="checkbox" class="checkbox" value="1"
|
||||
<input
|
||||
name="basket_title_display" type="checkbox" class="checkbox preferences-options-basket-title" value="1"
|
||||
id="basket_title_display" {% if basket_title_display == '1' %}checked="checked"{% endif %} />
|
||||
{{ 'Afficher le titre' | trans }}
|
||||
</label>
|
||||
@@ -746,59 +766,5 @@
|
||||
<div id="dialog_publicator" title="{{ 'action : bridge' | trans }}" style="display:none;"></div>
|
||||
<div id="modal_feed" title="{{ 'action : publier' | trans }}" style="display:none;"></div>
|
||||
<div id="dialog_dwnl" title="{{ 'action : exporter' | trans }}" style="display:none;"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
{% include "prod/thesaurus.js.twig" with {'search_datas': search_datas} %}
|
||||
</script>
|
||||
<script type="text/javascript" src="/assets/common/js/common{% if not app.debug %}.min{% endif %}.js"></script>
|
||||
<script type="text/javascript" src="/assets/prod/js/prod{% if not app.debug %}.min{% endif %}.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
p4.reg_delete="{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), "warning_on_delete_story") %}true{% else %}false{% endif %}";
|
||||
});
|
||||
|
||||
function pollNotifications(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{{ path('list_notifications') }}",
|
||||
dataType: "json",
|
||||
data: {
|
||||
module : 1,
|
||||
usr : {{app.getAuthenticatedUser().getId()}}
|
||||
},
|
||||
error: function(){
|
||||
window.setTimeout("pollNotifications();", 10000);
|
||||
},
|
||||
timeout: function(){
|
||||
window.setTimeout("pollNotifications();", 10000);
|
||||
},
|
||||
success: function(data){
|
||||
if(data)
|
||||
manageSession(data, true);
|
||||
var t = 120000;
|
||||
if(data.apps && parseInt(data.apps)>1)
|
||||
t = Math.round((Math.sqrt(parseInt(data.apps)-1) * 1.3 * 60000));
|
||||
window.setTimeout("pollNotifications();", t);
|
||||
|
||||
return;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
function setCss(color) {
|
||||
$("#skinCss").attr("href","/assets/prod/skins/" + color + "/skin-" + color + "{% if not app.debug %}.min{% endif %}.css");
|
||||
$.post("{{ path('save_pref') }}", {
|
||||
prop: "css",
|
||||
value: color,
|
||||
t: Math.random()
|
||||
}, function(data){
|
||||
return;
|
||||
});
|
||||
if (( navigator.userAgent.match(/msie/i) && navigator.userAgent.match(/6/) )) {
|
||||
$("select").hide().show();
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" id="bitly_loader"></script>
|
||||
{% endblock %}
|
||||
|
@@ -6,7 +6,7 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="notification_title">
|
||||
<a href="#" onclick="print_notifications(0);return false;">{{ 'toutes les notifications' | trans }}</a>
|
||||
<a href="#" class="notification__print-action" data-page="0">{{ 'toutes les notifications' | trans }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
@@ -41,7 +41,7 @@
|
||||
<tbody>
|
||||
{% for order in orders %}
|
||||
{% set deadline = app['date-formatter'].getPrettyString(order.getDeadline()) %}
|
||||
<tr id="order_{{ order.getId() }}" class="order_row" {{ current_date > order.getDeadline() ? "style=color:#777": "" }}>
|
||||
<tr id="order_{{ order.getId() }}" class="order_row" {{ current_date > order.getDeadline() ? "style=color:#777": "" }} data-order-id="{{ order.getId() }}">
|
||||
<td>{{ order.getUser().getDisplayName() }}</td>
|
||||
<td>{{ app['date-formatter'].getPrettyString(order.getCreatedOn()) }}</td>
|
||||
<td>
|
||||
@@ -71,23 +71,3 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function(){
|
||||
var dialog = p4.Dialog.get(1);
|
||||
|
||||
$('a.self-ajax', dialog.getDomElement()).bind('click', function(e){
|
||||
e.preventDefault();
|
||||
var url = $(this).attr('href');
|
||||
dialog.load(url);
|
||||
});
|
||||
|
||||
$('tr.order_row', dialog.getDomElement()).bind('click', function(e){
|
||||
e.preventDefault();
|
||||
var id = $(this).attr('id').split('_').pop();
|
||||
dialog.load('/prod/order/' + id +'/');
|
||||
}).addClass('clickable');
|
||||
});
|
||||
|
||||
</script>
|
||||
|
@@ -68,8 +68,8 @@
|
||||
{% set title_send %}
|
||||
{% trans %}Forcer l'envoi du document{% endtrans %}
|
||||
{% endset %}
|
||||
<img style="cursor:help;" src="/assets/common/images/icons/delete.png" title="{% spaceless %}{{title|e}}{% endspaceless %}" />
|
||||
<img style="cursor:pointer;" class="force_sender" src="/assets/common/images/icons/reload.png" title="{% spaceless %}{{title_send|e}}{% endspaceless %}" />
|
||||
<img style="cursor:help;" src="/assets/common/images/icons/delete.png" title="{% spaceless %}{{title|e}}{% endspaceless %}" height="16" width="16" class="btn-image"/>
|
||||
<img style="cursor:pointer;" class="force_sender" src="/assets/common/images/icons/reload.png" title="{% spaceless %}{{title_send|e}}{% endspaceless %}" height="16" width="16" class="btn-image"/>
|
||||
{% else %}
|
||||
{% set title %}
|
||||
{% trans with {'%name%' : name} %}Document envoye par %name%{% endtrans %}
|
||||
@@ -93,200 +93,8 @@
|
||||
{{ 'Selectionnez des documents et' | trans }}
|
||||
<button class="btn btn-primary send">{{ 'Send' | trans }}</button>
|
||||
<button class="btn deny">{{ 'Deny' | trans }}</button>
|
||||
<button class="order_launcher btn">{{ 'Retour aux commandes' | trans }}</button>
|
||||
<button class="order-open-action btn">{{ 'Retour aux commandes' | trans }}</button>
|
||||
<img src="/assets/common/images/icons/loader000000.gif" class="activity_indicator" style="display:none;"/>
|
||||
<input name="order_id" type="hidden" value="{{ order.getId() }}" />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function(){
|
||||
if ($('#notification_box').is(':visible')) {
|
||||
$('#notification_trigger').trigger('mousedown');
|
||||
}
|
||||
|
||||
var dialog = p4.Dialog.get(1);
|
||||
var order_id = $('input[name=order_id]').val();
|
||||
|
||||
$('.order_launcher', dialog.getDomElement()).bind('click',function(){
|
||||
dialog.load('{{ path('prod_orders') }}')
|
||||
});
|
||||
|
||||
$('.order_list .selectable', dialog.getDomElement()).bind('click',function(event){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if(is_ctrl_key(event))
|
||||
{
|
||||
if($this.hasClass('selected')) {
|
||||
$this.removeClass('selected');
|
||||
} else {
|
||||
$this.addClass('selected');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(is_shift_key(event))
|
||||
{
|
||||
var first = false, last = false;
|
||||
|
||||
$('.order_list .selectable', dialog.getDomElement()).each(function(i,n){
|
||||
if (last) {
|
||||
first = last = false;
|
||||
}
|
||||
|
||||
if ($(n).attr('id') == $this.attr('id') || $(n).hasClass('last_selected'))
|
||||
{
|
||||
if (first) {
|
||||
last = true;
|
||||
}
|
||||
|
||||
first = true;
|
||||
}
|
||||
|
||||
if (first || last) {
|
||||
$(n).addClass('selected');
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
$('.order_list .selectable.selected', dialog.getDomElement()).removeClass('selected');
|
||||
$this.addClass('selected');
|
||||
}
|
||||
}
|
||||
|
||||
$('.order_list .selectable.last_selected', dialog.getDomElement()).removeClass('last_selected');
|
||||
$this.addClass('last_selected');
|
||||
});
|
||||
|
||||
$('.captionTips, .captionRolloverTips, .infoTips', dialog.getDomElement()).tooltip({
|
||||
delay:0
|
||||
});
|
||||
$('.previewTips', dialog.getDomElement()).tooltip({
|
||||
fixable:true
|
||||
});
|
||||
|
||||
$('button.send', dialog.getDomElement()).bind('click',function(){
|
||||
send_documents(order_id);
|
||||
});
|
||||
|
||||
$('button.deny', dialog.getDomElement()).bind('click',function(){
|
||||
deny_documents(order_id);
|
||||
});
|
||||
|
||||
$('.force_sender', dialog.getDomElement()).bind('click',function(){
|
||||
if(confirm(language.forceSendDocument))
|
||||
{
|
||||
var element_id = [];
|
||||
element_id.push($(this).closest('.order_wrapper').find('input[name=order_element_id]').val());
|
||||
do_send_documents(order_id, element_id, true);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function do_send_documents(order_id, elements_ids, force)
|
||||
{
|
||||
var dialog = p4.Dialog.get(1);
|
||||
var cont = dialog.getDomElement();
|
||||
|
||||
$('button.deny, button.send', cont).prop('disabled', true);
|
||||
$('.activity_indicator', cont).show();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "../prod/order/"+order_id+"/send/",
|
||||
dataType:'json',
|
||||
data: {
|
||||
'elements[]':elements_ids,
|
||||
force:(force?1:0)
|
||||
},
|
||||
success: function(data){
|
||||
var success = '0';
|
||||
|
||||
if(data.success)
|
||||
{
|
||||
success = '1';
|
||||
}
|
||||
|
||||
dialog.load('../prod/order/' + order_id + '/?success=' + success + '&action=send');
|
||||
},
|
||||
error: function(){
|
||||
$('button.deny, button.send', cont).prop('disabled', false);
|
||||
$('.activity_indicator', cont).hide();
|
||||
},
|
||||
timeout: function(){
|
||||
$('button.deny, button.send', cont).prop('disabled', false);
|
||||
$('.activity_indicator', cont).hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function deny_documents(order_id)
|
||||
{
|
||||
var dialog = p4.Dialog.get(1);
|
||||
var cont = dialog.getDomElement();
|
||||
|
||||
var elements = $('.order_list .selectable.selected', cont);
|
||||
|
||||
var elements_ids = [];
|
||||
|
||||
elements.each(function(i,n){
|
||||
elements_ids.push($(n).find('input[name=order_element_id]').val());
|
||||
});
|
||||
|
||||
if(elements_ids.length == 0) {
|
||||
alert(language.nodocselected);
|
||||
return;
|
||||
}
|
||||
|
||||
$('button.deny, button.send', cont).prop('disabled', true);
|
||||
$('.activity_indicator', cont).show();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "../prod/order/"+ order_id +"/deny/",
|
||||
dataType:'json',
|
||||
data: {
|
||||
'elements[]':elements_ids
|
||||
},
|
||||
success: function(data){
|
||||
var success = '0';
|
||||
|
||||
if(data.success)
|
||||
{
|
||||
success = '1';
|
||||
}
|
||||
|
||||
dialog.load('/prod/order/' + order_id + '/?success=' + success + '&action=deny');
|
||||
},
|
||||
error: function(){
|
||||
$('button.deny, button.send', cont).prop('disabled', false);
|
||||
$('.activity_indicator', cont).hide();
|
||||
},
|
||||
timeout: function(){
|
||||
$('button.deny, button.send', cont).prop('disabled', false);
|
||||
$('.activity_indicator', cont).hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function send_documents(order_id)
|
||||
{
|
||||
var dialog = p4.Dialog.get(1);
|
||||
var elements_ids = [];
|
||||
|
||||
$('.order_list .selectable.selected', dialog.getDomElement()).each(function(i,n){
|
||||
elements_ids.push($(n).find('input[name=order_element_id]').val());
|
||||
});
|
||||
|
||||
if(elements_ids.length == 0) {
|
||||
alert(language.nodocselected);
|
||||
return;
|
||||
}
|
||||
|
||||
do_send_documents(order_id, elements_ids, false);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
@@ -3,8 +3,11 @@
|
||||
<ul>
|
||||
<li class="title">{{ 'Apparait aussi dans ces reportages' | trans }}</li>
|
||||
{% for par in parents %}
|
||||
<li onclick="openPreview(this, 'REG',0,'{{par.get_serialize_key()}}', true); return(false);"
|
||||
class="otherRegToolTip" {% if app['conf'].get(['registry', 'classic', 'stories-preview']) %}tooltipsrc="{{ path('prod_tooltip_caption', { 'sbas_id' : par.get_sbas_id(), 'record_id' : par.get_record_id(), 'context' : 'basket' }) }}" {% endif %}>
|
||||
<li data-kind="REG"
|
||||
data-position="0"
|
||||
data-id="{{par.get_serialize_key()}}"
|
||||
data-reload="true"
|
||||
class="otherRegToolTip open-preview-action" {% if app['conf'].get(['registry', 'classic', 'stories-preview']) %}tooltipsrc="{{ path('prod_tooltip_caption', { 'sbas_id' : par.get_sbas_id(), 'record_id' : par.get_record_id(), 'context' : 'basket' }) }}" {% endif %}>
|
||||
<img src="{{par.get_thumbnail().get_url()}}" style="width:25px;height:25px;"/>
|
||||
<span class="title" title="{{ par.get_title() }}"> {{ par.get_title() }} </span>
|
||||
</li>
|
||||
@@ -16,8 +19,11 @@
|
||||
<ul>
|
||||
<li class="title">{{ 'Apparait aussi dans ces paniers' | trans }}</li>
|
||||
{% for basket in baskets %}
|
||||
<li onclick="openPreview(this, 'BASK',0,'{{basket.getId()}}',true); return(false);"
|
||||
class="otherBaskToolTip" title="{{basket.getDescription()}}">
|
||||
<li data-kind="BASK"
|
||||
data-position="0"
|
||||
data-id="{{basket.getId()}}"
|
||||
data-reload="true"
|
||||
class="otherBaskToolTip open-preview-action" title="{{basket.getDescription()}}">
|
||||
{#<img style="vertical-align:middle" src="/assets/common/images/icons/basket.png" width="16">#}
|
||||
|
||||
{% if basket.getValidation() %}
|
||||
|
@@ -49,10 +49,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="getNext();"/><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
|
@@ -5,7 +5,7 @@
|
||||
|
||||
{% if can_edit %}
|
||||
<div class="edit_button" style="text-align:right">
|
||||
<a href="#" onclick="editThis('IMGT','{{ record.get_serialize_key }}');">
|
||||
<a href="#" class="edit-record-action" data-kind="record" data-id="{{ record.get_serialize_key }}">
|
||||
<img style="vertical-align:middle" src="/assets/common/images/icons/ppen_history.png" width="16" class="btn-image"/>
|
||||
{{ 'action : editer' | trans }}
|
||||
</a>
|
||||
|
@@ -47,10 +47,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="getNext();"/><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
|
@@ -25,7 +25,10 @@
|
||||
%}
|
||||
|
||||
<div id="PREVMAINREG" class="PNB10">
|
||||
<img onclick="openPreview(this, 'REG',0,'{{story.get_serialize_key}}')"
|
||||
<img data-kind="REG"
|
||||
data-position="0"
|
||||
data-id="{{story.get_serialize_key}}"
|
||||
class="open-preview-action"
|
||||
src="{{url}}"
|
||||
style="
|
||||
width:{{fit_size.width}}px;
|
||||
@@ -80,10 +83,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="getNext();"/><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
|
@@ -43,10 +43,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="getNext();"/><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }} </span>
|
||||
<span onclick="stopSlide()" id="stop_slide"> {{ 'preview:: arreter le diaporama' | trans }} </span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward">
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }} </span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide"> {{ 'preview:: arreter le diaporama' | trans }} </span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL"></div>
|
||||
|
@@ -1,10 +1,10 @@
|
||||
|
||||
<div id="PREVIEWCURRENTCONT" class="PNB10">
|
||||
<div style="margin:2px 0;">
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:20px;" onclick="getPrevious();"/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:20px;" onclick="getNext();"/><br/>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:20px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:20px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL" style="top:0;bottom:auto;">
|
||||
|
@@ -1,28 +1,27 @@
|
||||
|
||||
{% if (record.is_from_basket is empty) and app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'canputinalbum') %}
|
||||
<div sbas="{{record.get_sbas_id()}}" id="PREV_BASKADD_{{record.get_serialize_key}}"
|
||||
class="baskAdder" title="{{ 'action : ajouter au panier' | trans }}"
|
||||
onclick="evt_add_in_chutier('{{record.get_sbas_id()}}','{{record.get_record_id()}}',false,this);return(false);">
|
||||
class="baskAdder record-add-to-basket-action" data-db-id="{{record.get_sbas_id()}}" data-record-id="{{record.get_record_id()}}" title="{{ 'action : ajouter au panier' | trans }}">
|
||||
<img src="/assets/common/images/icons/basket.png" height="16" width="16" class="btn-image">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if record.is_from_basket() %}
|
||||
<a sbas="{{record.get_sbas_id()}}" id="PREV_BASKDEL_{{record.get_serialize_key}}"
|
||||
class="WorkZoneElementRemover"
|
||||
class="WorkZoneElementRemover record-remove-from-basket-action"
|
||||
data-context="reg_train_basket"
|
||||
onclick="remove_from_basket($(this), false);return false;"
|
||||
|
||||
href="{{ path('prod_baskets_basket_element_remove', { 'basket' : record.get_container().getId(), 'basket_element_id' : record.get_original_item().getId()}) }}">
|
||||
<img src="/assets/common/images/icons/delete.png" height="16" width="16" class="btn-image" title="{{ 'Remove from basket' | trans }}">
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<div onclick="evt_print('{{record.get_sbas_id()}}_{{record.get_record_id()}}');return(false);">
|
||||
<div class="print-record-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<img src="/assets/common/images/icons/print_history.png" height="16" width="16" class="btn-image" title="'{{ 'action : print' | trans }}">
|
||||
</div>
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'candwnldhd') or app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'candwnldpreview') %}
|
||||
<div onclick="evt_dwnl('{{record.get_sbas_id()}}_{{record.get_record_id()}}');return(false);">
|
||||
<div class="export-record-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<img src="/assets/common/images/icons/disktt_history.png" height="16" width="16" class="btn-image" title="{{ 'action : exporter' | trans }}">
|
||||
{# <img style="vertical-align:middle" src="/assets/common/images/icons/basket.png" width="16">#}
|
||||
|
||||
|
@@ -5,8 +5,10 @@
|
||||
<div style="width:{{ images_size+30 }}px;"
|
||||
sbas="{{ record.databoxId }}"
|
||||
id="{{'PUBLI_' ~ entry.id ~ '_' ~ record.id }}"
|
||||
class="IMGT diapo type-{{ record.type }}"
|
||||
onDblClick="openPreview(this, 'FEED',{{ record.getNumber }},{{ entry.id }});"
|
||||
class="IMGT diapo type-{{ record.type }} open-preview-action"
|
||||
data-kind="FEED"
|
||||
data-position="{{ record.getNumber }}"
|
||||
data-id="{{ entry.id }}"
|
||||
>
|
||||
<div style="padding: 4px;">
|
||||
<div style="height:40px; position: relative; z-index: 95;margin-bottom:0;border-bottom:none;">
|
||||
|
@@ -4,8 +4,11 @@
|
||||
<div style="width:{{ settings.images_size + 30}}px;"
|
||||
sbas="{{ record.databoxId }}"
|
||||
id="{{ prefix|default('IMGT') }}_{{ record.id }}"
|
||||
class="IMGT diapo {% if record.story %}grouping{% endif %} type-{{ record.type }}"
|
||||
{% if settings.handle_dblclick %}onDblClick="openPreview(this, '{{ record.story ? 'REG' : 'RESULT' }}', '{{ record.position|default(0) }}', '{{ record.id }}');"{% endif %}>
|
||||
class="IMGT diapo {% if record.story %}grouping{% endif %} type-{{ record.type }} open-preview-action"
|
||||
data-kind="{{ record.story ? 'REG' : 'RESULT' }}"
|
||||
data-position="{{ record.position|default(0) }}"
|
||||
data-id="{{ record.id }}"
|
||||
>
|
||||
<div style="padding: 4px;">
|
||||
<div style="height:40px; position: relative; z-index: 95;margin-bottom:0;border-bottom:none;">
|
||||
<div class="title" style="max-height:100%" title="{{ record.getTitle(app.locale) }}">
|
||||
@@ -107,23 +110,21 @@
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
{% if granted_on_collection(record.baseId, 'canputinalbum') and not record.story %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="evt_add_in_chutier('{{record.databoxId}}','{{record.recordId}}',false,this);return(false);">
|
||||
<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 }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if granted_on_collection(record.baseId, 'candwnldpreview') or granted_on_collection(record.baseId, 'candwnldhd') %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="evt_dwnl('{{record.id}}',false,this);return(false);">
|
||||
<div class="context-menu-item-inner record-export-action" data-kind="record" data-id="{{record.id}}">
|
||||
{{ 'action : exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="evt_print('{{record.id}}');return(false);">
|
||||
<div class="context-menu-item-inner record-print-action"
|
||||
data-kind="record" data-id="{{record.id}}">
|
||||
{{ 'action : print' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -132,8 +133,7 @@
|
||||
and granted_on_databox(record.databoxId, 'bas_chupub')) %}
|
||||
{% if record.story is empty %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="shareThis('{{record.baseId}}','{{record.recordId}}');">
|
||||
<div class="context-menu-item-inner share-record-action" data-db="{{record.baseId}}" data-record-id="{{record.recordId}}">
|
||||
{{ 'reponses:: partager' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -19,23 +19,21 @@
|
||||
<div class="wizard wiz_2" style="display:none">
|
||||
<div class="txt">{{ 'prod::thesaurusTab:wizard:remplacer par le terme' | trans }}</div>
|
||||
</div>
|
||||
<form class="gform form-inline" onsubmit="T_Gfilter(this);return(false);">
|
||||
<form class="gform form-inline thesaurus-filter-submit-action">
|
||||
<div class="input-append">
|
||||
<input type="text" name="search_value" class="input-medium"
|
||||
onkeyup="T_Gfilter_delayed(this.value, 300);"/>
|
||||
<input type="text" name="search_value" class="input-medium thesaurus-filter-suggest-action"/>
|
||||
<button type="submit" class="th_ok btn btn-inverse">
|
||||
<i class="icon-search"></i>
|
||||
</button>
|
||||
|
||||
<input type="button" class="th_clear"/>
|
||||
<input type="button" class="th_cancel btn" value="{{ 'boutton::annuler' | trans }}"
|
||||
onclick="thesauCancelWizard();return(false);"/>
|
||||
<input type="button" class="th_cancel btn thesaurus-cancel-wizard-action" value="{{ 'boutton::annuler' | trans }}"/>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id='THPD_T_treeBox' class="searchZone"
|
||||
style="position:absolute; top:45px; bottom:0px; left:0px; width:100%;">
|
||||
<div onclick="Xclick(event);return(false);" ondblclick="TXdblClick(event);">
|
||||
<div class="thesaurus-branch-action" data-context="thesaurus">
|
||||
<ul class="treeview" id="THPD_T_tree">
|
||||
{% for base in search_datas['bases'] %}
|
||||
{% if base['thesaurus'] %}
|
||||
@@ -54,7 +52,7 @@
|
||||
{% if has_access_to_module %}
|
||||
<div id="THPD_C">
|
||||
<div id='THPD_C_treeBox' class="searchZone">
|
||||
<div onclick="Xclick(event);return(false);" ondblclick="CXdblClick(event);">
|
||||
<div class="thesaurus-branch-action" data-context="candidate">
|
||||
<ul class="treeview" id="THPD_C_tree">
|
||||
{% for base in search_datas['bases'] %}
|
||||
{% if base['cterms'] %}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,42 +1,42 @@
|
||||
{% block toolbar %}
|
||||
<span class="dropdownButton">
|
||||
<div class="btn-group">
|
||||
<button id="selectCase" class="default_action btn btn-inverse"> </button>
|
||||
<button id="selectCase" class="default_action btn btn-inverse answer_selector" data-action-name="select-toggle" data-state="default"> </button>
|
||||
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a class="answer_selector all_selector">
|
||||
<a class="answer_selector all_selector" data-action-name="select-all" data-state="default">
|
||||
{{ 'reponses:: selectionner tout' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a class="answer_selector none_selector">
|
||||
<a class="answer_selector none_selector" data-action-name="unselect-all" data-state="true">
|
||||
{{ 'reponses:: selectionner rien' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a class="answer_selector image_selector">
|
||||
<a class="answer_selector image_selector" data-action-name="select-type" data-state="default" data-type=".type-image">
|
||||
{{ 'phraseanet::type:: images' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a class="answer_selector document_selector">
|
||||
<a class="answer_selector document_selector" data-action-name="select-type" data-state="default" data-type=".type-document">
|
||||
{{ 'phraseanet::type:: documents' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a class="answer_selector video_selector">
|
||||
<a class="answer_selector video_selector" data-action-name="select-type" data-state="default" data-type=".type-video">
|
||||
{{ 'phraseanet::type:: videos' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a class="answer_selector audio_selector">
|
||||
<a class="answer_selector audio_selector" data-action-name="select-type" data-state="default" data-type=".type-audio">
|
||||
{{ 'phraseanet::type:: audios' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
@@ -46,14 +46,14 @@
|
||||
|
||||
<span class="dropdownButton">
|
||||
<div class="btn-group">
|
||||
<button id="TOOL_disktt" class="default_action TOOL_disktt_btn results_window btn btn-inverse">
|
||||
<button id="TOOL_disktt" class="default_action TOOL_disktt_btn results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/disktt_history.png" height="16" width="16" class="btn-image"/> {{ 'action : exporter' | trans }}
|
||||
</button>
|
||||
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a class="TOOL_print_btn results_window">
|
||||
<a class="TOOL_print_btn results_window" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/print_history.png" height="16" width="16" class="btn-image"/>
|
||||
{{ 'action : print' | trans }}
|
||||
</a>
|
||||
@@ -88,7 +88,7 @@
|
||||
<div class="btn-group">
|
||||
{% for action in actions %}
|
||||
{% if loop.first %}
|
||||
<button class="default_action {{ action.class }} results_window btn btn-inverse">
|
||||
<button class="default_action {{ action.class }} results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="{{ action.icon }}" height="16" width="16" class="btn-image"/> {{ action.label }}
|
||||
</button>
|
||||
{% endif %}
|
||||
@@ -99,7 +99,7 @@
|
||||
{% for action in actions %}
|
||||
{% if not loop.first %}
|
||||
<li>
|
||||
<a class="{{ action.class }} results_window">
|
||||
<a class="{{ action.class }} results_window" data-selection-source="search-result">
|
||||
<img src="{{ action.icon }}" height="16" width="16" class="btn-image"/>
|
||||
{{ action.label }}
|
||||
</a>
|
||||
@@ -116,7 +116,7 @@
|
||||
<span class="classicButton">
|
||||
<div class="btn-group">
|
||||
{% for action in actions %}
|
||||
<button class="{{ action.class }} results_window btn btn-inverse">
|
||||
<button class="{{ action.class }} results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="{{ action.icon }}" height="16" width="16" class="btn-image"/> {{ action.label }}
|
||||
</button>
|
||||
{% endfor %}
|
||||
@@ -127,28 +127,28 @@
|
||||
{% if acl.has_right('push') and acl.has_right('bas_chupub') %}
|
||||
<span class="dropdownButton">
|
||||
<div class="btn-group">
|
||||
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse">
|
||||
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/push16.png" height="16" width="16" class="btn-image"/> {{ 'action : push' | trans }}
|
||||
</button>
|
||||
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span
|
||||
class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a class="TOOL_feedback_btn results_window">
|
||||
<a class="TOOL_feedback_btn results_window" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/feedback16.png" height="16" width="16" class="btn-image"/>
|
||||
{{ 'Feedback' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a class="TOOL_bridge_btn results_window" href="{{ path("prod_bridge_manager") }}">
|
||||
<a class="TOOL_bridge_btn results_window" href="{{ path("prod_bridge_manager") }}" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/door.png" height="16" width="16" class="btn-image"/>
|
||||
{{ 'action : bridge' | trans }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a class="TOOL_publish_btn results_window">
|
||||
<a class="TOOL_publish_btn results_window" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/rss16.png" height="16" width="16" class="btn-image"/>
|
||||
{{ 'action : publier' | trans }}
|
||||
</a>
|
||||
@@ -158,7 +158,7 @@
|
||||
<li class="divider"></li>
|
||||
{% for key, action in plugin.getActionBar().push|default([]) %}
|
||||
<li>
|
||||
<a class="results_window {{ action.classes|default('') }}">
|
||||
<a class="results_window {{ action.classes|default('') }}" data-selection-source="search-result">
|
||||
{% if action.icon %}
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}" height="16" width="16" class="btn-image"/>
|
||||
{% endif %}
|
||||
@@ -176,14 +176,14 @@
|
||||
{% elseif acl.has_right('push') %}
|
||||
<span class="dropdownButton">
|
||||
<div class="btn-group">
|
||||
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse">
|
||||
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/push16.png" height="16" width="16" class="btn-image"/> {{ 'action : push' | trans }}
|
||||
</button>
|
||||
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span
|
||||
class="caret"></span></button>
|
||||
<ul class="submenu dropdown-menu">
|
||||
<li>
|
||||
<a class="TOOL_feedback_btn results_window">
|
||||
<a class="TOOL_feedback_btn results_window" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/feedback16.png" height="16" width="16" class="btn-image"/>
|
||||
{{ 'Feedback' | trans }}
|
||||
</a>
|
||||
@@ -193,7 +193,7 @@
|
||||
<li class="divider"></li>
|
||||
{% for key, action in plugin.getActionBar().push|default([]) %}
|
||||
<li>
|
||||
<a class="results_window {{ action.classes|default('') }}">
|
||||
<a class="results_window {{ action.classes|default('') }}" data-selection-source="search-result">
|
||||
{% if action.icon %}
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}" height="16" width="16" class="btn-image"/>
|
||||
{% endif %}
|
||||
@@ -211,14 +211,14 @@
|
||||
{% elseif acl.has_right('bas_chupub') %}
|
||||
<span class="dropdownButton">
|
||||
<div class="btn-group">
|
||||
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse">
|
||||
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/door.png" height="16" width="16" class="btn-image"/> {{ 'action : bridge' | trans }}
|
||||
</button>
|
||||
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span
|
||||
class="caret"></span></button>
|
||||
<ul class="submenu dropdown-menu">
|
||||
<li>
|
||||
<a class="TOOL_publish_btn results_window">
|
||||
<a class="TOOL_publish_btn results_window" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/rss16.png" height="16" width="16" class="btn-image"/>
|
||||
{{ 'action : publier' | trans }}
|
||||
</a>
|
||||
@@ -228,7 +228,7 @@
|
||||
<li class="divider"></li>
|
||||
{% for key, action in plugin.getActionBar().push|default([]) %}
|
||||
<li>
|
||||
<a class="results_window {{ action.classes|default('') }}">
|
||||
<a class="results_window {{ action.classes|default('') }}" data-selection-source="search-result">
|
||||
{% if action.icon %}
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}" height="16" width="16" class="btn-image"/>
|
||||
{% endif %}
|
||||
@@ -250,8 +250,8 @@
|
||||
{% for plugin in plugins.actionbar %}
|
||||
{% for key, action in plugin.getActionBar().push|default([]) %}
|
||||
{% if firstButton %}
|
||||
<button class="default_action results_window btn btn-inverse">
|
||||
<a class="results_window {{ action.classes|default('') }}">
|
||||
<button class="default_action results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<a class="results_window {{ action.classes|default('') }}" data-selection-source="search-result">
|
||||
{% if action.icon %}
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}" height="16" width="16"/>
|
||||
{% endif %}
|
||||
@@ -266,7 +266,7 @@
|
||||
{% if not loop.first %}<li class="divider"></li>{% endif %}
|
||||
{% if not firstButton %}
|
||||
<li>
|
||||
<a class="results_window {{ action.classes|default('') }}">
|
||||
<a class="results_window {{ action.classes|default('') }}" data-selection-source="search-result">
|
||||
{% if action.icon %}
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}" height="16" width="16" class="btn-image"/>
|
||||
{% endif %}
|
||||
@@ -290,7 +290,7 @@
|
||||
{% if acl.has_right('doctools') %}
|
||||
<span class="classicButton">
|
||||
<div class="btn-group">
|
||||
<button class="TOOL_imgtools_btn results_window btn btn-inverse">
|
||||
<button class="TOOL_imgtools_btn results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/imgtools_history.png" height="16" width="16" class="btn-image"/> {{ 'action : outils' | trans }}
|
||||
</button>
|
||||
</div>
|
||||
@@ -299,7 +299,7 @@
|
||||
{% if acl.has_right('deleterecord') %}
|
||||
<span class="classicButton">
|
||||
<div class="btn-group">
|
||||
<button class="TOOL_trash_btn results_window btn btn-inverse">
|
||||
<button class="TOOL_trash_btn results_window btn btn-inverse" data-selection-source="search-result">
|
||||
<img src="/assets/common/images/icons/delete.png" height="16" width="16" class="btn-image"/> {{ 'action : supprimer' | trans }}
|
||||
</button>
|
||||
</div>
|
||||
|
@@ -346,7 +346,7 @@
|
||||
|
||||
if (this.getStats().files_queued === 0) {
|
||||
$("#cancel-all", UploaderManager.getContainer()).addClass("disabled").attr("disabled", true);
|
||||
var dialog = p4.Dialog.get(1);
|
||||
var dialog = dialogModule.dialog.get(1);
|
||||
//unbind check before close event & disabled button for cancel all download
|
||||
dialog.getDomElement().unbind("dialogbeforeclose");
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
$("button.upload-submitter", UploaderManager.getContainer()).bind("click", function(e){
|
||||
|
||||
//prevent dialog box from being closed while files are being downloaded
|
||||
p4.Dialog.get(1).getDomElement().bind("dialogbeforeclose", function(event, ui) {
|
||||
dialogModule.dialog.get(1).getDomElement().bind("dialogbeforeclose", function(event, ui) {
|
||||
if ( swfu.getStats().files_queued > 0) {
|
||||
p4.Alerts(language.warning, language.fileBeingDownloaded);
|
||||
return false;
|
||||
|
@@ -39,7 +39,7 @@
|
||||
<td class='uploader-icon'>
|
||||
<img src='/assets/common/images/icons/html5-logo.png' width="32px" heigh="32px" title="{{ 'You are using the HTML5 uploader.' | trans }}"/>
|
||||
</td>
|
||||
<td class="uploader-info">
|
||||
<td class="uploader-infmaxFileSizeo">
|
||||
<p>
|
||||
{{ 'You are using the HTML5 uploader.' | trans }}
|
||||
{% if not app['browser'].supportFileAPI() %}
|
||||
@@ -141,8 +141,11 @@
|
||||
{% include "prod/templates/upload.html.twig" %}
|
||||
|
||||
<script>
|
||||
var uploaderOptions = {
|
||||
maxFileSize: {{ maxFileSize }}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
$(document).ready(function () {
|
||||
|
||||
var iev=0;
|
||||
@@ -270,7 +273,7 @@ $(document).ready(function () {
|
||||
$(".number-files-to-transmit").html(totalElement);
|
||||
$(".transmit-box").show();
|
||||
|
||||
var dialog = p4.Dialog.get(1);
|
||||
var dialog = dialogModule.dialog.get(1);
|
||||
|
||||
//reset progressbar for iframe uploads
|
||||
if( ! $.support.xhrFileUpload && ! $.support.xhrFormDataFileUpload) {
|
||||
@@ -386,7 +389,7 @@ $(document).ready(function () {
|
||||
progressbarAll.width('100%');
|
||||
bitrateBox.empty();
|
||||
$('#uploadBoxRight .progress').removeClass('progress-striped active');
|
||||
var dialog = p4.Dialog.get(1);
|
||||
var dialog = dialogModule.dialog.get(1);
|
||||
//unbind check before close event & disabled button for cancel all download
|
||||
dialog.getDomElement().unbind("dialogbeforeclose");
|
||||
//disabled cancel-all button, if queue is empty and last upload success
|
||||
@@ -506,7 +509,7 @@ $(document).ready(function () {
|
||||
data.context.find('.progress-bar').width('25%');
|
||||
}
|
||||
});
|
||||
});
|
||||
});*/
|
||||
</script>
|
||||
<style>
|
||||
.btn.page-lazaret a {
|
||||
|
Reference in New Issue
Block a user