* Finish task #9112.

This commit is contained in:
tianshujie98
2021-01-27 16:08:34 +08:00
parent 5ac548383e
commit f6c559ecd6
9 changed files with 273 additions and 170 deletions
+44 -19
View File
@@ -356,16 +356,38 @@ class product extends control
$product = $this->product->getById($productID);
/* Get the projects linked with this product. */
$projects = array();
$notRemoveProduct = array();
$linkStoriesProjects = array();
$canChangePGM = true;
$singleLinkProjects = array();
$multipleLinkProjects = array();
$notRemoveProduct = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('product')->eq($productID)->fetchPairs('project', 'product');
if(!empty($notRemoveProduct)) $canChangePGM = false;
$projectPairs = $this->product->getProjectPairsByProduct($productID);
if(!empty($projectPairs))
{
foreach($projectPairs as $projectID => $projectName)
{
$projects[$projectID] = new stdClass();
$projects[$projectID]->id = $projectID;
$projects[$projectID]->name = $projectName;
$projects[$projectID]->product = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetchPairs();
if($canChangePGM)
{
$products = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetchPairs();
if(count($products) == 1)
{
$singleLinkProjects[$projectID] = $projectName;
}
if(count($products) > 1)
{
$multipleLinkProjects[$projectID] = $projectName;
}
}
else
{
if(isset($notRemoveProduct[$projectID])) $linkStoriesProjects[$projectID] = $projectName;
}
}
}
@@ -374,9 +396,9 @@ class product extends control
$changes = $this->product->update($productID);
/* Change the projects set of the program. */
if(($_POST['program'] != $product->program) and $projects)
if(($_POST['program'] != $product->program) and $singleLinkProjects or $multipleLinkProjects)
{
$this->product->updateProjects($projects, $_POST['program'], $_POST['confirmChange']);
$this->product->updateProjects($productID, $singleLinkProjects, $multipleLinkProjects);
}
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
@@ -432,18 +454,21 @@ class product extends control
$this->view->position[] = html::a($this->createLink($this->moduleName, 'browse'), $product->name);
$this->view->position[] = $this->lang->product->edit;
$this->view->product = $product;
$this->view->groups = $this->loadModel('group')->getPairs();
$this->view->program = $this->loadModel('program')->getParentPairs();
$this->view->poUsers = $poUsers;
$this->view->poUsers = $poUsers;
$this->view->qdUsers = $qdUsers;
$this->view->rdUsers = $rdUsers;
$this->view->users = $this->user->getPairs('nodeleted|noclosed');
$this->view->programs = array('') + $this->loadModel('program')->getTopPGMPairs();
$this->view->projects = $projects;
$this->view->lines = array('') + $this->loadModel('tree')->getLinePairs();
$this->view->URSRPairs = $this->loadModel('custom')->getURSRPairs();
$this->view->product = $product;
$this->view->groups = $this->loadModel('group')->getPairs();
$this->view->program = $this->loadModel('program')->getParentPairs();
$this->view->poUsers = $poUsers;
$this->view->poUsers = $poUsers;
$this->view->qdUsers = $qdUsers;
$this->view->rdUsers = $rdUsers;
$this->view->users = $this->user->getPairs('nodeleted|noclosed');
$this->view->programs = array('') + $this->loadModel('program')->getTopPGMPairs();
$this->view->lines = array('') + $this->loadModel('tree')->getLinePairs();
$this->view->URSRPairs = $this->loadModel('custom')->getURSRPairs();
$this->view->canChangePGM = $canChangePGM;
$this->view->linkStoriesProjects = $linkStoriesProjects;
$this->view->singleLinkProjects = $singleLinkProjects;
$this->view->multipleLinkProjects = $multipleLinkProjects;
unset($this->lang->product->typeList['']);
$this->display();
+17 -26
View File
@@ -3,35 +3,26 @@ $(function()
$('#program').change(function()
{
var programID = $(this).val();
if(programID != oldProgramID && projects)
if(programID != oldProgramID && (!canChangePGM || singleLinkProjects.length !== 0 || multipleLinkProjects.length !== 0))
{
var singleLinkProjects = '';
var multipleLinkProjects = '';
for(var i in projects)
$('#changeProgram').modal({show: true});
if(!canChangePGM)
{
var project = projects[i];
if(Object.getOwnPropertyNames(project.product).length == 1)
{
singleLinkProjects += '【' + project.name + '】';
}
else
{
multipleLinkProjects += '【' + project.name + '】';
}
}
PGMChangeTip = PGMChangeTip.replace("%s", singleLinkProjects);
confirmChangePGM = confirmChangePGM.replace("%s", multipleLinkProjects);
if(singleLinkProjects) alert(PGMChangeTip);
if(multipleLinkProjects && confirm(confirmChangePGM))
{
$('#confirmChange').val('yes');
}
else
{
$('#confirmChange').val('no');
$('#program').val(oldProgramID);
$('#program').trigger("chosen:updated");
}
}
})
});
function setChangeProjects()
{
var projects = ',';
$("input[name^='projects']:checked").each(function()
{
projects += $(this).val() + ',';
$('#changeProjects').val(projects);
});
$('#changeProgram').modal('hide');
}
+24 -22
View File
@@ -9,28 +9,29 @@
* @version $Id: en.php 5091 2013-07-10 06:06:46Z chencongzhi520@gmail.com $
* @link http://www.zentao.net
*/
$lang->product->common = $lang->productCommon;
$lang->product->index = $lang->productCommon . 'Home';
$lang->product->browse = 'Story Liste';
$lang->product->dynamic = 'Verlauf';
$lang->product->view = 'Übersicht';
$lang->product->edit = "{$lang->productCommon} bearbeiten";
$lang->product->batchEdit = 'Mehrere bearbeiten';
$lang->product->create = "Erstelle {$lang->productCommon}";
$lang->product->delete = "Lösche {$lang->productCommon}";
$lang->product->deleted = 'Gelöscht';
$lang->product->close = 'Schließen';
$lang->product->closeAction = "Close {$lang->productCommon}";
$lang->product->select = "Auswahl {$lang->productCommon}";
$lang->product->mine = 'Meine Zuständigkeiten:';
$lang->product->other = 'Andere:';
$lang->product->closed = 'Geschlossen';
$lang->product->updateOrder = 'Ranking';
$lang->product->orderAction = "Rank {$lang->productCommon}";
$lang->product->all = "Alle {$lang->productCommon}";
$lang->product->export = 'Exportiere Daten';
$lang->product->exportAction = "Export {$lang->productCommon}";
$lang->product->dashboard = 'Dashboard';
$lang->product->common = $lang->productCommon;
$lang->product->index = $lang->productCommon . 'Home';
$lang->product->browse = 'Story Liste';
$lang->product->dynamic = 'Verlauf';
$lang->product->view = 'Übersicht';
$lang->product->edit = "{$lang->productCommon} bearbeiten";
$lang->product->batchEdit = 'Mehrere bearbeiten';
$lang->product->create = "Erstelle {$lang->productCommon}";
$lang->product->delete = "Lösche {$lang->productCommon}";
$lang->product->deleted = 'Gelöscht';
$lang->product->close = 'Schließen';
$lang->product->closeAction = "Close {$lang->productCommon}";
$lang->product->select = "Auswahl {$lang->productCommon}";
$lang->product->mine = 'Meine Zuständigkeiten:';
$lang->product->other = 'Andere:';
$lang->product->closed = 'Geschlossen';
$lang->product->updateOrder = 'Ranking';
$lang->product->orderAction = "Rank {$lang->productCommon}";
$lang->product->all = "Alle {$lang->productCommon}";
$lang->product->export = 'Exportiere Daten';
$lang->product->exportAction = "Export {$lang->productCommon}";
$lang->product->dashboard = 'Dashboard';
$lang->product->changeProgram = "{$lang->productCommon} confirmation of the scope of influence of adjustment of the program set";
$lang->product->basicInfo = 'Basis Info';
$lang->product->otherInfo = 'Andere Info';
@@ -67,6 +68,7 @@ $lang->product->confirmDelete = " Möchten Sie {$lang->productCommon} lösche
$lang->product->errorNoProduct = "Kein {$lang->productCommon} erstellt!";
$lang->product->accessDenied = "Sie haben keinen Zugriff auf {$lang->productCommon}.";
$lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together.";
$lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding";
$lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set.";
$lang->product->id = 'ID';
+24 -22
View File
@@ -9,28 +9,29 @@
* @version $Id: en.php 5091 2013-07-10 06:06:46Z chencongzhi520@gmail.com $
* @link http://www.zentao.net
*/
$lang->product->common = $lang->productCommon;
$lang->product->index = $lang->productCommon . ' Home';
$lang->product->browse = 'Story List';
$lang->product->dynamic = 'Dynamics';
$lang->product->view = "{$lang->productCommon} Detail";
$lang->product->edit = "Edit {$lang->productCommon}";
$lang->product->batchEdit = 'Batch Edit';
$lang->product->create = "Create {$lang->productCommon}";
$lang->product->delete = "Delete {$lang->productCommon}";
$lang->product->deleted = 'Deleted';
$lang->product->close = "Close";
$lang->product->closeAction = "Close {$lang->productCommon}";
$lang->product->select = "Select {$lang->productCommon}";
$lang->product->mine = 'Mine:';
$lang->product->other = 'Others:';
$lang->product->closed = 'Closed';
$lang->product->updateOrder = 'Order';
$lang->product->orderAction = "Rank {$lang->productCommon}";
$lang->product->all = "All {$lang->productCommon}s";
$lang->product->export = 'Export';
$lang->product->exportAction = "Export {$lang->productCommon}";
$lang->product->dashboard = "Dashboard";
$lang->product->common = $lang->productCommon;
$lang->product->index = $lang->productCommon . ' Home';
$lang->product->browse = 'Story List';
$lang->product->dynamic = 'Dynamics';
$lang->product->view = "{$lang->productCommon} Detail";
$lang->product->edit = "Edit {$lang->productCommon}";
$lang->product->batchEdit = 'Batch Edit';
$lang->product->create = "Create {$lang->productCommon}";
$lang->product->delete = "Delete {$lang->productCommon}";
$lang->product->deleted = 'Deleted';
$lang->product->close = "Close";
$lang->product->closeAction = "Close {$lang->productCommon}";
$lang->product->select = "Select {$lang->productCommon}";
$lang->product->mine = 'Mine:';
$lang->product->other = 'Others:';
$lang->product->closed = 'Closed';
$lang->product->updateOrder = 'Order';
$lang->product->orderAction = "Rank {$lang->productCommon}";
$lang->product->all = "All {$lang->productCommon}s";
$lang->product->export = 'Export';
$lang->product->exportAction = "Export {$lang->productCommon}";
$lang->product->dashboard = "Dashboard";
$lang->product->changeProgram = "{$lang->productCommon} confirmation of the scope of influence of adjustment of the program set";
$lang->product->basicInfo = 'Basic Info';
$lang->product->otherInfo = 'Other Info';
@@ -67,6 +68,7 @@ $lang->product->confirmDelete = " Do you want to delete the {$lang->productCo
$lang->product->errorNoProduct = "No {$lang->productCommon} is created yet!";
$lang->product->accessDenied = "You have no access to the {$lang->productCommon}.";
$lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together.";
$lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding";
$lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set.";
$lang->product->id = 'ID';
+24 -22
View File
@@ -9,28 +9,29 @@
* @version $Id: en.php 5091 2013-07-10 06:06:46Z chencongzhi520@gmail.com $
* @link https://www.zentao.pm
*/
$lang->product->common = $lang->productCommon;
$lang->product->index = 'Accueil ' . $lang->productCommon;
$lang->product->browse = 'Liste Stories';
$lang->product->dynamic = 'Historique';
$lang->product->view = "{$lang->productCommon} Détail";
$lang->product->edit = "Editer {$lang->productCommon}";
$lang->product->batchEdit = 'Editer par Lot';
$lang->product->create = "Créer {$lang->productCommon}";
$lang->product->delete = "Supprimer {$lang->productCommon}";
$lang->product->deleted = 'Supprimé';
$lang->product->close = "Fermer";
$lang->product->closeAction = "Fermer {$lang->productCommon}";
$lang->product->select = "Choisir {$lang->productCommon}";
$lang->product->mine = 'Les miens:';
$lang->product->other = 'Autres:';
$lang->product->closed = 'Fermés';
$lang->product->updateOrder = 'Ordre';
$lang->product->orderAction = "Rang {$lang->productCommon}";
$lang->product->all = "Tous les {$lang->productCommon}s";
$lang->product->export = 'Export';
$lang->product->exportAction = "Export {$lang->productCommon}";
$lang->product->dashboard = "Dashboard";
$lang->product->common = $lang->productCommon;
$lang->product->index = 'Accueil ' . $lang->productCommon;
$lang->product->browse = 'Liste Stories';
$lang->product->dynamic = 'Historique';
$lang->product->view = "{$lang->productCommon} Détail";
$lang->product->edit = "Editer {$lang->productCommon}";
$lang->product->batchEdit = 'Editer par Lot';
$lang->product->create = "Créer {$lang->productCommon}";
$lang->product->delete = "Supprimer {$lang->productCommon}";
$lang->product->deleted = 'Supprimé';
$lang->product->close = "Fermer";
$lang->product->closeAction = "Fermer {$lang->productCommon}";
$lang->product->select = "Choisir {$lang->productCommon}";
$lang->product->mine = 'Les miens:';
$lang->product->other = 'Autres:';
$lang->product->closed = 'Fermés';
$lang->product->updateOrder = 'Ordre';
$lang->product->orderAction = "Rang {$lang->productCommon}";
$lang->product->all = "Tous les {$lang->productCommon}s";
$lang->product->export = 'Export';
$lang->product->exportAction = "Export {$lang->productCommon}";
$lang->product->dashboard = "Dashboard";
$lang->product->changeProgram = "{$lang->productCommon} confirmation of the scope of influence of adjustment of the program set";
$lang->product->basicInfo = 'Infos de Base';
$lang->product->otherInfo = 'Autres Infos';
@@ -67,6 +68,7 @@ $lang->product->confirmDelete = "Voulez-vous vraiment supprimer le {$lang->pr
$lang->product->errorNoProduct = "Aucun {$lang->productCommon} n'est créé pour l'instant !";
$lang->product->accessDenied = "Vous n'avez pas accès au {$lang->productCommon}.";
$lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together.";
$lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding";
$lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set.";
$lang->product->id = 'ID';
+24 -22
View File
@@ -9,28 +9,29 @@
* @version $Id: vi.php 5091 2013-07-10 06:06:46Z quocnho@gmail.com $
* @link http://www.zentao.net
*/
$lang->product->common = $lang->productCommon;
$lang->product->index = 'Trang '.$lang->productCommon;
$lang->product->browse = 'Danh sách câu chuyện';
$lang->product->dynamic = 'Lịch sử';
$lang->product->view = "Chi tiết {$lang->productCommon}";
$lang->product->edit = "Sửa {$lang->productCommon}";
$lang->product->batchEdit = 'Sửa hàng loạt';
$lang->product->create = "Tạo {$lang->productCommon}";
$lang->product->delete = "Xóa {$lang->productCommon}";
$lang->product->deleted = 'Đã xóa';
$lang->product->close = "Đóng";
$lang->product->closeAction = "Đóng {$lang->productCommon}";
$lang->product->select = "Chọn {$lang->productCommon}";
$lang->product->mine = 'Của bạn:';
$lang->product->other = 'Khác:';
$lang->product->closed = 'Đã đóng';
$lang->product->updateOrder = 'Sắp xếp';
$lang->product->orderAction = "Đánh giá {$lang->productCommon}";
$lang->product->all = "Tất cả {$lang->productCommon}";
$lang->product->export = 'Xuất';
$lang->product->exportAction = "Xuất {$lang->productCommon}";
$lang->product->dashboard = "Dashboard";
$lang->product->common = $lang->productCommon;
$lang->product->index = 'Trang '.$lang->productCommon;
$lang->product->browse = 'Danh sách câu chuyện';
$lang->product->dynamic = 'Lịch sử';
$lang->product->view = "Chi tiết {$lang->productCommon}";
$lang->product->edit = "Sửa {$lang->productCommon}";
$lang->product->batchEdit = 'Sửa hàng loạt';
$lang->product->create = "Tạo {$lang->productCommon}";
$lang->product->delete = "Xóa {$lang->productCommon}";
$lang->product->deleted = 'Đã xóa';
$lang->product->close = "Đóng";
$lang->product->closeAction = "Đóng {$lang->productCommon}";
$lang->product->select = "Chọn {$lang->productCommon}";
$lang->product->mine = 'Của bạn:';
$lang->product->other = 'Khác:';
$lang->product->closed = 'Đã đóng';
$lang->product->updateOrder = 'Sắp xếp';
$lang->product->orderAction = "Đánh giá {$lang->productCommon}";
$lang->product->all = "Tất cả {$lang->productCommon}";
$lang->product->export = 'Xuất';
$lang->product->exportAction = "Xuất {$lang->productCommon}";
$lang->product->dashboard = "Dashboard";
$lang->product->changeProgram = "{$lang->productCommon} confirmation of the scope of influence of adjustment of the program set";
$lang->product->basicInfo = 'Thông tin cơ bản';
$lang->product->otherInfo = 'Thông tin khác';
@@ -67,6 +68,7 @@ $lang->product->confirmDelete = " Bạn có muốn xóa {$lang->productCommon
$lang->product->errorNoProduct = "Không có {$lang->productCommon} được tạo!";
$lang->product->accessDenied = "Bạn không có quyền truy cập tới {$lang->productCommon} này.";
$lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together.";
$lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding";
$lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set.";
$lang->product->id = 'ID';
+26 -24
View File
@@ -9,28 +9,29 @@
* @version $Id: zh-cn.php 5091 2013-07-10 06:06:46Z chencongzhi520@gmail.com $
* @link http://www.zentao.net
*/
$lang->product->common = $lang->productCommon . '视图';
$lang->product->index = $lang->productCommon . '主页';
$lang->product->browse = "{$lang->SRCommon}列表";
$lang->product->dynamic = '产品动态';
$lang->product->view = "{$lang->productCommon}概况";
$lang->product->edit = "编辑{$lang->productCommon}";
$lang->product->batchEdit = '批量编辑';
$lang->product->create = "添加{$lang->productCommon}";
$lang->product->delete = "删除{$lang->productCommon}";
$lang->product->deleted = '已删除';
$lang->product->close = '关闭';
$lang->product->closeAction = "关闭{$lang->productCommon}";
$lang->product->select = "请选择{$lang->productCommon}";
$lang->product->mine = '我负责:';
$lang->product->other = '其他:';
$lang->product->closed = '已关闭';
$lang->product->updateOrder = '排序';
$lang->product->orderAction = "{$lang->productCommon}排序";
$lang->product->all = "所有{$lang->productCommon}";
$lang->product->export = '导出数据';
$lang->product->exportAction = "导出{$lang->productCommon}";
$lang->product->dashboard = "{$lang->productCommon}仪表盘";
$lang->product->common = $lang->productCommon . '视图';
$lang->product->index = $lang->productCommon . '主页';
$lang->product->browse = "{$lang->SRCommon}列表";
$lang->product->dynamic = '产品动态';
$lang->product->view = "{$lang->productCommon}概况";
$lang->product->edit = "编辑{$lang->productCommon}";
$lang->product->batchEdit = '批量编辑';
$lang->product->create = "添加{$lang->productCommon}";
$lang->product->delete = "删除{$lang->productCommon}";
$lang->product->deleted = '已删除';
$lang->product->close = '关闭';
$lang->product->closeAction = "关闭{$lang->productCommon}";
$lang->product->select = "请选择{$lang->productCommon}";
$lang->product->mine = '我负责:';
$lang->product->other = '其他:';
$lang->product->closed = '已关闭';
$lang->product->updateOrder = '排序';
$lang->product->orderAction = "{$lang->productCommon}排序";
$lang->product->all = "所有{$lang->productCommon}";
$lang->product->export = '导出数据';
$lang->product->exportAction = "导出{$lang->productCommon}";
$lang->product->dashboard = "{$lang->productCommon}仪表盘";
$lang->product->changeProgram = "{$lang->productCommon}调整所属项目集影响范围确认";
$lang->product->basicInfo = '基本信息';
$lang->product->otherInfo = '其他信息';
@@ -66,8 +67,9 @@ $lang->product->assignToNullBugsTitle = '未指派Bug';
$lang->product->confirmDelete = " 您确定删除该{$lang->productCommon}吗?";
$lang->product->errorNoProduct = "还没有创建{$lang->productCommon}!";
$lang->product->accessDenied = "您无权访问该{$lang->productCommon}";
$lang->product->PGMChangeTip = "该{$lang->productCommon}关联的项目:%s将一同转移到修改后的项目集下。";
$lang->product->confirmChangePGM = "该{$lang->productCommon}关联的项目:%s还关联了其他产品,是否将项目一同转移到修改后的项目集下。";
$lang->product->PGMChangeTip = "如下项目只关联了该{$lang->productCommon}, 将直接转移至新项目集下。";
$lang->product->notChangePGMTip = "该{$lang->productCommon}的{$lang->SRCommon}已经关联到如下项目,请取消关联后再操作";
$lang->product->confirmChangePGM = "如下项目既关联了该{$lang->productCommon}又关联了其他{$lang->productCommon},请确认是否继续关联该{$lang->productCommon},勾选后将取消与其他{$lang->productCommon}的关联关系,同时转移至新项目集下。";
$lang->product->id = '编号';
$lang->product->program = "所属项目集";
+34 -9
View File
@@ -545,7 +545,7 @@ class productModel extends model
->setIF($this->post->acl == 'open', 'whitelist', '')
->join('whitelist', ',')
->stripTags($this->config->product->editor->edit['id'], $this->config->allowedTags)
->remove('uid,confirmChange')
->remove('uid,changeProjects')
->get();
$product = $this->loadModel('file')->processImgURL($product, $this->config->product->editor->edit['id'], $this->post->uid);
@@ -1510,22 +1510,47 @@ class productModel extends model
/**
* Change the projects set of the program.
*
* @param object $projects
* @param int $programID
* @param string $confirm
* @param int $productID
* @param array $singleLinkProjects
* @param array $multipleLinkProjects
* @access public
* @return void
*/
public function updateProjects($projects, $programID, $confirmChange = 'no')
public function updateProjects($productID, $singleLinkProjects = array(), $multipleLinkProjects = array())
{
foreach($projects as $project)
$programID = $_POST['program'];
foreach($singleLinkProjects as $id => $project)
{
if((count($project->product) == 1) or $confirmChange == 'yes')
if($project)
{
$this->dao->update(TABLE_PROJECT)
->set('parent')->eq($programID)
->set('path')->eq(',' . $programID . ',' . $project->id . ',')
->where('id')->eq($project->id)
->set('path')->eq(',' . $programID . ',' . $id . ',')
->where('id')->eq($id)
->exec();
}
}
foreach($multipleLinkProjects as $id => $project)
{
if(strpos($_POST['changeProjects'], ',' . $id . ',') !== false)
{
$this->dao->delete()->from(TABLE_PROJECTPRODUCT)
->where('project')->eq($id)
->andWhere('product')->ne($productID)
->exec();
$this->dao->update(TABLE_PROJECT)
->set('parent')->eq($programID)
->set('path')->eq(',' . $programID . ',' . $id . ',')
->where('id')->eq($id)
->exec();
}
else
{
$this->dao->delete()->from(TABLE_PROJECTPRODUCT)
->where('project')->eq($id)
->andWhere('product')->eq($productID)
->exec();
}
}
+56 -4
View File
@@ -13,10 +13,13 @@
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/kindeditor.html.php';?>
<?php js::set('noProject', false);?>
<?php js::set('projects', $projects);?>
<?php js::set('oldProgramID', $product->program);?>
<?php js::set('PGMChangeTip', $lang->product->PGMChangeTip);?>
<?php js::set('confirmChangePGM', $lang->product->confirmChangePGM);?>
<?php js::set('canChangePGM', $canChangePGM);?>
<?php js::set('singleLinkProjects', $singleLinkProjects);?>
<?php js::set('multipleLinkProjects', $multipleLinkProjects);?>
<style>
#changeProgram td.icon-project{font-size: 14px;}
</style>
<div id="mainContent" class="main-content">
<div class="center-block">
<div class="main-header">
@@ -33,7 +36,6 @@
<tr>
<th class='w-140px'><?php echo $lang->product->program;?></th>
<td><?php echo html::select('program', $programs, $product->program, "class='form-control chosen'");?></td>
<td><?php echo html::hidden('confirmChange', 'no');?></td>
</tr>
<?php endif;?>
<tr>
@@ -76,6 +78,7 @@
</tr>
<tr>
<td colspan='3' class='text-center form-actions'>
<?php echo html::hidden('changeProjects', '');?>
<?php echo html::submitButton();?>
<?php echo html::backButton('', '', 'btn btn-wide');?>
</td>
@@ -85,4 +88,53 @@
</form>
</div>
</div>
<div class="modal fade" id="changeProgram">
<div class="modal-dialog mw-600px">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon icon-close"></i></button>
<?php if($canChangePGM):?>
<h4 class="modal-title"><?php echo $lang->product->changeProgram;?></h4>
<?php endif;?>
</div>
<div class="modal-body">
<table class='table table-form'>
<?php if(!$canChangePGM):?>
<tr>
<th class='text-left'><?php echo $lang->product->notChangePGMTip;?></th>
</tr>
<?php foreach($linkStoriesProjects as $project):?>
<tr>
<td class="icon-project"><?php echo $project;?></td>
</tr>
<?php endforeach;?>
<?php endif;?>
<?php if($singleLinkProjects):?>
<tr>
<th class='text-left'><?php echo $lang->product->PGMChangeTip;?></th>
</tr>
<?php foreach($singleLinkProjects as $project):?>
<tr>
<td class="icon-project"><?php echo $project;?></td>
</tr>
<?php endforeach;?>
<?php endif;?>
<?php if($multipleLinkProjects):?>
<tr>
<th class='text-left'><?php echo $lang->product->confirmChangePGM;?></th>
</tr>
<tr>
<td><?php echo html::checkbox('projects', $multipleLinkProjects);?></td>
</tr>
<tr>
<td class='text-center'>
<?php echo html::commonButton($lang->save, 'onclick = "setChangeProjects();"', 'btn btn-primary btn-wide');?>
</td>
</tr>
<?php endif;?>
</table>
</div>
</div>
</div>
</div>
<?php include '../../common/view/footer.html.php';?>