mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-06-02 06:57:40 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
046d07bbf1
11
CHANGELOG
11
CHANGELOG
|
@ -110,6 +110,17 @@
|
||||||
- add document list which can be exported as an archive
|
- add document list which can be exported as an archive
|
||||||
- search results can be exported
|
- search results can be exported
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Changes in version 5.1.10
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
- set configured command timeout when creating pdf preview
|
||||||
|
- show numbers of reviews in main menu again
|
||||||
|
- do not send multiple emails after triggering a workflow transition, if a user
|
||||||
|
is involved in more than one of the following transitions
|
||||||
|
- fix javascript errors in out/out.TriggerWorkflow.php
|
||||||
|
- minor corrections in worklflow manager
|
||||||
|
- show splash messages after triggering a workflow transition
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
Changes in version 5.1.9
|
Changes in version 5.1.9
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -1,4 +1,4 @@
|
||||||
VERSION=6.0.6
|
VERSION=$(shell php -r 'include("inc/inc.Version.php"); $$v=new SeedDMS_Version(); echo $$v->version();')
|
||||||
SRC=CHANGELOG inc conf utils index.php languages views op out controllers doc styles TODO LICENSE webdav install restapi pdfviewer
|
SRC=CHANGELOG inc conf utils index.php languages views op out controllers doc styles TODO LICENSE webdav install restapi pdfviewer
|
||||||
# webapp
|
# webapp
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
<date>2018-11-13</date>
|
<date>2018-11-13</date>
|
||||||
<time>07:31:17</time>
|
<time>07:31:17</time>
|
||||||
<version>
|
<version>
|
||||||
<release>6.0.6</release>
|
<release>6.0.7</release>
|
||||||
<api>6.0.6</api>
|
<api>6.0.7</api>
|
||||||
</version>
|
</version>
|
||||||
<stability>
|
<stability>
|
||||||
<release>stable</release>
|
<release>stable</release>
|
||||||
|
@ -24,10 +24,6 @@
|
||||||
</stability>
|
</stability>
|
||||||
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
<notes>
|
<notes>
|
||||||
SeedDMS_Core_Folder::addContent() uses currently logged in user as uploader instead of owner
|
|
||||||
SeedDMS_Core_DocumentContent::verifyStatus() will not set status to S_RELEASED
|
|
||||||
if currently in S_DRAFT status und no workflow, review, approval, or revision
|
|
||||||
is pending.
|
|
||||||
</notes>
|
</notes>
|
||||||
<contents>
|
<contents>
|
||||||
<dir baseinstalldir="SeedDMS" name="/">
|
<dir baseinstalldir="SeedDMS" name="/">
|
||||||
|
@ -1622,8 +1618,8 @@ fix possible sql injection in SeedDMS_Core_User
|
||||||
</notes>
|
</notes>
|
||||||
</release>
|
</release>
|
||||||
<release>
|
<release>
|
||||||
<date>2018-08-07</date>
|
<date>2018-11-13</date>
|
||||||
<time>09:19:24</time>
|
<time>07:31:17</time>
|
||||||
<version>
|
<version>
|
||||||
<release>5.1.9</release>
|
<release>5.1.9</release>
|
||||||
<api>5.1.9</api>
|
<api>5.1.9</api>
|
||||||
|
@ -1771,5 +1767,24 @@ add SeedDMS_Core_DocumentContent::getInstance()
|
||||||
add list 'NeedsCorrectionOwner' to SeedDMS_Core_DMS::getDocumentList()
|
add list 'NeedsCorrectionOwner' to SeedDMS_Core_DMS::getDocumentList()
|
||||||
</notes>
|
</notes>
|
||||||
</release>
|
</release>
|
||||||
|
<release>
|
||||||
|
<date>2018-11-13</date>
|
||||||
|
<time>07:31:17</time>
|
||||||
|
<version>
|
||||||
|
<release>6.0.6</release>
|
||||||
|
<api>6.0.6</api>
|
||||||
|
</version>
|
||||||
|
<stability>
|
||||||
|
<release>stable</release>
|
||||||
|
<api>stable</api>
|
||||||
|
</stability>
|
||||||
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
|
<notes>
|
||||||
|
SeedDMS_Core_Folder::addContent() uses currently logged in user as uploader instead of owner
|
||||||
|
SeedDMS_Core_DocumentContent::verifyStatus() will not set status to S_RELEASED
|
||||||
|
if currently in S_DRAFT status und no workflow, review, approval, or revision
|
||||||
|
is pending.
|
||||||
|
</notes>
|
||||||
|
</release>
|
||||||
</changelog>
|
</changelog>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
@ -122,8 +122,10 @@ function fileExistsInIncludePath($file) { /* {{{ */
|
||||||
/**
|
/**
|
||||||
* Load default settings + set
|
* Load default settings + set
|
||||||
*/
|
*/
|
||||||
|
require_once('../inc/inc.Version.php');
|
||||||
|
$ver = new SeedDMS_Version();
|
||||||
define("SEEDDMS_INSTALL", "on");
|
define("SEEDDMS_INSTALL", "on");
|
||||||
define("SEEDDMS_VERSION", "6.0.6");
|
define("SEEDDMS_VERSION", $ver->version());
|
||||||
|
|
||||||
require_once('../inc/inc.ClassSettings.php');
|
require_once('../inc/inc.ClassSettings.php');
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ if (!is_object($object)) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$previewer = new SeedDMS_Preview_PdfPreviewer($settings->_cacheDir);
|
$previewer = new SeedDMS_Preview_PdfPreviewer($settings->_cacheDir, $settings->_cmdTimeout);
|
||||||
if(!$previewer->hasPreview($object))
|
if(!$previewer->hasPreview($object))
|
||||||
$previewer->createPreview($object);
|
$previewer->createPreview($object);
|
||||||
header('Content-Type: application/pdf');
|
header('Content-Type: application/pdf');
|
||||||
|
|
|
@ -116,9 +116,13 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) {
|
||||||
$params['http_root'] = $settings->_httpRoot;
|
$params['http_root'] = $settings->_httpRoot;
|
||||||
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
|
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
|
||||||
|
|
||||||
|
$usersinformed = array();
|
||||||
foreach($workflow->getNextTransitions($transition->getNextState()) as $ntransition) {
|
foreach($workflow->getNextTransitions($transition->getNextState()) as $ntransition) {
|
||||||
foreach($ntransition->getUsers() as $tuser) {
|
foreach($ntransition->getUsers() as $tuser) {
|
||||||
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params);
|
if(!in_array($tuser->getUser()->getID(), $usersinformed)) {
|
||||||
|
$usersinformed[] = $tuser->getUser()->getID();
|
||||||
|
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
foreach($ntransition->getGroups() as $tuser) {
|
foreach($ntransition->getGroups() as $tuser) {
|
||||||
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params);
|
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params);
|
||||||
|
@ -127,6 +131,8 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_trigger_workflow')));
|
||||||
|
|
||||||
if(isset($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'])) {
|
if(isset($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'])) {
|
||||||
foreach($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'] as $hookObj) {
|
foreach($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'] as $hookObj) {
|
||||||
if (method_exists($hookObj, 'postTriggerWorkflowTransition')) {
|
if (method_exists($hookObj, 'postTriggerWorkflowTransition')) {
|
||||||
|
@ -134,6 +140,8 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_trigger_workflow')));
|
||||||
}
|
}
|
||||||
|
|
||||||
add_log_line("?documentid=".$documentid."&version".$version_num);
|
add_log_line("?documentid=".$documentid."&version".$version_num);
|
||||||
|
|
|
@ -55,6 +55,7 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
|
||||||
* since version 25+
|
* since version 25+
|
||||||
* X-Content-Security-Policy is deprecated, Firefox understands
|
* X-Content-Security-Policy is deprecated, Firefox understands
|
||||||
* Content-Security-Policy since version 23+
|
* Content-Security-Policy since version 23+
|
||||||
|
* 'worker-src blob:' is needed for cytoscape
|
||||||
*/
|
*/
|
||||||
$csp_rules = "script-src 'self' 'unsafe-eval'; worker-src blob:;"; // style-src 'self';";
|
$csp_rules = "script-src 'self' 'unsafe-eval'; worker-src blob:;"; // style-src 'self';";
|
||||||
foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp) {
|
foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp) {
|
||||||
|
|
|
@ -57,9 +57,13 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
<<<<<<< HEAD
|
||||||
if($workflowmode == 'traditional')
|
if($workflowmode == 'traditional')
|
||||||
if(!$tasksinmenu || in_array('review', $tasksinmenu)) {
|
if(!$tasksinmenu || in_array('review', $tasksinmenu)) {
|
||||||
$tasks['review'] = array();
|
$tasks['review'] = array();
|
||||||
|
=======
|
||||||
|
if($workflowmode == 'traditional') {
|
||||||
|
>>>>>>> seeddms-5.1.x
|
||||||
$resArr = $dms->getDocumentList('ReviewByMe', $user);
|
$resArr = $dms->getDocumentList('ReviewByMe', $user);
|
||||||
if($resArr) {
|
if($resArr) {
|
||||||
foreach ($resArr as $res) {
|
foreach ($resArr as $res) {
|
||||||
|
@ -67,6 +71,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
|
||||||
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
|
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
|
||||||
$tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name']);
|
$tasks['review'][] = array('id'=>$res['id'], 'name'=>$res['name']);
|
||||||
}
|
}
|
||||||
|
<<<<<<< HEAD
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,6 +98,8 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
|
||||||
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
|
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
|
||||||
$tasks['revision'][] = array('id'=>$res['id'], 'name'=>$res['name']);
|
$tasks['revision'][] = array('id'=>$res['id'], 'name'=>$res['name']);
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
>>>>>>> seeddms-5.1.x
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1129,7 +1129,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
||||||
echo "<td>";
|
echo "<td>";
|
||||||
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
|
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
|
||||||
$action = $transition->getAction();
|
$action = $transition->getAction();
|
||||||
print "<form action=\"../out/out.TriggerWorkflow.php\" method=\"get\">".createHiddenFieldWithKey('triggerworkflow')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" /><input type=\"submit\" class=\"btn\" value=\"".getMLText('action_'.strtolower($action->getName()), array(), $action->getName())."\" /></form>";
|
print "<form action=\"../out/out.TriggerWorkflow.php\" method=\"get\"><input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><input type=\"hidden\" name=\"transition\" value=\"".$transition->getID()."\" /><input type=\"submit\" class=\"btn\" value=\"".getMLText('action_'.strtolower($action->getName()), array(), $action->getName())."\" /></form>";
|
||||||
$allowedtransitions[] = $transition;
|
$allowedtransitions[] = $transition;
|
||||||
}
|
}
|
||||||
echo "</td>";
|
echo "</td>";
|
||||||
|
|
|
@ -189,7 +189,7 @@ cy.on('tap', 'node', function(evt) {
|
||||||
var scratch = node.scratch('app');
|
var scratch = node.scratch('app');
|
||||||
if(typeof scratch !== 'undefined') {
|
if(typeof scratch !== 'undefined') {
|
||||||
noty({
|
noty({
|
||||||
text: (scratch.users ? '<p><?php printMLText('users'); ?>: ' + scratch.users + '</p>' : '') + (scratch.groups ? '<?php printMLText('groups'); ?>: ' + scratch.groups + '</p>' : ''),
|
text: (scratch.users ? '<p><?= '<i class="icon-user"></i> ' ?> ' + scratch.users + '</p>' : '') + (scratch.groups ? '<?= '<i class="icon-group"></i> ' ?> ' + scratch.groups + '</p>' : ''),
|
||||||
type: 'information',
|
type: 'information',
|
||||||
dismissQueue: true,
|
dismissQueue: true,
|
||||||
layout: 'topCenter',
|
layout: 'topCenter',
|
||||||
|
@ -256,7 +256,7 @@ $(document).ready(function() {
|
||||||
$transusers = $transition->getUsers();
|
$transusers = $transition->getUsers();
|
||||||
$unames = array();
|
$unames = array();
|
||||||
foreach($transusers as $transuser) {
|
foreach($transusers as $transuser) {
|
||||||
$unames[] = $transuser->getUser()->getFullName();
|
$unames[] = $transuser->getUser()->getLogin().' - '.$transuser->getUser()->getFullName();
|
||||||
}
|
}
|
||||||
$transgroups = $transition->getGroups();
|
$transgroups = $transition->getGroups();
|
||||||
$gnames = array();
|
$gnames = array();
|
||||||
|
|
|
@ -214,12 +214,12 @@ $(document).ready(function() {
|
||||||
echo "<td>";
|
echo "<td>";
|
||||||
foreach($transusers as $transuser) {
|
foreach($transusers as $transuser) {
|
||||||
$u = $transuser->getUser();
|
$u = $transuser->getUser();
|
||||||
echo getMLText('user').": ".$u->getFullName();
|
echo '<i class="icon-user"></i> '.htmlspecialchars($u->getLogin()." - ".$u->getFullName());
|
||||||
echo "<br />";
|
echo "<br />";
|
||||||
}
|
}
|
||||||
foreach($transgroups as $transgroup) {
|
foreach($transgroups as $transgroup) {
|
||||||
$g = $transgroup->getGroup();
|
$g = $transgroup->getGroup();
|
||||||
echo getMLText('at_least_n_users_of_group',
|
echo '<i class="icon-group"></i> '.getMLText('at_least_n_users_of_group',
|
||||||
array("number_of_users" => $transgroup->getNumOfUsers(),
|
array("number_of_users" => $transgroup->getNumOfUsers(),
|
||||||
"group" => $g->getName()));
|
"group" => $g->getName()));
|
||||||
echo "<br />";
|
echo "<br />";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user