diff --git a/module/program/lang/de.php b/module/program/lang/de.php index 461c62007a..6abe5654ef 100644 --- a/module/program/lang/de.php +++ b/module/program/lang/de.php @@ -99,10 +99,10 @@ $lang->program->noProgram = 'No program.'; $lang->program->showClosed = 'Closed programs.'; $lang->program->tips = 'If a parent program is selected, the products under the parent program can be associated. If no program is selected for the project, a product with the same name as the project is created and associated with the project by default.'; $lang->program->confirmBatchUnlink = "Do you want to batch unlink these stakeholders?"; -$lang->program->beginLetterParent = "Parent begin date: %s, begin date should be > = parent begin date."; -$lang->program->endGreaterParent = "Parent end date: %s, end date should be < = parent end date."; -$lang->program->beginGreateChild = "Child earliest begin: %s, parent begin date < = child earliest begin date."; -$lang->program->endLetterChild = "Child latest end: %s, parent end date > = child latest end date."; +$lang->program->beginLetterParent = 'Program "%s" set start date should be greater than or equal to parent program "%s" set start date: %s.'; +$lang->program->endGreaterParent = 'Program "%s" set end date should be less than or equal to parent program "%s" set end date: %s.'; +$lang->program->beginGreateChild = 'The start date of parent program "%s" set should be less than or equal to the minimum start time of child program "%s" set: %s.'; +$lang->program->endLetterChild = 'The end time of parent program "%s" set should be greater than or equal to the maximum end time of child program "%s" set: %s.'; $lang->program->closeErrorMessage = 'There are subprograms or projects that are not closed'; $lang->program->hasChildren = 'It has child programs or projects. You cannot delete it.'; $lang->program->hasProduct = 'It has products. You cannot delete it.'; diff --git a/module/program/lang/en.php b/module/program/lang/en.php index 97f6558e2f..98a84c6887 100644 --- a/module/program/lang/en.php +++ b/module/program/lang/en.php @@ -99,10 +99,10 @@ $lang->program->noProgram = 'No program.'; $lang->program->showClosed = 'Closed'; $lang->program->tips = 'If a parent program is selected, the products under the parent program can be associated. If no program is selected for the project, a product with the same name as the project is created and associated with the project by default.'; $lang->program->confirmBatchUnlink = "Do you want to batch unlink these stakeholders?"; -$lang->program->beginLetterParent = "Parent begin date: %s, begin date should be > = parent begin date."; -$lang->program->endGreaterParent = "Parent end date: %s, end date should be < = parent end date."; -$lang->program->beginGreateChild = "Child earliest begin: %s, parent begin date < = child earliest begin date."; -$lang->program->endLetterChild = "Child latest end: %s, parent end date > = child latest end date."; +$lang->program->beginLetterParent = 'Program "%s" set start date should be greater than or equal to parent program "%s" set start date: %s.'; +$lang->program->endGreaterParent = 'Program "%s" set end date should be less than or equal to parent program "%s" set end date: %s.'; +$lang->program->beginGreateChild = 'The start date of parent program "%s" set should be less than or equal to the minimum start time of child program "%s" set: %s.'; +$lang->program->endLetterChild = 'The end time of parent program "%s" set should be greater than or equal to the maximum end time of child program "%s" set: %s.'; $lang->program->closeErrorMessage = 'There are subprograms or projects that are not closed'; $lang->program->hasChildren = 'The program has a child program or the project exists and can not be deleted.'; $lang->program->hasProduct = 'The program has products exist and can not be deleted.'; diff --git a/module/program/lang/fr.php b/module/program/lang/fr.php index b8eea8f6d2..280aa6e2d9 100644 --- a/module/program/lang/fr.php +++ b/module/program/lang/fr.php @@ -99,10 +99,10 @@ $lang->program->noProgram = 'No program.'; $lang->program->showClosed = 'Closed programs.'; $lang->program->tips = 'If a parent program is selected, the products under the parent program can be associated. If no program is selected for the project, a product with the same name as the project is created and associated with the project by default.'; $lang->program->confirmBatchUnlink = "Do you want to batch unlink these stakeholders?"; -$lang->program->beginLetterParent = "Parent begin date: %s, begin date should be > = parent begin date."; -$lang->program->endGreaterParent = "Parent end date: %s, end date should be < = parent end date."; -$lang->program->beginGreateChild = "Child earliest begin: %s, parent begin date < = child earliest begin date."; -$lang->program->endLetterChild = "Child latest end: %s, parent end date > = child latest end date."; +$lang->program->beginLetterParent = 'La date de début du programme "%s" doit être supérieure ou égale à la date de début du programme parent "%s": %s.'; +$lang->program->endGreaterParent = 'La date de fin du programme "%s" doit être inférieure ou égale à la date de fin du programme parent "%s": %s'; +$lang->program->beginGreateChild = 'La date de début de l\'ensemble parent "%s" doit être inférieure ou égale à l\'heure de début minimale de l\'ensemble enfant "%s": %s.'; +$lang->program->endLetterChild = 'L\'heure de fin de l\'ensemble parent "%s" doit être supérieure ou égale à l\'heure de fin maximale de l\'ensemble enfant "%s": %s.'; $lang->program->closeErrorMessage = 'There are subprograms or projects that are not closed'; $lang->program->hasChildren = 'It has child programs or projects. You cannot delete it.'; $lang->program->hasProduct = 'It has products. You cannot delete it.'; diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php index 2e8bce41d4..1500d000f4 100644 --- a/module/program/lang/zh-cn.php +++ b/module/program/lang/zh-cn.php @@ -99,10 +99,10 @@ $lang->program->noProgram = '暂时没有项目集'; $lang->program->showClosed = '显示已关闭'; $lang->program->tips = '选择了父项目集,则可关联该父项目集下的产品。如果项目未选择任何项目集,则系统会默认创建一个和该项目同名的产品并关联该项目。'; $lang->program->confirmBatchUnlink = "您确定要批量移除这些干系人吗?"; -$lang->program->beginLetterParent = "父项目集的开始日期:%s,开始日期不能小于父项目集的开始日期"; -$lang->program->endGreaterParent = "父项目集的完成日期:%s,完成日期不能大于父项目集的完成日期"; -$lang->program->beginGreateChild = "子项目集的最小开始日期:%s,父项目集的开始日期不能大于子项目集的最小开始日期"; -$lang->program->endLetterChild = "子项目的最大完成日期:%s,父项目的完成日期不能小于子项目的最大完成日期"; +$lang->program->beginLetterParent = '项目集“%s”开始日期应大于等于父项目集“%s”的开始日期:%s。'; +$lang->program->endGreaterParent = '项目集“%s”完成日期应小于等于父项目集“%s”的完成日期:%s。'; +$lang->program->beginGreateChild = '父项目集“%s”的开始日期应小于等于子项目集“%s”的最小开始时间:%s。'; +$lang->program->endLetterChild = '父项目集“%s”的完成时间应大于等于子项目集“%s”的最大完成时间:%s。'; $lang->program->closeErrorMessage = '存在子项目集或项目为未关闭状态'; $lang->program->hasChildren = '该项目集有子项目集或项目存在,不能删除。'; $lang->program->hasProduct = '该项目集有产品存在,不能删除。'; diff --git a/module/program/model.php b/module/program/model.php index f0f9ec6fb1..056adaa7a8 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -709,13 +709,13 @@ class programModel extends model if($parentProgram) { /* Child program begin cannot less than parent. */ - if($program->begin < $parentProgram->begin) dao::$errors['begin'] = sprintf($this->lang->program->beginLetterParent, $parentProgram->begin); + if($program->begin < $parentProgram->begin) dao::$errors['begin'] = sprintf($this->lang->program->beginLetterParent, $program->name, $parentProgram->name, $parentProgram->begin); /* When parent set end then child program end cannot greater than parent. */ - if($parentProgram->end != '0000-00-00' and $program->end > $parentProgram->end) dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $parentProgram->end); + if($parentProgram->end != '0000-00-00' and $program->end > $parentProgram->end) dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $program->name, $parentProgram->name, $parentProgram->end); /* When parent set end then child program cannot set longTime. */ - if(empty($program->end) and $this->post->delta == 999 and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $parentProgram->end); + if(empty($program->end) and $this->post->delta == 999 and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $program->name, $parentProgram->name, $parentProgram->end); /* The budget of a child program cannot beyond the remaining budget of the parent program. */ $program->budgetUnit = $parentProgram->budgetUnit; @@ -799,11 +799,11 @@ class programModel extends model if($children > 0) { - $minChildBegin = $this->dao->select('min(begin) as minBegin')->from(TABLE_PROGRAM)->where('id')->ne($programID)->andWhere('deleted')->eq(0)->andWhere('path')->like("%,{$programID},%")->fetch('minBegin'); - $maxChildEnd = $this->dao->select('max(end) as maxEnd')->from(TABLE_PROGRAM)->where('id')->ne($programID)->andWhere('deleted')->eq(0)->andWhere('path')->like("%,{$programID},%")->andWhere('end')->ne('0000-00-00')->fetch('maxEnd'); + $minChildBegin = $this->dao->select('name, min(begin) as minBegin')->from(TABLE_PROGRAM)->where('id')->ne($programID)->andWhere('deleted')->eq(0)->andWhere('path')->like("%,{$programID},%")->fetch(); + $maxChildEnd = $this->dao->select('name, max(end) as maxEnd')->from(TABLE_PROGRAM)->where('id')->ne($programID)->andWhere('deleted')->eq(0)->andWhere('path')->like("%,{$programID},%")->andWhere('end')->ne('0000-00-00')->fetch(); - if($minChildBegin and $program->begin > $minChildBegin) dao::$errors['begin'] = sprintf($this->lang->program->beginGreateChild, $minChildBegin); - if($maxChildEnd and $program->end < $maxChildEnd and $this->post->delta != 999) dao::$errors['end'] = sprintf($this->lang->program->endLetterChild, $maxChildEnd); + if($minChildBegin and $program->begin > $minChildBegin) dao::$errors['begin'] = sprintf($this->lang->program->beginGreateChild, $program->name, $minChildBegin->name, $minChildBegin->minBegin); + if($maxChildEnd and $program->end < $maxChildEnd and $this->post->delta != 999) dao::$errors['end'] = sprintf($this->lang->program->endLetterChild, $program->name, $maxChildEnd->name, $maxChildEnd->maxEnd); if(dao::isError()) return false; } @@ -818,9 +818,9 @@ class programModel extends model $parentProgram = $this->dao->select('*')->from(TABLE_PROGRAM)->where('id')->eq($program->parent)->fetch(); if($parentProgram) { - if($program->begin < $parentProgram->begin) dao::$errors['begin'] = sprintf($this->lang->program->beginLetterParent, $parentProgram->begin); - if($parentProgram->end != '0000-00-00' and $program->end > $parentProgram->end) dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $parentProgram->end); - if(empty($program->end) and $this->post->delta == 999 and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $parentProgram->end); + if($program->begin < $parentProgram->begin) dao::$errors['begin'] = sprintf($this->lang->program->beginLetterParent, $program->name, $parentProgram->name, $parentProgram->begin); + if($parentProgram->end != '0000-00-00' and $program->end > $parentProgram->end) dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $program->name, $parentProgram->name, $parentProgram->end); + if(empty($program->end) and $this->post->delta == 999 and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->endGreaterParent, $program->name, $parentProgram->name, $parentProgram->end); } /* The budget of a child program cannot beyond the remaining budget of the parent program. */ diff --git a/module/project/control.php b/module/project/control.php index e62ada520e..1365bbd362 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -696,6 +696,7 @@ class project extends control if($this->post->names) { $allChanges = $this->project->batchUpdate(); + if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); if(!empty($allChanges)) { @@ -707,7 +708,8 @@ class project extends control $this->action->logHistory($actionID, $changes); } } - return print(js::locate($this->session->projectList, 'parent')); + $locateLink = $this->session->projectList; + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink)); } if(!$this->post->projectIdList) return print(js::locate($this->session->projectList, 'parent')); diff --git a/module/project/lang/de.php b/module/project/lang/de.php index 5d2eeeaac4..29b42f427f 100644 --- a/module/project/lang/de.php +++ b/module/project/lang/de.php @@ -317,8 +317,8 @@ $lang->project->parentBeginEnd = "Parent begin&end date: %s ~ %s"; $lang->project->parentBudget = "The budget of the parent project: "; $lang->project->beginLetterParent = "The begin date of the parent project: %s. It cannot be < the begin date of its parent project."; $lang->project->endGreaterParent = "The end date of the parent project: %s. It cannot be > the end date of its parent project."; -$lang->project->beginGreateChild = "The minimum start date of the project set: %s. The start date of the project cannot be less than the minimum start date of the project set."; -$lang->project->endLetterChild = "The maximum finish date for the project set: %s. The completion date of a project cannot be greater than the maximum completion date of the project set."; +$lang->project->beginGreateChild = 'The start date of project "%s" should be greater than or equal to the minimum start date of project "%s" set : %s'; +$lang->project->endLetterChild = 'The finish date for project "%s" should be less than or equal to the maximum finish date for project "%s" set :%s'; $lang->project->childLongTime = "If a child as long-term projects, the parent should be long-term too."; $lang->project->confirmUnlinkMember = "Do you want to remove this user from project?"; diff --git a/module/project/lang/en.php b/module/project/lang/en.php index 21ba8946c1..c914ed3dfb 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -317,8 +317,8 @@ $lang->project->parentBeginEnd = "The begin and end date of the parent proj $lang->project->parentBudget = "The budget of the parent project: "; $lang->project->beginLetterParent = "The begin date of the parent project: %s. It cannot be < the begin date of its parent project."; $lang->project->endGreaterParent = "The end date of the parent project: %s. It cannot be > the end date of its parent project."; -$lang->project->beginGreateChild = "The minimum start date of the project set: %s. The start date of the project cannot be less than the minimum start date of the project set."; -$lang->project->endLetterChild = "The maximum finish date for the project set: %s. The completion date of a project cannot be greater than the maximum completion date of the project set."; +$lang->project->beginGreateChild = 'The start date of project "%s" should be greater than or equal to the minimum start date of project "%s" set : %s'; +$lang->project->endLetterChild = 'The finish date for project "%s" should be less than or equal to the maximum finish date for project "%s" set :%s'; $lang->project->childLongTime = "There are long-term projects in the child project, and the parent project should also be a long-term project."; $lang->project->confirmUnlinkMember = "Do you want to remove this user from project?"; diff --git a/module/project/lang/fr.php b/module/project/lang/fr.php index c556b7a845..c9cae434e2 100644 --- a/module/project/lang/fr.php +++ b/module/project/lang/fr.php @@ -317,8 +317,8 @@ $lang->project->parentBeginEnd = "Parent begin&end date: %s ~ %s"; $lang->project->parentBudget = "The budget of the parent project: "; $lang->project->beginLetterParent = "The begin date of the parent project: %s. It cannot be < the begin date of its parent project."; $lang->project->endGreaterParent = "The end date of the parent project: %s. It cannot be > the end date of its parent project."; -$lang->project->beginGreateChild = "The minimum start date of the project set: %s. The start date of the project cannot be less than the minimum start date of the project set."; -$lang->project->endLetterChild = "The maximum finish date for the project set: %s. The completion date of a project cannot be greater than the maximum completion date of the project set."; +$lang->project->beginGreateChild = 'La date de début du projet "%s" doit être supérieure ou égale à la date de début minimale du projet "%s" set : % s'; +$lang->project->endLetterChild = 'La date d\'achèvement du projet "%s" doit être inférieure ou égale à la date d\'achèvement maximale de l\'ensemble du projet "%s" set: % s'; $lang->project->childLongTime = "If a child as long-term projects, the parent should be long-term too."; $lang->project->confirmUnlinkMember = "Do you want to remove this user from project?"; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index 61e35956bb..5cb3eb071a 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -317,8 +317,8 @@ $lang->project->parentBeginEnd = "父项目起止时间:%s ~ %s"; $lang->project->parentBudget = "父项目预算:"; $lang->project->beginLetterParent = "父项目的开始日期:%s,开始日期不能小于父项目的开始日期"; $lang->project->endGreaterParent = "父项目的完成日期:%s,完成日期不能大于父项目的完成日期"; -$lang->project->beginGreateChild = "项目集的最小开始日期:%s,项目的开始日期不能小于项目集的最小开始日期"; -$lang->project->endLetterChild = "项目集的最大完成日期:%s,项目的完成日期不能大于项目集的最大完成日期"; +$lang->project->beginGreateChild = '项目“%s”的开始日期应大于等于项目集“%s”的最小开始日期:%s'; +$lang->project->endLetterChild = '项目“%s”的完成日期应小于等于项目集“%s”的最大完成日期:%s'; $lang->project->childLongTime = "子项目中有长期项目,父项目也应该是长期项目"; $lang->project->confirmUnlinkMember = "您确定从该项目中移除该用户吗?"; diff --git a/module/project/model.php b/module/project/model.php index 5087ab26de..6e72c9d4d0 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -1085,10 +1085,10 @@ class projectModel extends model if($program) { /* Child project begin cannot less than parent. */ - if($project->begin < $program->begin) dao::$errors['begin'] = sprintf($this->lang->project->beginGreateChild, $program->begin); + if($project->begin < $program->begin) dao::$errors['begin'] = sprintf($this->lang->project->beginGreateChild, $project->name, $program->name, $program->begin); /* When parent set end then child project end cannot greater than parent. */ - if($program->end != '0000-00-00' and $project->end > $program->end) dao::$errors['end'] = sprintf($this->lang->project->endLetterChild, $program->end); + if($program->end != '0000-00-00' and $project->end > $program->end) dao::$errors['end'] = sprintf($this->lang->project->endLetterChild, $project->name, $program->name, $program->end); if(dao::isError()) return false; } @@ -1349,10 +1349,10 @@ class projectModel extends model if($program) { /* Child project begin cannot less than parent. */ - if($project->begin < $program->begin) dao::$errors['begin'] = sprintf($this->lang->project->beginGreateChild, $program->begin); + if($project->begin < $program->begin) dao::$errors['begin'] = sprintf($this->lang->project->beginGreateChild, $project->name, $program->name, $program->begin); /* When parent set end then child project end cannot greater than parent. */ - if($program->end != '0000-00-00' and $project->end > $program->end) dao::$errors['end'] = sprintf($this->lang->project->endLetterChild, $program->end); + if($program->end != '0000-00-00' and $project->end > $program->end) dao::$errors['end'] = sprintf($this->lang->project->endLetterChild, $project->name, $program->name, $program->end); if(dao::isError()) return false; } @@ -1518,11 +1518,18 @@ class projectModel extends model if($parentProject) { /* Child project begin cannot less than parent. */ - if($projects[$projectID]->begin < $parentProject->begin) dao::$errors['begin'] = sprintf($this->lang->project->beginGreateChild, $parentProject->begin); + if($projects[$projectID]->begin < $parentProject->begin) + { + dao::$errors['begin'] = sprintf($this->lang->project->beginGreateChild, $projects[$projectID]->name, $parentProject->name, $parentProject->begin); + return false; + } /* When parent set end then child project end cannot greater than parent. */ - if($parentProject->end != '0000-00-00' and $projects[$projectID]->end > $parentProject->end) dao::$errors['end'] = sprintf($this->lang->project->endLetterChild, $parentProject->end); - + if($parentProject->end != '0000-00-00' and $projects[$projectID]->end > $parentProject->end) + { + dao::$errors['end'] = sprintf($this->lang->project->endLetterChild, $projects[$projectID]->name, $parentProject->name, $parentProject->end); + return false; + } } } @@ -1534,7 +1541,7 @@ class projectModel extends model $projects[$projectID]->{$extendField->field} = htmlSpecialString($projects[$projectID]->{$extendField->field}); } } - if(dao::isError()) return print(js::error(dao::getError())); + if(dao::isError()) return false; foreach($projects as $projectID => $project) { diff --git a/module/project/view/batchedit.html.php b/module/project/view/batchedit.html.php index 42d48187bb..2ce4a609f4 100644 --- a/module/project/view/batchedit.html.php +++ b/module/project/view/batchedit.html.php @@ -19,7 +19,7 @@

project->batchEdit;?>

-
+