From ec6ced01d562ac85b660a2c921502ac228cee08f Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Wed, 18 Nov 2020 14:57:38 +0800
Subject: [PATCH] * Fix program js.
---
config/zentaopms.php | 2 +-
module/program/js/common.js | 11 ++++
module/program/js/pgmcreate.js | 16 +----
module/program/js/pgmedit.js | 15 -----
module/program/js/prjcreate.js | 11 ----
module/program/js/prjedit.js | 13 ----
module/program/lang/zh-cn.php | 1 +
module/program/model.php | 30 ++++-----
module/program/view/pgmcreate.html.php | 6 --
module/program/view/pgmedit.html.php | 9 +--
module/program/view/prjcreate.html.php | 6 --
module/program/view/prjedit.html.php | 13 ++--
module/project/model.php | 85 ++++++++++++++------------
13 files changed, 81 insertions(+), 137 deletions(-)
diff --git a/config/zentaopms.php b/config/zentaopms.php
index 2a88b990e5..7ee708f8a9 100644
--- a/config/zentaopms.php
+++ b/config/zentaopms.php
@@ -157,7 +157,7 @@ define('TABLE_RELEASE', '`' . $config->db->prefix . 'release`');
define('TABLE_PROGRAM', '`' . $config->db->prefix . 'project`');
define('TABLE_PROJECT', '`' . $config->db->prefix . 'project`');
-define('TABLE_PHASE', '`' . $config->db->prefix . 'project`');
+define('TABLE_EXECUTION', '`' . $config->db->prefix . 'project`');
define('TABLE_TASK', '`' . $config->db->prefix . 'task`');
define('TABLE_TASKSPEC', '`' . $config->db->prefix . 'taskspec`');
define('TABLE_TEAM', '`' . $config->db->prefix . 'team`');
diff --git a/module/program/js/common.js b/module/program/js/common.js
index 1ef90b5d67..7fa69d3e5a 100644
--- a/module/program/js/common.js
+++ b/module/program/js/common.js
@@ -99,6 +99,17 @@ function computeEndDate(delta)
if(!beginDate) return;
delta = parseInt(delta);
+ if(delta == 999)
+ {
+ $('#end').val('');
+ $('#end').attr('disabled', 'disabled');
+ return false;
+ }
+ else
+ {
+ $('#end').removeAttr('disabled');
+ }
+
beginDate = convertStringToDate(beginDate);
if((delta == 7 || delta == 14) && (beginDate.getDay() == 1))
{
diff --git a/module/program/js/pgmcreate.js b/module/program/js/pgmcreate.js
index bf20ef58cb..a9161ac955 100644
--- a/module/program/js/pgmcreate.js
+++ b/module/program/js/pgmcreate.js
@@ -1,18 +1,4 @@
-$(function()
-{
- $('#parent').change();
- $('#longTime').change(function()
- {
- if($(this).prop('checked'))
- {
- $('#end').attr('disabled', 'disabled');
- }
- else
- {
- $('#end').removeAttr('disabled');
- }
- });
-})
+$(function(){$('#parent').change();})
function setAclList(programID)
{
diff --git a/module/program/js/pgmedit.js b/module/program/js/pgmedit.js
index b8291dadaa..21de13d9eb 100644
--- a/module/program/js/pgmedit.js
+++ b/module/program/js/pgmedit.js
@@ -9,18 +9,3 @@ function setAclList(programID)
$('.aclBox').html($('#PGMAcl').html());
}
}
-
-$(function()
-{
- $('#longTime').change(function()
- {
- if($(this).prop('checked'))
- {
- $('#end').attr('disabled', 'disabled');
- }
- else
- {
- $('#end').removeAttr('disabled');
- }
- });
-})
diff --git a/module/program/js/prjcreate.js b/module/program/js/prjcreate.js
index 57cb97a3b4..abc9d1be6d 100644
--- a/module/program/js/prjcreate.js
+++ b/module/program/js/prjcreate.js
@@ -1,17 +1,6 @@
$(function()
{
$('#copyProjects a').click(function(){setCopyProject($(this).data('id')); $('#copyProjectModal').modal('hide')});
- $('#longTime').change(function()
- {
- if($(this).prop('checked'))
- {
- $('#end').attr('disabled', 'disabled');
- }
- else
- {
- $('#end').removeAttr('disabled');
- }
- });
setAclList($("#parent").val());
if(typeof(currentPlanID) == 'undefined')
diff --git a/module/program/js/prjedit.js b/module/program/js/prjedit.js
index c7befb897c..19900c7783 100644
--- a/module/program/js/prjedit.js
+++ b/module/program/js/prjedit.js
@@ -1,18 +1,5 @@
$(function()
{
- $('#longTime').change(function()
- {
- if($(this).prop('checked'))
- {
- $('#end').val('').attr('disabled', 'disabled');
- $('#days').val('');
- }
- else
- {
- $('#end').removeAttr('disabled');
- }
- });
-
$('#parent').click(function()
{
if(!confirm(PGMChangeTips)) return false;
diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php
index d7d754640f..f0f534b1cf 100644
--- a/module/program/lang/zh-cn.php
+++ b/module/program/lang/zh-cn.php
@@ -123,6 +123,7 @@ $lang->program->endList[31] = '一个月';
$lang->program->endList[93] = '三个月';
$lang->program->endList[186] = '半年';
$lang->program->endList[365] = '一年';
+$lang->program->endList[999] = '长期';
$lang->program->noPRJ = '暂时没有项目';
$lang->program->accessDenied = '您无权访问该项目!';
diff --git a/module/program/model.php b/module/program/model.php
index 63e3b4de03..c21a184d26 100644
--- a/module/program/model.php
+++ b/module/program/model.php
@@ -251,12 +251,12 @@ class programModel extends model
->setDefault('parent', 0)
->setDefault('openedDate', helper::now())
->setIF($this->post->acl == 'open', 'whitelist', '')
- ->setIF($this->post->longTime == 1, 'end', '2059-12-31')
+ ->setIF($this->post->delta == 999, 'end', '2059-12-31')
->add('type', 'program')
->join('whitelist', ',')
->cleanInt('budget')
->stripTags($this->config->program->editor->pgmcreate['id'], $this->config->allowedTags)
- ->remove('delta,longTime')
+ ->remove('delta')
->get();
if($program->parent)
@@ -271,7 +271,7 @@ class programModel extends model
if($parentProgram->end != '0000-00-00' and $program->end > $parentProgram->end) dao::$errors['end'] = sprintf($this->lang->program->PGMEndGreaterParent, $parentProgram->end);
/* When parent set end then child program cannot set longTime. */
- if(empty($program->end) and $this->post->longTime and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->PGMEndGreaterParent, $parentProgram->end);
+ if(empty($program->end) and $this->post->delta == 999 and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->PGMEndGreaterParent, $parentProgram->end);
if(dao::isError()) return false;
}
@@ -346,10 +346,10 @@ class programModel extends model
->setIF($this->post->begin == '0000-00-00', 'begin', '')
->setIF($this->post->end == '0000-00-00', 'end', '')
->setIF($this->post->acl == 'open', 'whitelist', '')
- ->setIF($this->post->longTime == 1, 'end', '2059-12-31')
+ ->setIF($this->post->delta == 999, 'end', '2059-12-31')
->join('whitelist', ',')
->stripTags($this->config->program->editor->pgmedit['id'], $this->config->allowedTags)
- ->remove('uid,delta,longTime')
+ ->remove('uid,delta')
->get();
$program = $this->loadModel('file')->processImgURL($program, $this->config->program->editor->pgmedit['id'], $this->post->uid);
@@ -361,7 +361,7 @@ class programModel extends model
$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');
if($minChildBegin and $program->begin > $minChildBegin) dao::$errors['begin'] = sprintf($this->lang->program->PGMBeginGreateChild, $minChildBegin);
- if($maxChildEnd and $program->end < $maxChildEnd and !$this->post->longTime) dao::$errors['end'] = sprintf($this->lang->program->PGMEndLetterChild, $maxChildEnd);
+ if($maxChildEnd and $program->end < $maxChildEnd and $this->post->delta != 999) dao::$errors['end'] = sprintf($this->lang->program->PGMEndLetterChild, $maxChildEnd);
}
if($program->parent)
@@ -371,7 +371,7 @@ class programModel extends model
{
if($program->begin < $parentProgram->begin) dao::$errors['begin'] = sprintf($this->lang->program->PGMBeginLetterParent, $parentProgram->begin);
if($parentProgram->end != '0000-00-00' and $program->end > $parentProgram->end) dao::$errors['end'] = sprintf($this->lang->program->PGMEndGreaterParent, $parentProgram->end);
- if(empty($program->end) and $this->post->longTime and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->PGMEndGreaterParent, $parentProgram->end);
+ if(empty($program->end) and $this->post->delta == 999 and $parentProgram->end != '0000-00-00') dao::$errors['end'] = sprintf($this->lang->program->PGMEndGreaterParent, $parentProgram->end);
}
}
if(dao::isError()) return false;
@@ -1110,8 +1110,8 @@ class programModel extends model
{
$project = fixer::input('post')
->setDefault('status', 'wait')
- ->setIF($this->post->longTime == 1, 'end', '2059-12-31')
- ->setIF($this->post->longTime == 1, 'days', 0)
+ ->setIF($this->post->delta == 999, 'end', '2059-12-31')
+ ->setIF($this->post->delta == 999, 'days', 0)
->setIF($this->post->acl == 'open', 'whitelist', '')
->setDefault('openedBy', $this->app->user->account)
->setDefault('openedDate', helper::now())
@@ -1120,7 +1120,7 @@ class programModel extends model
->join('whitelist', ',')
->cleanInt('budget')
->stripTags($this->config->program->editor->prjcreate['id'], $this->config->allowedTags)
- ->remove('longTime,products,branch,plans,delta')
+ ->remove('products,branch,plans,delta')
->get();
if($project->parent)
@@ -1146,7 +1146,7 @@ class programModel extends model
}
$requiredFields = $this->config->program->PRJCreate->requiredFields;
- if($this->post->longTime) $requiredFields = trim(str_replace(',end,', ',', ",{$requiredFields},"), ',');
+ if($this->post->delta == 999) $requiredFields = trim(str_replace(',end,', ',', ",{$requiredFields},"), ',');
$this->lang->project->name = $this->lang->program->PRJName;
$this->lang->project->code = $this->lang->program->PRJCode;
@@ -1239,14 +1239,14 @@ class programModel extends model
$project = fixer::input('post')
->setDefault('team', substr($this->post->name, 0, 30))
- ->setIF($this->post->longTime == 1, 'end', '2059-12-31')
- ->setIF($this->post->longTime == 1, 'days', 0)
+ ->setIF($this->post->delta == 999, 'end', '2059-12-31')
+ ->setIF($this->post->delta == 999, 'days', 0)
->setIF($this->post->begin == '0000-00-00', 'begin', '')
->setIF($this->post->end == '0000-00-00', 'end', '')
->setIF($this->post->acl == 'open', 'whitelist', '')
->join('whitelist', ',')
->stripTags($this->config->program->editor->prjedit['id'], $this->config->allowedTags)
- ->remove('longTime,products,branch,plans,delta')
+ ->remove('products,branch,plans,delta')
->get();
if($project->parent)
@@ -1275,7 +1275,7 @@ class programModel extends model
$project = $this->loadModel('file')->processImgURL($project, $this->config->program->editor->prjedit['id'], $this->post->uid);
$requiredFields = $this->config->program->PRJEdit->requiredFields;
- if($this->post->longTime) $requiredFields = trim(str_replace(',end,', ',', ",{$requiredFields},"), ',');
+ if($this->post->delta == 999) $requiredFields = trim(str_replace(',end,', ',', ",{$requiredFields},"), ',');
$this->lang->project->name = $this->lang->program->PRJName;
$this->lang->project->code = $this->lang->program->PRJCode;
diff --git a/module/program/view/pgmcreate.html.php b/module/program/view/pgmcreate.html.php
index 216740f191..86b56a7d83 100644
--- a/module/program/view/pgmcreate.html.php
+++ b/module/program/view/pgmcreate.html.php
@@ -81,12 +81,6 @@
program->begin . "' required");?>
program->to;?>
program->end . "' required");?>
-
-