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

This commit is contained in:
Uwe Steinmann 2017-07-31 11:49:43 +02:00
commit afefe1d66c
35 changed files with 488 additions and 66 deletions

View File

@ -47,6 +47,9 @@
- notifications are only send to none disabled users
- nicer layout in user manager, group buttons, more information
- merged changes from 5.0.13
- show number of users where the select user is a mandatory reviewer/approver of
- fix upload of attachments
- documents, folders, files, events can be moved to a new user
--------------------------------------------------------------------------------
Changes in version 5.1.2

View File

@ -746,7 +746,7 @@ class SeedDMS_Core_User { /* {{{ */
* Remove user from all processes
*
* This method adds another log entry to the reviews and approvals
* which indicates the user has been deleted from the process. It will
* which indicates the user has been deleted from the process. By default it will
* do so for each review/approval regardless of its current state. So even
* reviews/approvals already processed by the user will be added the log
* entry. Only if the last log entry was a removal already, it will not be
@ -755,6 +755,8 @@ class SeedDMS_Core_User { /* {{{ */
* @param object $user the user doing the removal (needed for entry in
* review and approve log).
* @param array $states remove user only from reviews/approvals in one of the states
* If passing array(0), the method will operate on reviews/approval which
* has not been touched.
* @return boolean true on success or false in case of an error
*/
private function __removeFromProcesses($user, $states = array()) { /* {{{ */
@ -808,6 +810,114 @@ class SeedDMS_Core_User { /* {{{ */
return true;
} /* }}} */
/**
* Transfer documents and folders to another user
*
* @param object $assignToUser the user who is new owner of folders and
* documents which previously were owned by the delete user.
* @return boolean true on success or false in case of an error
*/
private function __transferDocumentsFolders($assignToUser) { /* {{{ */
$db = $this->_dms->getDB();
if(!$assignToUser)
return false;
/* Assign documents of the removed user to the given user */
$queryStr = "UPDATE `tblFolders` SET `owner` = " . $assignToUser->getID() . " WHERE `owner` = " . $this->_id;
if (!$db->getResult($queryStr)) {
return false;
}
$queryStr = "UPDATE `tblDocuments` SET `owner` = " . $assignToUser->getID() . " WHERE `owner` = " . $this->_id;
if (!$db->getResult($queryStr)) {
return false;
}
$queryStr = "UPDATE `tblDocumentContent` SET `createdBy` = " . $assignToUser->getID() . " WHERE `createdBy` = " . $this->_id;
if (!$db->getResult($queryStr)) {
return false;
}
// ... but keep public links
$queryStr = "UPDATE `tblDocumentLinks` SET `userID` = " . $assignToUser->getID() . " WHERE `userID` = " . $this->_id;
if (!$db->getResult($queryStr)) {
return false;
}
// set administrator for deleted user's attachments
$queryStr = "UPDATE `tblDocumentFiles` SET `userID` = " . $assignToUser->getID() . " WHERE `userID` = " . $this->_id;
if (!$db->getResult($queryStr)) {
return false;
}
return true;
} /* }}} */
/**
* Transfer documents and folders to another user
*
* @param object $assignToUser the user who is new owner of folders and
* documents which previously were owned by the delete user.
* @return boolean true on success or false in case of an error
*/
public function transferDocumentsFolders($assignToUser) { /* {{{ */
$db = $this->_dms->getDB();
if($assignToUser->getID() == $this->_id)
return true;
$db->startTransaction();
if(!$this->__transferDocumentsFolders($assignToUser)) {
$db->rollbackTransaction();
return false;
}
$db->commitTransaction();
return true;
} /* }}} */
/**
* Transfer events to another user
*
* @param object $assignToUser the user who is new owner of events
* @return boolean true on success or false in case of an error
*/
private function __transferEvents($assignToUser) { /* {{{ */
$db = $this->_dms->getDB();
if(!$assignToUser)
return false;
// set new owner of events
$queryStr = "UPDATE `tblEvents` SET `userID` = " . $assignToUser->getID() . " WHERE `userID` = " . $this->_id;
if (!$db->getResult($queryStr)) {
return false;
}
return true;
} /* }}} */
/**
* Transfer events to another user
*
* @param object $assignToUser the user who is new owner of events
* @return boolean true on success or false in case of an error
*/
public function transferEvents($assignToUser) { /* {{{ */
$db = $this->_dms->getDB();
if($assignToUser->getID() == $this->_id)
return true;
$db->startTransaction();
if(!$this->__transferEvents($assignToUser)) {
$db->rollbackTransaction();
return false;
}
$db->commitTransaction();
return true;
} /* }}} */
/**
* Remove the user and also remove all its keywords, notifications, etc.
* Do not remove folders and documents of the user, but assign them
@ -862,25 +972,6 @@ class SeedDMS_Core_User { /* {{{ */
return false;
}
/* Assign documents of the removed user to the given user */
$queryStr = "UPDATE `tblFolders` SET `owner` = " . $assignTo . " WHERE `owner` = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
$queryStr = "UPDATE `tblDocuments` SET `owner` = " . $assignTo . " WHERE `owner` = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
$queryStr = "UPDATE `tblDocumentContent` SET `createdBy` = " . $assignTo . " WHERE `createdBy` = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
// Remove private links on documents ...
$queryStr = "DELETE FROM `tblDocumentLinks` WHERE `userID` = " . $this->_id . " AND `public` = 0";
if (!$db->getResult($queryStr)) {
@ -888,18 +979,10 @@ class SeedDMS_Core_User { /* {{{ */
return false;
}
// ... but keep public links
$queryStr = "UPDATE `tblDocumentLinks` SET `userID` = " . $assignTo . " WHERE `userID` = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
// set administrator for deleted user's attachments
$queryStr = "UPDATE `tblDocumentFiles` SET `userID` = " . $assignTo . " WHERE `userID` = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
/* Assign documents, folders, files, public document links of the removed user to the given user */
if(!$this->__transferDocumentsFolders($assignToUser)) {
$db->rollbackTransaction();
return false;
}
// unlock documents locked by the user
@ -981,11 +1064,10 @@ class SeedDMS_Core_User { /* {{{ */
return false;
}
// set administrator for deleted user's events
$queryStr = "UPDATE `tblEvents` SET `userID` = " . $assignTo . " WHERE `userID` = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
/* Assign events of the removed user to the given user */
if(!$this->__transferEvents($assignToUser)) {
$db->rollbackTransaction();
return false;
}
// Delete user itself

View File

@ -1506,6 +1506,7 @@ if the owner tries to access them
returns just users which are not disabled
- add new methods removeFromProcesses(), getWorkflowsInvolved(), getKeywordCategories() to SeedDMS_Core_User
- add methods isMandatoryReviewerOf() and isMandatoryApproverOf()
- add methods transferDocumentsFolders() and transferEvents()
</notes>
</release>
<release>

View File

@ -270,6 +270,7 @@ URL: [url]',
'confirm_rm_user' => 'هل تود حقا ازالة المستخدم "[username]"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'هل تود حقا ازالة الاصدار [version] الخاص بالمستند "[documentname]"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'المحتوى',
'continue' => 'استمرار',
@ -1403,6 +1404,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
'status' => 'الحالة',
@ -1478,6 +1480,8 @@ URL: [url]',
'toggle_manager' => 'رجح مدير',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'تم تحريك انتقال مسار العمل',
'transition_triggered_email_body' => 'تم تحريك انتقال مسار العمل
المستند: [name]

View File

@ -255,6 +255,7 @@ $text = array(
'confirm_rm_user' => 'Изтрий потребител "[username]"?<br>Действието е перманентно',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Изтрий версия на [version] документ "[documentname]"?<br>Действието е перманентно',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Съдържание',
'continue' => 'Продължи',
@ -1268,6 +1269,7 @@ $text = array(
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
'status' => 'Статус',
@ -1343,6 +1345,8 @@ $text = array(
'toggle_manager' => 'Превключи мениджър',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Забелязана промяна на процес',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',

View File

@ -260,6 +260,7 @@ URL: [url]',
'confirm_rm_user' => '¿Vol realment eliminar l\'usuari "[username]"?<br />Atenció: aquesta acció no es pot desfer.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => '¿Vol realment eliminar la versió [version] del document "[documentname]"?<br />Atenció: aquesta acció no es pot desfer.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Contingut',
'continue' => 'Continuar',
@ -1273,6 +1274,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
'status' => 'Estat',
@ -1348,6 +1350,8 @@ URL: [url]',
'toggle_manager' => 'Intercanviar manager',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',

View File

@ -277,6 +277,7 @@ URL: [url]',
'confirm_rm_user' => 'Skutečně chcete odstranit uživatele "[username]"?<br>Pozor: Akce je nevratná.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Skutečně chcete odstranit verzi [version] dokumentu "[documentname]"?<br>Buďte opatrní: Tuto činnost není možné vrátit zpět.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Domů',
'continue' => 'Pokračovat',
@ -1412,6 +1413,7 @@ URL: [url]',
'splash_substituted_user' => 'Zaměněný uživatel',
'splash_switched_back_user' => 'Přepnuto zpět na původního uživatele',
'splash_toogle_group_manager' => 'Manažer skupiny přepnut',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Stav/Další stav',
'statistic' => 'Statistika',
'status' => 'Stav',
@ -1487,6 +1489,8 @@ URL: [url]',
'toggle_manager' => 'Přepnout správce',
'toggle_qrcode' => '',
'to_before_from' => 'Datum ukončení nesmí být před datem zahájení',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Transformace pracovního postupu spuštěna',
'transition_triggered_email_body' => 'Transformace pracovního postupu spuštěna
Dokument: [jméno]

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 (2439), dgrutsch (22)
// Translators: Admin (2443), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -282,6 +282,7 @@ URL: [url]',
'confirm_rm_user' => 'Möchten Sie wirklich den Benutzer "[username]" löschen?<br />Beachten Sie, dass diese Operation nicht rückgängig gemacht werden kann.',
'confirm_rm_user_from_processes' => 'Möchten Sie wirklich den Benutzer "[username]" aus allen Prozessen löschen?<br />Beachten Sie, dass dies möglicherweise in der Freigabe von Dokumenten resultiert, wenn der Benutzer der einzige oder letzte Prüfer ist.',
'confirm_rm_version' => 'Wollen Sie die Version [version] des Dokumentes "[documentname]" wirklich löschen?<br>Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden.',
'confirm_transfer_objects' => 'Möchten Sie wirklich die Dokumente, Ordner, etc. des Benutzer "[username]" übertragen?<br />Beachten Sie, dass diese Operation nicht rückgängig gemacht werden kann.',
'confirm_update_transmittalitem' => 'Aktualisierung bestätigen',
'content' => 'Inhalt',
'continue' => 'fortführen',
@ -1468,6 +1469,7 @@ URL: [url]',
'splash_substituted_user' => 'Benutzer gewechselt',
'splash_switched_back_user' => 'Zum ursprünglichen Benutzer zurückgekehrt',
'splash_toogle_group_manager' => 'Gruppenverwalter gewechselt',
'splash_transfer_objects' => 'Objekte übertragen',
'state_and_next_state' => 'Status/Nächster Status',
'statistic' => 'Statistik',
'status' => 'Status',
@ -1543,6 +1545,8 @@ URL: [url]',
'toggle_manager' => 'Managerstatus wechseln',
'toggle_qrcode' => 'Zeige/verberge QR-Code',
'to_before_from' => 'Endedatum darf nicht vor dem Startdatum liegen',
'transfer_objects' => 'Objekte übertragen',
'transfer_objects_to_user' => 'Neuer Eigentümer',
'transition_triggered_email' => 'Workflow transition triggered',
'transition_triggered_email_body' => 'Workflow transition triggered
Document: [name]

View File

@ -255,6 +255,7 @@ $text = array(
'confirm_rm_user' => '',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => '',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Περιεχόμενο',
'continue' => '',
@ -1279,6 +1280,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
'status' => '',
@ -1354,6 +1356,8 @@ URL: [url]',
'toggle_manager' => '',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',

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 (1568), dgrutsch (9), netixw (14)
// Translators: Admin (1572), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -282,6 +282,7 @@ URL: [url]',
'confirm_rm_user' => 'Do you really want to remove the user "[username]"?<br>Be careful: This action cannot be undone.',
'confirm_rm_user_from_processes' => 'Do you really want to remove the user "[username]" from all processes?<br>Be careful: This action can lead to the release of documents if the user was the only or last approver.',
'confirm_rm_version' => 'Do you really want to remove version [version] of document "[documentname]"?<br>Be careful: This action cannot be undone.',
'confirm_transfer_objects' => 'Do you really want to transfer the documents, folders, etc. of the user "[username]"?<br>Be careful: This action cannot be undone.',
'confirm_update_transmittalitem' => 'Confirm update',
'content' => 'Content',
'continue' => 'Continue',
@ -1463,6 +1464,7 @@ URL: [url]',
'splash_substituted_user' => 'Substituted user',
'splash_switched_back_user' => 'Switched back to original user',
'splash_toogle_group_manager' => 'Group manager toogled',
'splash_transfer_objects' => 'Objects transfered',
'state_and_next_state' => 'State/Next state',
'statistic' => 'Statistic',
'status' => 'Status',
@ -1538,6 +1540,8 @@ URL: [url]',
'toggle_manager' => 'Toggle manager',
'toggle_qrcode' => 'Show/hide QR code',
'to_before_from' => 'End date may not be before start date',
'transfer_objects' => 'Transfer objects',
'transfer_objects_to_user' => 'New owner',
'transition_triggered_email' => 'Workflow transition triggered',
'transition_triggered_email_body' => 'Workflow transition triggered
Document: [name]

View File

@ -277,6 +277,7 @@ URL: [url]',
'confirm_rm_user' => '¿Desea realmente eliminar el usuario "[username]"?<br />Atención: Esta acción no se puede deshacer.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => '¿Desea realmente eliminar la versión [version] del documento "[documentname]"?<br />Atención: esta acción no se puede deshacer.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Contenido',
'continue' => 'Continuar',
@ -1418,6 +1419,7 @@ URL: [url]',
'splash_substituted_user' => 'Usuario sustituido',
'splash_switched_back_user' => 'Cambió de nuevo al usuario original',
'splash_toogle_group_manager' => 'Administrador de grupo activado',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Estado/Estado siguiente',
'statistic' => 'Estadística',
'status' => 'Estado',
@ -1493,6 +1495,8 @@ URL: [url]',
'toggle_manager' => 'Intercambiar mánager',
'toggle_qrcode' => '',
'to_before_from' => 'La fecha de finalización no debe ser anterior a la de inicio',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Workflow transition triggered',
'transition_triggered_email_body' => 'Workflow transition triggered
Documento: [name]

View File

@ -282,6 +282,7 @@ URL: [url]',
'confirm_rm_user' => 'Voulez-vous vraiment supprimer l\'utilisateur "[username]"?<br>Attention: Cette action ne peut pas être annulée.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Voulez-vous réellement supprimer la [version] du document "[documentname]"?<br>Attention: Cette action ne peut pas être annulée.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Contenu',
'continue' => 'Continuer',
@ -1413,6 +1414,7 @@ URL: [url]',
'splash_substituted_user' => 'Utilisateur de substitution',
'splash_switched_back_user' => 'Revenu à l\'utilisateur initial',
'splash_toogle_group_manager' => 'Responsable de groupe changé',
'splash_transfer_objects' => '',
'state_and_next_state' => 'État initial/suivant',
'statistic' => 'Statistiques',
'status' => 'Statut',
@ -1488,6 +1490,8 @@ URL: [url]',
'toggle_manager' => 'Basculer \'Responsable\'',
'toggle_qrcode' => 'Afficher/masquer le QR code',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Transition de workflow activé',
'transition_triggered_email_body' => 'Transition de workflow déclenchée
Document : [name]

View File

@ -282,6 +282,7 @@ Internet poveznica: [url]',
'confirm_rm_user' => 'Da li zaista želite ukloniti korisnika "[username]"?<br>Oprez: ova radnja nije povratna.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Da li zaista želite ukloniti verziju [version] dokumenta "[documentname]"?<br>Oprez: ova radnja nije povratna.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => 'Potvrdi izmjenu',
'content' => 'Sadržaj',
'continue' => 'Nastavi',
@ -1439,6 +1440,7 @@ Internet poveznica: [url]',
'splash_substituted_user' => 'Zamjenski korisnik',
'splash_switched_back_user' => 'Prebačeno nazad na izvornog korisnika',
'splash_toogle_group_manager' => 'Zamjenjen upravitelj grupe',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Status/Slijedeći status',
'statistic' => 'Statistika',
'status' => 'Status',
@ -1514,6 +1516,8 @@ Internet poveznica: [url]',
'toggle_manager' => 'Zamjeni upravitelja',
'toggle_qrcode' => '',
'to_before_from' => 'Datum završetka ne može biti prije datuma početka',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Zatražena promjena toka rada',
'transition_triggered_email_body' => 'Zatražena promjena toka rada
Dokument: [name]

View File

@ -277,6 +277,7 @@ URL: [url]',
'confirm_rm_user' => 'Biztosan el kívánja távolítani ezt a felhasználót "[username]"?<br>Legyen óvatos: Ez a művelet nem vonható vissza.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Biztosan el kívánaj távolítani a dokumentum "[documentname]" [version] verzióját?<br>Legyen óvatos: Ez a művelet nem vonható vissza.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Tartalom',
'continue' => 'Folytatás',
@ -1417,6 +1418,7 @@ URL: [url]',
'splash_substituted_user' => 'Helyettesített felhasználó',
'splash_switched_back_user' => 'Visszaváltva az eredeti felhasználóra',
'splash_toogle_group_manager' => 'Csoport kezelő kiválasztva',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Állapot/Következő állapot',
'statistic' => 'Statisztika',
'status' => 'Állapot',
@ -1492,6 +1494,8 @@ URL: [url]',
'toggle_manager' => 'Kulcs kezelő',
'toggle_qrcode' => '',
'to_before_from' => 'A lejárati dátum nem előzheti meg a kezdési dátumot',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Munkamenet átmenet kiváltva',
'transition_triggered_email_body' => 'Munkafolyamat átmenet kiváltva
Dokumentum: [name]

View File

@ -283,6 +283,7 @@ URL: [url]',
'confirm_rm_user' => 'Vuoi davvero rimuovere l\'utente "[username]"? Attenzione: questa operazione non può essere annullata.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Vuoi veramente eliminare la versione [version] del documento "[documentname]"? Attenzione: questa operazione non può essere annullata.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => 'Conferma aggiornamento',
'content' => 'Contenuto',
'continue' => 'Continua',
@ -1451,6 +1452,7 @@ URL: [url]',
'splash_substituted_user' => 'Utente sostituito',
'splash_switched_back_user' => 'Ritorno all\'utente originale',
'splash_toogle_group_manager' => 'Amministratore di gruppo invertito',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Stato/Prossimo stato',
'statistic' => 'Statistiche',
'status' => 'Stato',
@ -1526,6 +1528,8 @@ URL: [url]',
'toggle_manager' => 'Gestore',
'toggle_qrcode' => 'Mostri / nascondi codice QR',
'to_before_from' => 'La data di fine non può essere antecedente a quella di inizio',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Inizio transizione del flusso di lavoro',
'transition_triggered_email_body' => 'Transizione del flusso di lavoro iniziata
Documento: [name]

View File

@ -284,6 +284,7 @@ URL: [url]',
'confirm_rm_user' => '사용자 "[username]"을 정말 삭제 하시겠습니까?<br>주의: 취소가 불가능 합니다.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => '문서 "[documentname]"의 버젼 [version]을 정말 삭제 하시겠습니까?<br>주의: 취소가 불가능 합니다.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '업데이트 확인',
'content' => '콘텐츠',
'continue' => '계속',
@ -1432,6 +1433,7 @@ URL : [url]',
'splash_substituted_user' => '전환된 사용자',
'splash_switched_back_user' => '원래 사용자로 전환',
'splash_toogle_group_manager' => '그룹 관리자 전환',
'splash_transfer_objects' => '',
'state_and_next_state' => '상태 / 다음 상태',
'statistic' => '통계',
'status' => '상태',
@ -1507,6 +1509,8 @@ URL : [url]',
'toggle_manager' => '전환 매니저',
'toggle_qrcode' => '',
'to_before_from' => '종료일은 시작일 전이 될수 없습니다',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => '워크플로우 전환 트리거',
'transition_triggered_email_body' => '워크플로우 전환 트리거
문서: [name]

View File

@ -275,6 +275,7 @@ URL: [url]',
'confirm_rm_user' => 'Weet U zeker dat U de Gebruiker "[username]" wilt verwijderen?<br>Let op: deze handeling kan niet ongedaan worden gemaakt.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Weet U zeker dat U deze versie van het document "[documentname]" wilt verwijderen?<br>Pas op: deze handeling kan niet ongedaan worden gemaakt.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => 'Bevestig verandering van te verzenden item',
'content' => 'Welkomstpagina',
'continue' => 'Doorgaan',
@ -1445,6 +1446,7 @@ URL: [url]',
'splash_substituted_user' => 'Invallers gebruiker',
'splash_switched_back_user' => 'Teruggeschakeld naar de oorspronkelijke gebruiker',
'splash_toogle_group_manager' => 'Group manager toogled',
'splash_transfer_objects' => '',
'state_and_next_state' => 'staat/ volgende staat',
'statistic' => 'Statistieken',
'status' => 'Status',
@ -1520,6 +1522,8 @@ URL: [url]',
'toggle_manager' => 'Wijzig Beheerder',
'toggle_qrcode' => '',
'to_before_from' => 'De einddatum mag niet voor de startdatum liggen',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Workflow-overgang geactiveerd',
'transition_triggered_email_body' => 'Workflow Overgang
Document: [name]

View File

@ -270,6 +270,7 @@ URL: [url]',
'confirm_rm_user' => 'Czy rzeczywiście chcesz usunąć użytkownika "[username]"?<br>Ostrożnie: Ta operacja nie może być cofnięta.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Czy rzeczywiście chcesz usunąć wersję [version] dokumentu "[documentname]"?<br>Ostrożnie: Ta operacja nie może być cofnięta.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Zawartość',
'continue' => 'Kontynuuj',
@ -1397,6 +1398,7 @@ URL: [url]',
'splash_substituted_user' => 'Zmieniono użytkownika',
'splash_switched_back_user' => 'Przełączono z powrotem do oryginalnego użytkownika',
'splash_toogle_group_manager' => 'Przełączono grupę menadżerów',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Status/Następny status',
'statistic' => 'Statystyka',
'status' => 'Status',
@ -1472,6 +1474,8 @@ URL: [url]',
'toggle_manager' => 'Przełączanie zarządcy',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Uruchomiono proces przepływu',
'transition_triggered_email_body' => 'Uruchomiono proces przepływu
Dokument: [name]

View File

@ -277,6 +277,7 @@ URL: [url]',
'confirm_rm_user' => 'Do you really want to remove the user "[username]"?<br>Be careful: This action cannot be undone.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Deseja realmente remover versão [version] do documento "[documentname]"?<br>Por favor, tenha cuidado porque esta ação não poderá ser desfeita.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Conteúdo',
'continue' => 'Continue',
@ -1415,6 +1416,7 @@ URL: [url]',
'splash_substituted_user' => 'Usuário substituido',
'splash_switched_back_user' => 'Comutada de volta ao usuário original',
'splash_toogle_group_manager' => 'Gerente Grupo alternado',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Estado/Próximo estado',
'statistic' => 'Estatística',
'status' => 'Status',
@ -1490,6 +1492,8 @@ URL: [url]',
'toggle_manager' => 'Toggle manager',
'toggle_qrcode' => '',
'to_before_from' => 'A data de término não pode ser anterior a data de início',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Transição de fluxo de trabalho desencadeado',
'transition_triggered_email_body' => 'Transição do fluxo de trabalho triggered
Document: [name]

View File

@ -282,6 +282,7 @@ URL: [url]',
'confirm_rm_user' => 'Sigur doriți să eliminați utilizatorul "[username]"?<br>Fiți atenți: Această acțiune nu poate fi anulată.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Sigur doriți să eliminați versiunea [version] a documentului "[documentname]"?<br>Fiți atenți: Această acțiune nu poate fi anulată.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Conținut',
'continue' => 'Continuă',
@ -1440,6 +1441,7 @@ URL: [url]',
'splash_substituted_user' => 'Utilizator substituit',
'splash_switched_back_user' => 'Comutat înapoi la utilizatorul original',
'splash_toogle_group_manager' => 'Comută Managerul de grup',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Stare/Stare urmatoare',
'statistic' => 'Statistic',
'status' => 'Status',
@ -1515,6 +1517,8 @@ URL: [url]',
'toggle_manager' => 'Comută Manager',
'toggle_qrcode' => '',
'to_before_from' => 'Data de încheiere nu poate fi înainte de data de începere',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Tranziție Workflow declanșată',
'transition_triggered_email_body' => 'Tranziție Workflow declanșată
Document: [name]

View File

@ -282,6 +282,7 @@ URL: [url]',
'confirm_rm_user' => 'Удалить пользователя «[username]»?<br>Действие <b>необратимо</b>',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Удалить версию [version] документа «[documentname]»?<br>Действие <b>необратимо</b>',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => 'Подтвердите обновление',
'content' => 'Содержимое',
'continue' => 'Продолжить',
@ -1447,6 +1448,7 @@ URL: [url]',
'splash_substituted_user' => 'Пользователь переключён',
'splash_switched_back_user' => 'Переключён на исходного пользователя',
'splash_toogle_group_manager' => 'Изменён менеджер группы',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Статус / следующий статус',
'statistic' => 'Статистика',
'status' => 'Статус',
@ -1522,6 +1524,8 @@ URL: [url]',
'toggle_manager' => 'Изменить как менеджера',
'toggle_qrcode' => '',
'to_before_from' => 'Конечная дата не может быть меньше начальной даты',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Изменено состояние процесса',
'transition_triggered_email_body' => 'Изменено состояние процесса
Документ: [name]

View File

@ -259,6 +259,7 @@ URL: [url]',
'confirm_rm_user' => 'Skutočne si prajete odstrániť používateľa "[username]"?<br>Buďte opatrní, táto akcia je nezvratná.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Naozaj chcete odstrániť verziu [version] dokumentu "[documentname]"?<br>Buďte opatrní: Túto činnosť nemožno vrátiť späť.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Obsah',
'continue' => 'Pokračovať',
@ -1272,6 +1273,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
'status' => 'Stav',
@ -1347,6 +1349,8 @@ URL: [url]',
'toggle_manager' => 'Prepnúť stav manager',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',

View File

@ -270,6 +270,7 @@ URL: [url]',
'confirm_rm_user' => 'Vill du verkligen ta bort användaren "[username]"?<br>OBS! Användaren kan inte återskapas!',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Vill du verkligen ta bort versionen [version] av dokumentet "[documentname]"?<br>OBS! Versionen kan inte återskapas!',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'Innehåll',
'continue' => 'Fortsätt',
@ -1403,6 +1404,7 @@ URL: [url]',
'splash_substituted_user' => 'Bytt användare',
'splash_switched_back_user' => 'Byt tillbaka till original användare',
'splash_toogle_group_manager' => 'Gruppmanager har ändrats',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Status/Nästa status',
'statistic' => 'Statistik',
'status' => 'Status',
@ -1478,6 +1480,8 @@ URL: [url]',
'toggle_manager' => 'Byt manager',
'toggle_qrcode' => '',
'to_before_from' => 'Slutdatum får inte vara innan startdatum',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Arbetsflödesövergång utlöstes',
'transition_triggered_email_body' => 'Arbetsflödesövergång utlöstes
Dokument: [name]

View File

@ -276,6 +276,7 @@ URL: [url]',
'confirm_rm_user' => '"[username]" kullanıcısını silmeyi onaylıyor musunuz?<br>Dikkatli olun: Bu eylemin geri dönüşü yoktur.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => '"[documentname]" dokümanının [version] versiyonunu silmek istiyor musunuz?<br>Dikkatli olun: Bu eylemin geri dönüşü yoktur.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => 'İçerik',
'continue' => 'Devam',
@ -1419,6 +1420,7 @@ URL: [url]',
'splash_substituted_user' => 'Yerine geçilen kullanıcı',
'splash_switched_back_user' => 'Orijinal kullanıcıya geri dönüldü',
'splash_toogle_group_manager' => 'Grup yöneticisi değişti',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Durum/Sonraki durum',
'statistic' => 'İstatistik',
'status' => 'Durum',
@ -1494,6 +1496,8 @@ URL: [url]',
'toggle_manager' => 'Değişim yönetimi',
'toggle_qrcode' => '',
'to_before_from' => 'Bitiş tarihi başlama tarihinden önce olamaz',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'İş Akış Geçişi Tetiklendi',
'transition_triggered_email_body' => 'İş Akış Geçişi Tetiklendi
Doküman: [name]

View File

@ -282,6 +282,7 @@ URL: [url]',
'confirm_rm_user' => 'Видалити користувача «[username]»?<br>Дія <b>незворотня</b>',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => 'Видалити версію [version] документа «[documentname]»?<br>Дія <b>незворотня</b>',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => 'Підтвердити оновлення',
'content' => 'Вміст',
'continue' => 'Продовжити',
@ -1440,6 +1441,7 @@ URL: [url]',
'splash_substituted_user' => 'Користувача переключено',
'splash_switched_back_user' => 'Переключено на початкового користувача',
'splash_toogle_group_manager' => 'Змінено менеджера групи',
'splash_transfer_objects' => '',
'state_and_next_state' => 'Статус / наступний статус',
'statistic' => 'Статистика',
'status' => 'Статус',
@ -1515,6 +1517,8 @@ URL: [url]',
'toggle_manager' => 'Змінити ознаку менеджера',
'toggle_qrcode' => '',
'to_before_from' => 'Кінцева дата не може бути меншою початкової дати',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => 'Змінено стан процесу',
'transition_triggered_email_body' => 'Змінено стан процесу
Документ: [name]

View File

@ -259,6 +259,7 @@ URL: [url]',
'confirm_rm_user' => '您确定要删除"[username]"用户?<br>请注意:此动作执行后不能撤销.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => '您确定要删除"[documentname]文档的[version]版本文件?<br>请注意:此动作执行后不能撤销.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => '内容',
'continue' => '继续',
@ -1274,6 +1275,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '统计',
'status' => '状态',
@ -1349,6 +1351,8 @@ URL: [url]',
'toggle_manager' => '角色切换',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',

View File

@ -259,6 +259,7 @@ URL: [url]',
'confirm_rm_user' => '您確定要刪除"[username]"用戶?<br>請注意:此動作執行後不能撤銷.',
'confirm_rm_user_from_processes' => '',
'confirm_rm_version' => '您確定要刪除"[documentname]文檔的[version]版本檔?<br>請注意:此動作執行後不能撤銷.',
'confirm_transfer_objects' => '',
'confirm_update_transmittalitem' => '',
'content' => '內容',
'continue' => '繼續',
@ -1272,6 +1273,7 @@ URL: [url]',
'splash_substituted_user' => '',
'splash_switched_back_user' => '',
'splash_toogle_group_manager' => '',
'splash_transfer_objects' => '',
'state_and_next_state' => '',
'statistic' => '',
'status' => '狀態',
@ -1347,6 +1349,8 @@ URL: [url]',
'toggle_manager' => '角色切換',
'toggle_qrcode' => '',
'to_before_from' => '',
'transfer_objects' => '',
'transfer_objects_to_user' => '',
'transition_triggered_email' => '',
'transition_triggered_email_body' => '',
'transition_triggered_email_subject' => '',

View File

@ -44,11 +44,12 @@ if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if(isset($_POST['fineuploaderuuids']) && $_POST['fineuploaderuuids']) {
$uuids = explode(';', $_POST['fineuploaderuuids']);
$names = explode(';', $_POST['fineuploadernames']);
$prefix = 'userfile';
if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-uploader-uuids']) {
$uuids = explode(';', $_POST[$prefix.'-fine-uploader-uuids']);
$names = explode(';', $_POST[$prefix.'-fine-uploader-names']);
foreach($uuids as $i=>$uuid) {
$fullfile = $settings->_stagingDir.'/'.basename($uuid);
$fullfile = $settings->_stagingDir.'/'.utf8_basename($uuid);
if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);

View File

@ -221,6 +221,53 @@ else if ($action == "removefromprocesses") {
}
}
// transfer all objects from one user to another one
else if ($action == "transferobjects") {
/* Check if the form data comes from a trusted request */
if(!checkFormKey('transferobjects')) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
}
if (isset($_POST["userid"])) {
$userid = $_POST["userid"];
}
if (!isset($userid) || !is_numeric($userid) || intval($userid)<1) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id"));
}
/* Check if one wants to transfer his/her own objects.
*/
if ($userid==$user->getID()) {
UI::exitError(getMLText("admin_tools"),getMLText("cannot_transfer_your_objects"));
}
$userToRemove = $dms->getUser($userid);
if (!is_object($userToRemove)) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id"));
}
$userToAssign = $dms->getUser($_POST["assignTo"]);
if (!$userToRemove->remove($user, $userToAssign)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
// if(isset($_POST["status"]) && is_array($_POST["status"]) && $_POST["status"]) {
if (!$userToRemove->transferDocumentsFolders($userToAssign)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
if (!$userToRemove->transferEvents($userToAssign)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
add_log_line(".php&action=transferobjects&userid=".$userid);
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_transfer_objects')));
// }
}
// modify user ------------------------------------------------------------
else if ($action == "edituser") {

View File

@ -0,0 +1,57 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010-2016 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
if (!isset($_GET["userid"]) || !is_numeric($_GET["userid"]) || intval($_GET["userid"])<1) {
UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id"));
}
$rmuser = $dms->getUser(intval($_GET["userid"]));
if (!is_object($rmuser)) {
UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id"));
}
if ($rmuser->getID()==$user->getID()) {
UI::exitError(getMLText("rm_user"),getMLText("cannot_delete_yourself"));
}
$allusers = $dms->getAllUsers($settings->_sortUsersInList);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('rmuser', $rmuser);
$view->setParam('allusers', $allusers);
$view($_GET);
exit;
}
?>

View File

@ -78,7 +78,7 @@ $(document).ready( function() {
if($enablelargefileupload) {
?>
submitHandler: function(form) {
manualuploader.uploadStoredFiles();
userfileuploader.uploadStoredFiles();
},
<?php
}
@ -88,7 +88,7 @@ $(document).ready( function() {
if($enablelargefileupload) {
?>
fineuploaderuuids: {
fineuploader: [ manualuploader ]
fineuploader: [ userfileuploader ]
}
<?php
} else {

View File

@ -42,20 +42,25 @@ class SeedDMS_View_RemoveUser extends SeedDMS_Bootstrap_Style {
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
$this->contentHeading(getMLText("rm_user"));
$this->contentContainerStart();
?>
<form action="../op/op.UsrMgr.php" name="form1" method="post">
<div class="alert">
<?php printMLText("confirm_rm_user", array ("username" => htmlspecialchars($rmuser->getFullName())));?>
</div>
<?php
$this->contentContainerStart();
?>
<form class="form-horizontal" action="../op/op.UsrMgr.php" name="form1" method="post">
<input type="hidden" name="userid" value="<?php print $rmuser->getID();?>">
<input type="hidden" name="action" value="removeuser">
<?php echo createHiddenFieldWithKey('removeuser'); ?>
<p>
<?php printMLText("confirm_rm_user", array ("username" => htmlspecialchars($rmuser->getFullName())));?>
</p>
<p>
<div class="control-group">
<label class="control-label" for="assignTo">
<?php printMLText("assign_user_property_to"); ?>:
<select name="assignTo">
</label>
<div class="controls">
<select name="assignTo" class="chzn-select">
<?php
foreach ($allusers as $currUser) {
if ($currUser->isGuest() || ($currUser->getID() == $rmuser->getID()) )
@ -66,9 +71,14 @@ class SeedDMS_View_RemoveUser extends SeedDMS_Bootstrap_Style {
}
?>
</select>
</p>
</div>
</div>
<p><button type="submit" class="btn"><i class="icon-remove"></i> <?php printMLText("rm_user");?></button></p>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn"><i class="icon-remove"></i> <?php printMLText("rm_user");?></button>
</div>
</div>
</form>
<?php

View File

@ -36,17 +36,19 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
$this->contentHeading(getMLText("rm_user"));
$this->contentHeading(getMLText("rm_user_from_processes"));
?>
<div class="alert">
<?php printMLText("confirm_rm_user_from_processes", array ("username" => htmlspecialchars($rmuser->getFullName())));?>
</div>
<?php
$this->contentContainerStart();
?>
<form action="../op/op.UsrMgr.php" name="form1" method="post">
<form class="form-horizontal" action="../op/op.UsrMgr.php" name="form1" method="post">
<input type="hidden" name="userid" value="<?php print $rmuser->getID();?>">
<input type="hidden" name="action" value="removefromprocesses">
<?php echo createHiddenFieldWithKey('removefromprocesses'); ?>
<p>
<?php printMLText("confirm_rm_user_from_processes", array ("username" => htmlspecialchars($rmuser->getFullName())));?>
</p>
<?php
$reviewStatus = $rmuser->getReviewStatus();
@ -67,19 +69,39 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Bootstrap_Style {
$tmpa[$ai['status']] = array($ai);
}
?>
<p>
<?php if(isset($tmpa["0"]) || isset($tmpr["0"])) { ?>
<input type="checkbox" name="status[]" value="0" checked> <?php echo getMLText('approvals_and_reviews_not_touched', array('no_approvals' => count($tmpa["0"]), 'no_reviews' => count($tmpr["0"]))); ?><br />
<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="status[]" value="0" checked> <?php echo getMLText('approvals_and_reviews_not_touched', array('no_approvals' => count($tmpa["0"]), 'no_reviews' => count($tmpr["0"]))); ?>
</label>
</div>
</div>
<?php } ?>
<?php if(isset($tmpa["1"]) || isset($tmpr["1"])) { ?>
<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="status[]" value="1" checked> <?php echo getMLText('approvals_and_reviews_accepted', array('no_approvals' => count($tmpa["1"]), 'no_reviews' => count($tmpr["1"]))); ?><br />
</label>
</div>
</div>
<?php } ?>
<?php if(isset($tmpa["-1"]) || isset($tmpr["-1"])) { ?>
<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="status[]" value="-1" checked> <?php echo getMLText('approvals_and_reviews_rejected', array('no_approvals' => count($tmpa["-1"]), 'no_reviews' => count($tmpr["-1"]))); ?><br />
</label>
</div>
</div>
<?php } ?>
</p>
<p><button type="submit" class="btn"><i class="icon-remove"></i> <?php printMLText("rm_user");?></button></p>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn"><i class="icon-remove"></i> <?php printMLText("rm_user_from_processes");?></button>
</div>
</div>
</form>
<?php

View File

@ -0,0 +1,90 @@
<?php
/**
* Implementation of TransferObjects view
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2002-2005 Markus Westphal,
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
* 2010-2012 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Include parent class
*/
require_once("class.Bootstrap.php");
/**
* Class which outputs the html page for TransferObjects view
*
* @category DMS
* @package SeedDMS
* @author Markus Westphal, Malcolm Cowe, Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2002-2005 Markus Westphal,
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
* 2010-2012 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_View_TransferObjects extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$rmuser = $this->params['rmuser'];
$allusers = $this->params['allusers'];
$this->htmlStartPage(getMLText("admin_tools"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
$this->contentHeading(getMLText("transfer_objects"));
?>
<div class="alert">
<?php printMLText("confirm_transfer_objects", array ("username" => htmlspecialchars($rmuser->getFullName())));?>
</div>
<?php
$this->contentContainerStart();
?>
<form class="form-horizontal" action="../op/op.UsrMgr.php" name="form1" method="post">
<input type="hidden" name="userid" value="<?php print $rmuser->getID();?>">
<input type="hidden" name="action" value="transferobjects">
<?php echo createHiddenFieldWithKey('transferobjects'); ?>
<div class="control-group">
<label class="control-label" for="assignTo">
<?php printMLText("transfer_objects_to_user"); ?>:
</label>
<div class="controls">
<select name="assignTo" class="chzn-select">
<?php
foreach ($allusers as $currUser) {
if ($currUser->isGuest() || ($currUser->getID() == $rmuser->getID()) )
continue;
if ($rmuser && $currUser->getID()==$rmuser->getID()) $selected=$count;
print "<option value=\"".$currUser->getID()."\">" . htmlspecialchars($currUser->getLogin()." - ".$currUser->getFullName());
}
?>
</select>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn"><i class="icon-share-alt"></i> <?php printMLText("transfer_objects");?></button>
</div>
</div>
</form>
<?php
$this->contentContainerEnd();
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */
}
?>

View File

@ -190,12 +190,25 @@ $(document).ready( function() {
$undeluserids = $this->params['undeluserids'];
if($seluser) {
?>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<?php echo getMLText('action'); ?>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<?php
if(!in_array($seluser->getID(), $undeluserids) && $this->check_access('RemoveUser')) {
echo $this->html_link('RemoveUser', array('userid'=>$seluser->getID()), array('class'=>'btn btn-danger'), '<i class="icon-remove"></i> '.getMLText("rm_user"), false)." ";
echo '<li>'.$this->html_link('RemoveUser', array('userid'=>$seluser->getID()), array('class'=>''), '<i class="icon-remove"></i> '.getMLText("rm_user"), false)."</li>";
}
echo '<a class="btn btn-danger" href="../out/out.RemoveUserFromProcesses.php?userid='.$seluser->getID().'"><i class="icon-remove"></i> '.getMLText("rm_user_from_processes").'</a> ';
echo '<li><a href="../out/out.RemoveUserFromProcesses.php?userid='.$seluser->getID().'"><i class="icon-remove"></i> '.getMLText("rm_user_from_processes").'</a></li>';
echo '<li><a href="../out/out.TransferObjects.php?userid='.$seluser->getID().'"><i class="icon-share-alt"></i> '.getMLText("transfer_objects").'</a></li>';
if($user->isAdmin() && $seluser->getID() != $user->getID())
echo "<a href=\"../op/op.SubstituteUser.php?userid=".$seluser->getID()."&formtoken=".createFormKey('substituteuser')."\" class=\"btn btn-primary\"><i class=\"icon-exchange\"></i> ".getMLText("substitute_user")."</a>\n";
echo "<li><a href=\"../op/op.SubstituteUser.php?userid=".$seluser->getID()."&formtoken=".createFormKey('substituteuser')."\"><i class=\"icon-exchange\"></i> ".getMLText("substitute_user")."</a></li>\n";
?>
</ul>
</div>
<?php
}
} /* }}} */