5 * Copyright 2010 (c) Alcatel-Lucent
6 * Copyright 2011, Roland Mas
11 * This file is part of FusionForge. FusionForge is free software;
12 * you can redistribute it and/or modify it under the terms of the
13 * GNU General Public License as published by the Free Software
14 * Foundation; either version 2 of the Licence, or (at your option)
17 * FusionForge is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License along
23 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
24 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
27 require_once('../../env.inc.php');
28 require_once $gfcommon.'include/pre.php';
29 require_once $gfwww.'project/admin/project_admin_utils.php';
30 require_once $gfcommon.'include/Role.class.php';
32 $group_id = getIntFromRequest('group_id');
33 $role_id = getIntFromRequest('role_id');
35 session_require_perm ('project_admin', $group_id) ;
38 session_redirect('/project/admin/users.php?group_id='.$group_id);
41 $group = group_get_object($group_id);
43 $role = RBACEngine::getInstance()->getRoleById($role_id);
45 if (!$role || !is_object($role)) {
46 exit_error(_('Could Not Get Role'),'admin');
47 } elseif ($role->isError()) {
48 exit_error($role->getErrorMessage(),'admin');
51 if ($role->getHomeProject() == NULL) {
52 exit_error(_("You can't delete a global role from here."),'admin');
55 if ($role->getHomeProject()->getID() != $group_id) {
56 exit_error(_("You can't delete a role belonging to another project."),'admin');
59 if (getStringFromRequest('submit')) {
60 if (getIntFromRequest('sure')) {
61 if (!$role->delete()) {
62 $error_msg = _('Error')._(': ').$role->getErrorMessage();
64 $feedback = _('Successfully Deleted Role');
65 session_redirect('/project/admin/users.php?group_id='.$group_id.'&feedback='.urlencode($feedback));
68 $error_msg = _('Error: Please check "I\'m Sure" to confirm or return to previous page to cancel.');
71 session_redirect('/project/admin/users.php?group_id='.$group_id.'&error_msg='.urlencode($error_msg));
74 $title = sprintf(_('Permanently Delete Role %s'), $role->getName());
75 project_admin_header(array('title'=>$title,'group'=>$group_id));
77 printf(_('You are about to permanently delete role %s'), $role->getName()); ?>
79 <form action="<?php echo getStringFromServer('PHP_SELF') ?>?group_id=<?php echo $group_id ?>&role_id=<?php echo $role_id ?>" method="post">
81 <input name="sure" value="1" type="checkbox" /><?php echo _("I'm Sure") ?><br />
85 <input type="submit" name="submit" value="<?php echo _('Submit') ?>" />
89 <?php project_admin_footer(array()) ?>