FOSSology  4.4.0
Open Source License Compliance by Open Source Software
AdminGroupDelete.php
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2013 Hewlett-Packard Development Company, L.P.
4  SPDX-FileCopyrightText: © 2014-2015 Siemens AG
5 
6  SPDX-License-Identifier: GPL-2.0-only
7 */
8 
9 namespace Fossology\UI\Page;
10 
14 use Symfony\Component\HttpFoundation\Request;
15 use Symfony\Component\HttpFoundation\Response;
16 
22 {
23 
24  const NAME = 'group_delete';
25 
26  function __construct()
27  {
28  parent::__construct(self::NAME, array(
29  self::TITLE => _("Delete Group"),
30  self::MENU_LIST => "Admin::Groups::Delete Group",
31  self::PERMISSION => Auth::PERM_WRITE,
32  self::REQUIRES_LOGIN => TRUE
33  ));
34  }
35 
40  protected function handle(Request $request)
41  {
42  $userId = Auth::getUserId();
43  $vars = array();
44 
46  $userDao = $this->getObject('dao.user');
47  $groupMap = $userDao->getDeletableAdminGroupMap($userId,
48  $_SESSION[Auth::USER_LEVEL]);
49 
50  $groupId = $request->get('grouppk');
51  if (! empty($groupId)) {
52  try {
53  $userDao->deleteGroup($groupId);
54  $vars['message'] = _("Group") . ' ' . $groupMap[$groupId] . ' ' . _("deleted") . '.';
55  unset($groupMap[$groupId]);
56  } catch (\Exception $e) {
57  $vars['message'] = $e->getMessage();
58  }
59  }
60 
61  if (empty($groupMap)) {
62  $vars['content'] = _("You have no groups you can delete.");
63  return $this->render('include/base.html.twig', $this->mergeWithDefault($vars));
64  }
65  $vars['groupMap'] = $groupMap;
66  $vars['uri'] = Traceback_uri() . "?mod=group_delete";
67  $vars['groupMap'] = $groupMap;
68  return $this->render('admin_group_delete.html.twig', $this->mergeWithDefault($vars));
69  }
70 }
71 
72 register_plugin(new AdminGroupDelete());
Contains the constants and helpers for authentication of user.
Definition: Auth.php:24
static getUserId()
Get the current user's id.
Definition: Auth.php:68
render($templateName, $vars=null, $headers=null)
Traceback_uri()
Get the URI without query to this location.
Definition: common-parm.php:97