Merge branch 'seeddms-4.3.x' into seeddms-5.0.x

This commit is contained in:
Uwe Steinmann 2016-11-22 10:28:29 +01:00
commit a4bec45158
9 changed files with 180 additions and 114 deletions

View File

@ -69,6 +69,8 @@
- add preview of pdf documents and conversion to pdf - add preview of pdf documents and conversion to pdf
- replace some more php short tags - replace some more php short tags
- list of available languages can be set in configuration - list of available languages can be set in configuration
- check for cycles in workflows and issue warning
- major update of russian language (Thanks to r3code)
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 4.3.30 Changes in version 4.3.30

View File

@ -301,6 +301,35 @@ class SeedDMS_Core_Workflow { /* {{{ */
return true; return true;
} /* }}} */ } /* }}} */
private function penetrate($laststates) {
$state = end($laststates);
$transitions = $this->getNextTransitions($state);
foreach($transitions as $transition) {
$nextstate = $transition->getNextState();
/* Check if nextstate is already in list of previous states */
foreach($laststates as $laststate) {
if($laststate->getID() == $nextstate->getID())
return array_merge($laststates, array($nextstate));
}
if($ret = $this->penetrate(array_merge($laststates, array($nextstate))))
return $ret;
}
return false;
}
/**
* Check if workflow contains cycles
*
* @return boolean list of states if workflow contains cycles, otherwise false
*/
function checkForCycles() { /* {{{ */
$db = $this->_dms->getDB();
$initstate = $this->getInitState();
return $this->penetrate(array($initstate));
} /* }}} */
/** /**
* Remove the workflow and all its transitions * Remove the workflow and all its transitions
* Do not remove actions and states of the workflow * Do not remove actions and states of the workflow

View File

@ -1126,6 +1126,7 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated
- new method SeedDMЅ_Core_WorkflowAction::getTransitions() - new method SeedDMЅ_Core_WorkflowAction::getTransitions()
- new method SeedDMЅ_Core_WorkflowState::getTransitions() - new method SeedDMЅ_Core_WorkflowState::getTransitions()
- new method SeedDMЅ_Core_AttributeDefinition::parseValue() - new method SeedDMЅ_Core_AttributeDefinition::parseValue()
- add check for cycles in workflow SeedDMS_Core_Workflow::checkForCycles()
</notes> </notes>
</release> </release>
<release> <release>

View File

@ -19,15 +19,15 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (1547) // Translators: Admin (1641)
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => 'Двухфакторная аутентификация',
'2_factor_auth_info' => '', '2_factor_auth_info' => 'Использовать усиленную проверку подлинности',
'2_fact_auth_secret' => '', '2_fact_auth_secret' => 'Кдюч двухфакторной аутентификации',
'accept' => 'Принять', 'accept' => 'Принять',
'access_control' => '', 'access_control' => 'Контроль достпуа',
'access_control_is_off' => '', 'access_control_is_off' => 'Контроль достпуа отключен',
'access_denied' => 'Доступ запрещён', 'access_denied' => 'Доступ запрещён',
'access_inheritance' => 'Наследование доступа', 'access_inheritance' => 'Наследование доступа',
'access_mode' => 'Режим доступа', 'access_mode' => 'Режим доступа',
@ -54,7 +54,7 @@ URL: [url]',
'action_revise' => 'Ревизировать', 'action_revise' => 'Ревизировать',
'add' => 'Добавить', 'add' => 'Добавить',
'add_approval' => 'Утвердить', 'add_approval' => 'Утвердить',
'add_attrdefgroup' => '', 'add_attrdefgroup' => 'Группа атрибута',
'add_document' => 'Добавить документ', 'add_document' => 'Добавить документ',
'add_document_link' => 'Добавить ссылку', 'add_document_link' => 'Добавить ссылку',
'add_document_notify' => 'Добавить Уведомления', 'add_document_notify' => 'Добавить Уведомления',
@ -68,7 +68,7 @@ URL: [url]',
'add_receipt' => 'Подтвердить получение', 'add_receipt' => 'Подтвердить получение',
'add_review' => 'Рецензировать', 'add_review' => 'Рецензировать',
'add_revision' => 'Добавить утверждение', 'add_revision' => 'Добавить утверждение',
'add_role' => '', 'add_role' => 'Добавить роль',
'add_subfolder' => 'Добавить подкаталог', 'add_subfolder' => 'Добавить подкаталог',
'add_to_clipboard' => 'Добавить в буфер', 'add_to_clipboard' => 'Добавить в буфер',
'add_to_transmittal' => 'Добавить к передаче', 'add_to_transmittal' => 'Добавить к передаче',
@ -131,11 +131,11 @@ URL: [url]',
'assign_reviewers' => 'Назначить рецензентов', 'assign_reviewers' => 'Назначить рецензентов',
'assign_user_property_to' => 'Назначить свойства пользователя', 'assign_user_property_to' => 'Назначить свойства пользователя',
'assumed_released' => 'Утверждён', 'assumed_released' => 'Утверждён',
'attrdefgroup_management' => '', 'attrdefgroup_management' => 'Управление группой определений',
'attrdefgrp_show_detail' => '', 'attrdefgrp_show_detail' => '',
'attrdefgrp_show_list' => '', 'attrdefgrp_show_list' => 'Список определений',
'attrdefgrp_show_search' => '', 'attrdefgrp_show_search' => 'Поиск определения',
'attrdefgrp_show_searchlist' => '', 'attrdefgrp_show_searchlist' => 'Найденные определения',
'attrdef_exists' => 'Определение атрибута уже существует', 'attrdef_exists' => 'Определение атрибута уже существует',
'attrdef_info' => 'Информация', 'attrdef_info' => 'Информация',
'attrdef_in_use' => 'Определение этого атрибута используется', 'attrdef_in_use' => 'Определение этого атрибута используется',
@ -170,18 +170,18 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: изменён атрибут «[name]»', 'attribute_changed_email_subject' => '[sitename]: изменён атрибут «[name]»',
'attribute_count' => 'Использован раз', 'attribute_count' => 'Использован раз',
'attribute_value' => 'Значение атрибута', 'attribute_value' => 'Значение атрибута',
'attribute_value_not_in_valueset' => '', 'attribute_value_not_in_valueset' => 'Значение атрибута вне допустимого диапазона',
'attr_malformed_boolean' => '', 'attr_malformed_boolean' => 'Неверное значение для булевого',
'attr_malformed_date' => '', 'attr_malformed_date' => 'Неверное значение для даты',
'attr_malformed_email' => 'Значение атрибута \'[value]\' атрибута \'[attrname]\' не является допустимым URL.', 'attr_malformed_email' => 'Значение атрибута \'[value]\' атрибута \'[attrname]\' не является допустимым URL.',
'attr_malformed_float' => '', 'attr_malformed_float' => 'Неверное значение для дробного числа',
'attr_malformed_int' => '', 'attr_malformed_int' => 'Неверное значение для целого числа',
'attr_malformed_url' => 'Значение атрибута \'[value]\' атрибута \'[attrname]\' не является допустимым URL.', 'attr_malformed_url' => 'Значение атрибута \'[value]\' атрибута \'[attrname]\' не является допустимым URL.',
'attr_max_values' => 'Максимальное количество требуемых значений для атрибутов [attrname] превышено.', 'attr_max_values' => 'Максимальное количество требуемых значений для атрибутов [attrname] превышено.',
'attr_min_values' => 'Минимальное количество требуемых значений для атрибутов [attrname] не достигнуто.', 'attr_min_values' => 'Минимальное количество требуемых значений для атрибутов [attrname] не достигнуто.',
'attr_not_in_valueset' => '', 'attr_not_in_valueset' => 'Атрибут вне допусимого дипапазона значений',
'attr_no_regex_match' => 'Значение атрибута не соответствует регулярному выражению', 'attr_no_regex_match' => 'Значение атрибута не соответствует регулярному выражению',
'attr_validation_error' => '', 'attr_validation_error' => 'Ошибка проверки атрибута',
'at_least_n_users_of_group' => '[number_of_users] польз. группы [group]', 'at_least_n_users_of_group' => '[number_of_users] польз. группы [group]',
'august' => 'Август', 'august' => 'Август',
'authentication' => 'Авторизация', 'authentication' => 'Авторизация',
@ -221,7 +221,7 @@ URL: [url]',
'change_recipients' => 'Изменить список получателей', 'change_recipients' => 'Изменить список получателей',
'change_revisors' => 'Изменить переподчинение', 'change_revisors' => 'Изменить переподчинение',
'change_status' => 'Изменить статус', 'change_status' => 'Изменить статус',
'charts' => 'Диаграммы', 'charts' => 'Графики и диаграммы',
'chart_docsaccumulated_title' => 'Количество документов', 'chart_docsaccumulated_title' => 'Количество документов',
'chart_docspercategory_title' => 'Документы по категориям', 'chart_docspercategory_title' => 'Документы по категориям',
'chart_docspermimetype_title' => 'Документы по mime типам', 'chart_docspermimetype_title' => 'Документы по mime типам',
@ -237,10 +237,10 @@ URL: [url]',
'checkout_document' => 'Загрузка', 'checkout_document' => 'Загрузка',
'checkout_is_disabled' => 'Загрузка отключена.', 'checkout_is_disabled' => 'Загрузка отключена.',
'choose_attrdef' => 'Выберите атрибут', 'choose_attrdef' => 'Выберите атрибут',
'choose_attrdefgroup' => '', 'choose_attrdefgroup' => 'Выберите группу атрибута',
'choose_category' => 'Выберите категорию', 'choose_category' => 'Выберите категорию',
'choose_group' => 'Выберите группу', 'choose_group' => 'Выберите группу',
'choose_role' => '', 'choose_role' => 'Выберите роль',
'choose_target_category' => 'Выберите категорию', 'choose_target_category' => 'Выберите категорию',
'choose_target_document' => 'Выберите документ', 'choose_target_document' => 'Выберите документ',
'choose_target_file' => 'Выберите файл', 'choose_target_file' => 'Выберите файл',
@ -249,19 +249,19 @@ URL: [url]',
'choose_workflow' => 'Выберите процесс', 'choose_workflow' => 'Выберите процесс',
'choose_workflow_action' => 'Выберите действие процесса', 'choose_workflow_action' => 'Выберите действие процесса',
'choose_workflow_state' => 'Выберите статус процесса', 'choose_workflow_state' => 'Выберите статус процесса',
'class_name' => '', 'class_name' => 'Имя класса',
'clear_cache' => 'Очистить кэш', 'clear_cache' => 'Очистить кэш',
'clear_clipboard' => 'Очистить буфер обмена', 'clear_clipboard' => 'Очистить буфер обмена',
'clear_password' => '', 'clear_password' => 'Сбросить пароль',
'clipboard' => 'Буфер обмена', 'clipboard' => 'Буфер обмена',
'close' => 'Закрыть', 'close' => 'Закрыть',
'comment' => 'Комментарий', 'comment' => 'Комментарий',
'comment_changed_email' => 'Сообщение об изменении комментария', 'comment_changed_email' => 'Сообщение об изменении комментария',
'comment_for_current_version' => 'Комментарий версии', 'comment_for_current_version' => 'Комментарий версии',
'confirm_clear_cache' => '', 'confirm_clear_cache' => 'Подтвердить очистку кеша',
'confirm_create_fulltext_index' => 'Да, пересоздать полнотекстовый индекс!', 'confirm_create_fulltext_index' => 'Да, пересоздать полнотекстовый индекс!',
'confirm_move_document' => '', 'confirm_move_document' => 'Подтвердить перемещение документа',
'confirm_move_folder' => '', 'confirm_move_folder' => 'Подтвердить перемещение папки',
'confirm_pwd' => 'Подтвердите пароль', 'confirm_pwd' => 'Подтвердите пароль',
'confirm_rm_backup' => 'Удалить файл «[arkname]»?<br>Действие <b>необратимо</b>', 'confirm_rm_backup' => 'Удалить файл «[arkname]»?<br>Действие <b>необратимо</b>',
'confirm_rm_document' => 'Удалить документ «[documentname]»?<br>Действие <b>необратимо</b>', 'confirm_rm_document' => 'Удалить документ «[documentname]»?<br>Действие <b>необратимо</b>',
@ -272,7 +272,7 @@ URL: [url]',
'confirm_rm_folder_files' => 'Удалить в каталоге «[foldername]» все файлы и подкаталоги?<br>Действие <b>необратимо</b>', 'confirm_rm_folder_files' => 'Удалить в каталоге «[foldername]» все файлы и подкаталоги?<br>Действие <b>необратимо</b>',
'confirm_rm_group' => 'Удалить группу «[groupname]»?<br>Действие <b>необратимо</b>', 'confirm_rm_group' => 'Удалить группу «[groupname]»?<br>Действие <b>необратимо</b>',
'confirm_rm_log' => 'Удалить журнал «[logname]»?<br>Действие <b>необратимо</b>', 'confirm_rm_log' => 'Удалить журнал «[logname]»?<br>Действие <b>необратимо</b>',
'confirm_rm_transmittal' => '', 'confirm_rm_transmittal' => 'Подтвердить удаление',
'confirm_rm_transmittalitem' => 'Подтвердить удаление', 'confirm_rm_transmittalitem' => 'Подтвердить удаление',
'confirm_rm_user' => 'Удалить пользователя «[username]»?<br>Действие <b>необратимо</b>', 'confirm_rm_user' => 'Удалить пользователя «[username]»?<br>Действие <b>необратимо</b>',
'confirm_rm_version' => 'Удалить версию [version] документа «[documentname]»?<br>Действие <b>необратимо</b>', 'confirm_rm_version' => 'Удалить версию [version] документа «[documentname]»?<br>Действие <b>необратимо</b>',
@ -294,7 +294,7 @@ URL: [url]',
'databasesearch' => 'Поиск по БД', 'databasesearch' => 'Поиск по БД',
'date' => 'Дата', 'date' => 'Дата',
'days' => 'дни', 'days' => 'дни',
'debug' => '', 'debug' => 'Отладка',
'december' => 'Декабрь', 'december' => 'Декабрь',
'default_access' => 'Доступ по умолчанию', 'default_access' => 'Доступ по умолчанию',
'default_keywords' => 'Доступные метки', 'default_keywords' => 'Доступные метки',
@ -380,7 +380,7 @@ URL: [url]',
Комментарий версии: [version_comment] Комментарий версии: [version_comment]
URL: [url]', URL: [url]',
'document_updated_email_subject' => '[sitename]: обновлён документ «[name]»', 'document_updated_email_subject' => '[sitename]: обновлён документ «[name]»',
'does_not_expire' => 'Без срока', 'does_not_expire' => 'безсрочный',
'does_not_inherit_access_msg' => 'Наследовать уровень доступа', 'does_not_inherit_access_msg' => 'Наследовать уровень доступа',
'download' => 'Загрузить', 'download' => 'Загрузить',
'do_object_repair' => 'Исправить все каталоги и документы', 'do_object_repair' => 'Исправить все каталоги и документы',
@ -391,9 +391,9 @@ URL: [url]',
'draft_pending_approval' => '<b>Черновик</b> — ожидает утверждения', 'draft_pending_approval' => '<b>Черновик</b> — ожидает утверждения',
'draft_pending_review' => '<b>Черновик</b> — ожидает рецензии', 'draft_pending_review' => '<b>Черновик</b> — ожидает рецензии',
'drag_icon_here' => 'Перетащите сюда значок каталога или документа.', 'drag_icon_here' => 'Перетащите сюда значок каталога или документа.',
'dropfolderdir_missing' => '', 'dropfolderdir_missing' => 'Проходной каталог не существует',
'dropfolder_file' => 'Файл из проходного каталога', 'dropfolder_file' => 'Файл из проходного каталога',
'dropfolder_folder' => '', 'dropfolder_folder' => 'Путь к проходному каталогу',
'dropupload' => 'Быстрая загрузка', 'dropupload' => 'Быстрая загрузка',
'drop_files_here' => 'Переместите файлы сюда', 'drop_files_here' => 'Переместите файлы сюда',
'dump_creation' => 'Создать дамп БД', 'dump_creation' => 'Создать дамп БД',
@ -405,56 +405,56 @@ URL: [url]',
'edit_attributes' => 'Изменить атрибуты', 'edit_attributes' => 'Изменить атрибуты',
'edit_comment' => 'Изменить комментарий', 'edit_comment' => 'Изменить комментарий',
'edit_default_keywords' => 'Изменить метки', 'edit_default_keywords' => 'Изменить метки',
'edit_document_access' => 'Изменить доступ', 'edit_document_access' => 'Доступ',
'edit_document_notify' => 'Список уведомления документа', 'edit_document_notify' => 'Список уведомления документа',
'edit_document_props' => 'Изменить документ', 'edit_document_props' => 'Изменить документ',
'edit_event' => 'Изменить событие', 'edit_event' => 'Изменить событие',
'edit_existing_access' => 'Изменить доступ', 'edit_existing_access' => 'Изменить доступ',
'edit_existing_attribute_groups' => '', 'edit_existing_attribute_groups' => 'Изменить группы атрибутов',
'edit_existing_notify' => 'Изменить уведомления', 'edit_existing_notify' => 'Настроить уведомления',
'edit_folder_access' => 'Изменить доступ', 'edit_folder_access' => 'Изменить доступ',
'edit_folder_attrdefgrp' => '', 'edit_folder_attrdefgrp' => 'Изменить группу атрибутов каталога',
'edit_folder_notify' => 'Список уведомления каталога', 'edit_folder_notify' => 'Список уведомления каталога',
'edit_folder_props' => 'Изменить каталог', 'edit_folder_props' => 'Изменить свойства',
'edit_group' => 'Изменить группу', 'edit_group' => 'Изменить группу',
'edit_online' => '', 'edit_online' => '',
'edit_transmittal_props' => 'Редактировать группы получателей', 'edit_transmittal_props' => 'Редактировать группы получателей',
'edit_user' => 'Редактировать пользователя', 'edit_user' => 'Редактировать пользователя',
'edit_user_details' => 'Изменить данные пользователя', 'edit_user_details' => 'Изменить данные пользователя',
'edit_version' => '', 'edit_version' => 'Изменить версию',
'el_GR' => 'греческий', 'el_GR' => 'греческий',
'email' => 'E-mail', 'email' => 'E-mail',
'email_error_title' => 'Не указан e-mail', 'email_error_title' => 'Не указан e-mail',
'email_footer' => 'Вы можете изменить e-mail используя меню «Моя учётка».', 'email_footer' => 'Вы можете изменить e-mail используя меню «Моя учётка».',
'email_header' => 'Это автоматическое уведомление сервера документооборота.', 'email_header' => 'Это автоматическое уведомление сервера документооборота.',
'email_not_given' => 'Введите настоящий адрес e-mail.', 'email_not_given' => 'Введите настоящий адрес e-mail.',
'empty_attribute_group_list' => '', 'empty_attribute_group_list' => 'Пустой список группы атрибутов',
'empty_folder_list' => 'Нет документов или каталогов', 'empty_folder_list' => 'Нет документов или каталогов',
'empty_notify_list' => 'Нет записей', 'empty_notify_list' => 'Нет записей',
'en_GB' => 'English (GB)', 'en_GB' => 'English (GB)',
'equal_transition_states' => 'Одинаковые начальный и конечный статусы', 'equal_transition_states' => 'Одинаковые начальный и конечный статусы',
'error' => 'Ошибка', 'error' => 'Ошибка',
'error_add_aro' => '', 'error_add_aro' => '',
'error_add_permission' => '', 'error_add_permission' => 'Ошибка добавления разрешения',
'error_clearcache' => '', 'error_clearcache' => 'Ошибка очиски кеша',
'error_importfs' => '', 'error_importfs' => 'Ошибка импорта из файловой системы',
'error_no_document_selected' => 'Нет выбранных документов', 'error_no_document_selected' => 'Нет выбранных документов',
'error_no_folder_selected' => 'Нет выбранных каталогов', 'error_no_folder_selected' => 'Нет выбранных каталогов',
'error_occured' => 'Произошла ошибка', 'error_occured' => 'Произошла ошибка',
'error_remove_permission' => '', 'error_remove_permission' => 'Ошибка снятия разрешения',
'error_toogle_permission' => '', 'error_toogle_permission' => 'Ошибка смены разрешения',
'es_ES' => 'Spanish', 'es_ES' => 'Spanish',
'event_details' => 'Информация о событии', 'event_details' => 'Информация о событии',
'exclude_items' => 'Исключенные элементы', 'exclude_items' => 'Не показывать события:',
'expired' => 'Срок исполнения окончился', 'expired' => 'Срок действия вышел',
'expires' => 'Срок исполнения оканчивается', 'expires' => 'Срок действия',
'expiry_changed_email' => 'Срок исполнения изменен', 'expiry_changed_email' => 'Срок действия изменен',
'expiry_changed_email_body' => 'Срок исполнения изменен 'expiry_changed_email_body' => 'Срок действия изменен
Документ: [name] Документ: [name]
Родительский каталог: [folder_path] Родительский каталог: [folder_path]
Пользователь: [username] Пользователь: [username]
URL: [url]', URL: [url]',
'expiry_changed_email_subject' => '[sitename]: изменен срок исполнения для «[name]»', 'expiry_changed_email_subject' => '[sitename]: изменен срок действия для «[name]»',
'export' => 'Экспорт', 'export' => 'Экспорт',
'extension_manager' => 'Управление расширениями', 'extension_manager' => 'Управление расширениями',
'february' => 'Февраль', 'february' => 'Февраль',
@ -511,7 +511,7 @@ URL: [url]',
'fullsearch' => 'Полнотекстовый поиск', 'fullsearch' => 'Полнотекстовый поиск',
'fullsearch_hint' => 'Использовать полнотекстовый индекс', 'fullsearch_hint' => 'Использовать полнотекстовый индекс',
'fulltext_info' => 'Информация о полнотекстовом индексе', 'fulltext_info' => 'Информация о полнотекстовом индексе',
'global_attributedefinitiongroups' => '', 'global_attributedefinitiongroups' => 'Глобальные группы атрибутов',
'global_attributedefinitions' => 'Атрибуты', 'global_attributedefinitions' => 'Атрибуты',
'global_default_keywords' => 'Глобальные метки', 'global_default_keywords' => 'Глобальные метки',
'global_document_categories' => 'Категории', 'global_document_categories' => 'Категории',
@ -531,7 +531,7 @@ URL: [url]',
'guest_login_disabled' => 'Гостевой вход отключён', 'guest_login_disabled' => 'Гостевой вход отключён',
'help' => 'Помощь', 'help' => 'Помощь',
'home_folder' => 'Домашний каталог', 'home_folder' => 'Домашний каталог',
'hook_name' => '', 'hook_name' => 'Имя хука',
'hourly' => 'Ежечасно', 'hourly' => 'Ежечасно',
'hours' => 'часы', 'hours' => 'часы',
'hr_HR' => 'Хорватский', 'hr_HR' => 'Хорватский',
@ -539,15 +539,15 @@ URL: [url]',
'hu_HU' => 'Hungarian', 'hu_HU' => 'Hungarian',
'id' => 'Идентификатор', 'id' => 'Идентификатор',
'identical_version' => 'Новая версия идентична текущей.', 'identical_version' => 'Новая версия идентична текущей.',
'import' => '', 'import' => 'Импорт',
'importfs' => '', 'importfs' => 'Импорт из файлов',
'import_fs' => 'импорт из файловой системы', 'import_fs' => 'Импорт из файловой системы',
'import_fs_warning' => '', 'import_fs_warning' => 'Предупреждение импорта из ФС',
'include_content' => 'Включая содержимое', 'include_content' => 'Включая содержимое',
'include_documents' => 'Включая документы', 'include_documents' => 'Включая документы',
'include_subdirectories' => 'Включая подкаталоги', 'include_subdirectories' => 'Включая подкаталоги',
'index_converters' => 'Индексирование документов', 'index_converters' => 'Индексирование документов',
'index_folder' => 'Каталог индекса', 'index_folder' => 'Полнотекстовый индекс',
'individuals' => 'Пользователи', 'individuals' => 'Пользователи',
'indivіduals_in_groups' => 'Пользователи группы', 'indivіduals_in_groups' => 'Пользователи группы',
'inherited' => 'унаследованный', 'inherited' => 'унаследованный',
@ -562,9 +562,9 @@ URL: [url]',
'invalid_create_date_end' => 'Неверная конечная дата диапазона даты создания', 'invalid_create_date_end' => 'Неверная конечная дата диапазона даты создания',
'invalid_create_date_start' => 'Неверная начальная дата диапазона даты создания', 'invalid_create_date_start' => 'Неверная начальная дата диапазона даты создания',
'invalid_doc_id' => 'Неверный идентификатор документа', 'invalid_doc_id' => 'Неверный идентификатор документа',
'invalid_dropfolder_folder' => '', 'invalid_dropfolder_folder' => 'Неверный путь для проходного каталога',
'invalid_expiration_date_end' => 'Неверная конечная дата для диапазона срока исполнения.', 'invalid_expiration_date_end' => 'Неверная конечная дата для диапазона срока действия.',
'invalid_expiration_date_start' => 'Неверная начальная дата для диапазона срока исполнения.', 'invalid_expiration_date_start' => 'Неверная начальная дата для диапазона срока действия.',
'invalid_file_id' => 'Неверный идентификатор файла', 'invalid_file_id' => 'Неверный идентификатор файла',
'invalid_folder_id' => 'Неверный идентификатор каталога', 'invalid_folder_id' => 'Неверный идентификатор каталога',
'invalid_group_id' => 'Неверный идентификатор группы', 'invalid_group_id' => 'Неверный идентификатор группы',
@ -583,9 +583,9 @@ URL: [url]',
'is_hidden' => 'Не показывать в<br/>списке пользователей', 'is_hidden' => 'Не показывать в<br/>списке пользователей',
'it_IT' => 'Italian', 'it_IT' => 'Italian',
'january' => 'Январь', 'january' => 'Январь',
'js_form_error' => '', 'js_form_error' => 'Ошибка формы',
'js_form_errors' => '', 'js_form_errors' => 'Ошибки формы',
'js_invalid_email' => '', 'js_invalid_email' => 'Неверный e-mail',
'js_no_approval_group' => 'Выберите утверждающую группу', 'js_no_approval_group' => 'Выберите утверждающую группу',
'js_no_approval_status' => 'Выберите статус утверждения', 'js_no_approval_status' => 'Выберите статус утверждения',
'js_no_comment' => 'Нет комментария', 'js_no_comment' => 'Нет комментария',
@ -602,7 +602,7 @@ URL: [url]',
'js_pwd_not_conf' => 'Пароль и его подтверждение не совпадают', 'js_pwd_not_conf' => 'Пароль и его подтверждение не совпадают',
'js_select_user' => 'Выберите пользователя', 'js_select_user' => 'Выберите пользователя',
'js_select_user_or_group' => 'Выберите пользователя или группу', 'js_select_user_or_group' => 'Выберите пользователя или группу',
'js_unequal_passwords' => '', 'js_unequal_passwords' => 'Пароли не совпадают',
'july' => 'Июль', 'july' => 'Июль',
'june' => 'Июнь', 'june' => 'Июнь',
'keep' => 'Не изменять', 'keep' => 'Не изменять',
@ -620,7 +620,7 @@ URL: [url]',
'linked_files' => 'Приложения', 'linked_files' => 'Приложения',
'link_alt_updatedocument' => 'Для загрузки файлов, превышающих ограничение размера, используйте <a href="%s">другой способ</a>.', 'link_alt_updatedocument' => 'Для загрузки файлов, превышающих ограничение размера, используйте <a href="%s">другой способ</a>.',
'list_contains_no_access_docs' => '', 'list_contains_no_access_docs' => '',
'list_hooks' => '', 'list_hooks' => 'Список хуков',
'local_file' => 'Локальный файл', 'local_file' => 'Локальный файл',
'locked_by' => 'Заблокирован', 'locked_by' => 'Заблокирован',
'lock_document' => 'Заблокировать', 'lock_document' => 'Заблокировать',
@ -670,7 +670,7 @@ URL: [url]',
'my_transmittals' => 'Мои пересылки', 'my_transmittals' => 'Мои пересылки',
'name' => 'Имя', 'name' => 'Имя',
'needs_workflow_action' => 'Этот документ требует вашего внимания. См. вкладку «Процесс».', 'needs_workflow_action' => 'Этот документ требует вашего внимания. См. вкладку «Процесс».',
'network_drive' => '', 'network_drive' => 'Сетевой диск',
'never' => 'никогда', 'never' => 'никогда',
'new' => 'Новый', 'new' => 'Новый',
'new_attrdef' => 'Добавить определение атрибута', 'new_attrdef' => 'Добавить определение атрибута',
@ -730,7 +730,7 @@ URL: [url]',
'no_default_keywords' => 'Нет меток', 'no_default_keywords' => 'Нет меток',
'no_docs_checked_out' => 'Нет документов на рассмотрении', 'no_docs_checked_out' => 'Нет документов на рассмотрении',
'no_docs_locked' => 'Нет заблокированных документов', 'no_docs_locked' => 'Нет заблокированных документов',
'no_docs_rejected' => '', 'no_docs_rejected' => 'Нет отклоненных докуметов',
'no_docs_to_approve' => 'Нет документов, нуждающихся в утверждении', 'no_docs_to_approve' => 'Нет документов, нуждающихся в утверждении',
'no_docs_to_look_at' => 'Нет документов, нуждающихся во внимании', 'no_docs_to_look_at' => 'Нет документов, нуждающихся во внимании',
'no_docs_to_receipt' => 'Нет документов, нуждающихся в подтверждении', 'no_docs_to_receipt' => 'Нет документов, нуждающихся в подтверждении',
@ -751,7 +751,7 @@ URL: [url]',
'no_version_check' => 'Проверка на наличие новой версии SeedDMS не удалось! Это может быть вызвано allow_url_fopen установленным в 0 в конфигурации PHP.', 'no_version_check' => 'Проверка на наличие новой версии SeedDMS не удалось! Это может быть вызвано allow_url_fopen установленным в 0 в конфигурации PHP.',
'no_version_modification' => 'Отсутствует модификация версии', 'no_version_modification' => 'Отсутствует модификация версии',
'no_workflow_available' => 'Отсутствует процесс', 'no_workflow_available' => 'Отсутствует процесс',
'objectcheck' => 'Проверка каталога или документа', 'objectcheck' => 'Проверка целостности',
'obsolete' => 'Устарел', 'obsolete' => 'Устарел',
'october' => 'Октябрь', 'october' => 'Октябрь',
'old' => 'Старый', 'old' => 'Старый',
@ -827,7 +827,7 @@ URL: [url]',
'reception_noaction' => '', 'reception_noaction' => '',
'reception_rejected' => '', 'reception_rejected' => '',
'recipients' => 'Получатели', 'recipients' => 'Получатели',
'redraw' => '', 'redraw' => 'Обновить картинку',
'refresh' => 'Обновить', 'refresh' => 'Обновить',
'rejected' => 'Отклонён', 'rejected' => 'Отклонён',
'released' => 'Утверждён', 'released' => 'Утверждён',
@ -862,7 +862,7 @@ URL: [url]',
URL: [url]', URL: [url]',
'request_workflow_action_email_subject' => '[sitename]: [name] - Требуется действие по процессу', 'request_workflow_action_email_subject' => '[sitename]: [name] - Требуется действие по процессу',
'reset_checkout' => 'Завершить проверку', 'reset_checkout' => 'Завершить проверку',
'restrict_access' => '', 'restrict_access' => 'Ограничить доступ',
'results_page' => 'Страница результатов', 'results_page' => 'Страница результатов',
'return_from_subworkflow' => 'Выход из подпроцесса', 'return_from_subworkflow' => 'Выход из подпроцесса',
'return_from_subworkflow_email_body' => 'Выход из подпроцесса 'return_from_subworkflow_email_body' => 'Выход из подпроцесса
@ -921,7 +921,7 @@ URL: [url]',
Пользователь: [username] Пользователь: [username]
URL: [url]', URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Запрос на ревизию', 'revision_request_email_subject' => '[sitename]: [name] - Запрос на ревизию',
'revision_status' => '', 'revision_status' => 'Состояние ревизии',
'revisors' => 'Ревизор', 'revisors' => 'Ревизор',
'revisor_already_assigned' => 'Пользователь уже назначен как ревизор', 'revisor_already_assigned' => 'Пользователь уже назначен как ревизор',
'revisor_already_removed' => 'Ревизор уже удален из процесса ревизии, либо уже рассмотрел документ', 'revisor_already_removed' => 'Ревизор уже удален из процесса ревизии, либо уже рассмотрел документ',
@ -944,7 +944,7 @@ URL: [url]',
'rm_folder' => 'Удалить каталог', 'rm_folder' => 'Удалить каталог',
'rm_from_clipboard' => 'Удалить из буфера обмена', 'rm_from_clipboard' => 'Удалить из буфера обмена',
'rm_group' => 'Удалить группу', 'rm_group' => 'Удалить группу',
'rm_role' => '', 'rm_role' => 'Удалить роль',
'rm_transmittal' => 'Удалить передачу', 'rm_transmittal' => 'Удалить передачу',
'rm_transmittalitem' => 'Удалить документ', 'rm_transmittalitem' => 'Удалить документ',
'rm_user' => 'Удалить пользователя', 'rm_user' => 'Удалить пользователя',
@ -956,10 +956,10 @@ URL: [url]',
'role' => 'Роль', 'role' => 'Роль',
'role_admin' => 'Администратор', 'role_admin' => 'Администратор',
'role_guest' => 'Гость', 'role_guest' => 'Гость',
'role_info' => '', 'role_info' => 'Информация о роли',
'role_management' => '', 'role_management' => 'Управление ролью',
'role_name' => '', 'role_name' => 'Имя роли',
'role_type' => '', 'role_type' => 'Тип рольи',
'role_user' => 'Пользователь', 'role_user' => 'Пользователь',
'ro_RO' => 'Румынский', 'ro_RO' => 'Румынский',
'run_subworkflow' => 'Запустить подпроцесс', 'run_subworkflow' => 'Запустить подпроцесс',
@ -1051,8 +1051,8 @@ URL: [url]',
'settings_contentDir_desc' => 'Куда сохраняются загруженные файлы (лучше выбрать каталог недоступный веб-серверу).', 'settings_contentDir_desc' => 'Куда сохраняются загруженные файлы (лучше выбрать каталог недоступный веб-серверу).',
'settings_contentOffsetDir' => 'Базовый начальный каталог', 'settings_contentOffsetDir' => 'Базовый начальный каталог',
'settings_contentOffsetDir_desc' => 'Во избежание проблем с файловой системой была введена новая структура каталогов в каталоге содержимого. Необходим базовый начальный каталог. Впрочем, оставьте тут все как есть, 1048576, но может быть любым числом или строкой, не существующей уже в каталоге содержимого.', 'settings_contentOffsetDir_desc' => 'Во избежание проблем с файловой системой была введена новая структура каталогов в каталоге содержимого. Необходим базовый начальный каталог. Впрочем, оставьте тут все как есть, 1048576, но может быть любым числом или строкой, не существующей уже в каталоге содержимого.',
'settings_convertToPdf' => '', 'settings_convertToPdf' => 'Предпросмотр в PDF',
'settings_convertToPdf_desc' => '', 'settings_convertToPdf_desc' => 'Преобразоваывать документы в PDF для предпросмотра',
'settings_cookieLifetime' => 'Время жизни куки', 'settings_cookieLifetime' => 'Время жизни куки',
'settings_cookieLifetime_desc' => 'Время жизни куки в секундах. Если установлено 0, то куки будут удалены при закрытии браузера.', 'settings_cookieLifetime_desc' => 'Время жизни куки в секундах. Если установлено 0, то куки будут удалены при закрытии браузера.',
'settings_coreDir' => 'Каталог Core SeedDMS', 'settings_coreDir' => 'Каталог Core SeedDMS',
@ -1086,8 +1086,8 @@ URL: [url]',
'settings_dropFolderDir' => 'Размещение проходного каталога', 'settings_dropFolderDir' => 'Размещение проходного каталога',
'settings_dropFolderDir_desc' => 'Этот каталог используется для размещения файлов на сервере и их импорта вместо загрузки через браузер. Каталог должен содержать подкаталог для каждого пользователя, которому разрешён импорт файлов таким способом.', 'settings_dropFolderDir_desc' => 'Этот каталог используется для размещения файлов на сервере и их импорта вместо загрузки через браузер. Каталог должен содержать подкаталог для каждого пользователя, которому разрешён импорт файлов таким способом.',
'settings_Edition' => 'Настройки версий', 'settings_Edition' => 'Настройки версий',
'settings_editOnlineFileTypes' => '', 'settings_editOnlineFileTypes' => 'Редактировать онлайн',
'settings_editOnlineFileTypes_desc' => '', 'settings_editOnlineFileTypes_desc' => 'Типы файлов перечисленные через точку-запятую, например, ".txt;.html" (ИСПОЛЬЗОВАТЬ ТОЛЬКО нижний РЕГИСТР)',
'settings_enable2FactorAuthentication' => '', 'settings_enable2FactorAuthentication' => '',
'settings_enable2FactorAuthentication_desc' => '', 'settings_enable2FactorAuthentication_desc' => '',
'settings_enableAcknowledgeWorkflow' => 'Включить подтверждение получения документа', 'settings_enableAcknowledgeWorkflow' => 'Включить подтверждение получения документа',
@ -1207,8 +1207,8 @@ URL: [url]',
'settings_maxExecutionTime_desc' => 'Устанавливает максимальное время выполнения скрипта, перед тем как он будет завершён.', 'settings_maxExecutionTime_desc' => 'Устанавливает максимальное время выполнения скрипта, перед тем как он будет завершён.',
'settings_maxRecursiveCount' => 'Ограничение рекурсивного подсчёта<br/>документов и каталогов', 'settings_maxRecursiveCount' => 'Ограничение рекурсивного подсчёта<br/>документов и каталогов',
'settings_maxRecursiveCount_desc' => 'Максимальное количество документов или каталогов, которые будут проверены на права доступа при рекурсивном подсчёте объектов. При превышении этого количества, будет оценено количество документов и каталогов в виде каталога.', 'settings_maxRecursiveCount_desc' => 'Максимальное количество документов или каталогов, которые будут проверены на права доступа при рекурсивном подсчёте объектов. При превышении этого количества, будет оценено количество документов и каталогов в виде каталога.',
'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText' => 'Макс. размер документа для индексирования на лету',
'settings_maxSizeForFullText_desc' => '', 'settings_maxSizeForFullText_desc' => 'Размер документа, который может быть индексирован срузу после добавления',
'settings_more_settings' => 'Прочие настройки. Логин по умолчанию: admin/admin', 'settings_more_settings' => 'Прочие настройки. Логин по умолчанию: admin/admin',
'settings_notfound' => 'Не найден', 'settings_notfound' => 'Не найден',
'settings_Notification' => 'Настройки извещения', 'settings_Notification' => 'Настройки извещения',
@ -1235,9 +1235,9 @@ URL: [url]',
'settings_php_gd2' => 'PHP extension : php_gd2', 'settings_php_gd2' => 'PHP extension : php_gd2',
'settings_php_mbstring' => 'PHP extension : php_mbstring', 'settings_php_mbstring' => 'PHP extension : php_mbstring',
'settings_php_version' => 'Версия PHP', 'settings_php_version' => 'Версия PHP',
'settings_presetExpirationDate' => 'Срок исполнения документа по умолчанию', 'settings_presetExpirationDate' => 'Срок действия документа по умолчанию',
'settings_presetExpirationDate_desc' => 'Все новые загружаемые документы имеют срок исполнения, установленный по этому шаблону. Дата может быть указана в понятном для функции PHP strtotime() виде, например +5 weeks.', 'settings_presetExpirationDate_desc' => 'Все новые загружаемые документы имеют срок действия, установленный по этому шаблону. Дата может быть указана в понятном для функции PHP strtotime() виде, например +5 weeks.',
'settings_previewWidthDetail' => 'Ширина картинок предварительного просмотра (детально)', 'settings_previewWidthDetail' => 'Ширина изображения предварительного просмотра (детально)',
'settings_previewWidthDetail_desc' => 'Ширина изображения для предварительного просмотра на странице информации', 'settings_previewWidthDetail_desc' => 'Ширина изображения для предварительного просмотра на странице информации',
'settings_previewWidthList' => 'Ширина изображения для предварительного просмотра (список)', 'settings_previewWidthList' => 'Ширина изображения для предварительного просмотра (список)',
'settings_previewWidthList_desc' => 'Ширина картинок предварительного просмотра показана в списках', 'settings_previewWidthList_desc' => 'Ширина картинок предварительного просмотра показана в списках',
@ -1245,8 +1245,8 @@ URL: [url]',
'settings_printDisclaimer_desc' => 'Если включено, то предупреждение из lang.inc будет выводится внизу каждой страницы.', 'settings_printDisclaimer_desc' => 'Если включено, то предупреждение из lang.inc будет выводится внизу каждой страницы.',
'settings_quota' => 'Квота пользователя', 'settings_quota' => 'Квота пользователя',
'settings_quota_desc' => 'Максимально количество байт, которые пользователь может использовать на дисковом пространстве. Значение 0 снимает ограничение на используемое дисковое пространство. Это значение может быть указано отдельно для каждого пользователя в его профиле.', 'settings_quota_desc' => 'Максимально количество байт, которые пользователь может использовать на дисковом пространстве. Значение 0 снимает ограничение на используемое дисковое пространство. Это значение может быть указано отдельно для каждого пользователя в его профиле.',
'settings_removeFromDropFolder' => '', 'settings_removeFromDropFolder' => 'Удалить из проходного каталога',
'settings_removeFromDropFolder_desc' => '', 'settings_removeFromDropFolder_desc' => 'Включите, для удаления файла из проходного каталога после успешной загрузки.',
'settings_restricted' => 'Ограниченный доступ', 'settings_restricted' => 'Ограниченный доступ',
'settings_restricted_desc' => 'Разрешать вход пользователям, только если у них есть соответствующая учётная запись в БД (независимо от успешного входа через LDAP).', 'settings_restricted_desc' => 'Разрешать вход пользователям, только если у них есть соответствующая учётная запись в БД (независимо от успешного входа через LDAP).',
'settings_rootDir' => 'Корневой каталог', 'settings_rootDir' => 'Корневой каталог',
@ -1255,12 +1255,12 @@ URL: [url]',
'settings_rootFolderID_desc' => 'ID каждого корневого каталога (можно не менять).', 'settings_rootFolderID_desc' => 'ID каждого корневого каталога (можно не менять).',
'settings_SaveError' => 'Ошибка при сохранении конфигурации', 'settings_SaveError' => 'Ошибка при сохранении конфигурации',
'settings_Server' => 'Настройки сервера', 'settings_Server' => 'Настройки сервера',
'settings_showFullPreview' => '', 'settings_showFullPreview' => 'Отбражать предпросмотр документа',
'settings_showFullPreview_desc' => '', 'settings_showFullPreview_desc' => 'Вкл./выкл. предпросмотр документов для поддерживаемых браузером форматов на странице подробностей',
'settings_showMissingTranslations' => 'Фразы которые нужно перевести', 'settings_showMissingTranslations' => 'Фразы которые нужно перевести',
'settings_showMissingTranslations_desc' => 'Отображать внизу страницы фразы, которые нуждаются в переводе', 'settings_showMissingTranslations_desc' => 'Отображать внизу страницы фразы, которые нуждаются в переводе',
'settings_showSingleSearchHit' => '', 'settings_showSingleSearchHit' => 'Переходить сразу к документу',
'settings_showSingleSearchHit_desc' => '', 'settings_showSingleSearchHit_desc' => 'Если результат поиска содержит только один результат, показать сразу документ вместо списка результатов поиска',
'settings_Site' => 'Сайт', 'settings_Site' => 'Сайт',
'settings_siteDefaultPage' => 'Страница по умолчанию', 'settings_siteDefaultPage' => 'Страница по умолчанию',
'settings_siteDefaultPage_desc' => 'Страница, отображаемая после входа. По умолчанию: out/out.ViewFolder.php', 'settings_siteDefaultPage_desc' => 'Страница, отображаемая после входа. По умолчанию: out/out.ViewFolder.php',
@ -1316,7 +1316,7 @@ URL: [url]',
'settings_workflowMode_valtraditional' => 'традиционный', 'settings_workflowMode_valtraditional' => 'традиционный',
'settings_workflowMode_valtraditional_only_approval' => 'традиционный (без рецензирования)', 'settings_workflowMode_valtraditional_only_approval' => 'традиционный (без рецензирования)',
'settings_zendframework' => 'Инфраструктура Zend', 'settings_zendframework' => 'Инфраструктура Zend',
'set_expiry' => 'Установить истечение', 'set_expiry' => 'Срок действия',
'set_owner' => 'Установить владельца', 'set_owner' => 'Установить владельца',
'set_owner_error' => 'Ошибка при установке владельца', 'set_owner_error' => 'Ошибка при установке владельца',
'set_password' => 'Установить пароль', 'set_password' => 'Установить пароль',
@ -1421,8 +1421,8 @@ URL: [url]',
'theme' => 'Тема', 'theme' => 'Тема',
'thursday' => 'Четверг', 'thursday' => 'Четверг',
'thursday_abbr' => 'Чт', 'thursday_abbr' => 'Чт',
'timeline' => 'Период', 'timeline' => 'Хронология событий',
'timeline_add_file' => 'Новое Вложение', 'timeline_add_file' => 'Новое вложение',
'timeline_add_version' => 'Новая версия [version]', 'timeline_add_version' => 'Новая версия [version]',
'timeline_full_add_file' => '[document]<br />Новое вложение', 'timeline_full_add_file' => '[document]<br />Новое вложение',
'timeline_full_add_version' => '[document]<br />Новая версия [version]', 'timeline_full_add_version' => '[document]<br />Новая версия [version]',
@ -1430,7 +1430,7 @@ URL: [url]',
'timeline_selected_item' => 'Выбранный документ', 'timeline_selected_item' => 'Выбранный документ',
'timeline_skip_add_file' => 'вложение добавлено', 'timeline_skip_add_file' => 'вложение добавлено',
'timeline_skip_status_change_-1' => 'отклонён', 'timeline_skip_status_change_-1' => 'отклонён',
'timeline_skip_status_change_-3' => 'срок исполнения вышел', 'timeline_skip_status_change_-3' => 'срок действия вышел',
'timeline_skip_status_change_0' => 'ожидает рецензии', 'timeline_skip_status_change_0' => 'ожидает рецензии',
'timeline_skip_status_change_1' => 'ожидает подтверждения', 'timeline_skip_status_change_1' => 'ожидает подтверждения',
'timeline_skip_status_change_2' => 'утверждён', 'timeline_skip_status_change_2' => 'утверждён',

View File

@ -351,7 +351,7 @@ $(document).ready( function() {
} }
}); });
$('div.ajax').each(function(index) { $('div.ajax').each(function(index) { /* {{{ */
var element = $(this); var element = $(this);
var url = ''; var url = '';
var href = element.data('href'); var href = element.data('href');
@ -381,9 +381,9 @@ $(document).ready( function() {
} }
}); });
}); });
}); }); /* }}} */
$('div.ajax').on('update', function(event, param1) { $('div.ajax').on('update', function(event, param1) { /* {{{ */
var element = $(this); var element = $(this);
var url = ''; var url = '';
var href = element.data('href'); var href = element.data('href');
@ -416,10 +416,24 @@ $(document).ready( function() {
return $newstate; return $newstate;
} }
}); });
$(".pwd").passStrength({ /* {{{ */
url: "../op/op.Ajax.php",
onChange: function(data, target) {
pwsp = 100*data.score;
$('#'+target+' div.bar').width(pwsp+'%');
if(data.ok) {
$('#'+target+' div.bar').removeClass('bar-danger');
$('#'+target+' div.bar').addClass('bar-success');
} else {
$('#'+target+' div.bar').removeClass('bar-success');
$('#'+target+' div.bar').addClass('bar-danger');
}
}
}); /* }}} */
}); });
}); }); /* }}} */
$("body").on("click", ".ajax-click", function() { $("body").on("click", ".ajax-click", function() { /* {{{ */
var element = $(this); var element = $(this);
var url = element.data('href')+"?"+element.data('param1'); var url = element.data('href')+"?"+element.data('param1');
$.ajax({ $.ajax({
@ -452,11 +466,11 @@ $(document).ready( function() {
} }
} }
}); });
}); }); /* }}} */
$('button.history-back').on('click', function(event) { $('button.history-back').on('click', function(event) { /* {{{ */
window.history.back(); window.history.back();
}); }); /* }}} */
}); });
function onAddClipboard(ev) { /* {{{ */ function onAddClipboard(ev) { /* {{{ */
@ -654,7 +668,7 @@ function onAddClipboard(ev) { /* {{{ */
} }
}( window.SeedDMSUpload = window.SeedDMSUpload || {}, jQuery )); /* }}} */ }( window.SeedDMSUpload = window.SeedDMSUpload || {}, jQuery )); /* }}} */
$(document).ready(function() { $(document).ready(function() { /* {{{ */
var obj = $("#dragandrophandler"); var obj = $("#dragandrophandler");
obj.on('dragenter', function (e) { obj.on('dragenter', function (e) {
e.stopPropagation(); e.stopPropagation();
@ -972,4 +986,4 @@ $(document).ready(function() {
timeout: (typeof timeout == 'undefined' ? 1500 : timeout), timeout: (typeof timeout == 'undefined' ? 1500 : timeout),
}); });
}); });
}); }); /* }}} */

View File

@ -232,11 +232,11 @@ $(document).ready( function() {
<tr> <tr>
<td> <td>
<select name="userid" id="userid"> <select name="userid" id="userid">
<option value="-1"><?php printMLText("select_one");?> <option value="-1"><?php printMLText("select_one");?></option>
<?php <?php
foreach ($allUsers as $currUser) foreach ($allUsers as $currUser)
if (!$group->isMember($currUser)) if (!$group->isMember($currUser))
print "<option value=\"".$currUser->getID()."\">" . htmlspecialchars($currUser->getLogin()." - ".$currUser->getFullName()) . "\n"; print "<option value=\"".$currUser->getID()."\">" . htmlspecialchars($currUser->getLogin()." - ".$currUser->getFullName()) . "</option>\n";
?> ?>
</select> </select>
</td> </td>
@ -283,11 +283,11 @@ $(document).ready( function() {
<label class="control-label" for="login"><?php printMLText("selection");?>:</label> <label class="control-label" for="login"><?php printMLText("selection");?>:</label>
<div class="controls"> <div class="controls">
<select class="chzn-select" id="selector"> <select class="chzn-select" id="selector">
<option value="-1"><?php echo getMLText("choose_group")?> <option value="-1"><?php echo getMLText("choose_group")?></option>
<option value="0"><?php echo getMLText("add_group")?> <option value="0"><?php echo getMLText("add_group")?></option>
<?php <?php
foreach ($allGroups as $group) { foreach ($allGroups as $group) {
print "<option value=\"".$group->getID()."\" ".($selgroup && $group->getID()==$selgroup->getID() ? 'selected' : '').">" . htmlspecialchars($group->getName()); print "<option value=\"".$group->getID()."\" ".($selgroup && $group->getID()==$selgroup->getID() ? 'selected' : '').">" . htmlspecialchars($group->getName()) . "</option>";
} }
?> ?>
</select> </select>

View File

@ -475,11 +475,11 @@ $(document).ready( function() {
<label class="control-label" for="login"><?php printMLText("selection");?>:</label> <label class="control-label" for="login"><?php printMLText("selection");?>:</label>
<div class="controls"> <div class="controls">
<select class="chzn-select" id="selector"> <select class="chzn-select" id="selector">
<option value="-1"><?php echo getMLText("choose_user")?> <option value="-1"><?php echo getMLText("choose_user")?></option>
<option value="0"><?php echo getMLText("add_user")?> <option value="0"><?php echo getMLText("add_user")?></option>
<?php <?php
foreach ($users as $currUser) { foreach ($users as $currUser) {
print "<option value=\"".$currUser->getID()."\" ".($seluser && $currUser->getID()==$seluser->getID() ? 'selected' : '')." data-subtitle=\"".htmlspecialchars($currUser->getFullName())."\">" . htmlspecialchars($currUser->getLogin()); print "<option value=\"".$currUser->getID()."\" ".($seluser && $currUser->getID()==$seluser->getID() ? 'selected' : '')." data-subtitle=\"".htmlspecialchars($currUser->getFullName())."\">" . htmlspecialchars($currUser->getLogin()) . "</option>";
} }
?> ?>
</select> </select>

View File

@ -899,7 +899,18 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
foreach($transitions as $transition) { foreach($transitions as $transition) {
echo "<td>"; echo "<td>";
if($latestContent->executeWorkflowTransitionIsAllowed($transition)) { if($latestContent->executeWorkflowTransitionIsAllowed($transition)) {
echo "Done"; /* If this is reached, then the transition should have been executed
* but for some reason the next state hasn't been reached. This can
* be causes, if a transition which was previously already executed
* is about to be executed again. E.g. there was already a transition
* T1 from state S1 to S2 triggered by user U1.
* Then there was a second transition T2 from
* S2 back to S1. If the state S1 has been reached again, then
* executeWorkflowTransitionIsAllowed() will think that T1 could be
* executed because there is already a log entry saying, that U1
* has triggered the workflow.
*/
echo "Done ";
} }
$wkflogs = $latestContent->getWorkflowLog($transition); $wkflogs = $latestContent->getWorkflowLog($transition);
foreach($wkflogs as $wkflog) { foreach($wkflogs as $wkflog) {

View File

@ -87,6 +87,15 @@ $(document).ready(function() {
$workflowstates = $this->params['allworkflowstates']; $workflowstates = $this->params['allworkflowstates'];
if($workflow) { if($workflow) {
$path = $workflow->checkForCycles();
if($path) {
$names = array();
foreach($path as $state) {
$names[] = $state->getName();
}
$this->errorMsg(getMLText('workflow_has_cycle').": ".implode(' <i class="icon-arrow-right"></i> ', $names));
}
$transitions = $workflow->getTransitions(); $transitions = $workflow->getTransitions();
$initstate = $workflow->getInitState(); $initstate = $workflow->getInitState();
$hasinitstate = true; $hasinitstate = true;