Merge branch 'feature-24647/Konfigurierbare_Dashboards' into feature-25999/C4

This commit is contained in:
cgfhtw
2023-02-09 16:12:36 +01:00
10 changed files with 231 additions and 28 deletions
+63
View File
@@ -0,0 +1,63 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*/
class Test extends Auth_Controller
{
private $_uid; // uid of the logged user
/**
* Constructor
*/
public function __construct()
{
// Set required permissions
parent::__construct(
array(
'index' => 'dashboard/benutzer:r',
'db' => 'dashboard/benutzer:r',
'admin' => 'dashboard/admin:r',
)
);
$this->load->library('AuthLib');
$this->_setAuthUID(); // sets property uid
$this->setControllerId(); // sets the controller id
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
public function index()
{
$this->load->view('test/Test.php', ['dashboard' => 'CIS']);
}
// Public methods
public function db($dashboard)
{
$this->load->view('test/Test.php', ['dashboard' => $dashboard]);
}
public function admin()
{
$this->load->view('test/Admin.php', []);
}
// -----------------------------------------------------------------------------------------------------------------
// Private methods
/**
* Retrieve the UID of the logged user and checks if it is valid
*/
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid) show_error('User authentification failed');
}
}
+7 -1
View File
@@ -207,7 +207,13 @@ class Config extends Auth_Controller
foreach ($funktionen as $funktion) {
$conf = $this->DashboardLib->getPreset($db, $funktion);
if ($conf)
$result[$funktion] = json_decode($conf->preset, true)['widgets'][$funktion];
{
$preset = json_decode($conf->preset, true);
if (!isset($preset['widgets']) || !isset($preset['widgets'][$funktion]))
$result[$funktion] = [];
else
$result[$funktion] = $preset['widgets'][$funktion];
}
else
$result[$funktion] = [];
}
+2 -2
View File
@@ -11,9 +11,9 @@ class Widget extends Auth_Controller
{
parent::__construct(
array(
'index' => 'dashboard/benutzer:r',
'index' => ['dashboard/benutzer:r', 'dashboard/admin:r'],
'getAll' => 'dashboard/admin:r',
'getWidgetsForDashboard' => 'dashboard/benutzer:rw',
'getWidgetsForDashboard' => ['dashboard/benutzer:rw', 'dashboard/admin:r'],
'setAllowed' => 'dashboard/admin:rw'
)
);