diff --git a/admin/docs.php b/admin/docs.php index ab494a4..2ccea9f 100644 --- a/admin/docs.php +++ b/admin/docs.php @@ -303,5 +303,12 @@ $AVE_Document->documentSaveRedirect(); } break; + + case 'changepos': + if (check_permission_acp('document_view')) + { + $AVE_Document->documentPosition(); + } + break; } ?> \ No newline at end of file diff --git a/admin/lang/ru/docs.txt b/admin/lang/ru/docs.txt index 6d36551..4f514ea 100755 --- a/admin/lang/ru/docs.txt +++ b/admin/lang/ru/docs.txt @@ -300,4 +300,12 @@ DOC_LANG_ID = "Язык документа:" DOC_LANG_SELECT = "Выберите язык" // 3.25 -DOC_CLOSE_SEARCH_RUBRIC = "Вернуться в раздел, учитывая параметры поиска" \ No newline at end of file +DOC_CLOSE_SEARCH_RUBRIC = "Вернуться в раздел, учитывая параметры поиска" + +// 3.26 +DOC_POSITION = "Позиция" +DOCUMENT_POSITION = "Позиция документа" +DOCUMENT_POSITION_ERR = "Не удалось сохранить позицию документа" +DOCUMENT_POSITION_ERROR = "Ошибка" +DOCUMENT_POSITION_OK = "Позиция документа успешно сохранена" +DOCUMENT_POSITION_SUCCESS = "Выполнено" diff --git a/admin/lang/ru/request.txt b/admin/lang/ru/request.txt index 4fe4d2f..3715d55 100644 --- a/admin/lang/ru/request.txt +++ b/admin/lang/ru/request.txt @@ -196,4 +196,7 @@ REQUEST_PAGES_CURENT = "Номер страницы пагинации" REQUEST_PAGES_TOTAL = "Общее кол-во страниц пагинации" // v 3.24 -REQUEST_COUNT_ITEMS = "Получать кол-во элементов (если не используется постраничная навигация)" \ No newline at end of file +REQUEST_COUNT_ITEMS = "Получать кол-во элементов (если не используется постраничная навигация)" + +// v 3.26 +REQUEST_BY_POSITION = "Позиция документа" \ No newline at end of file diff --git a/admin/templates/documents/docs.tpl b/admin/templates/documents/docs.tpl index ec94e73..738f5ec 100644 --- a/admin/templates/documents/docs.tpl +++ b/admin/templates/documents/docs.tpl @@ -1,4 +1,6 @@ -
{#DOC_SUB_TITLE#}
+
+
{#DOC_SUB_TITLE#}
+
@@ -88,6 +90,11 @@ {#DOC_ID#} + + {if $smarty.request.sort=='position'}{elseif $smarty.request.sort=='position_desc'}{/if} + {#DOC_POSITION#} + + {if $smarty.request.sort=='title'}{elseif $smarty.request.sort=='title_desc'}{/if} {#DOC_TITLE#} @@ -129,6 +136,7 @@ + {if !$smarty.const.ADMIN_EDITMENU}{/if} @@ -141,6 +149,7 @@ {#DOC_TITLE#} | {#DOC_URL_RUB#} {#DOC_IN_RUBRIK#} + {#DOC_POSITION#} {#DOC_CREATED#} | {#DOC_EDIT#} {if !$smarty.const.ADMIN_EDITMENU}{#DOC_ACTIONS#}{/if} @@ -293,6 +302,15 @@ {/if} + + {if $item->cantEdit==1} +
+ + +
+ {/if} + +
@@ -397,6 +415,7 @@ {#DOC_TITLE#} | {#DOC_URL_RUB#} {#DOC_IN_RUBRIK#} + {#DOC_POSITION#} {#DOC_CREATED#} | {#DOC_EDIT#} {if !$smarty.const.ADMIN_EDITMENU}{#DOC_ACTIONS#}{/if} diff --git a/admin/templates/documents/form.tpl b/admin/templates/documents/form.tpl index 373cb03..094c083 100755 --- a/admin/templates/documents/form.tpl +++ b/admin/templates/documents/form.tpl @@ -602,6 +602,16 @@ $(document).ready(function(){ldelim} + + {#DOCUMENT_POSITION#} + +
+ + +
+ + + {#DOC_PROPERTY#} diff --git a/admin/templates/js/main.js b/admin/templates/js/main.js index 1a2d26d..6ac89b2 100644 --- a/admin/templates/js/main.js +++ b/admin/templates/js/main.js @@ -376,6 +376,7 @@ var AveAdmin = { this.tooltip(); this.place_holder(); this.collapsible_elements(); + this.docPosition(); }, events: function() { @@ -971,6 +972,101 @@ var AveAdmin = { ul.hide(10); } }); + }, + + docPosition: function () { + $('.position').each(function(i,item) { + + var q_buttons = $('').prependTo($(item)); + var q_up = $('+').appendTo($(q_buttons)); + var q_down = $('-').appendTo($(q_buttons)); + + $(q_up).on('click',function(event) { + + event.preventDefault(); + + $(q_submit).css({'display':'block'}); + + value = parseInt($(item).find('.position_value').val()); + value += 1; + + $(item).find('.position_value').val(value); + }); + + $(q_down).on('click',function(event){ + + event.preventDefault(); + + $(q_submit).css({'display':'block'}); + + value = parseInt($(item).find('.position_value').val()); + + value = (value < 1 ? 0 : value-1); + + $(item).find('.position_value').val(value); + }); + + if ($(item).hasClass('nosubmit')) { + + $(item).off('submit'); + + } else { + var q_submit = $('OK').appendTo($(q_buttons)); + var q_loading = $('').appendTo($(q_buttons)); + + $(q_submit).css({'display':'none'}); + $(q_loading).css({'display':'none'}); + + $(item).find('.position_value').on('change',function(){ + $(q_submit).css({'display':'block'}); + return false; + }); + + $(item).find('.position_value').on('focus',function(){ + $(q_submit).css({'display':'block'}); + }); + + $(item).on('blur',function(){ + $(q_submit).css({'display':'none'}); + }); + + $(item).on('submit',function(){ + $(q_submit).css({'display':'none'}); + $(q_loading).css({'display':'block'}); + + var dataForm = { + 'action': 'changepos', + 'id':$(this).find('input[name=id]').val(), + 'value':$(this).find('input[name=document_position]').val() + }; + + $.ajax({ + url: ave_path + 'admin/index.php?do=docs', + type: 'POST', + dataType: 'json', + data: dataForm, + success: function(data) { + $(q_loading).css({'display':'none'}); + $.jGrowl(data['message'], { + header: data['header'], + theme: data['theme'] + }); + } + }); + + return false; + }); + + $(q_submit).on('click',function(event){ + event.preventDefault(); + + $(item).submit(); + + return false; + }); + } + + }); } }; diff --git a/admin/templates/request/form.tpl b/admin/templates/request/form.tpl index ca000c4..6c719ff 100644 --- a/admin/templates/request/form.tpl +++ b/admin/templates/request/form.tpl @@ -235,6 +235,7 @@ function changeRub(select) {ldelim}