@@ -121,8 +121,8 @@ var browseType = '';
id"), " " . $doc->title);?> |
fileSize ? $doc->fileSize : '-';?> |
addedBy);?> |
-
addedDate, 'm-d h:i');?> |
-
editedDate, 'm-d h:i');?> |
+
addedDate, 'm-d H:i');?> |
+
editedDate, 'm-d H:i');?> |
id&objectType=doc");?>" title="" class='btn btn-link ajaxCollect'>
id", "", '', "title='{$lang->edit}' class='btn btn-link'")?>
diff --git a/module/doc/view/side.html.php b/module/doc/view/side.html.php
index 4733895c86..38980a7710 100644
--- a/module/doc/view/side.html.php
+++ b/module/doc/view/side.html.php
@@ -6,6 +6,11 @@ $allModules = $this->loadModel('tree')->getDocStructure();
$productSubLibs = $this->doc->getSubLibGroups('product', array_keys($products));
$projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
+if($this->methodName != 'browse')
+{
+ $browseType = '';
+ $moduleID = '';
+}
?>
@@ -62,8 +67,10 @@ $projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
+ parent != 0) continue;?>
- methodName == 'browse' && $browseType == 'bymodule' && $moduleID == $module->id) echo "class='active'";?>>
createLink('doc', 'browse', "libID=$subLibID&browseType=byModule¶m={$module->id}"), " " . $module->name, '', "class='text-ellipsis' title='{$module->name}'");?>
+ doc->printChildModule($module, $subLibID, $this->methodName, $browseType, $moduleID);?>
@@ -106,8 +113,10 @@ $projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
+ parent != 0) continue;?>
- methodName == 'browse' && $browseType == 'bymodule' && $moduleID == $module->id) echo "class='active'";?>>
createLink('doc', 'browse', "libID=$subLibID&browseType=byModule¶m={$module->id}"), " " . $module->name, '', "class='text-ellipsis' title='{$module->name}'");?>
+ doc->printChildModule($module, $subLibID, $this->methodName, $browseType, $moduleID);?>
@@ -130,8 +139,10 @@ $projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
+ parent != 0) continue;?>
- methodName == 'browse' && $browseType == 'bymodule' && $moduleID == $module->id) echo "class='active'";?>>
createLink('doc', 'browse', "libID=$subLibID&browseType=byModule¶m={$module->id}"), " " . $module->name, '', "class='text-ellipsis' title='{$module->name}'");?>
+ doc->printChildModule($module, $subLibID, $this->methodName, $browseType, $moduleID);?>
diff --git a/module/entry/lang/en.php b/module/entry/lang/en.php
index e08a5918bd..a22d2d9ac7 100644
--- a/module/entry/lang/en.php
+++ b/module/entry/lang/en.php
@@ -30,10 +30,11 @@ $lang->entry->confirmDelete = 'Are you sure delete this entry?';
$lang->entry->help = 'Help';
$lang->entry->note = new stdClass();
-$lang->entry->note->name = 'Name';
-$lang->entry->note->code = 'Code, should be english and number.';
-$lang->entry->note->ip = "Use comma between two IPs. IP segment is supported, e.g. 192.168.1.*";
-$lang->entry->note->allIP = 'All';
+$lang->entry->note->name = 'Name';
+$lang->entry->note->code = 'Code, should be english and number.';
+$lang->entry->note->ip = "Use comma between two IPs. IP segment is supported, e.g. 192.168.1.*";
+$lang->entry->note->allIP = 'All';
+$lang->entry->note->account = 'Account for entry.';
$lang->entry->errmsg['PARAM_CODE_MISSING'] = 'Param code is missing.';
$lang->entry->errmsg['PARAM_TOKEN_MISSING'] = 'Param token is missing.';
diff --git a/module/entry/lang/zh-cn.php b/module/entry/lang/zh-cn.php
index d3019c83d6..39f6894608 100644
--- a/module/entry/lang/zh-cn.php
+++ b/module/entry/lang/zh-cn.php
@@ -30,10 +30,11 @@ $lang->entry->confirmDelete = '您确认要删除该应用吗?';
$lang->entry->help = '使用说明';
$lang->entry->note = new stdClass();
-$lang->entry->note->name = '授权应用名称';
-$lang->entry->note->code = '授权应用代号,必须为字母或数字的组合';
-$lang->entry->note->ip = "允许访问API的应用ip,多个ip用逗号隔开。支持IP段,如192.168.1.*";
-$lang->entry->note->allIP = '无限制';
+$lang->entry->note->name = '授权应用名称';
+$lang->entry->note->code = '授权应用代号,必须为字母或数字的组合';
+$lang->entry->note->ip = "允许访问API的应用ip,多个ip用逗号隔开。支持IP段,如192.168.1.*";
+$lang->entry->note->allIP = '无限制';
+$lang->entry->note->account = '授权应用账号';
$lang->entry->errmsg['PARAM_CODE_MISSING'] = '缺少code参数';
$lang->entry->errmsg['PARAM_TOKEN_MISSING'] = '缺少token参数';
diff --git a/module/entry/view/create.html.php b/module/entry/view/create.html.php
index 70d3e6a39e..4b3220f131 100644
--- a/module/entry/view/create.html.php
+++ b/module/entry/view/create.html.php
@@ -34,7 +34,7 @@
| entry->account;?> |
- |
+ entry->note->account}'");?> |
|
diff --git a/module/file/control.php b/module/file/control.php
index dab6d07880..f459ac8b62 100644
--- a/module/file/control.php
+++ b/module/file/control.php
@@ -153,15 +153,7 @@ class file extends control
*/
public function download($fileID, $mouse = '')
{
- /* When get sid then change session id. */
- if(isset($_GET[$this->config->sessionVar]))
- {
- $sessionID = isset($_COOKIE[$this->config->sessionVar]) ? $_COOKIE[$this->config->sessionVar] : sha1(mt_rand());
- session_write_close();
- session_id($sessionID);
- session_start();
- }
-
+ if(session_id() != $this->app->sessionID) helper::restartSession($this->app->sessionID);
$file = $this->file->getById($fileID);
/* Judge the mode, down or open. */
@@ -170,7 +162,8 @@ class file extends control
if(stripos($fileTypes, $file->extension) !== false && $mouse == 'left') $mode = 'open';
if($file->extension == 'txt')
{
- $extension = end(explode('.', $file->title));
+ $extension = 'txt';
+ if(($postion = strrpos($file->title, '.')) !== false)$extension = substr($file->title, $postion + 1);
if($extension != 'txt') $mode = 'down';
$file->extension = $extension;
}
diff --git a/module/file/lang/en.php b/module/file/lang/en.php
index 43aead0996..f438da991a 100644
--- a/module/file/lang/en.php
+++ b/module/file/lang/en.php
@@ -44,7 +44,7 @@ $lang->file->downloads = 'Downloads';
$lang->file->extra = 'Extra';
$lang->file->dragFile = 'Please drag here.';
-$lang->file->childTaskTag = 'It\'s child task where \'>\' before the name.';
+$lang->file->childTaskTips = 'It\'s child task where \'>\' before the name.';
$lang->file->errorNotExists = "'%s' is not found.";
$lang->file->errorCanNotWrite = "'%s' is not writable. Please change its permission. Enter sudo chmod -R 777 '%s' in Linux.";
$lang->file->confirmDelete = " Do you want to delete it?";
diff --git a/module/file/lang/zh-cn.php b/module/file/lang/zh-cn.php
index 19004afcf4..bff49bdfc0 100644
--- a/module/file/lang/zh-cn.php
+++ b/module/file/lang/zh-cn.php
@@ -44,7 +44,7 @@ $lang->file->downloads = '下载次数';
$lang->file->extra = '备注';
$lang->file->dragFile = '请拖拽文件到此处';
-$lang->file->childTaskTag = "任务名称前有'>'标记的为子任务";
+$lang->file->childTaskTips = "任务名称前有'>'标记的为子任务";
$lang->file->errorNotExists = "文件夹 '%s' 不存在";
$lang->file->errorCanNotWrite = "文件夹 '%s' 不可写,请改变文件夹的权限。在linux中输入指令: sudo chmod -R 777 %s";
$lang->file->confirmDelete = " 您确定删除该附件吗?";
diff --git a/module/file/view/export2csv.html.php b/module/file/view/export2csv.html.php
index 0886160707..09323e1fc5 100644
--- a/module/file/view/export2csv.html.php
+++ b/module/file/view/export2csv.html.php
@@ -22,4 +22,4 @@ foreach($rows as $row)
}
echo '"' . "\n";
}
-echo $this->lang->file->childTaskTag;
+if($this->post->kind == 'task') echo $this->lang->file->childTaskTips;
diff --git a/module/file/view/export2html.html.php b/module/file/view/export2html.html.php
index 01d07eeff4..ca4322ab5b 100644
--- a/module/file/view/export2html.html.php
+++ b/module/file/view/export2html.html.php
@@ -19,7 +19,7 @@ table th,table td{padding:5px;}
-" . $this->lang->file->childTaskTag . '';?>
+post->kind == 'task') echo "" . $this->lang->file->childTaskTag . '';?>
client} config core.quotepath false");
if($fromRevision)
{
- $cmd = "$this->client log --stat=1024 --name-status $fromRevision..HEAD";
+ $cmd = "$this->client log --stat=1024 --stat-name-width=1000 --name-status $fromRevision..HEAD";
}
else
{
- $cmd = "$this->client log --stat=1024 --name-status";
+ $cmd = "$this->client log --stat=1024 --stat-name-width=1000 --name-status";
}
exec($cmd, $list, $return);
diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php
index 60be8722ab..f12bedfd52 100644
--- a/module/misc/lang/en.php
+++ b/module/misc/lang/en.php
@@ -13,6 +13,7 @@ $lang->misc = new stdclass();
$lang->misc->common = 'Misc';
$lang->misc->ping = 'Ping';
$lang->misc->api = 'https://api.zentao.net';
+$lang->misc->enApi = 'http://api.zentao.pm';
$lang->misc->zentao = new stdclass();
$lang->misc->zentao->version = 'Version %s';
diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php
index 3b8027b65b..8533302d14 100644
--- a/module/misc/lang/zh-cn.php
+++ b/module/misc/lang/zh-cn.php
@@ -13,6 +13,7 @@ $lang->misc = new stdclass();
$lang->misc->common = '杂项';
$lang->misc->ping = '防超时';
$lang->misc->api = 'https://api.zentao.net';
+$lang->misc->enApi = 'http://api.zentao.pm';
$lang->misc->zentao = new stdclass();
$lang->misc->zentao->version = '版本%s';
diff --git a/module/misc/view/links.html.php b/module/misc/view/links.html.php
index c75ed84927..d619486a46 100755
--- a/module/misc/view/links.html.php
+++ b/module/misc/view/links.html.php
@@ -9,8 +9,9 @@
+ getClientLang() == 'en' ? $lang->misc->enApi : $lang->misc->api;?>
$label):?>
- - misc->api . "/goto.php?item=$item&from=about", $label, '_blank', "id='$item'");;?>
+
diff --git a/module/my/view/task.html.php b/module/my/view/task.html.php
index e1bfe1d6a8..5b17827b74 100644
--- a/module/my/view/task.html.php
+++ b/module/my/view/task.html.php
@@ -74,7 +74,7 @@
createLink('project', 'browse', "projectid=$task->projectID"), $task->projectName);?> |
team)) echo '' . $this->lang->task->multipleAB . ' ';?>
- parent)) echo '' . $this->lang->task->childrenAB . ' ';?>
+ parent > 0) echo '' . $this->lang->task->childrenAB . ' ';?>
createLink('task', 'view', "taskID=$task->id"), $task->name, null, "style='color: $task->color'");?>
|
openedBy);?> |
diff --git a/module/product/lang/en.php b/module/product/lang/en.php
index 155d8e943c..adb19f4620 100644
--- a/module/product/lang/en.php
+++ b/module/product/lang/en.php
@@ -43,7 +43,7 @@ $lang->product->doc = 'Doc';
$lang->product->project = $lang->projectCommon . 'List';
$lang->product->build = 'Build';
-$lang->product->currentProject = 'Current Project';
+$lang->product->currentProject = "Current {$lang->projectCommon}";
$lang->product->activeStories = 'Activated Story';
$lang->product->changedStories = 'Changed Story';
$lang->product->draftStories = 'Draft Story';
diff --git a/module/product/lang/zh-cn.php b/module/product/lang/zh-cn.php
index ab4d14c638..854b6524ec 100644
--- a/module/product/lang/zh-cn.php
+++ b/module/product/lang/zh-cn.php
@@ -43,7 +43,7 @@ $lang->product->doc = '文档列表';
$lang->product->project = $lang->projectCommon . '列表';
$lang->product->build = '版本列表';
-$lang->product->currentProject = '当前项目';
+$lang->product->currentProject = '当前' . $lang->projectCommon;
$lang->product->activeStories = '激活需求';
$lang->product->changedStories = '已变更需求';
$lang->product->draftStories = '草稿需求';
diff --git a/module/product/view/browse.html.php b/module/product/view/browse.html.php
index 15ec523d71..89f37e7966 100644
--- a/module/product/view/browse.html.php
+++ b/module/product/view/browse.html.php
@@ -401,7 +401,7 @@ $(function()
}
var data = $row.data();
checkedEstimate += data.estimate;
- checkedCase += data.cases;
+ if(data.cases > 0) checkedCase += 1;
});
var rate = Math.round(checkedCase / checkedTotal * 10000) / 100 + '' + '%';
return checkedSummary.replace('%total%', checkedTotal)
diff --git a/module/project/control.php b/module/project/control.php
index a25e0f346f..b29bc1b3ab 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -179,18 +179,6 @@ class project extends control
/* Get tasks. */
$tasks = $this->project->getTasks($productID, $projectID, $this->projects, $browseType, $queryID, $moduleID, $sort, $pager);
- if(strpos('unclosed,all,bymodule,byproduct', $browseType) === false)
- {
- foreach($tasks as $task)
- {
- if(isset($task->children))
- {
- $task->children = true;
- unset($task->children);
- }
- }
- }
-
/* Build the search form. */
$actionURL = $this->createLink('project', 'task', "projectID=$projectID&status=bySearch¶m=myQueryID");
$this->config->project->search['onMenuBar'] = 'yes';
diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php
index de4b8db9bb..4aa18fc800 100644
--- a/module/project/lang/zh-cn.php
+++ b/module/project/lang/zh-cn.php
@@ -302,7 +302,7 @@ $lang->project->featureBar['task']['unclosed'] = $lang->project->unclosed;
$lang->project->featureBar['task']['assignedtome'] = $lang->project->assignedToMe;
$lang->project->featureBar['task']['myinvolved'] = $lang->project->myInvolved;
$lang->project->featureBar['task']['delayed'] = '已延期';
-$lang->project->featureBar['task']['needconfirm'] = '需求变动';
+$lang->project->featureBar['task']['needconfirm'] = '需求变更';
$lang->project->featureBar['task']['status'] = $lang->project->statusSelects[''];
$lang->project->treeLevel = array();
diff --git a/module/project/model.php b/module/project/model.php
index c7544bc9ab..351275adb7 100644
--- a/module/project/model.php
+++ b/module/project/model.php
@@ -865,7 +865,7 @@ class projectModel extends model
$tasks = $this->dao->select('id, project, estimate, consumed, `left`, status, closedReason')
->from(TABLE_TASK)
->where('project')->in($projectKeys)
- ->andWhere('parent')->eq(0)
+ ->andWhere('parent')->lt(1)
->andWhere('deleted')->eq(0)
->fetchGroup('project', 'id');
@@ -1055,13 +1055,13 @@ class projectModel extends model
->where('project')->eq((int)$projectID)
->andWhere('status')->ne('cancel')
->andWhere('deleted')->eq(0)
- ->andWhere('parent')->eq(0)
+ ->andWhere('parent')->lt(1)
->fetch();
$closedTotalLeft= (int)$this->dao->select('SUM(`left`) AS totalLeft')->from(TABLE_TASK)
->where('project')->eq((int)$projectID)
->andWhere('status')->eq('closed')
->andWhere('deleted')->eq(0)
- ->andWhere('parent')->eq(0)
+ ->andWhere('parent')->lt(1)
->fetch('totalLeft');
$project->days = $project->days ? $project->days : '';
@@ -1309,7 +1309,7 @@ class projectModel extends model
->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')
->where('t1.status')->in('wait, doing, pause, cancel')
->andWhere('t1.deleted')->eq(0)
- ->andWhere('t1.parent')->eq(0)
+ ->andWhere('t1.parent')->lt(1)
->andWhere('t1.project')->in(array_keys($projects))
->andWhere("(t1.story = 0 OR (t2.branch in ('0','" . join("','", $branches) . "') and t2.product " . helper::dbIN(array_keys($branches)) . "))")
->fetchGroup('project', 'id');
@@ -1399,7 +1399,7 @@ class projectModel extends model
->andWhere('t1.deleted')->eq(0)
->fetch('storyCount');
- $taskCount = $this->dao->select('count(id) as taskCount')->from(TABLE_TASK)->where('project')->eq($projectID)->andWhere('parent')->eq(0)->andWhere('deleted')->eq(0)->fetch('taskCount');
+ $taskCount = $this->dao->select('count(id) as taskCount')->from(TABLE_TASK)->where('project')->eq($projectID)->andWhere('parent')->lt(1)->andWhere('deleted')->eq(0)->fetch('taskCount');
$bugCount = $this->dao->select('count(id) as bugCount')->from(TABLE_BUG)->where('project')->eq($projectID)->andWhere('deleted')->eq(0)->fetch('bugCount');
$statData = new stdclass();
@@ -2009,9 +2009,22 @@ class projectModel extends model
->where('t1.deleted')->eq(0)
->andWhere('t1.id')->in(array_keys($taskIdList))
->orderBy($orderBy)
- ->fetchAll();
- $this->loadModel('task')->processTasks($tasks);
- return $tasks;
+ ->fetchAll('id');
+
+ if(empty($tasks)) return array();
+
+ foreach($tasks as $task)
+ {
+ if($task->parent > 0)
+ {
+ if(isset($tasks[$task->parent]))
+ {
+ $tasks[$task->parent]->children[$task->id] = $task;
+ unset($tasks[$task->id]);
+ }
+ }
+ }
+ return $this->loadModel('task')->processTasks($tasks);
}
/**
@@ -2023,7 +2036,7 @@ class projectModel extends model
* @param int $pager
* @param int $orderBy
* @access public
- * @return void
+ * @return mixed
*/
public function getSearchBugs($products, $projectID, $sql, $pager, $orderBy)
{
@@ -2551,7 +2564,7 @@ class projectModel extends model
$tasks = $this->dao->select('*')->from(TABLE_TASK)
->where('project')->eq((int)$projectID)
->andWhere('deleted')->eq(0)
- ->andWhere('parent')->eq(0)
+ ->andWhere('parent')->lt(1)
->orderBy('id_desc')
->fetchAll();
$childTasks = $this->dao->select('*')->from(TABLE_TASK)
@@ -2784,7 +2797,7 @@ class projectModel extends model
case 'task':
$link = helper::createLink('project', 'treeTask', "taskID={$tree->id}");
$html .= '';
- $html .= '' . (empty($tree->parent) ? $this->lang->task->common : $this->lang->task->children) . "" . $tree->title . ' ' . (empty($tree->assignedTo) ? $tree->openedBy : $tree->assignedTo) . '' . $tree->id . '';
+ $html .= '' . ($tree->parent > 0 ? $this->lang->task->children : $this->lang->task->common) . "" . $tree->title . ' ' . (empty($tree->assignedTo) ? $tree->openedBy : $tree->assignedTo) . '' . $tree->id . '';
break;
case 'product':
$this->app->loadLang('product');
diff --git a/module/project/view/grouptask.html.php b/module/project/view/grouptask.html.php
index cebea59911..453c19152e 100644
--- a/module/project/view/grouptask.html.php
+++ b/module/project/view/grouptask.html.php
@@ -188,7 +188,7 @@
team)) echo '' . $lang->task->multipleAB . ' ';
- if(!empty($task->parent)) echo '' . $lang->task->childrenAB . ' ';
+ if($task->parent > 0) echo '' . $lang->task->childrenAB . ' ';
if(isset($task->children) && $task->children == true) echo '' . $lang->task->parentAB . ' ';
if(!common::printLink('task', 'view', "task=$task->id", $task->name)) echo $task->name;
?>
diff --git a/module/project/view/kanban.html.php b/module/project/view/kanban.html.php
index ebcbb5f1d2..7e9c6f336e 100644
--- a/module/project/view/kanban.html.php
+++ b/module/project/view/kanban.html.php
@@ -136,7 +136,7 @@ $account = $this->app->user->account;
tasks[$col] as $task):?>
parent) ? '' : " " . $lang->task->childrenAB . ' ';
+ $childrenAB = $task->parent > 0 ? " " . $lang->task->childrenAB . ' ' : '';
echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', true), "{$childrenAB}{$task->name}", '', 'class="title kanbaniframe" title="' . $task->name . '"');
?>
diff --git a/module/project/view/treetask.html.php b/module/project/view/treetask.html.php
index 4a091629c1..c3fc9afd33 100644
--- a/module/project/view/treetask.html.php
+++ b/module/project/view/treetask.html.php
@@ -3,7 +3,7 @@
id?>
task->common?>
- parent)) echo '' . $this->lang->task->childrenAB . '';?>
+ parent > 0) echo '' . $this->lang->task->childrenAB . '';?>
team)) echo '' . $this->lang->task->multipleAB . '';?>
parentName) ? $task->parentName . '/' : '';?>name;?>
diff --git a/module/project/view/view.html.php b/module/project/view/view.html.php
index 44652f18c6..69ef6c0579 100644
--- a/module/project/view/view.html.php
+++ b/module/project/view/view.html.php
@@ -118,7 +118,7 @@
-
+
$docLib):?>
8) break;?>
diff --git a/module/report/model.php b/module/report/model.php
index 0c58fe8ed6..1b1c651534 100644
--- a/module/report/model.php
+++ b/module/report/model.php
@@ -93,8 +93,9 @@ class reportModel extends model
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
->where('t1.status')->ne('cancel')
->andWhere('t1.deleted')->eq(0)
+ ->beginIF(!$this->app->user->admin)->andWhere('t2.id')->in($this->app->user->view->projects)->fi()
->andWhere('t2.deleted')->eq(0)
- ->andWhere('t1.parent')->eq(0)
+ ->andWhere('t1.parent')->lt(1)
->andWhere('t2.status')->eq('closed')
->beginIF($begin)->andWhere('t2.begin')->ge($begin)->fi()
->beginIF($end)->andWhere('t2.end')->le($end)->fi()
@@ -131,6 +132,7 @@ class reportModel extends model
$products = $this->dao->select('id, code, name, PO')->from(TABLE_PRODUCT)
->where('deleted')->eq(0)
->beginIF(strpos($conditions, 'closedProduct') === false)->andWhere('status')->ne('closed')->fi()
+ ->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->products)->fi()
->fetchAll('id');
$plans = $this->dao->select('*')->from(TABLE_PRODUCTPLAN)->where('deleted')->eq(0)->andWhere('product')->in(array_keys($products))
->beginIF(strpos($conditions, 'overduePlan') === false)->andWhere('end')->gt(date('Y-m-d'))->fi()
@@ -300,7 +302,7 @@ class reportModel extends model
$taskGroups = array();
foreach($tasks as $task)
{
- if(!empty($task->parent)) $parents[$task->parent] = $task->parent;
+ if($task->parent > 0) $parents[$task->parent] = $task->parent;
$taskGroups[$task->assignedTo][$task->id] = $task;
}
diff --git a/module/report/view/workload.html.php b/module/report/view/workload.html.php
index 07afdd1955..2c7df29083 100644
--- a/module/report/view/workload.html.php
+++ b/module/report/view/workload.html.php
@@ -68,8 +68,8 @@
-
- | report->user;?> |
+
+ | report->user;?> |
report->project;?> |
report->task;?> |
report->remain;?> |
@@ -88,19 +88,13 @@
$info):?>
';?>
- createLink('project', 'view', "projectID={$info['projectID']}"), $project);?> |
- |
- |
+ createLink('project', 'view', "projectID={$info['projectID']}"), $project);?> |
+ |
+ |
-
-
- |
-
-
- |
-
-
- |
+ |
+ |
+ |
'; $id ++;?>
diff --git a/module/score/model.php b/module/score/model.php
index f2484ca794..c3b7188fe6 100644
--- a/module/score/model.php
+++ b/module/score/model.php
@@ -237,7 +237,12 @@ class scoreModel extends model
if($lastID == 0)
{
$this->dao->query("UPDATE " . TABLE_USER . " SET `score`=0, `scoreLevel`=0");
- $this->dao->query("TRUNCATE TABLE " . TABLE_SCORE);
+ $this->dao->delete()->from(TABLE_SCORE)->exec();
+ try
+ {
+ $this->dbh->exec('ALTER TABLE ' . TABLE_SCORE . ' auto_increment=1');
+ }
+ catch(Exception $e){}
}
$actions = $this->dao->select('*')->from(TABLE_ACTION)->where('id')->gt($lastID)->orderBy('id_asc')->limit(100)->fetchAll('id');
diff --git a/module/story/control.php b/module/story/control.php
index ba55dce9c3..35315cf7c9 100644
--- a/module/story/control.php
+++ b/module/story/control.php
@@ -1401,7 +1401,7 @@ class story extends control
}
else
{
- $stmt = $this->dbh->query($this->session->storyQueryCondition . ($this->post->exportType == 'selected' ? " AND t1.id IN({$this->cookie->checkedItem})" : '') . " ORDER BY " . strtr($orderBy, '_', ' '));
+ $stmt = $this->dbh->query($this->session->storyQueryCondition . ($this->post->exportType == 'selected' ? " AND t2.id IN({$this->cookie->checkedItem})" : '') . " ORDER BY " . strtr($orderBy, '_', ' '));
while($row = $stmt->fetch()) $stories[$row->id] = $row;
}
@@ -1440,7 +1440,7 @@ class story extends control
/* Get related objects title or names. */
$productsType = $this->dao->select('id, type')->from(TABLE_PRODUCT)->where('id')->in($relatedProductIdList)->fetchPairs();
- $relatedModules = $this->dao->select('id, name')->from(TABLE_MODULE)->where('id')->in($relatedModuleIdList)->fetchPairs();
+ $relatedModules = $this->loadModel('tree')->getOptionMenu($productID);
$relatedPlans = $this->dao->select('id, title')->from(TABLE_PRODUCTPLAN)->where('id')->in(join(',', $relatedPlanIdList))->fetchPairs();
$relatedStories = $this->dao->select('id,title')->from(TABLE_STORY) ->where('id')->in($relatedStoryIdList)->fetchPairs();
$relatedFiles = $this->dao->select('id, objectID, pathname, title')->from(TABLE_FILE)->where('objectType')->eq('story')->andWhere('objectID')->in(@array_keys($stories))->andWhere('extra')->ne('editor')->fetchGroup('objectID');
diff --git a/module/story/model.php b/module/story/model.php
index 39b3123b75..889cfc1bd7 100644
--- a/module/story/model.php
+++ b/module/story/model.php
@@ -2320,6 +2320,11 @@ class storyModel extends model
$title = $story->planTitle;
$class .= ' text-ellipsis';
}
+ if($id == 'sourceNote')
+ {
+ $title = $story->sourceNote;
+ $class .= ' text-ellipsis';
+ }
echo "";
switch($id)
diff --git a/module/story/view/view.html.php b/module/story/view/view.html.php
index ed9f8539fd..c2056d2b03 100644
--- a/module/story/view/view.html.php
+++ b/module/story/view/view.html.php
@@ -94,7 +94,7 @@
echo "";
}
- if($from == 'project') common::printIcon('task', 'create', "project=$param&storyID=$story->id&moduleID=$story->module", $story, 'button', 'smile', '', 'showinonlybody');
+ if($from == 'project') common::printIcon('task', 'create', "project=$param&storyID=$story->id&moduleID=$story->module", $story, 'button', 'plus', '', 'showinonlybody');
echo "";
common::printIcon('story', 'edit', "storyID=$story->id", $story);
diff --git a/module/task/control.php b/module/task/control.php
index 7a966bdc35..b86e447ef5 100644
--- a/module/task/control.php
+++ b/module/task/control.php
@@ -1394,7 +1394,7 @@ class task extends control
if(isset($users[$task->closedBy])) $task->closedBy = $users[$task->closedBy];
if(isset($users[$task->lastEditedBy])) $task->lastEditedBy = $users[$task->lastEditedBy];
- if(!empty($task->parent)) $task->name = '>' . $task->name;
+ if($task->parent > 0) $task->name = '>' . $task->name;
if(!empty($task->team)) $task->name = '[' . $taskLang->multipleAB . '] ' . $task->name;
$task->openedDate = substr($task->openedDate, 0, 10);
diff --git a/module/task/model.php b/module/task/model.php
index 9dba817d14..34c37a15e6 100644
--- a/module/task/model.php
+++ b/module/task/model.php
@@ -171,7 +171,7 @@ class taskModel extends model
}
else
{
- dao::$errors['message'][] = sprintf($this->lang->duplicate, $this->lang->task->common);
+ dao::$errors['message'][] = sprintf($this->lang->duplicate, $this->lang->task->common) . ' ' . $tasks->name[$key];
return false;
}
}
@@ -270,6 +270,7 @@ class taskModel extends model
{
$this->updateParentStatus($taskID);
$this->computeBeginAndEnd($parentID);
+ $this->dao->update(TABLE_TASK)->set('parent')->eq(-1)->where('id')->eq($parentID)->exec();
}
return $mails;
}
@@ -363,10 +364,14 @@ class taskModel extends model
}
else
{
- if(isset($childrenStatus['doing']) or isset($childrenStatus['pause']) or isset($childrenStatus['wait']))
+ if(isset($childrenStatus['doing']) or isset($childrenStatus['pause']))
{
$status = 'doing';
}
+ elseif(isset($childrenStatus['wait']))
+ {
+ $status = 'wait';
+ }
elseif(isset($childrenStatus['done']))
{
$status = 'done';
@@ -921,6 +926,8 @@ class taskModel extends model
$task = $this->computeHours4Multiple($oldTask, $task);
}
+
+ if($oldTask->parent > 0) $this->updateParentStatus($taskID);
$this->dao->update(TABLE_TASK)
->data($task)
@@ -1386,7 +1393,7 @@ class taskModel extends model
$task->children = $children;
/* Check parent Task. */
- if(!empty($task->parent)) $task->parentName = $this->dao->findById($task->parent)->from(TABLE_TASK)->fetch('name');
+ if($task->parent > 0) $task->parentName = $this->dao->findById($task->parent)->from(TABLE_TASK)->fetch('name');
$task->team = $this->dao->select('*')->from(TABLE_TEAM)->where('root')->eq($taskID)->andWhere('type')->eq('task')->orderBy('order')->fetchAll('account');
foreach($children as $child) $child->team = isset($teams[$child->id]) ? $teams[$child->id] : array();
@@ -1475,7 +1482,7 @@ class taskModel extends model
->leftJoin(TABLE_TEAM)->alias('t4')->on('t4.root = t1.id')
->leftJoin(TABLE_MODULE)->alias('t5')->on('t1.module = t5.id')
->where('t1.project')->eq((int)$projectID)
- ->beginIF($type =='all' || is_array($type))->andWhere('t1.parent')->eq(0)->fi()
+ ->beginIF($type == 'all' || is_array($type))->andWhere('t1.parent')->lt(1)->fi()
->beginIF($type == 'myinvolved')
->andWhere("((t4.`account` = '{$this->app->user->account}' AND t4.`type` = 'task') OR t1.`assignedTo` = '{$this->app->user->account}' OR t1.`finishedby` = '{$this->app->user->account}')")
->fi()
@@ -1503,34 +1510,53 @@ class taskModel extends model
foreach($taskTeam as $taskID => $team) $tasks[$taskID]->team = $team;
}
- /* Select children task. */
- $children = $this->dao->select('DISTINCT t1.*, t2.id AS storyID, t2.title AS storyTitle, t2.product, t2.branch, t2.version AS latestStoryVersion, t2.status AS storyStatus, t3.realname AS assignedToRealName')
- ->from(TABLE_TASK)->alias('t1')
- ->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
- ->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')
- ->leftJoin(TABLE_MODULE)->alias('t4')->on('t1.module = t4.id')
- ->where('t1.project')->eq((int)$projectID)
- ->andWhere('t1.parent')->in($taskList)
- ->andWhere('t1.deleted')->eq(0)
- ->beginIF($productID)->andWhere("((t4.root=" . (int)$productID . " and t4.type='story') OR t2.product=" . (int)$productID . ")")->fi()
- ->beginIF($type == 'undone')->andWhere("(t1.status = 'wait' or t1.status ='doing')")->fi()
- ->beginIF($type == 'needconfirm')->andWhere('t2.version > t1.storyVersion')->andWhere("t2.status = 'active'")->fi()
- ->beginIF($type == 'assignedtome')->andWhere('t1.assignedTo')->eq($this->app->user->account)->fi()
- ->beginIF($type == 'finishedbyme')->andWhere('t1.finishedby')->eq($this->app->user->account)->fi()
- ->beginIF($type == 'delayed')->andWhere('t1.deadline')->gt('1970-1-1')->andWhere('t1.deadline')->lt(date(DT_DATE1))->andWhere('t1.status')->in('wait,doing')->fi()
- ->beginIF(is_array($type) or strpos(',all,undone,needconfirm,assignedtome,delayed,finishedbyme,myinvolved,', ",$type,") === false)->andWhere('t1.status')->in($type)->fi()
- ->beginIF($modules)->andWhere('t1.module')->in($modules)->fi()
- ->orderBy("t1.$orderBy")
- ->fetchAll('id');
-
- if(!empty($children))
+ $parents = [];
+ foreach($tasks as $task)
{
- foreach($children as $child)
+ if($task->parent == -1) $parents[] = $task->id;
+ }
+ if(!empty($parents))
+ {
+ /* Select children task. */
+ $children = $this->dao->select('DISTINCT t1.*, t2.id AS storyID, t2.title AS storyTitle, t2.product, t2.branch, t2.version AS latestStoryVersion, t2.status AS storyStatus, t3.realname AS assignedToRealName')
+ ->from(TABLE_TASK)->alias('t1')
+ ->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
+ ->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')
+ ->leftJoin(TABLE_MODULE)->alias('t4')->on('t1.module = t4.id')
+ ->where('t1.parent')->in($parents)
+ ->andWhere('t1.deleted')->eq(0)
+ ->beginIF($productID)->andWhere("((t4.root=" . (int)$productID . " and t4.type='story') OR t2.product=" . (int)$productID . ")")->fi()
+ ->beginIF($type == 'undone')->andWhere("(t1.status = 'wait' or t1.status ='doing')")->fi()
+ ->beginIF($type == 'needconfirm')->andWhere('t2.version > t1.storyVersion')->andWhere("t2.status = 'active'")->fi()
+ ->beginIF($type == 'assignedtome')->andWhere('t1.assignedTo')->eq($this->app->user->account)->fi()
+ ->beginIF($type == 'finishedbyme')->andWhere('t1.finishedby')->eq($this->app->user->account)->fi()
+ ->beginIF($type == 'delayed')->andWhere('t1.deadline')->gt('1970-1-1')->andWhere('t1.deadline')->lt(date(DT_DATE1))->andWhere('t1.status')->in('wait,doing')->fi()
+ ->beginIF(is_array($type) or strpos(',all,undone,needconfirm,assignedtome,delayed,finishedbyme,myinvolved,', ",$type,") === false)->andWhere('t1.status')->in($type)->fi()
+ ->beginIF($modules)->andWhere('t1.module')->in($modules)->fi()
+ ->orderBy("t1.$orderBy")
+ ->fetchAll('id');
+
+ if(!empty($children))
{
- $tasks[$child->parent]->children[] = $child;
+ foreach($children as $child)
+ {
+ $tasks[$child->parent]->children[$child->id] = $child;
+ }
}
}
+ foreach($tasks as $task)
+ {
+ if($task->parent > 0)
+ {
+ if(isset($tasks[$task->parent]))
+ {
+ $tasks[$task->parent]->children[$task->id] = $task;
+ unset($tasks[$task->id]);
+ }
+ }
+ }
+
return $this->processTasks($tasks);
}
@@ -1850,7 +1876,10 @@ class taskModel extends model
$task = $this->processTask($task);
if(!empty($task->children))
{
- foreach($task->children as $child) $task = $this->processTask($child);
+ foreach($task->children as $child)
+ {
+ $tasks[$task->id]->children[$child->id] = $this->processTask($child);
+ }
}
}
return $tasks;
@@ -2407,7 +2436,7 @@ class taskModel extends model
case 'name':
if(!empty($task->product) && isset($branchGroups[$task->product][$task->branch])) echo "" . $branchGroups[$task->product][$task->branch] . ' ';
if(empty($task->children) and $task->module and isset($modulePairs[$task->module])) echo "" . $modulePairs[$task->module] . ' ';
- if($child or !empty($task->parent)) echo '' . $this->lang->task->childrenAB . ' ';
+ if($task->parent > 0) echo '' . $this->lang->task->childrenAB . ' ';
if(!empty($task->team)) echo '' . $this->lang->task->multipleAB . ' ';
echo $canView ? html::a($taskLink, $task->name, null, "style='color: $task->color'") : "$task->name";
if(!empty($task->children)) echo '';
diff --git a/module/task/view/view.html.php b/module/task/view/view.html.php
index a5953fb275..6a786ffdc1 100644
--- a/module/task/view/view.html.php
+++ b/module/task/view/view.html.php
@@ -22,9 +22,9 @@
id?>
- parent)) echo '' . $this->lang->task->childrenAB . '';?>
+ parent > 0) echo '' . $this->lang->task->childrenAB . '';?>
team)) echo '' . $this->lang->task->multipleAB . '';?>
- parentName) ? html::a(inlink('view', "taskID={$task->parent}"), $task->parentName) . ' / ' : '';?>name;?>
+ parent > 0) echo isset($task->parentName) ? html::a(inlink('view', "taskID={$task->parent}"), $task->parentName) . ' / ' : '';?>name;?>
deleted):?>
task->deleted;?>
@@ -157,7 +157,7 @@
common::printIcon('task', 'create', "productID=0&storyID=0&moduleID=0&taskID=$task->id", $task, 'button', 'copy');
common::printIcon('task', 'delete', "projectID=$task->project&taskID=$task->id", $task, 'button', '', 'hiddenwin');
- if(!empty($task->parent)) echo html::a(helper::createLink('task', 'view', "taskID=$task->parent"), "", '', "class='btn btn-link' title='{$lang->task->parent}'");
+ if($task->parent > 0) echo html::a(helper::createLink('task', 'view', "taskID=$task->parent"), "", '', "class='btn btn-link' title='{$lang->task->parent}'");
?>
diff --git a/module/testcase/control.php b/module/testcase/control.php
index 7cb0cdb893..ef2b0e28d2 100644
--- a/module/testcase/control.php
+++ b/module/testcase/control.php
@@ -1100,7 +1100,7 @@ class testcase extends control
}
/* Get related objects title or names. */
- $relatedModules = $this->dao->select('id, name')->from(TABLE_MODULE)->where('id')->in($relatedModuleIdList)->fetchPairs();
+ $relatedModules = $this->loadModel('tree')->getOptionMenu($productID, 'case');
$relatedStories = $this->dao->select('id,title')->from(TABLE_STORY) ->where('id')->in($relatedStoryIdList)->fetchPairs();
$relatedCases = $this->dao->select('id, title')->from(TABLE_CASE)->where('id')->in($relatedCaseIdList)->fetchPairs();
$relatedSteps = $this->dao->select('id,parent,`case`,version,type,`desc`,expect')->from(TABLE_CASESTEP)->where('`case`')->in(@array_keys($cases))->orderBy('version desc,id')->fetchGroup('case', 'id');
diff --git a/module/testcase/js/batchcreate.js b/module/testcase/js/batchcreate.js
index 6ce0166461..b9b48f46aa 100644
--- a/module/testcase/js/batchcreate.js
+++ b/module/testcase/js/batchcreate.js
@@ -23,7 +23,7 @@ $(document).ready(function()
}
}
}
- link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&branch=' + branch + '&moduleID=' + module + '&storyID='+ $(select).val() + '&onlyOption=true&status=noclosed');
+ link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&branch=' + branch + '&moduleID=' + module + '&storyID='+ $(select).val() + '&onlyOption=true');
$('#story' + index).load(link, function(){$(this).trigger("chosen:updated");});
}
if($(select).val() == 'ditto')
diff --git a/module/testcase/view/view.html.php b/module/testcase/view/view.html.php
index 840fabe44a..1ba8d8cf2a 100644
--- a/module/testcase/view/view.html.php
+++ b/module/testcase/view/view.html.php
@@ -76,8 +76,8 @@
echo " | $stepId | ";
echo "";
if($step->type == 'item') echo "{$stepId}.{$childId}";
- echo nl2br($step->desc) . " | ";
- echo "" . nl2br($step->expect) . " | ";
+ echo nl2br(str_replace(' ', ' ', $step->desc)) . "";
+ echo "" . nl2br(str_replace(' ', ' ', $step->expect)) . " | ";
echo " ";
$childId ++;
}
diff --git a/module/testtask/view/view.html.php b/module/testtask/view/view.html.php
index 91df4b044f..5abf819114 100644
--- a/module/testtask/view/view.html.php
+++ b/module/testtask/view/view.html.php
@@ -48,10 +48,10 @@
deleted):?>
id", $task, 'button', '', '', 'iframe', true);
- common::printIcon('testtask', 'close', "taskID=$task->id", $task, 'button', '', '', 'iframe', true);
- common::printIcon('testtask', 'block', "taskID=$task->id", $task, 'button', 'pause', '', 'iframe', true);
- common::printIcon('testtask', 'activate', "taskID=$task->id", $task, 'button', 'magic', '', 'iframe', true);
+ common::printIcon('testtask', 'start', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true);
+ common::printIcon('testtask', 'close', "taskID=$task->id", $task, 'button', '', '', 'iframe showinonlybody', true);
+ common::printIcon('testtask', 'block', "taskID=$task->id", $task, 'button', 'pause', '', 'iframe showinonlybody', true);
+ common::printIcon('testtask', 'activate', "taskID=$task->id", $task, 'button', 'magic', '', 'iframe showinonlybody', true);
common::printIcon('testtask', 'cases', "taskID=$task->id", $task, 'button', 'sitemap');
common::printIcon('testtask', 'linkCase', "taskID=$task->id", $task, 'button', 'link');
?>
diff --git a/module/todo/control.php b/module/todo/control.php
index fb80cbcd48..cefd0c0983 100644
--- a/module/todo/control.php
+++ b/module/todo/control.php
@@ -340,7 +340,7 @@ class todo extends control
$this->lang->set('menugroup.todo', $from);
}
- $this->view->title = "{$this->lang->todo->common} #$todo->id $todo->name";
+ $this->view->title = $this->app->user->account == $todo->account ? "{$this->lang->todo->common} #$todo->id $todo->name" : $this->lang->todo->common ;
$this->view->position[] = $this->lang->todo->view;
$this->view->todo = $todo;
$this->view->times = date::buildTimeList($this->config->todo->times->begin, $this->config->todo->times->end, $this->config->todo->times->delta);
diff --git a/module/todo/js/common.js b/module/todo/js/common.js
index 8a93301c81..d2afa91671 100644
--- a/module/todo/js/common.js
+++ b/module/todo/js/common.js
@@ -42,18 +42,17 @@ function loadList(type, id)
{
$.get(link, function(data, status)
{
- if(data != ' ')
+ if(data.length != 0)
{
$(divClass).html(data).find('select').chosen();
}
else
{
- $("#type").val("custom");
- $(divClass).html("").find('select').chosen();
+ $(divClass).html("").find('select').chosen();
}
});
}
- else if(type == 'custom')
+ else
{
$(divClass).html($(divID).html());
}
diff --git a/module/todo/js/create.js b/module/todo/js/create.js
index 91a2c08398..1f9e49560c 100644
--- a/module/todo/js/create.js
+++ b/module/todo/js/create.js
@@ -17,7 +17,8 @@ $(function()
$('#switchDate').closest('.input-group-addon').addClass('hidden');
$('#type').find('option').each(function()
{
- if($(this).val() != 'custom') $(this).addClass('hidden');
+ var type = $(this).val();
+ if(type == 'bug' || type == 'task' || type == 'story') $(this).addClass('hidden');
})
}
else
diff --git a/module/todo/model.php b/module/todo/model.php
index 7e93163643..a884da6881 100644
--- a/module/todo/model.php
+++ b/module/todo/model.php
@@ -383,14 +383,13 @@ class todoModel extends model
->beginIF($begin)->andWhere('date')->ge($begin)->fi()
->beginIF($end)->andWhere('date')->le($end)->fi()
->beginIF($status != 'all' and $status != 'undone')->andWhere('status')->in($status)->fi()
- ->beginIF($status == 'undone')->andWhere('status')->ne('done')->fi()
+ ->beginIF($status == 'undone')->andWhere('status')->notin('done,closed')->fi()
->beginIF($date == 'cycle')->andWhere('cycle')->eq('1')->fi()
->beginIF($date != 'cycle')->andWhere('cycle')->eq('0')->fi()
->orderBy($orderBy)
->beginIF($limit > 0)->limit($limit)->fi()
->page($pager)
->query();
-
/* Set session. */
$sql = explode('WHERE', $this->dao->get());
$sql = explode('ORDER', $sql[1]);
diff --git a/module/tree/model.php b/module/tree/model.php
index 3dcfa71dc6..bcd72dfb92 100644
--- a/module/tree/model.php
+++ b/module/tree/model.php
@@ -1644,7 +1644,7 @@ class treeModel extends model
*/
public function getDocStructure()
{
- $stmt = $this->dbh->query($this->dao->select('*')->from(TABLE_MODULE)->where('type')->eq('doc')->andWhere('deleted')->eq(0)->get());
+ $stmt = $this->dbh->query($this->dao->select('*')->from(TABLE_MODULE)->where('type')->eq('doc')->andWhere('deleted')->eq(0)->orderBy('id_desc')->get());
$parent = array();
while($module = $stmt->fetch())
{
@@ -1666,11 +1666,18 @@ class treeModel extends model
{
foreach($module->children as $children)
{
- if($children->parent != 0) continue;//Filter project children modules.
+ if($children->parent != 0 && !empty($tree[$root]))
+ {
+ foreach($tree[$root] as $firstChildren)
+ {
+ if($firstChildren->id == $children->parent) $firstChildren->children[] = $children;
+ }
+ };//Filter project children modules.
$tree[$root][] = $children;
}
}
}
+
return $tree;
}
}
diff --git a/module/tree/view/browse.html.php b/module/tree/view/browse.html.php
index cf3c2b3b2a..edea165603 100644
--- a/module/tree/view/browse.html.php
+++ b/module/tree/view/browse.html.php
@@ -142,7 +142,7 @@
- session->{$viewType . 'List'} ? html::linkButton($this->lang->goback, $this->session->{$viewType .'List'}, 'self', '', 'btn btn-wide') : html::backButton();?>
+ goback, '', "class='btn btn-wide'");?>
|
diff --git a/module/tree/view/browsetask.html.php b/module/tree/view/browsetask.html.php
index 2a08e0adbc..2f1e4f2edb 100644
--- a/module/tree/view/browsetask.html.php
+++ b/module/tree/view/browsetask.html.php
@@ -110,7 +110,7 @@
session->taskList ? html::linkButton($this->lang->goback, $this->session->taskList, '', '', 'btn btn-wide') : html::backButton();
+ echo html::a($backLink, $lang->goback, '', "class='btn btn-wide'");
echo html::hidden('parentModuleID', $currentModuleID);
echo html::hidden('maxOrder', $maxOrder);
?>
diff --git a/module/user/css/login.css b/module/user/css/login.css
index 5029822da1..feb8ac6054 100644
--- a/module/user/css/login.css
+++ b/module/user/css/login.css
@@ -2,7 +2,7 @@ body {background: #1183fb linear-gradient(-90deg, #0a48d1 0%, #1183fb 100%); bac
#login {max-width: 600px!important; margin: 0 auto; margin-top: 5%;}
#loginPanel {background: #fff; overflow: hidden; box-shadow: 0 0 20px 0 rgba(0,0,0,.1); border-radius: 3px;}
#loginPanel > header {padding: 20px; border-bottom: 1px #eee solid; position: relative;}
-#loginPanel > header > h2 {font-size: 16px; margin: 0; line-height: 32px;}
+#loginPanel > header > h2 {font-size: 16px; margin: 0; line-height: 32px; max-width: 83%;}
#loginPanel > header > .actions {position: absolute; right: 20px; top: 20px;}
#loginPanel > .table-row {margin: 20px 0;}
#loginPanel .table-form > tbody > tr > th {width: 60px;}
diff --git a/module/user/model.php b/module/user/model.php
index 4778912b67..d968facc0c 100644
--- a/module/user/model.php
+++ b/module/user/model.php
@@ -1318,7 +1318,7 @@ class userModel extends model
{
if(empty($account)) $account = $this->session->user->account;
if(empty($account)) return array();
- if(empty($acls) and isset($this->session->user->rights['acls'])) $acls = $this->session->user->rights['acls'];
+ if(empty($acls) and !empty($this->session->user->rights['acls'])) $acls = $this->session->user->rights['acls'];
$userView = $this->dao->select('*')->from(TABLE_USERVIEW)->where('account')->eq($account)->fetch();
if(empty($userView)) $userView = $this->computeUserView($account);
diff --git a/module/user/view/create.html.php b/module/user/view/create.html.php
index 8716008a40..3d4567617c 100644
--- a/module/user/view/create.html.php
+++ b/module/user/view/create.html.php
@@ -25,7 +25,7 @@
| | |