mirror of https://github.com/MISP/MISP
Merge pull request #8352 from JakubOnderka/dashboard-layout-remove
chg: [UI] Remove dashboard layoutpull/8341/head
commit
5b5f9f42db
|
@ -12,7 +12,8 @@ class DashboardsController extends AppController
|
||||||
public function beforeFilter()
|
public function beforeFilter()
|
||||||
{
|
{
|
||||||
parent::beforeFilter();
|
parent::beforeFilter();
|
||||||
$this->Security->unlockedActions = array_merge(array('renderWidget', 'getForm'), $this->Security->unlockedActions);
|
$this->Security->unlockedActions[] = 'renderWidget';
|
||||||
|
$this->Security->unlockedActions[] = 'getForm';
|
||||||
if ($this->request->action === 'renderWidget') {
|
if ($this->request->action === 'renderWidget') {
|
||||||
$this->Security->doNotGenerateToken = true;
|
$this->Security->doNotGenerateToken = true;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +26,6 @@ class DashboardsController extends AppController
|
||||||
|
|
||||||
public function index($template_id = false)
|
public function index($template_id = false)
|
||||||
{
|
{
|
||||||
$this->loadModel('UserSetting');
|
|
||||||
if (empty($template_id)) {
|
if (empty($template_id)) {
|
||||||
$params = array(
|
$params = array(
|
||||||
'conditions' => array(
|
'conditions' => array(
|
||||||
|
@ -33,7 +33,7 @@ class DashboardsController extends AppController
|
||||||
'UserSetting.setting' => 'dashboard'
|
'UserSetting.setting' => 'dashboard'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$userSettings = $this->UserSetting->find('first', $params);
|
$userSettings = $this->User->UserSetting->find('first', $params);
|
||||||
} else {
|
} else {
|
||||||
$dashboardTemplate = $this->Dashboard->getDashboardTemplate($this->Auth->user(), $template_id);
|
$dashboardTemplate = $this->Dashboard->getDashboardTemplate($this->Auth->user(), $template_id);
|
||||||
if (empty($dashboardTemplate)) {
|
if (empty($dashboardTemplate)) {
|
||||||
|
@ -83,7 +83,6 @@ class DashboardsController extends AppController
|
||||||
// continue, we just don't load the widget
|
// continue, we just don't load the widget
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->layout = 'dashboard';
|
|
||||||
$this->set('widgets', $widgets);
|
$this->set('widgets', $widgets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,22 +114,20 @@ class DashboardsController extends AppController
|
||||||
public function updateSettings()
|
public function updateSettings()
|
||||||
{
|
{
|
||||||
if ($this->request->is('post')) {
|
if ($this->request->is('post')) {
|
||||||
$this->UserSetting = ClassRegistry::init('UserSetting');
|
|
||||||
if (!isset($this->request->data['Dashboard']['value'])) {
|
if (!isset($this->request->data['Dashboard']['value'])) {
|
||||||
throw new InvalidArgumentException(__('No setting data found.'));
|
throw new InvalidArgumentException(__('No setting data found.'));
|
||||||
}
|
}
|
||||||
$data = array(
|
$data = array(
|
||||||
'UserSetting' => array(
|
'UserSetting' => array(
|
||||||
'user_id' => $this->Auth->user('id'),
|
|
||||||
'setting' => 'dashboard',
|
'setting' => 'dashboard',
|
||||||
'value' => $this->request->data['Dashboard']['value']
|
'value' => $this->request->data['Dashboard']['value']
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$result = $this->UserSetting->setSetting($this->Auth->user(), $data);
|
$result = $this->User->UserSetting->setSetting($this->Auth->user(), $data);
|
||||||
if ($result) {
|
if ($result) {
|
||||||
return $this->RestResponse->saveSuccessResponse('Dashboard', 'updateSettings', false, false, __('Settings updated.'));
|
return $this->RestResponse->saveSuccessResponse('Dashboard', 'updateSettings', false, false, __('Settings updated.'));
|
||||||
}
|
}
|
||||||
return $this->RestResponse->saveFailResponse('Dashboard', 'updateSettings', false, $this->UserSetting->validationErrors, $this->response->type());
|
return $this->RestResponse->saveFailResponse('Dashboard', 'updateSettings', false, $this->User->UserSetting->validationErrors, $this->response->type());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,7 +237,6 @@ class DashboardsController extends AppController
|
||||||
|
|
||||||
public function saveTemplate($update = false)
|
public function saveTemplate($update = false)
|
||||||
{
|
{
|
||||||
$this->loadModel('UserSetting');
|
|
||||||
if (!empty($update)) {
|
if (!empty($update)) {
|
||||||
$conditions = array('Dashboard.id' => $update);
|
$conditions = array('Dashboard.id' => $update);
|
||||||
if (Validation::uuid($update)) {
|
if (Validation::uuid($update)) {
|
||||||
|
@ -263,7 +259,7 @@ class DashboardsController extends AppController
|
||||||
}
|
}
|
||||||
$data = $this->request->data;
|
$data = $this->request->data;
|
||||||
if (empty($update)) { // save the template stored in user setting and make it persistent
|
if (empty($update)) { // save the template stored in user setting and make it persistent
|
||||||
$data['value'] = $this->UserSetting->getSetting($this->Auth->user('id'), 'dashboard');
|
$data['value'] = $this->User->UserSetting->getSetting($this->Auth->user('id'), 'dashboard');
|
||||||
}
|
}
|
||||||
$result = $this->Dashboard->saveDashboardTemplate($this->Auth->user(), $data, $update);
|
$result = $this->Dashboard->saveDashboardTemplate($this->Auth->user(), $data, $update);
|
||||||
if ($this->_isRest()) {
|
if ($this->_isRest()) {
|
||||||
|
@ -282,7 +278,6 @@ class DashboardsController extends AppController
|
||||||
} else {
|
} else {
|
||||||
$this->layout = false;
|
$this->layout = false;
|
||||||
}
|
}
|
||||||
$this->loadModel('User');
|
|
||||||
$permFlags = array(0 => __('Unrestricted'));
|
$permFlags = array(0 => __('Unrestricted'));
|
||||||
foreach ($this->User->Role->permFlags as $perm_flag => $perm_data) {
|
foreach ($this->User->Role->permFlags as $perm_flag => $perm_data) {
|
||||||
$permFlags[$perm_flag] = $perm_data['text'];
|
$permFlags[$perm_flag] = $perm_data['text'];
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
|
<?php
|
||||||
|
// Include addation CSS and scripts to layout
|
||||||
|
$this->viewVars["additionalCss"] = ["gridstack.min"];
|
||||||
|
$this->viewVars["additionalJs"] = ["gridstack.all"];
|
||||||
|
?>
|
||||||
<div class="index">
|
<div class="index">
|
||||||
<div class="grid-stack" data-gs-min-row:"10">
|
<div class="grid-stack">
|
||||||
<?php
|
<?php
|
||||||
foreach ($widgets as $k => $widget) {
|
foreach ($widgets as $k => $widget) {
|
||||||
echo $this->element('/dashboard/widget', array('widget' => $widget, 'k' => $k));
|
echo $this->element('/dashboard/widget', array('widget' => $widget, 'k' => $k));
|
||||||
|
|
|
@ -1,119 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?= Configure::read('Config.language') === 'eng' ? 'en' : Configure::read('Config.language') ?>">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width">
|
|
||||||
<link rel="shortcut icon" href="<?= $baseurl ?>/img/favicon.png">
|
|
||||||
<title><?= $title_for_layout, ' - ', h(Configure::read('MISP.title_text') ?: 'MISP') ?></title>
|
|
||||||
<?php
|
|
||||||
$css_collection = array(
|
|
||||||
'bootstrap',
|
|
||||||
//'bootstrap4',
|
|
||||||
'bootstrap-datepicker',
|
|
||||||
'bootstrap-colorpicker',
|
|
||||||
'font-awesome',
|
|
||||||
'chosen.min',
|
|
||||||
'main',
|
|
||||||
'gridstack.min',
|
|
||||||
array('print', array('media' => 'print'))
|
|
||||||
);
|
|
||||||
if (Configure::read('MISP.custom_css')) {
|
|
||||||
$css_collection[] = preg_replace('/\.css$/i', '', Configure::read('MISP.custom_css'));
|
|
||||||
}
|
|
||||||
$js_collection = array(
|
|
||||||
'jquery',
|
|
||||||
'misp-touch',
|
|
||||||
'chosen.jquery.min',
|
|
||||||
'gridstack.all'
|
|
||||||
);
|
|
||||||
echo $this->element('genericElements/assetLoader', array(
|
|
||||||
'css' => $css_collection,
|
|
||||||
'js' => $js_collection,
|
|
||||||
));
|
|
||||||
?>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="popover_form" class="ajax_popover_form"></div>
|
|
||||||
<div id="popover_form_large" class="ajax_popover_form ajax_popover_form_large"></div>
|
|
||||||
<div id="popover_form_x_large" class="ajax_popover_form ajax_popover_form_x_large"></div>
|
|
||||||
<div id="popover_matrix" class="ajax_popover_form ajax_popover_matrix"></div>
|
|
||||||
<div id="popover_box" class="popover_box"></div>
|
|
||||||
<div id="screenshot_box" class="screenshot_box"></div>
|
|
||||||
<div id="confirmation_box"></div>
|
|
||||||
<div id="gray_out"></div>
|
|
||||||
<div id="container">
|
|
||||||
<?php
|
|
||||||
echo $this->element('global_menu');
|
|
||||||
$topPadding = '50';
|
|
||||||
if (!empty($debugMode) && $debugMode != 'debugOff') {
|
|
||||||
$topPadding = '0';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div id="flashContainer" style="padding-top:<?php echo $topPadding; ?>px; !important;">
|
|
||||||
<div id="main-view-container" class="container-fluid ">
|
|
||||||
<?php
|
|
||||||
echo $this->Flash->render();
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<?php
|
|
||||||
echo $this->fetch('content');
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
echo $this->element('genericElements/assetLoader', array(
|
|
||||||
'js' => array(
|
|
||||||
'bootstrap',
|
|
||||||
'bootstrap-timepicker',
|
|
||||||
'bootstrap-datepicker',
|
|
||||||
'bootstrap-colorpicker',
|
|
||||||
'misp',
|
|
||||||
'keyboard-shortcuts-definition',
|
|
||||||
'keyboard-shortcuts'
|
|
||||||
)
|
|
||||||
));
|
|
||||||
echo $this->element('footer');
|
|
||||||
echo $this->element('sql_dump');
|
|
||||||
?>
|
|
||||||
<div id = "ajax_success_container" class="ajax_container">
|
|
||||||
<div id="ajax_success" class="ajax_result ajax_success"></div>
|
|
||||||
</div>
|
|
||||||
<div id = "ajax_fail_container" class="ajax_container">
|
|
||||||
<div id="ajax_fail" class="ajax_result ajax_fail"></div>
|
|
||||||
</div>
|
|
||||||
<div class="loading">
|
|
||||||
<div class="spinner"></div>
|
|
||||||
<div class="loadingText"><?php echo __('Loading');?></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
<?php
|
|
||||||
if (!isset($debugMode)):
|
|
||||||
?>
|
|
||||||
$(window).scroll(function(e) {
|
|
||||||
$('.actions').css('left',-$(window).scrollLeft());
|
|
||||||
});
|
|
||||||
<?php
|
|
||||||
endif;
|
|
||||||
?>
|
|
||||||
var baseurl = '<?php echo $baseurl; ?>';
|
|
||||||
var here = '<?php
|
|
||||||
if (substr($this->params['action'], 0, 6) === 'admin_') {
|
|
||||||
echo $baseurl . '/admin/' . h($this->params['controller']) . '/' . h(substr($this->params['action'], 6));
|
|
||||||
} else {
|
|
||||||
echo $baseurl . '/' . h($this->params['controller']) . '/' . h($this->params['action']);
|
|
||||||
}
|
|
||||||
?>';
|
|
||||||
<?php
|
|
||||||
if (!Configure::read('MISP.disable_auto_logout') and $me):
|
|
||||||
?>
|
|
||||||
//checkIfLoggedIn();
|
|
||||||
<?php
|
|
||||||
endif;
|
|
||||||
?>
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -7,7 +7,7 @@
|
||||||
<link rel="shortcut icon" href="<?= $baseurl ?>/img/favicon.png">
|
<link rel="shortcut icon" href="<?= $baseurl ?>/img/favicon.png">
|
||||||
<title><?= $title_for_layout, ' - ', h(Configure::read('MISP.title_text') ?: 'MISP') ?></title>
|
<title><?= $title_for_layout, ' - ', h(Configure::read('MISP.title_text') ?: 'MISP') ?></title>
|
||||||
<?php
|
<?php
|
||||||
$css_collection = array(
|
$css = [
|
||||||
'bootstrap',
|
'bootstrap',
|
||||||
//'bootstrap4',
|
//'bootstrap4',
|
||||||
'bootstrap-datepicker',
|
'bootstrap-datepicker',
|
||||||
|
@ -16,21 +16,27 @@
|
||||||
'chosen.min',
|
'chosen.min',
|
||||||
'main',
|
'main',
|
||||||
'jquery-ui',
|
'jquery-ui',
|
||||||
array('print', array('media' => 'print'))
|
['print', ['media' => 'print']],
|
||||||
);
|
];
|
||||||
if (Configure::read('MISP.custom_css')) {
|
if (Configure::read('MISP.custom_css')) {
|
||||||
$css_collection[] = preg_replace('/\.css$/i', '', Configure::read('MISP.custom_css'));
|
$css[] = preg_replace('/\.css$/i', '', Configure::read('MISP.custom_css'));
|
||||||
}
|
}
|
||||||
$js_collection = array(
|
$js = [
|
||||||
'jquery',
|
'jquery',
|
||||||
'misp-touch',
|
'misp-touch',
|
||||||
'chosen.jquery.min',
|
'chosen.jquery.min',
|
||||||
'jquery-ui'
|
'jquery-ui',
|
||||||
);
|
];
|
||||||
echo $this->element('genericElements/assetLoader', array(
|
if (!empty($additionalCss)) {
|
||||||
'css' => $css_collection,
|
$css = array_merge($css, $additionalCss);
|
||||||
'js' => $js_collection,
|
}
|
||||||
));
|
if (!empty($additionalJs)) {
|
||||||
|
$js = array_merge($js, $additionalJs);
|
||||||
|
}
|
||||||
|
echo $this->element('genericElements/assetLoader', [
|
||||||
|
'css' => $css,
|
||||||
|
'js' => $js,
|
||||||
|
]);
|
||||||
?>
|
?>
|
||||||
</head>
|
</head>
|
||||||
<body data-controller="<?= h($this->params['controller']) ?>" data-action="<?= h($this->params['action']) ?>">
|
<body data-controller="<?= h($this->params['controller']) ?>" data-action="<?= h($this->params['action']) ?>">
|
||||||
|
|
Loading…
Reference in New Issue