Merge branch 'seeddms-5.1.x' into seeddms-6.0.x

This commit is contained in:
Uwe Steinmann 2025-07-02 16:40:15 +02:00
commit c39ebeb164
30 changed files with 143 additions and 6 deletions

View File

@ -1157,6 +1157,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'لا يوجد سير عمل',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'التحقق من مستند/مجلد',
'objects_without_attribute' => '',
'object_check_critical' => 'التحقق من الشيء في حالة حرجة',

View File

@ -1035,6 +1035,9 @@ $text = array(
'no_workflows' => '',
'no_workflow_available' => '',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Проверка на Папка/Документ',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -1040,6 +1040,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => '',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Carpeta / Comprobació del document',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -1188,6 +1188,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Není k dispozici žádné workflow',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Kontrola složky/dokumentu',
'objects_without_attribute' => '',
'object_check_critical' => 'Kritické chyby',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (3448), dgrutsch (22)
// Translators: Admin (3451), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -1421,6 +1421,9 @@ URL: [url]</p>',
'no_workflows' => 'Sie haben bisher keinen Workflow erstellt',
'no_workflow_available' => 'Kein Workflow verfügbar',
'number_count' => 'Anzahl',
'n_of_m_approved' => '[approved]/[total] freigegeben',
'n_of_m_reviewed' => '[reviewed]/[total] geprüft',
'n_of_m_revised' => '[revised]/[total] wiederholt geprüft',
'objectcheck' => 'Ordner- und Dokumentenprüfung',
'objects_without_attribute' => 'Objekte ohne dieses Attribut',
'object_check_critical' => 'Kritische Fehler',

View File

@ -1046,6 +1046,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => '',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Αναζήτηση σε αρχεία και φακέλους',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2551), archonwang (3), dgrutsch (9), netixw (14)
// Translators: Admin (2554), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -1423,6 +1423,9 @@ URL: [url]</p>',
'no_workflows' => 'You have not created a workflow yet',
'no_workflow_available' => 'No workflow available',
'number_count' => 'number',
'n_of_m_approved' => '[approved]/[total] approved',
'n_of_m_reviewed' => '[reviewed]/[total] reviewed',
'n_of_m_revised' => '[revised]/[total] revised',
'objectcheck' => 'Folder/Document check',
'objects_without_attribute' => 'Objects without this attribute',
'object_check_critical' => 'Critical errors',

View File

@ -1172,6 +1172,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => '',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Chequeo de carpeta/documento',
'objects_without_attribute' => '',
'object_check_critical' => 'Errores críticos',

View File

@ -1378,6 +1378,9 @@ URL : [url]</p>',
'no_workflows' => 'Vous navez pas encore créé de workflow',
'no_workflow_available' => 'Aucun workflow disponible',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Vérification des dossiers et documents',
'objects_without_attribute' => '',
'object_check_critical' => 'Erreurs critiques',

View File

@ -1168,6 +1168,9 @@ Internet poveznica: [url]',
'no_workflows' => 'nema radnih procesa',
'no_workflow_available' => 'Nema dostupnog toka rada',
'number_count' => 'brojati broj',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Provjera mapa / dokumenata',
'objects_without_attribute' => 'objekti bez atributa',
'object_check_critical' => 'provjera objekta kritična',

View File

@ -1163,6 +1163,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => '',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Mappa/Dokumentum ellenőrzés',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (489), atoz-chevara (835)
// Translators: Admin (490), atoz-chevara (835)
$text = array(
'2_factor_auth' => '',
@ -1256,6 +1256,9 @@ URL: [url]',
'no_workflows' => 'Anda belum membuat alur kerja',
'no_workflow_available' => 'Tidak ada alur kerja yang tersedia',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Pemeriksaan Folder/Dokumen',
'objects_without_attribute' => '',
'object_check_critical' => 'Kesalahan kritis',
@ -2436,7 +2439,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'versioning_file_creation_warning' => '',
'versioning_info' => 'Info versi',
'versiontolow' => 'Versi terlalu rendah',
'version_comment' => '',
'version_comment' => 'komen versi',
'version_comment_changed_email_body' => '',
'version_comment_changed_email_body_html' => '',
'version_comment_changed_email_subject' => '',

View File

@ -1170,6 +1170,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Nessun flusso di lavoro disponibile',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Controllo cartelle o documenti',
'objects_without_attribute' => '',
'object_check_critical' => 'Errori critici',

View File

@ -1170,6 +1170,9 @@ URL [url]',
'no_workflows' => '',
'no_workflow_available' => '사용 가능한 워크 플로우 없습니다.',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => '폴더 / 문서 확인',
'objects_without_attribute' => '',
'object_check_critical' => '치명적 오류',

View File

@ -1167,6 +1167,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'ບໍ່ມີເວີກໂຟລທີ່ພ້ອມໄຊ້ງານ',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'ການກວດສອບໂຟລເດີ / ເອກະສານ',
'objects_without_attribute' => '',
'object_check_critical' => 'ຂໍ້ຜິດພາດທີ່ສຳຄັນ',

View File

@ -1188,6 +1188,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Ingen arbeidsflyt tilgjengelig',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Mappe/dokument sjekk',
'objects_without_attribute' => '',
'object_check_critical' => 'Kritisk feil!!',

View File

@ -1180,6 +1180,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Geen workflow beschikbaar',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Mappen en documenten controleren',
'objects_without_attribute' => '',
'object_check_critical' => 'Ernstige fouten',

View File

@ -1398,6 +1398,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Brak przepływu pracy',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Sprawdź Katalog/Dokument',
'objects_without_attribute' => '',
'object_check_critical' => 'Błędy krytyczne',

View File

@ -1187,6 +1187,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Nenhum fluxo de trabalho disponível',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Verificação da Pasta/Documento',
'objects_without_attribute' => '',
'object_check_critical' => 'Erros críticos',

View File

@ -1169,6 +1169,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Nici un workflow disponibil',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Verificare folder/document',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -1168,6 +1168,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Отсутствует процесс',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Проверка целостности',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -1188,6 +1188,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Nie je k dispozícii žiaden workflow',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Kontrola Adresárov/Dokumentov',
'objects_without_attribute' => '',
'object_check_critical' => 'Kritické chyby',

View File

@ -1175,6 +1175,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Arbetsflöde saknas',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Kontroll av Katalog/Dokument',
'objects_without_attribute' => '',
'object_check_critical' => 'Kritiska fel',

View File

@ -1161,6 +1161,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Uygun iş akışı yok',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Klasör/Doküman kontrol',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -1167,6 +1167,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => 'Немає доступних процесів',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => 'Перевірка каталогу чи документа',
'objects_without_attribute' => '',
'object_check_critical' => '',

View File

@ -1171,6 +1171,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => '工作流不可用',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => '文件夹/文件检查',
'objects_without_attribute' => '',
'object_check_critical' => '重大错误',

View File

@ -1188,6 +1188,9 @@ URL: [url]',
'no_workflows' => '',
'no_workflow_available' => '沒有可用的工作流程',
'number_count' => '',
'n_of_m_approved' => '',
'n_of_m_reviewed' => '',
'n_of_m_revised' => '',
'objectcheck' => '資料夾/檔檢查',
'objects_without_attribute' => '',
'object_check_critical' => '嚴重錯誤',

View File

@ -3309,6 +3309,10 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= '<span title="'.getOverallStatusText($status["status"]).': '.($workflow ? htmlspecialchars($workflow->getName()) : '').'">'.($workflowstate ? htmlspecialchars($workflowstate->getName()) : '').'</span>';
} else {
$content .= $this->getOverallStatusIcon($status['status']);
if($status['status'] == S_DRAFT_REV)
$content .= '<br>'.$this->documentListRowReviewBar($latestContent);
elseif($status['status'] == S_DRAFT_APP)
$content .= '<br>'.$this->documentListRowApprovalBar($latestContent);
}
$content .= "</div>";
return $content;
@ -3343,6 +3347,28 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
return $content;
} /* }}} */
function documentListRowReviewBar($latestContent) { /* {{{ */
$accessop = $this->params['accessobject'];
$content = '';
$stat = [];
if($accessop->check_view_access($this, array('action'=>'reviewBar')) /*$owner->getID() == $user->getID()*/ && $reviewStatus = $latestContent->getReviewStatus(1, $stat)) {
$content .= getMLText('n_of_m_reviewed', ['reviewed'=>$stat['1'], 'total'=>$stat["1"]+$stat["0"]]);
}
return $content;
} /* }}} */
function documentListRowApprovalBar($latestContent) { /* {{{ */
$accessop = $this->params['accessobject'];
$content = '';
$stat = [];
if($accessop->check_view_access($this, array('action'=>'approvalBar')) /*$owner->getID() == $user->getID()*/ && $approvalStatus = $latestContent->getApprovalStatus(1, $stat)) {
$content .= getMLText('n_of_m_approved', ['approved'=>$stat['1'], 'total'=>$stat["1"]+$stat["0"]]);
}
return $content;
} /* }}} */
function documentListRowAction($document, $previewer, $skipcont=false, $version=0, $extracontent=array()) { /* {{{ */
$user = $this->params['user'];
$session = $this->params['session'];

View File

@ -298,7 +298,9 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = [];
foreach($tasks['review'] as $t) {
$doc = $dms->getDocument($t['id']);
$subitems[] = array('label'=>htmlspecialchars($doc->getName()), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
$stat = [];
$reviewstatus = $doc->getLatestContent()->getReviewStatus(1, $stat);
$subitems[] = array('label'=>htmlspecialchars($doc->getName()).' ('.$stat[1].'/'.($stat['0']+$stat['1']).')', 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
}
$menuitems['tasks']['children']['review'] = array('label'=>getMLText('documents_to_review'), 'children'=>$subitems);
@ -307,7 +309,9 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
$subitems = [];
foreach($tasks['approval'] as $t) {
$doc = $dms->getDocument($t['id']);
$subitems[] = array('label'=>htmlspecialchars($doc->getName()), 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
$stat = [];
$reviewstatus = $doc->getLatestContent()->getApprovalStatus(1, $stat);
$subitems[] = array('label'=>htmlspecialchars($doc->getName()).' ('.$stat[1].'/'.($stat['0']+$stat['1']).')', 'link'=>$this->params['settings']->_httpRoot."out/out.ViewDocument.php?documentid=".$doc->getID()."&currenttab=revapp", 'class'=>"table-row-document", 'rel'=>"document_".$doc->getID());
}
$menuitems['tasks']['children']['approval'] = array('label'=>getMLText('documents_to_approve'), 'children'=>$subitems);
}

View File

@ -3283,6 +3283,10 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
$content .= '<span title="'.getOverallStatusText($status["status"]).': '.($workflow ? htmlspecialchars($workflow->getName()) : '').'">'.($workflowstate ? htmlspecialchars($workflowstate->getName()) : '').'</span>';
} else {
$content .= $this->getOverallStatusIcon($status['status']);
if($status['status'] == S_DRAFT_REV)
$content .= '<br>'.$this->documentListRowReviewBar($latestContent);
elseif($status['status'] == S_DRAFT_APP)
$content .= '<br>'.$this->documentListRowApprovalBar($latestContent);
}
$content .= "</div>";
return $content;
@ -3318,6 +3322,28 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
return $content;
} /* }}} */
function documentListRowReviewBar($latestContent) { /* {{{ */
$accessop = $this->params['accessobject'];
$content = '';
$stat = [];
if($accessop->check_view_access($this, array('action'=>'reviewBar')) /*$owner->getID() == $user->getID()*/ && $reviewStatus = $latestContent->getReviewStatus(1, $stat)) {
$content .= getMLText('n_of_m_reviewed', ['reviewed'=>$stat['1'], 'total'=>$stat["1"]+$stat["0"]]);
}
return $content;
} /* }}} */
function documentListRowApprovalBar($latestContent) { /* {{{ */
$accessop = $this->params['accessobject'];
$content = '';
$stat = [];
if($accessop->check_view_access($this, array('action'=>'approvalBar')) /*$owner->getID() == $user->getID()*/ && $approvalStatus = $latestContent->getApprovalStatus(1, $stat)) {
$content .= getMLText('n_of_m_approved', ['approved'=>$stat['1'], 'total'=>$stat["1"]+$stat["0"]]);
}
return $content;
} /* }}} */
function documentListRowAction($document, $previewer, $skipcont=false, $version=0, $extracontent=array()) { /* {{{ */
$user = $this->params['user'];
$session = $this->params['session'];