* Finish task #36488.

This commit is contained in:
Yagami
2021-03-11 09:11:17 +08:00
parent 80f6cf2fca
commit 18ea33f62e
4 changed files with 29 additions and 12 deletions
+23 -7
View File
@@ -115,13 +115,29 @@ class project extends control
*/
public function ajaxGetDropMenu($projectID = 0, $module, $method)
{
$projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->in($this->app->user->view->projects)->andWhere('deleted')->eq(0)->orderBy('parent desc')->fetchAll();
$programs = $this->dao->select('id, name')->from(TABLE_PROGRAM)->where('type')->eq('program')->andWhere('deleted')->eq(0)->orderBy('order_asc')->fetchPairs();
$projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->in($this->app->user->view->projects)->andWhere('deleted')->eq(0)->orderBy('openedDate_desc')->fetchAll('id');
/* Sort project by program. */
$orderedProjects = array();
foreach($programs as $programID => $programName)
{
foreach($projects as $project)
{
if($project->parent == $programID)
{
$orderedProjects[] = $project;
unset($projects[$project->id]);
}
}
}
if(!empty($projects)) $orderedProjects += $projects;
$this->view->projectID = $projectID;
$this->view->projects = $projects;
$this->view->projects = $orderedProjects;
$this->view->module = $module;
$this->view->method = $method;
$this->view->programs = $this->loadModel('program')->getPairs(true);
$this->view->programs = $programs;
$this->display();
}
@@ -355,10 +371,10 @@ class project extends control
$this->loadModel('action');
$project = $this->project->getByID($projectID);
$projectID = $project->parent;
$programID = $project->parent;
/* Navigation stay in project when enter from project list. */
$this->adjustNavigation($from, $projectID);
/* Navigation stay in program when enter from program list. */
$this->adjustNavigation($from, $programID);
if($_POST)
{
@@ -409,7 +425,7 @@ class project extends control
$this->view->PMUsers = $this->loadModel('user')->getPairs('noclosed|nodeleted|pmfirst', $project->PM);
$this->view->users = $this->user->getPairs('noclosed|nodeleted');
$this->view->project = $project;
$this->view->projectList = $this->program->getParentPairs();
$this->view->programList = $this->program->getParentPairs();
$this->view->projectID = $projectID;
$this->view->allProducts = array('0' => '') + $allProducts;
$this->view->productPlans = $productPlans;
+4 -3
View File
@@ -852,7 +852,7 @@ class projectModel extends model
->setIF($this->post->future, 'budget', 0)
->setIF($this->post->budget != 0, 'budget', round($this->post->budget, 2))
->join('whitelist', ',')
->stripTags($this->config->project->editor->prjedit['id'], $this->config->allowedTags)
->stripTags($this->config->project->editor->edit['id'], $this->config->allowedTags)
->remove('products,branch,plans,delta,future')
->get();
@@ -892,7 +892,7 @@ class projectModel extends model
return false;
}
$project = $this->loadModel('file')->processImgURL($project, $this->config->project->editor->prjedit['id'], $this->post->uid);
$project = $this->loadModel('file')->processImgURL($project, $this->config->project->editor->edit['id'], $this->post->uid);
$requiredFields = $this->config->project->edit->requiredFields;
if($this->post->delta == 999) $requiredFields = trim(str_replace(',end,', ',', ",{$requiredFields},"), ',');
@@ -909,7 +909,7 @@ class projectModel extends model
->checkIF($project->begin != '', 'begin', 'date')
->checkIF($project->end != '', 'end', 'date')
->checkIF($project->end != '', 'end', 'gt', $project->begin)
->check('name', 'unique', "id!=$projectID and deleted='0'")
->check('name', 'unique', "id != $projectID and deleted='0'")
->where('id')->eq($projectID)
->exec();
@@ -1192,6 +1192,7 @@ class projectModel extends model
public function updateProductProgram($oldProgram, $newProgram, $products)
{
$this->loadModel('action');
$this->loadModel('program');
/* Product belonging project set processing. */
$oldTopProgram = $this->program->getTopByID($oldProgram);
$newTopProgram = $this->program->getTopByID($newProgram);
+1 -1
View File
@@ -21,7 +21,7 @@ $projectsPinYin = common::convert2Pinyin($projectNames);
foreach($projects as $project)
{
$link = helper::createLink('project', 'index', "projectID=%s", '', '', $project->id);
$projectName = $project->parent ? zget($programs, $project->parent, '') . '/' . $project->name : $project->name;
$projectName = zget($programs, $project->parent, '') ? zget($programs, $project->parent) . '/' . $project->name : $project->name;
if($project->status != 'done' and $project->status != 'closed' and $project->PM == $this->app->user->account)
{
$myProjectsHtml .= html::a(sprintf($link, $project->id), $projectName, '', "class='text-important' title='{$projectName}' data-key='" . zget($projectsPinYin, $projectName, '') . "'");
+1 -1
View File
@@ -33,7 +33,7 @@
<table class='table table-form'>
<tr>
<th class='w-120px'><?php echo $lang->program->parent;?></th>
<td><?php echo html::select('parent', $projectList, $project->parent, "class='form-control chosen'");?></td>
<td><?php echo html::select('parent', $programList, $project->parent, "class='form-control chosen'");?></td>
<td></td>
<td></td>
</tr>