mirror of
https://git.code.sf.net/p/seeddms/code
synced 2024-11-26 15:32:13 +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
|
||||
- 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
|
||||
--------------------------------------------------------------------------------
|
||||
|
|
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
|
||||
# webapp
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
<date>2018-11-13</date>
|
||||
<time>07:31:17</time>
|
||||
<version>
|
||||
<release>6.0.6</release>
|
||||
<api>6.0.6</api>
|
||||
<release>6.0.7</release>
|
||||
<api>6.0.7</api>
|
||||
</version>
|
||||
<stability>
|
||||
<release>stable</release>
|
||||
|
@ -24,10 +24,6 @@
|
|||
</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>
|
||||
<contents>
|
||||
<dir baseinstalldir="SeedDMS" name="/">
|
||||
|
@ -1622,8 +1618,8 @@ fix possible sql injection in SeedDMS_Core_User
|
|||
</notes>
|
||||
</release>
|
||||
<release>
|
||||
<date>2018-08-07</date>
|
||||
<time>09:19:24</time>
|
||||
<date>2018-11-13</date>
|
||||
<time>07:31:17</time>
|
||||
<version>
|
||||
<release>5.1.9</release>
|
||||
<api>5.1.9</api>
|
||||
|
@ -1771,5 +1767,24 @@ add SeedDMS_Core_DocumentContent::getInstance()
|
|||
add list 'NeedsCorrectionOwner' to SeedDMS_Core_DMS::getDocumentList()
|
||||
</notes>
|
||||
</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>
|
||||
</package>
|
||||
|
|
|
@ -122,8 +122,10 @@ function fileExistsInIncludePath($file) { /* {{{ */
|
|||
/**
|
||||
* Load default settings + set
|
||||
*/
|
||||
require_once('../inc/inc.Version.php');
|
||||
$ver = new SeedDMS_Version();
|
||||
define("SEEDDMS_INSTALL", "on");
|
||||
define("SEEDDMS_VERSION", "6.0.6");
|
||||
define("SEEDDMS_VERSION", $ver->version());
|
||||
|
||||
require_once('../inc/inc.ClassSettings.php');
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ if (!is_object($object)) {
|
|||
exit;
|
||||
}
|
||||
|
||||
$previewer = new SeedDMS_Preview_PdfPreviewer($settings->_cacheDir);
|
||||
$previewer = new SeedDMS_Preview_PdfPreviewer($settings->_cacheDir, $settings->_cmdTimeout);
|
||||
if(!$previewer->hasPreview($object))
|
||||
$previewer->createPreview($object);
|
||||
header('Content-Type: application/pdf');
|
||||
|
|
|
@ -116,9 +116,13 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) {
|
|||
$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();
|
||||
|
||||
$usersinformed = array();
|
||||
foreach($workflow->getNextTransitions($transition->getNextState()) as $ntransition) {
|
||||
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) {
|
||||
$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'])) {
|
||||
foreach($GLOBALS['SEEDDMS_HOOKS']['triggerWorkflowTransition'] as $hookObj) {
|
||||
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);
|
||||
|
|
|
@ -55,6 +55,7 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
|
|||
* since version 25+
|
||||
* X-Content-Security-Policy is deprecated, Firefox understands
|
||||
* 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';";
|
||||
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(!$tasksinmenu || in_array('review', $tasksinmenu)) {
|
||||
$tasks['review'] = array();
|
||||
=======
|
||||
if($workflowmode == 'traditional') {
|
||||
>>>>>>> seeddms-5.1.x
|
||||
$resArr = $dms->getDocumentList('ReviewByMe', $user);
|
||||
if($resArr) {
|
||||
foreach ($resArr as $res) {
|
||||
|
@ -67,6 +71,7 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
|
|||
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
|
||||
$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()) {
|
||||
$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>";
|
||||
if($latestContent->triggerWorkflowTransitionIsAllowed($user, $transition)) {
|
||||
$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;
|
||||
}
|
||||
echo "</td>";
|
||||
|
|
|
@ -189,7 +189,7 @@ cy.on('tap', 'node', function(evt) {
|
|||
var scratch = node.scratch('app');
|
||||
if(typeof scratch !== 'undefined') {
|
||||
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',
|
||||
dismissQueue: true,
|
||||
layout: 'topCenter',
|
||||
|
@ -256,7 +256,7 @@ $(document).ready(function() {
|
|||
$transusers = $transition->getUsers();
|
||||
$unames = array();
|
||||
foreach($transusers as $transuser) {
|
||||
$unames[] = $transuser->getUser()->getFullName();
|
||||
$unames[] = $transuser->getUser()->getLogin().' - '.$transuser->getUser()->getFullName();
|
||||
}
|
||||
$transgroups = $transition->getGroups();
|
||||
$gnames = array();
|
||||
|
|
|
@ -214,12 +214,12 @@ $(document).ready(function() {
|
|||
echo "<td>";
|
||||
foreach($transusers as $transuser) {
|
||||
$u = $transuser->getUser();
|
||||
echo getMLText('user').": ".$u->getFullName();
|
||||
echo '<i class="icon-user"></i> '.htmlspecialchars($u->getLogin()." - ".$u->getFullName());
|
||||
echo "<br />";
|
||||
}
|
||||
foreach($transgroups as $transgroup) {
|
||||
$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(),
|
||||
"group" => $g->getName()));
|
||||
echo "<br />";
|
||||
|
|
Loading…
Reference in New Issue
Block a user