From 746748e080cab51b21c16cb4335f1008d3b23636 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Wed, 8 Mar 2023 06:04:44 +0000 Subject: [PATCH] * Finish task #86267. --- module/group/control.php | 23 ++++++++++++++++++++ module/group/lang/de.php | 1 + module/group/lang/en.php | 1 + module/group/lang/fr.php | 1 + module/group/lang/zh-cn.php | 1 + module/group/model.php | 7 ++++++ module/group/view/manageprivpackage.html.php | 6 ++++- 7 files changed, 39 insertions(+), 1 deletion(-) diff --git a/module/group/control.php b/module/group/control.php index ba79ae8d38..5abb6d5ed8 100644 --- a/module/group/control.php +++ b/module/group/control.php @@ -453,4 +453,27 @@ class group extends control $this->view->users = $this->loadModel('user')->getPairs(); $this->display(); } + + /** + * Delete a priv package. + * + * @param int $privPackageID + * @access public + * @return void + */ + public function deletePrivPackage($privPackageID, $confirm = 'no') + { + if($confirm == 'no') + { + return print(js::confirm($this->lang->group->confirmDeleteAB, $this->createLink('group', 'deletePrivPackage', "privPackageID=$privPackageID&confirm=yes"))); + } + else + { + $this->group->deletePrivPackage($privPackageID); + if(!dao::isError()) $this->loadModel('action')->create('privpackage', $privPackageID, 'deleted'); + + return print(js::reload('parent')); + } + + } } diff --git a/module/group/lang/de.php b/module/group/lang/de.php index bfbcc725f1..10f99b0d76 100644 --- a/module/group/lang/de.php +++ b/module/group/lang/de.php @@ -25,6 +25,7 @@ $lang->group->manageMember = 'Mitglieder'; $lang->group->manageProjectAdmin = 'Manage Program Admins'; $lang->group->permissionedit = 'Permission Edit'; $lang->group->confirmDelete = "Do you want to delete '%s'?"; +$lang->group->confirmDeleteAB = 'Do you want to delete this?'; $lang->group->successSaved = 'Gespeichert!'; $lang->group->errorNotSaved = 'Fehlgeschlagen. Bitte aktion und Gruppe wählen.'; $lang->group->viewList = 'Anzeige ist zulässig.'; diff --git a/module/group/lang/en.php b/module/group/lang/en.php index be7b8210af..b400789c6a 100644 --- a/module/group/lang/en.php +++ b/module/group/lang/en.php @@ -25,6 +25,7 @@ $lang->group->manageMember = 'Manage Members'; $lang->group->manageProjectAdmin = 'Manage Program Admins'; $lang->group->permissionedit = 'Permission Edit'; $lang->group->confirmDelete = "Do you want to delete '%s'?"; +$lang->group->confirmDeleteAB = 'Do you want to delete this?'; $lang->group->successSaved = 'Saved.'; $lang->group->errorNotSaved = 'Failed. Please select actions and groups.'; $lang->group->viewList = 'Access Sight'; diff --git a/module/group/lang/fr.php b/module/group/lang/fr.php index 0b9dfff119..e173b8afd2 100644 --- a/module/group/lang/fr.php +++ b/module/group/lang/fr.php @@ -25,6 +25,7 @@ $lang->group->manageMember = 'Gérer Membres'; $lang->group->manageProjectAdmin = 'Manage Program Admins'; $lang->group->permissionedit = 'Permission Edit'; $lang->group->confirmDelete = "Voulez - vous supprimer '%s'?"; +$lang->group->confirmDeleteAB = 'Do you want to delete this?'; $lang->group->successSaved = 'Sauvé.'; $lang->group->errorNotSaved = 'Echec. Veuillez sélectionner actions et groupes.'; $lang->group->viewList = 'Accès Consultation'; diff --git a/module/group/lang/zh-cn.php b/module/group/lang/zh-cn.php index 7fde55210b..06ff549f3c 100644 --- a/module/group/lang/zh-cn.php +++ b/module/group/lang/zh-cn.php @@ -25,6 +25,7 @@ $lang->group->manageMember = '成员维护'; $lang->group->manageProjectAdmin = '维护项目管理员'; $lang->group->permissionedit = '维护权限'; $lang->group->confirmDelete = '您确定删除“%s”用户分组吗?'; +$lang->group->confirmDeleteAB = '您确定删除吗?'; $lang->group->successSaved = '成功保存'; $lang->group->errorNotSaved = '没有保存,请确认选择了权限数据。'; $lang->group->viewList = '可访问视图'; diff --git a/module/group/model.php b/module/group/model.php index a1a75bd73c..c9039c73bf 100644 --- a/module/group/model.php +++ b/module/group/model.php @@ -802,6 +802,13 @@ class groupModel extends model return $changes; } + public function deletePrivPackage($packageID) + { + $this->dao->delete()->from(TABLE_PRIVPACKAGE)->where('id')->eq($packageID)->exec(); + if(dao::isError()) return false; + $this->dao->update(TABLE_PRIV)->set('package')->eq(0)->where('package')->eq($packageID)->exec(); + } + /** * Get priv package by ID. * diff --git a/module/group/view/manageprivpackage.html.php b/module/group/view/manageprivpackage.html.php index b479ba3f3c..60dffdb261 100644 --- a/module/group/view/manageprivpackage.html.php +++ b/module/group/view/manageprivpackage.html.php @@ -42,8 +42,12 @@ > name?> desc?> - + ';?> + grade == 3) common::printIcon('group', 'editPrivPackage', "packageID=$package->id", '', 'list', 'edit', '', 'iframe', true); + if(common::hasPriv('group', 'deletePrivPackage') and $package->grade == 3) common::printIcon('group', 'deletePrivPackage', "packageID=$package->id", '', 'list', 'trash', 'hiddenwin'); + ?>