From bd27e5b0ed4bc3ec79ffda6a16962768c7a16a6f Mon Sep 17 00:00:00 2001 From: z Date: Fri, 21 Aug 2020 16:01:44 +0800 Subject: [PATCH] * finish task #7645. --- config/zentaopms.php | 1 + module/action/config.php | 1 + module/action/lang/zh-cn.php | 3 +++ module/program/control.php | 22 +++++++++++----------- module/program/css/browse.css | 2 +- module/program/lang/zh-cn.php | 9 ++++++++- module/program/view/browsebylist.html.php | 3 ++- 7 files changed, 27 insertions(+), 14 deletions(-) diff --git a/config/zentaopms.php b/config/zentaopms.php index 527d4c87fa..ff9bafc479 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -204,6 +204,7 @@ $config->objectTables['product'] = TABLE_PRODUCT; $config->objectTables['story'] = TABLE_STORY; $config->objectTables['productplan'] = TABLE_PRODUCTPLAN; $config->objectTables['release'] = TABLE_RELEASE; +$config->objectTables['program'] = TABLE_PROJECT; $config->objectTables['project'] = TABLE_PROJECT; $config->objectTables['task'] = TABLE_TASK; $config->objectTables['build'] = TABLE_BUILD; diff --git a/module/action/config.php b/module/action/config.php index 0946a6c5c6..bcdfac26e6 100755 --- a/module/action/config.php +++ b/module/action/config.php @@ -3,6 +3,7 @@ $config->action->objectNameFields['product'] = 'name'; $config->action->objectNameFields['story'] = 'title'; $config->action->objectNameFields['productplan'] = 'title'; $config->action->objectNameFields['release'] = 'name'; +$config->action->objectNameFields['program'] = 'name'; $config->action->objectNameFields['project'] = 'name'; $config->action->objectNameFields['task'] = 'name'; $config->action->objectNameFields['build'] = 'name'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index db6c3aef0f..ee5b61aca7 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -68,6 +68,7 @@ $lang->action->objectTypes['product'] = $lang->productCommon; $lang->action->objectTypes['story'] = $lang->storyCommon; $lang->action->objectTypes['productplan'] = '计划'; $lang->action->objectTypes['release'] = '发布'; +$lang->action->objectTypes['program'] = '项目'; $lang->action->objectTypes['project'] = $lang->projectCommon; $lang->action->objectTypes['task'] = '任务'; $lang->action->objectTypes['build'] = '版本'; @@ -386,6 +387,7 @@ $lang->action->label->product = $lang->productCommon . '|product|view|produc $lang->action->label->productplan = '计划|productplan|view|productID=%s'; $lang->action->label->release = '发布|release|view|productID=%s'; $lang->action->label->story = "{$lang->storyCommon}|story|view|storyID=%s"; +$lang->action->label->program = "项目|program|browse|"; $lang->action->label->project = "{$lang->projectCommon}|project|view|projectID=%s"; $lang->action->label->task = '任务|task|view|taskID=%s'; $lang->action->label->build = '版本|build|view|buildID=%s'; @@ -407,6 +409,7 @@ $lang->action->label->risk = '风险|risk|view|riskID=%s'; /* Object type. */ $lang->action->search->objectTypeList[''] = ''; $lang->action->search->objectTypeList['product'] = $lang->productCommon; +$lang->action->search->objectTypeList['program'] = '项目'; $lang->action->search->objectTypeList['project'] = $lang->projectCommon; $lang->action->search->objectTypeList['bug'] = 'Bug'; $lang->action->search->objectTypeList['case'] = '用例'; diff --git a/module/program/control.php b/module/program/control.php index 35ccba2052..f96d352206 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -491,18 +491,18 @@ class program extends control * @access public * @return void */ - public function delete($projectID, $confirm = 'no') + public function delete($programID, $confirm = 'no') { - if($confirm == 'no') - { - echo js::confirm(sprintf($this->lang->project->confirmDelete, $this->projects[$projectID]), $this->createLink('project', 'delete', "projectID=$projectID&confirm=yes")); - exit; - } - else - { - $this->project->delete(TABLE_PROJECT, $projectID); - die(js::locate(inlink('browse'), 'parent')); - } + $childrenCount = $this->dao->select('count(*) as count')->from(TABLE_PROJECT)->where('parent')->eq($programID)->andWhere('template')->ne('')->andWhere('deleted')->eq(0)->fetch('count'); + if($childrenCount) die(js::alert($this->lang->program->hasChildren)); + + $program = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($programID)->fetch(); + if($confirm == 'no') die(js::confirm(sprintf($this->lang->program->confirmDelete, $program->name), $this->createLink('program', 'delete', "programID=$programID&confirm=yes"))); + + $this->dao->update(TABLE_PROJECT)->set('deleted')->eq(1)->where('id')->eq($programID)->exec(); + $this->loadModel('action')->create('program', $programID, 'deleted', '', $extra = ACTIONMODEL::CAN_UNDELETED); + + die(js::reload('parent')); } /** diff --git a/module/program/css/browse.css b/module/program/css/browse.css index 0c1d1bde46..4b05de0af8 100644 --- a/module/program/css/browse.css +++ b/module/program/css/browse.css @@ -26,4 +26,4 @@ #cards .pager {margin: 0; float: right;} #cards .pager .btn{border: none} -.w-215px{width:215px;} +.w-240px{width:240px;} diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php index 6d254ec317..93cb1a1beb 100644 --- a/module/program/lang/zh-cn.php +++ b/module/program/lang/zh-cn.php @@ -77,6 +77,11 @@ $lang->program->aclList['custom'] = "自定义白名单(团队成员和白名 $lang->program->privwayList['extend'] = '继承(取项目权限与组织权限的并集)'; $lang->program->privwayList['reset'] = '重新定义(只取项目权限)'; +$lang->program->statusList['wait'] = '未开始'; +$lang->program->statusList['doing'] = '进行中'; +$lang->program->statusList['suspended'] = '已挂起'; +$lang->program->statusList['closed'] = '已关闭'; + $lang->program->noProgram = '暂时没有项目'; $lang->program->accessDenied = '您无权访问该项目!'; $lang->program->chooseProgramType = '选择项目管理方式'; @@ -91,4 +96,6 @@ $lang->program->scrumDesc = '简介:小步迭代, $lang->program->cmmi = '瀑布'; $lang->program->cmmiTitle = '瀑布式项目管理'; $lang->program->cmmiDesc = '简介:按阶段规范化管理
包含功能点:估算、计划、阶段、报告'; -$lang->program->cannotCreateChild = '该项目已经有实际的内容,无法直接添加子项目。您可以为当前项目创建一个父项目,然后在新的父项目下面添加子项目。'; +$lang->program->cannotCreateChild = '该项目已经有实际的内容,无法直接添加子项目。您可以为当前项目创建一个父项目,然后在新的父项目下面添加子项目。'; +$lang->program->hasChildren = '该项目有子项目存在,不能删除。'; +$lang->program->confirmDelete = "您确定删除项目[%s]吗?"; diff --git a/module/program/view/browsebylist.html.php b/module/program/view/browsebylist.html.php index 50a3b1bd92..69885f710a 100644 --- a/module/program/view/browsebylist.html.php +++ b/module/program/view/browsebylist.html.php @@ -14,7 +14,7 @@ program->end);?> program->budget);?> program->PM);?> - actions;?> + actions;?> project->orderAB);?> @@ -44,6 +44,7 @@ id", $project, 'list', '', '', 'iframe', true);?> createLink("program", "edit", "projectID=$project->id"), "", '', "class='btn' title='{$lang->edit}'");?> id", '', 'list', 'treemap-alt', '', '', '', '', $this->lang->program->children);?> + createLink("program", "delete", "projectID=$project->id"), "", 'hiddenwin', "class='btn' title='{$lang->delete}'");?>