diff --git a/app/modules/web/Controllers/AccessManagerController.php b/app/modules/web/Controllers/AccessManagerController.php
index 1d829e8a..74b7e087 100644
--- a/app/modules/web/Controllers/AccessManagerController.php
+++ b/app/modules/web/Controllers/AccessManagerController.php
@@ -60,7 +60,6 @@ class AccessManagerController extends ControllerBase
/**
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function indexAction()
{
@@ -72,7 +71,6 @@ class AccessManagerController extends ControllerBase
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getGridTabs()
{
@@ -115,7 +113,6 @@ class AccessManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getUsersList()
{
@@ -129,7 +126,6 @@ class AccessManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getUsersGroupList()
{
@@ -142,7 +138,6 @@ class AccessManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getUsersProfileList()
{
@@ -155,7 +150,6 @@ class AccessManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getApiTokensList()
{
@@ -168,7 +162,6 @@ class AccessManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getPublicLinksList()
{
diff --git a/app/modules/web/Controllers/AccountController.php b/app/modules/web/Controllers/AccountController.php
index fdddc040..6fc84193 100644
--- a/app/modules/web/Controllers/AccountController.php
+++ b/app/modules/web/Controllers/AccountController.php
@@ -62,8 +62,8 @@ use SP\Util\Util;
*/
class AccountController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
+
/**
* @var AccountService
*/
@@ -531,7 +531,7 @@ class AccountController extends ControllerBase implements CrudControllerInterfac
/**
* Display account's password
*
- * @param int $id Account's ID
+ * @param int $id Account's ID
* @param int $isHistory The account's ID refers to history
* @throws \Psr\Container\ContainerExceptionInterface
*/
@@ -567,7 +567,7 @@ class AccountController extends ControllerBase implements CrudControllerInterfac
/**
* Copy account's password
*
- * @param int $id Account's ID
+ * @param int $id Account's ID
* @param int $isHistory The account's ID refers to history
* @throws Helpers\HelperException
* @throws SPException
@@ -738,7 +738,7 @@ class AccountController extends ControllerBase implements CrudControllerInterfac
* Saves restore action
*
* @param int $historyId Account's history ID
- * @param int $id Account's ID
+ * @param int $id Account's ID
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
diff --git a/app/modules/web/Controllers/AccountFavoriteController.php b/app/modules/web/Controllers/AccountFavoriteController.php
index dd120fbc..0a3f0926 100644
--- a/app/modules/web/Controllers/AccountFavoriteController.php
+++ b/app/modules/web/Controllers/AccountFavoriteController.php
@@ -76,6 +76,8 @@ class AccountFavoriteController extends SimpleControllerBase
protected function initialize()
{
+ $this->checks();
+
$this->accountFavoriteService = $this->dic->get(AccountFavoriteService::class);
}
diff --git a/app/modules/web/Controllers/AccountFileController.php b/app/modules/web/Controllers/AccountFileController.php
index bbc98a96..a8df3ebf 100644
--- a/app/modules/web/Controllers/AccountFileController.php
+++ b/app/modules/web/Controllers/AccountFileController.php
@@ -49,8 +49,7 @@ use SP\Util\Util;
*/
class AccountFileController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var AccountFileService
@@ -238,7 +237,6 @@ class AccountFileController extends ControllerBase implements CrudControllerInte
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/ApiTokenController.php b/app/modules/web/Controllers/ApiTokenController.php
index da472004..67272f21 100644
--- a/app/modules/web/Controllers/ApiTokenController.php
+++ b/app/modules/web/Controllers/ApiTokenController.php
@@ -49,8 +49,7 @@ use SP\Services\User\UserService;
*/
class ApiTokenController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var AuthTokenService
@@ -62,7 +61,6 @@ class ApiTokenController extends ControllerBase implements CrudControllerInterfa
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -81,7 +79,6 @@ class ApiTokenController extends ControllerBase implements CrudControllerInterfa
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/CategoryController.php b/app/modules/web/Controllers/CategoryController.php
index 7309aa9b..1d2c8efb 100644
--- a/app/modules/web/Controllers/CategoryController.php
+++ b/app/modules/web/Controllers/CategoryController.php
@@ -46,8 +46,7 @@ use SP\Services\Category\CategoryService;
*/
class CategoryController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var CategoryService
@@ -59,7 +58,6 @@ class CategoryController extends ControllerBase implements CrudControllerInterfa
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -78,7 +76,6 @@ class CategoryController extends ControllerBase implements CrudControllerInterfa
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/ClientController.php b/app/modules/web/Controllers/ClientController.php
index b41436ba..860f213f 100644
--- a/app/modules/web/Controllers/ClientController.php
+++ b/app/modules/web/Controllers/ClientController.php
@@ -47,8 +47,7 @@ use SP\Services\Client\ClientService;
*/
class ClientController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var ClientService
@@ -60,7 +59,6 @@ class ClientController extends ControllerBase implements CrudControllerInterface
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -79,7 +77,6 @@ class ClientController extends ControllerBase implements CrudControllerInterface
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
@@ -331,5 +328,4 @@ class ClientController extends ControllerBase implements CrudControllerInterface
$this->clientService = $this->dic->get(ClientService::class);
}
-
}
\ No newline at end of file
diff --git a/app/modules/web/Controllers/ConfigAccountController.php b/app/modules/web/Controllers/ConfigAccountController.php
index 4757019f..666dc215 100644
--- a/app/modules/web/Controllers/ConfigAccountController.php
+++ b/app/modules/web/Controllers/ConfigAccountController.php
@@ -111,6 +111,7 @@ class ConfigAccountController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::ACCOUNT_CONFIG);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/ConfigBackupController.php b/app/modules/web/Controllers/ConfigBackupController.php
index 86dcbfa4..9d3559c8 100644
--- a/app/modules/web/Controllers/ConfigBackupController.php
+++ b/app/modules/web/Controllers/ConfigBackupController.php
@@ -111,6 +111,7 @@ class ConfigBackupController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::BACKUP_CONFIG);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/ConfigEncryptionController.php b/app/modules/web/Controllers/ConfigEncryptionController.php
index bd9cb236..4870306d 100644
--- a/app/modules/web/Controllers/ConfigEncryptionController.php
+++ b/app/modules/web/Controllers/ConfigEncryptionController.php
@@ -224,6 +224,7 @@ class ConfigEncryptionController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::ENCRYPTION_CONFIG);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/ConfigGeneralController.php b/app/modules/web/Controllers/ConfigGeneralController.php
index af1a1315..9b4ebbbf 100644
--- a/app/modules/web/Controllers/ConfigGeneralController.php
+++ b/app/modules/web/Controllers/ConfigGeneralController.php
@@ -160,6 +160,7 @@ class ConfigGeneralController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::CONFIG_GENERAL);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/ConfigImportController.php b/app/modules/web/Controllers/ConfigImportController.php
index 3d13e3ac..50c69484 100644
--- a/app/modules/web/Controllers/ConfigImportController.php
+++ b/app/modules/web/Controllers/ConfigImportController.php
@@ -91,6 +91,7 @@ class ConfigImportController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::IMPORT_CONFIG);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/ConfigLdapController.php b/app/modules/web/Controllers/ConfigLdapController.php
index 5ab3c086..521c92a3 100644
--- a/app/modules/web/Controllers/ConfigLdapController.php
+++ b/app/modules/web/Controllers/ConfigLdapController.php
@@ -271,6 +271,7 @@ class ConfigLdapController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::LDAP_CONFIG);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/ConfigMailController.php b/app/modules/web/Controllers/ConfigMailController.php
index 89f7351a..22d98af8 100644
--- a/app/modules/web/Controllers/ConfigMailController.php
+++ b/app/modules/web/Controllers/ConfigMailController.php
@@ -98,6 +98,7 @@ class ConfigMailController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::MAIL_CONFIG);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/ConfigWikiController.php b/app/modules/web/Controllers/ConfigWikiController.php
index 9a2c36c5..5a8f532b 100644
--- a/app/modules/web/Controllers/ConfigWikiController.php
+++ b/app/modules/web/Controllers/ConfigWikiController.php
@@ -113,6 +113,7 @@ class ConfigWikiController extends SimpleControllerBase
protected function initialize()
{
try {
+ $this->checks();
$this->checkAccess(ActionsInterface::WIKI_CONFIG);
} catch (UnauthorizedPageException $e) {
$this->eventDispatcher->notifyEvent('exception', new Event($e));
diff --git a/app/modules/web/Controllers/CustomFieldController.php b/app/modules/web/Controllers/CustomFieldController.php
index 292e15e9..dcc1fb78 100644
--- a/app/modules/web/Controllers/CustomFieldController.php
+++ b/app/modules/web/Controllers/CustomFieldController.php
@@ -24,7 +24,6 @@
namespace SP\Modules\Web\Controllers;
-
use SP\Core\Acl\Acl;
use SP\Core\Acl\ActionsInterface;
use SP\Core\Events\Event;
@@ -49,8 +48,7 @@ use SP\Services\CustomField\CustomFieldDefService;
*/
class CustomFieldController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var CustomFieldDefService
@@ -62,7 +60,6 @@ class CustomFieldController extends ControllerBase implements CrudControllerInte
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -81,7 +78,6 @@ class CustomFieldController extends ControllerBase implements CrudControllerInte
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/ErrorController.php b/app/modules/web/Controllers/ErrorController.php
index 31be3c9d..5cd820f2 100644
--- a/app/modules/web/Controllers/ErrorController.php
+++ b/app/modules/web/Controllers/ErrorController.php
@@ -51,7 +51,6 @@ class ErrorController
/**
* ErrorController constructor.
*
- * @throws \ReflectionException
* @throws \SP\Core\Dic\ContainerException
*/
public function __construct()
diff --git a/app/modules/web/Controllers/EventlogController.php b/app/modules/web/Controllers/EventlogController.php
index 40ebd181..da72182b 100644
--- a/app/modules/web/Controllers/EventlogController.php
+++ b/app/modules/web/Controllers/EventlogController.php
@@ -49,8 +49,6 @@ class EventlogController extends ControllerBase
/**
* indexAction
- *
- * @throws \SP\Core\Dic\ContainerException
*/
public function indexAction()
{
@@ -69,7 +67,6 @@ class EventlogController extends ControllerBase
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
@@ -114,8 +111,15 @@ class EventlogController extends ControllerBase
}
}
+ /**
+ * @throws \Psr\Container\ContainerExceptionInterface
+ * @throws \Psr\Container\NotFoundExceptionInterface
+ * @throws \SP\Services\Auth\AuthException
+ */
protected function initialize()
{
+ $this->checkLoggedIn();
+
$this->eventLogService = $this->dic->get(EventlogService::class);
}
}
\ No newline at end of file
diff --git a/app/modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php b/app/modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php
index d42eaab5..d7a352ea 100644
--- a/app/modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php
+++ b/app/modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php
@@ -51,7 +51,7 @@ class AccountPasswordHelper extends HelperBase
* @param AccountPassData $account
* @param \SP\Core\Acl\Acl $acl
* @param $type
- * @return string
+ * @return string|null
* @throws HelperException
* @throws \Defuse\Crypto\Exception\CryptoException
* @throws \SP\Core\Exceptions\SPException
@@ -68,6 +68,8 @@ class AccountPasswordHelper extends HelperBase
$this->setTemplateVars($account);
break;
}
+
+ return null;
}
/**
diff --git a/app/modules/web/Controllers/Helpers/Account/AccountSearchHelper.php b/app/modules/web/Controllers/Helpers/Account/AccountSearchHelper.php
index 1653ff76..af62d8c6 100644
--- a/app/modules/web/Controllers/Helpers/Account/AccountSearchHelper.php
+++ b/app/modules/web/Controllers/Helpers/Account/AccountSearchHelper.php
@@ -150,7 +150,6 @@ class AccountSearchHelper extends HelperBase
* Devuelve la matriz a utilizar en la vista
*
* @return DataGrid
- * @throws \SP\Core\Dic\ContainerException
*/
private function getGrid()
{
@@ -182,7 +181,7 @@ class AccountSearchHelper extends HelperBase
$actions = $this->dic->get(AccountActionsHelper::class);
- $Grid = new DataGrid();
+ $Grid = new DataGrid($this->view->getTheme());
$Grid->setId('gridSearch');
$Grid->setDataHeaderTemplate('search-header', $this->view->getBase());
$Grid->setDataRowTemplate('search-rows', $this->view->getBase());
diff --git a/app/modules/web/Controllers/Helpers/ItemsGridHelper.php b/app/modules/web/Controllers/Helpers/ItemsGridHelper.php
index 2de77cff..feeeb484 100644
--- a/app/modules/web/Controllers/Helpers/ItemsGridHelper.php
+++ b/app/modules/web/Controllers/Helpers/ItemsGridHelper.php
@@ -63,7 +63,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getCategoriesGrid(array $data)
{
@@ -80,7 +79,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblCategories');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -165,7 +164,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getClientsGrid(array $data)
{
@@ -186,7 +184,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblCustomers');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -249,7 +247,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getCustomFieldsGrid(array $data)
{
@@ -270,7 +267,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblCustomFields');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -333,7 +330,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getFilesGrid(array $data)
{
@@ -356,7 +352,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblFiles');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -419,7 +415,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getAccountsGrid(array $data)
{
@@ -436,7 +431,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblAccounts');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -476,7 +471,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getAccountsHistoryGrid(array $data)
{
@@ -501,7 +495,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblAccountsHistory');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -551,7 +545,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getUsersGrid(array $data)
{
@@ -577,7 +570,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblUsers');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -679,7 +672,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getUserGroupsGrid(array $data)
{
@@ -696,7 +688,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblGroups');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -770,7 +762,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getUserProfilesGrid(array $data)
{
@@ -785,7 +776,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblProfiles');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -859,7 +850,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getApiTokensGrid(array $data)
{
@@ -876,7 +866,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblTokens');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -950,7 +940,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getPublicLinksGrid(array $data)
{
@@ -977,7 +966,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblLinks');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -1050,7 +1039,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getTagsGrid(array $data)
{
@@ -1065,7 +1053,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblTags');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -1128,7 +1116,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGridTab
- * @throws \SP\Core\Dic\ContainerException
*/
public function getPluginsGrid(array $data)
{
@@ -1147,7 +1134,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGridTab();
+ $Grid = new DataGridTab($this->view->getTheme());
$Grid->setId('tblPlugins');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -1190,6 +1177,7 @@ class ItemsGridHelper extends HelperBase
$GridActionEnable->setFilterRowSource('enabled');
$GridActionEnable->setFilterRowSource('available', 0);
$GridActionEnable->addData('action-route', Acl::getActionRoute(ActionsInterface::PLUGIN_ENABLE));
+ $GridActionEnable->addData('action-method', 'get');
$Grid->setDataActions($GridActionEnable);
@@ -1202,6 +1190,7 @@ class ItemsGridHelper extends HelperBase
$GridActionDisable->setFilterRowSource('enabled', 0);
$GridActionDisable->setFilterRowSource('available', 0);
$GridActionDisable->addData('action-route', Acl::getActionRoute(ActionsInterface::PLUGIN_DISABLE));
+ $GridActionDisable->addData('action-method', 'get');
$Grid->setDataActions($GridActionDisable);
@@ -1213,6 +1202,7 @@ class ItemsGridHelper extends HelperBase
$GridActionReset->setOnClickFunction('plugin/reset');
$GridActionReset->setFilterRowSource('available', 0);
$GridActionReset->addData('action-route', Acl::getActionRoute(ActionsInterface::PLUGIN_RESET));
+ $GridActionReset->addData('action-method', 'get');
$Grid->setDataActions($GridActionReset);
@@ -1222,7 +1212,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGrid
- * @throws \SP\Core\Dic\ContainerException
*/
public function getEventLogGrid(array $data)
{
@@ -1260,7 +1249,7 @@ class ItemsGridHelper extends HelperBase
if (preg_match('/^SQL.*/m', $text)) {
$text = preg_replace([
- '/([[:alpha:]_]+),/m',
+ '/([a-zA-Z_]+),/m',
'/(UPDATE|DELETE|TRUNCATE|INSERT|SELECT|WHERE|LEFT|ORDER|LIMIT|FROM)/m'],
['\\1, " + Common.config().LANG[59] + " " + Common.config().LANG[59] + " " + Common.config().LANG[58] + " " + Common.config().LANG[58] + "
', '
\\1'],
$text);
@@ -1275,7 +1264,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGrid();
+ $Grid = new DataGrid($this->view->getTheme());
$Grid->setId('tblEventLog');
$Grid->setDataTableTemplate('datagrid-table-simple', 'grid');
$Grid->setDataRowTemplate('datagrid-rows', $this->view->getBase());
@@ -1330,7 +1319,6 @@ class ItemsGridHelper extends HelperBase
/**
* @param array $data
* @return DataGrid
- * @throws \SP\Core\Dic\ContainerException
*/
public function getNotificationsGrid(array $data)
{
@@ -1360,7 +1348,7 @@ class ItemsGridHelper extends HelperBase
$GridData->setData($data);
// Grid
- $Grid = new DataGrid();
+ $Grid = new DataGrid($this->view->getTheme());
$Grid->setId('tblNotifications');
$Grid->setDataRowTemplate('datagrid-rows', 'grid');
$Grid->setDataPagerTemplate('datagrid-nav-full', 'grid');
@@ -1455,7 +1443,7 @@ class ItemsGridHelper extends HelperBase
* Actualizar los datos del paginador
*
* @param DataGridInterface $dataGrid
- * @param ItemSearchData $itemSearchData
+ * @param ItemSearchData $itemSearchData
* @return DataGridInterface
*/
public function updatePager(DataGridInterface $dataGrid, ItemSearchData $itemSearchData)
diff --git a/app/modules/web/Controllers/Helpers/LayoutHelper.php b/app/modules/web/Controllers/Helpers/LayoutHelper.php
index 73ead596..e20da22c 100644
--- a/app/modules/web/Controllers/Helpers/LayoutHelper.php
+++ b/app/modules/web/Controllers/Helpers/LayoutHelper.php
@@ -375,5 +375,4 @@ class LayoutHelper extends HelperBase
$this->view->assign('loggedIn', $this->loggedIn);
}
-
}
\ No newline at end of file
diff --git a/app/modules/web/Controllers/ItemManagerController.php b/app/modules/web/Controllers/ItemManagerController.php
index a6b02c8b..0a7f4844 100644
--- a/app/modules/web/Controllers/ItemManagerController.php
+++ b/app/modules/web/Controllers/ItemManagerController.php
@@ -31,13 +31,13 @@ use SP\DataModel\ItemSearchData;
use SP\Http\Request;
use SP\Modules\Web\Controllers\Helpers\ItemsGridHelper;
use SP\Modules\Web\Controllers\Helpers\TabsGridHelper;
-use SP\Repositories\Plugin\PluginRepository;
use SP\Services\Account\AccountFileService;
use SP\Services\Account\AccountHistoryService;
use SP\Services\Account\AccountService;
use SP\Services\Category\CategoryService;
use SP\Services\Client\ClientService;
use SP\Services\CustomField\CustomFieldDefService;
+use SP\Services\Plugin\PluginService;
use SP\Services\Tag\TagService;
/**
@@ -63,7 +63,6 @@ class ItemManagerController extends ControllerBase
/**
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function indexAction()
{
@@ -75,7 +74,6 @@ class ItemManagerController extends ControllerBase
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getGridTabs()
{
@@ -130,7 +128,6 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getCategoriesList()
{
@@ -143,7 +140,6 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getTagsList()
{
@@ -156,7 +152,6 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getClientsList()
{
@@ -169,7 +164,6 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getCustomFieldsList()
{
@@ -182,7 +176,6 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getAccountFilesList()
{
@@ -195,7 +188,6 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getAccountsList()
{
@@ -208,7 +200,6 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getAccountsHistoryList()
{
@@ -221,12 +212,10 @@ class ItemManagerController extends ControllerBase
* @return \SP\Html\DataGrid\DataGridTab
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getPluginsList()
{
- // FIXME: create Plugin Service
- return $this->itemsGridHelper->getPluginsGrid($this->dic->get(PluginRepository::class)->search($this->itemSearchData))->updatePager();
+ return $this->itemsGridHelper->getPluginsGrid($this->dic->get(PluginService::class)->search($this->itemSearchData))->updatePager();
}
/**
diff --git a/app/modules/web/Controllers/NotificationController.php b/app/modules/web/Controllers/NotificationController.php
index 6e6fc3c8..2c0308a4 100644
--- a/app/modules/web/Controllers/NotificationController.php
+++ b/app/modules/web/Controllers/NotificationController.php
@@ -56,7 +56,7 @@ class NotificationController extends ControllerBase implements CrudControllerInt
protected $notificationService;
/**
- * @throws \SP\Core\Dic\ContainerException
+ * indexAction
*/
public function indexAction()
{
@@ -75,7 +75,6 @@ class NotificationController extends ControllerBase implements CrudControllerInt
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
@@ -147,8 +146,6 @@ class NotificationController extends ControllerBase implements CrudControllerInt
/**
* Search action
- *
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -361,8 +358,15 @@ class NotificationController extends ControllerBase implements CrudControllerInt
}
}
+ /**
+ * @throws ContainerExceptionInterface
+ * @throws NotFoundExceptionInterface
+ * @throws \SP\Services\Auth\AuthException
+ */
protected function initialize()
{
+ $this->checkLoggedIn();
+
$this->notificationService = $this->dic->get(NotificationService::class);
}
}
\ No newline at end of file
diff --git a/app/modules/web/Controllers/PluginController.php b/app/modules/web/Controllers/PluginController.php
new file mode 100644
index 00000000..f64e3563
--- /dev/null
+++ b/app/modules/web/Controllers/PluginController.php
@@ -0,0 +1,238 @@
+.
+ */
+
+namespace SP\Modules\Web\Controllers;
+
+use Psr\Container\ContainerExceptionInterface;
+use Psr\Container\NotFoundExceptionInterface;
+use SP\Core\Acl\Acl;
+use SP\Core\Acl\ActionsInterface;
+use SP\Core\Events\Event;
+use SP\Core\Events\EventMessage;
+use SP\DataModel\PluginData;
+use SP\Http\JsonResponse;
+use SP\Http\Request;
+use SP\Modules\Web\Controllers\Helpers\ItemsGridHelper;
+use SP\Modules\Web\Controllers\Traits\ItemTrait;
+use SP\Modules\Web\Controllers\Traits\JsonTrait;
+use SP\Services\Plugin\PluginService;
+
+/**
+ * Class PluginController
+ * @package web\Controllers
+ */
+class PluginController extends ControllerBase
+{
+ use JsonTrait, ItemTrait;
+
+ /**
+ * @var PluginService
+ */
+ protected $pluginService;
+
+ /**
+ * indexAction
+ */
+ public function indexAction()
+ {
+ if (!$this->acl->checkUserAccess(ActionsInterface::PLUGIN)) {
+ return;
+ }
+
+ $this->view->addTemplate('index');
+
+ $this->view->assign('data', $this->getSearchGrid());
+
+ $this->view();
+ }
+
+ /**
+ * getSearchGrid
+ *
+ * @return $this
+ */
+ protected function getSearchGrid()
+ {
+ $itemsGridHelper = $this->dic->get(ItemsGridHelper::class);
+ $itemSearchData = $this->getSearchData($this->configData->getAccountCount());
+
+ return $itemsGridHelper->updatePager($itemsGridHelper->getPluginsGrid($this->pluginService->search($itemSearchData)), $itemSearchData);
+ }
+
+ /**
+ * Search action
+ *
+ * @throws \Psr\Container\ContainerExceptionInterface
+ * @throws \Psr\Container\NotFoundExceptionInterface
+ */
+ public function searchAction()
+ {
+ if (!$this->acl->checkUserAccess(ActionsInterface::PLUGIN_SEARCH)) {
+ return;
+ }
+
+ $this->view->addTemplate('datagrid-table', 'grid');
+ $this->view->assign('index', Request::analyzeInt('activetab', 0));
+ $this->view->assign('data', $this->getSearchGrid());
+
+ $this->returnJsonResponseData(['html' => $this->render()]);
+ }
+
+ /**
+ * View action
+ *
+ * @param $id
+ * @throws ContainerExceptionInterface
+ * @throws NotFoundExceptionInterface
+ */
+ public function viewAction($id)
+ {
+ if (!$this->acl->checkUserAccess(ActionsInterface::PLUGIN_VIEW)) {
+ return;
+ }
+
+ $this->view->assign('header', __('Ver Plugin'));
+ $this->view->assign('isView', true);
+
+ try {
+ $this->setViewData($id);
+
+ $this->eventDispatcher->notifyEvent('show.plugin', new Event($this));
+
+ $this->returnJsonResponseData(['html' => $this->render()]);
+ } catch (\Exception $e) {
+ processException($e);
+
+ $this->returnJsonResponseException($e);
+ }
+ }
+
+ /**
+ * Sets view data for displaying items's data
+ *
+ * @param $pluginId
+ * @throws \Psr\Container\ContainerExceptionInterface
+ * @throws \Psr\Container\NotFoundExceptionInterface
+ */
+ protected function setViewData($pluginId = null)
+ {
+ $this->view->addTemplate('plugin');
+
+ $pluginData = $pluginId ? $this->pluginService->getById($pluginId) : new PluginData();
+
+ $this->view->assign('plugin', $pluginData);
+
+ $this->view->assign('sk', $this->session->generateSecurityKey());
+ $this->view->assign('nextAction', Acl::getActionRoute(ActionsInterface::ITEMS_MANAGE));
+
+ if ($this->view->isView === true) {
+ $this->view->assign('disabled', 'disabled');
+ $this->view->assign('readonly', 'readonly');
+ } else {
+ $this->view->assign('disabled');
+ $this->view->assign('readonly');
+ }
+ }
+
+ /**
+ * enableAction
+ *
+ * @param $id
+ */
+ public function enableAction($id)
+ {
+ try {
+ $this->pluginService->toggleEnabled($id, 1);
+
+ $this->eventDispatcher->notifyEvent('edit.plugin.enable',
+ new Event($this,
+ EventMessage::factory()->addDescription(__u('Plugin habilitado')))
+ );
+
+ $this->returnJsonResponse(JsonResponse::JSON_SUCCESS, __u('Plugin habilitado'));
+ } catch (\Exception $e) {
+ processException($e);
+
+ $this->returnJsonResponseException($e);
+ }
+ }
+
+ /**
+ * disableAction
+ *
+ * @param $id
+ */
+ public function disableAction($id)
+ {
+ try {
+ $this->pluginService->toggleEnabled($id, 0);
+
+ $this->eventDispatcher->notifyEvent('edit.plugin.disable',
+ new Event($this,
+ EventMessage::factory()->addDescription(__u('Plugin deshabilitado')))
+ );
+
+ $this->returnJsonResponse(JsonResponse::JSON_SUCCESS, __u('Plugin deshabilitado'));
+ } catch (\Exception $e) {
+ processException($e);
+
+ $this->returnJsonResponseException($e);
+ }
+ }
+
+ /**
+ * resetAction
+ *
+ * @param $id
+ */
+ public function resetAction($id)
+ {
+ try {
+ $this->pluginService->resetById($id);
+
+ $this->eventDispatcher->notifyEvent('edit.plugin.reset',
+ new Event($this,
+ EventMessage::factory()->addDescription(__u('Plugin restablecido')))
+ );
+
+ $this->returnJsonResponse(JsonResponse::JSON_SUCCESS, __u('Plugin restablecido'));
+ } catch (\Exception $e) {
+ processException($e);
+
+ $this->returnJsonResponseException($e);
+ }
+ }
+
+ /**
+ * @throws ContainerExceptionInterface
+ * @throws NotFoundExceptionInterface
+ * @throws \SP\Services\Auth\AuthException
+ */
+ protected function initialize()
+ {
+ $this->checkLoggedIn();
+
+ $this->pluginService = $this->dic->get(PluginService::class);
+ }
+}
\ No newline at end of file
diff --git a/app/modules/web/Controllers/PublicLinkController.php b/app/modules/web/Controllers/PublicLinkController.php
index 407fde32..8eb0c634 100644
--- a/app/modules/web/Controllers/PublicLinkController.php
+++ b/app/modules/web/Controllers/PublicLinkController.php
@@ -49,8 +49,7 @@ use SP\Services\PublicLink\PublicLinkService;
*/
class PublicLinkController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var PublicLinkService
@@ -62,7 +61,6 @@ class PublicLinkController extends ControllerBase implements CrudControllerInter
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -81,7 +79,6 @@ class PublicLinkController extends ControllerBase implements CrudControllerInter
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/TagController.php b/app/modules/web/Controllers/TagController.php
index 53497513..ec34646a 100644
--- a/app/modules/web/Controllers/TagController.php
+++ b/app/modules/web/Controllers/TagController.php
@@ -24,7 +24,6 @@
namespace SP\Modules\Web\Controllers;
-
use SP\Core\Acl\Acl;
use SP\Core\Acl\ActionsInterface;
use SP\Core\Events\Event;
@@ -46,8 +45,7 @@ use SP\Services\Tag\TagService;
*/
class TagController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var TagService
@@ -59,7 +57,6 @@ class TagController extends ControllerBase implements CrudControllerInterface
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -78,7 +75,6 @@ class TagController extends ControllerBase implements CrudControllerInterface
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/UserController.php b/app/modules/web/Controllers/UserController.php
index bc367cd0..252f4669 100644
--- a/app/modules/web/Controllers/UserController.php
+++ b/app/modules/web/Controllers/UserController.php
@@ -29,7 +29,6 @@ use SP\Core\Acl\ActionsInterface;
use SP\Core\Events\Event;
use SP\Core\Events\EventMessage;
use SP\Core\Exceptions\ValidationException;
-use SP\Core\SessionUtil;
use SP\DataModel\UserData;
use SP\Http\JsonResponse;
use SP\Http\Request;
@@ -65,7 +64,6 @@ class UserController extends ControllerBase implements CrudControllerInterface
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -84,7 +82,6 @@ class UserController extends ControllerBase implements CrudControllerInterface
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
@@ -203,7 +200,7 @@ class UserController extends ControllerBase implements CrudControllerInterface
$this->view->assign('header', __('Cambio de Clave'));
$this->view->assign('isView', false);
$this->view->assign('route', 'user/saveEditPass/' . $id);
- $this->view->assign('sk', SessionUtil::getSessionKey(true));
+ $this->view->assign('sk', $this->session->generateSecurityKey());
try {
$user = $id ? $this->userService->getById($id) : new UserData();
@@ -432,7 +429,9 @@ class UserController extends ControllerBase implements CrudControllerInterface
}
/**
- * Initialize class
+ * @throws \Psr\Container\ContainerExceptionInterface
+ * @throws \Psr\Container\NotFoundExceptionInterface
+ * @throws \SP\Services\Auth\AuthException
*/
protected function initialize()
{
diff --git a/app/modules/web/Controllers/UserGroupController.php b/app/modules/web/Controllers/UserGroupController.php
index 46b39fc2..7b2c94d9 100644
--- a/app/modules/web/Controllers/UserGroupController.php
+++ b/app/modules/web/Controllers/UserGroupController.php
@@ -49,8 +49,7 @@ use SP\Services\UserGroup\UserToUserGroupService;
*/
class UserGroupController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var UserGroupService
@@ -66,7 +65,6 @@ class UserGroupController extends ControllerBase implements CrudControllerInterf
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -85,7 +83,6 @@ class UserGroupController extends ControllerBase implements CrudControllerInterf
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/UserProfileController.php b/app/modules/web/Controllers/UserProfileController.php
index 76107be1..7fa4a380 100644
--- a/app/modules/web/Controllers/UserProfileController.php
+++ b/app/modules/web/Controllers/UserProfileController.php
@@ -47,8 +47,7 @@ use SP\Services\UserProfile\UserProfileService;
*/
class UserProfileController extends ControllerBase implements CrudControllerInterface
{
- use JsonTrait;
- use ItemTrait;
+ use JsonTrait, ItemTrait;
/**
* @var UserProfileService
@@ -60,7 +59,6 @@ class UserProfileController extends ControllerBase implements CrudControllerInte
*
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
- * @throws \SP\Core\Dic\ContainerException
*/
public function searchAction()
{
@@ -79,7 +77,6 @@ class UserProfileController extends ControllerBase implements CrudControllerInte
* getSearchGrid
*
* @return $this
- * @throws \SP\Core\Dic\ContainerException
*/
protected function getSearchGrid()
{
diff --git a/app/modules/web/Controllers/UserSettingsGeneralController.php b/app/modules/web/Controllers/UserSettingsGeneralController.php
index 3e99cdd0..639750bb 100644
--- a/app/modules/web/Controllers/UserSettingsGeneralController.php
+++ b/app/modules/web/Controllers/UserSettingsGeneralController.php
@@ -80,6 +80,8 @@ class UserSettingsGeneralController extends SimpleControllerBase
*/
protected function initialize()
{
+ $this->checks();
+
$this->userService = $this->dic->get(UserService::class);
}
}
\ No newline at end of file
diff --git a/app/modules/web/Controllers/UserSettingsManagerController.php b/app/modules/web/Controllers/UserSettingsManagerController.php
index 93d39339..1101bda5 100644
--- a/app/modules/web/Controllers/UserSettingsManagerController.php
+++ b/app/modules/web/Controllers/UserSettingsManagerController.php
@@ -89,4 +89,14 @@ class UserSettingsManagerController extends ControllerBase
return new DataTab(__('Preferencias'), $template);
}
+
+ /**
+ * @throws \Psr\Container\ContainerExceptionInterface
+ * @throws \Psr\Container\NotFoundExceptionInterface
+ * @throws \SP\Services\Auth\AuthException
+ */
+ protected function initialize()
+ {
+ $this->checkLoggedIn();
+ }
}
\ No newline at end of file
diff --git a/app/modules/web/themes/material-blue/css/styles.min.css b/app/modules/web/themes/material-blue/css/styles.min.css
index df80b005..7692b83c 100644
--- a/app/modules/web/themes/material-blue/css/styles.min.css
+++ b/app/modules/web/themes/material-blue/css/styles.min.css
@@ -1 +1 @@
-html,body{margin:0;padding:0;text-align:left;background-color:#f5f5f5;color:#555;font-size:12px;font-weight:normal;box-sizing:border-box}*{font-family:"Roboto Regular",Verdana,Tahoma,sans-serif;box-sizing:inherit}*:before,*:after{box-sizing:inherit}table{font-size:11px;border-spacing:0}table th{border-bottom:2px solid transparent;vertical-align:middle}table th .icon{width:24px;height:24px}table tr{height:20px}table tr.odd{background-color:#f9f9f9}table tr.even>td,table tr.odd>td{border-bottom:1px solid #d9d9d9 !important}table tr.even:hover,table tr.odd:hover{background-color:#e8ff99}table td{padding:3px}table td.txtCliente{font-weight:bold;text-align:center}form{font-size:11px;margin:0}input.inputImg,img.inputImg{background-color:transparent !important;width:24px !important;height:24px !important;border:0;vertical-align:middle;margin:0 .5em}input.txtFile{width:200px}input.txtLong{width:300px}textarea{width:350px}select.files{width:250px}input.spinner{width:5em}img{margin:0;padding:0;border:0;cursor:pointer}img.inputImgMini{background-color:transparent !important;width:16px !important;height:16px !important;margin:0 5px 0 5px;border:0;vertical-align:middle}i{cursor:pointer}form .form-field{display:flex;justify-content:space-between}form .form-field>label{min-width:12em;padding:.5em 0;font-size:16px;align-self:center}form .form-field>div{width:100%;align-self:center}a{text-decoration:none;color:#536dfe}a:visited{text-decoration:none;color:#536dfe}a:hover,a:active,a:focus{text-decoration:none;cursor:pointer}pre,code,samp,kbd{font-family:Consolas,"Andale Mono WT","Andale Mono","Bitstream Vera Sans Mono","Nimbus Mono L",Monaco,"Courier New",monospace;font-size:1em;direction:ltr;text-align:left;background-color:#fbfaf9;color:#333;box-shadow:inset 0 0 .3em #ccc;border-radius:2px}#nojs{width:80%;text-align:center;vertical-align:middle;margin:10px auto;padding:3px;background-color:#ef5350;color:white;font-weight:bold;font-size:14px}#wrap{height:auto !important;min-height:100%;width:100%;background-color:#f5f5f5}#wrap-loading{position:fixed;z-index:9999;top:50%;left:50%;padding:1em;background-color:rgba(255,255,255,0.8);display:none;border-radius:5px !important;-moz-border-radius:5px !important;-webkit-border-radius:5px !important}#wrap-loading.overlay-full{top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.5)}#wrap-loading.overlay-full #loading{position:absolute;top:50%;left:50%}#wrap-loading.overlay-full #taskStatus{display:block}#wrap-loading #taskStatus{display:none;position:absolute;left:0;top:55%;width:100%;text-align:center;color:white;background-color:rgba(0,0,0,0.5);padding:1em 0}#container{margin:auto;width:100%}#container.login{padding-top:5%}#container.error,#container.install,#container.passreset{width:100%}#container .logo{height:64px}#container #actions-bar{z-index:100;display:flex;justify-content:space-between;position:fixed;border:0 none;top:0;left:0;width:100%;padding:1em 0;background-color:transparent}#container #actions-bar-icons{flex-grow:1;text-align:center}#container #actions-bar-logo{display:none;padding:0 .5em}#container #actions-bar-logo img{display:inline-block;width:50px;opacity:.75}#container #content{width:95%;margin:2em auto 8em auto}#container #content.public-link{width:70%;min-height:0;margin:5em auto}#content td.descField,#box-popup td.descField{text-align:right;padding-right:20px;width:25%;border-right:1px solid #d9d9d9;color:#999;font-size:12px;font-weight:bold}#content td.valField,#box-popup td.valField{padding-left:1em;width:100%}#content td.valField .lowres-title,#box-popup td.valField .lowres-title{display:none;width:100%;color:#607d8b;font-size:12px}#content .pager{width:100%;margin-top:15px;padding:.5em;vertical-align:middle;font-size:11px;color:#999;background-color:#fcfcfc}#content .pager img{margin-left:5px;vertical-align:middle}#content .pager a{margin-left:5px;font-size:12px;color:#999}#content .pager>div{display:inline-block;width:49%}#content .pager .pager-left{text-align:left}#content .pager .pager-right{text-align:right}#content #title{width:50%;padding:7px;margin:auto;background-color:#d9d9d9;color:#fff;font-size:17px;letter-spacing:.3em;text-align:center}#content #title.titleNormal{background-color:#607d8b;color:#fff}#content .data-container{width:75%;margin:0 auto}#content fieldset.data{margin:2em auto}#content fieldset.data>legend{color:#607d8b;padding:0 .5em;font-size:1.5em}#content fieldset.data>div{display:none}#content fieldset.data>div table{width:100%}#content .data{width:100%;padding:10px;margin:0 auto;background-color:#fff;-webkit-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);-moz-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);box-shadow:1px 1px 2px rgba(0,0,0,0.14)}#content .data #history-icon{position:relative;top:5em;right:2em}#content .data td{text-align:left}#content .data td.descField{text-align:right}#content .data select{min-width:210px}#content .data .list-wrap{max-height:10em;overflow:auto;padding:.5em;margin:1em 0}#content .data .dropzone{width:30em;padding:1em;border:2px dashed #26a69a;text-align:center}#content .data .dropzone img{vertical-align:middle}#content .data .file-upload{display:none}#content .data .account-permissions{width:100%}#content .data .account-permissions fieldset{border:1px solid #c9c9c9;padding:1em}#content .data .account-permissions legend{font-weight:bold;color:#999;padding:.2em 0}#content .data .account-permissions fieldset>span{font-weight:bold;color:#999;padding:.2em 0;display:inline-block;width:100px;text-align:right}#content span.tag{margin:0 3px 3px 0;padding:.2em;background:#5c6bc0;color:#fff;border:0 solid transparent;border-radius:3px !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important}#content .extra-info{margin-top:20px}#content #tabs fieldset{border:1px solid #c9c9c9}#content #tabs #frmConfig label{float:left}#content .tblConfig{margin-bottom:2em}#content .tblConfig td.descField{width:35%;font-size:11px;font-weight:bold}#content .tblConfig td.rowHeader{padding:5px 0 5px 0;background-color:#f5f5f5;text-align:center;font-weight:bold;border-top:15px solid #f9f9f9;border-bottom:3px solid #a9c1d7;letter-spacing:.5em;color:#696969}#content .tblConfig input.checkbox{width:15px;text-align:left;padding:0}#content .tblConfig .option-disabled{text-align:center;background-color:#fff8e1;color:#ffca28;font-weight:bold}#content h2{width:100%;height:1.5em;font-size:18px;color:white;background-color:#a9c1d7;margin:0;padding-top:.1em}#content .section{margin-top:2.5em;border-bottom:1px solid #d9d9d9;text-align:left;font-size:14px;font-weight:bold;color:#5c6bc0}#content .row_even>td{background-color:#f5f5f5}#content .row_odd>td{background-color:white}#content .data-header ul{list-style:none;width:100%;margin:0 0 10px 0;padding:0}#content .data-header li{display:inline-block;padding:.2em .5em;font-weight:bold;letter-spacing:.2em;color:#fff;text-align:center}#content .data-header li a{color:#777}#content .data-header li img{float:right;width:24px;height:24px;vertical-align:middle}#content .data-header-minimal{border-bottom:1px solid #dfdfdf}#content .data-header-minimal ul{display:flex;flex-wrap:wrap;justify-content:flex-start;margin:0}#content .data-header-minimal li{display:inline-flex;min-width:10em;font-weight:normal;letter-spacing:normal}#content .data-header-minimal li a{color:#b9b9b9;padding:.3em .8em}#content .data-table{width:100%}#content .data-table td:first-of-type,#content .data-table th:first-of-type{width:5em}#content .data-table thead th{background-color:#607d8b;color:#fff}#content .data-table tbody td.cell-data{text-align:left}#content .data-table tbody td.cell-nodata{padding:0 .5em;text-align:left}#content .data-table tbody td.cell-actions{text-align:right}#content .data-table tbody td.cell-actions i{opacity:.5}#content .data-table tbody td.cell-actions i:hover{opacity:1}#content .data-rows ul{display:table;list-style:none;width:100%;margin:0 0 10px 0;padding:0;background-color:#fcfcfc}#content .data-rows li{float:left;display:block;padding:1em;color:#696969;text-align:center;min-height:2em}#content .data-rows li.cell-nodata{padding:1em 0;min-height:2em;text-align:left}#content .data-rows li.cell-actions{float:right;min-height:2em;padding:1em 0;text-align:left;background-color:#fcfcfc;width:15em}#content .data-rows li.cell-nodata img,#content .data-rows li.cell-actions img{width:24px;height:24px;margin:0 .5em}#content #resEventLog .data{width:100%}#content #resEventLog thead{text-align:center}#content #resEventLog tbody{width:100%;height:500px;overflow:auto}#content #resEventLog td{border-bottom:1px solid #d9d9d9}#content #resEventLog .cell{text-align:center}#content #resEventLog .cell-description{width:60%}#content #searchbox{background-color:#fcfcfc;vertical-align:middle;position:relative;height:auto;padding:.5em 1em;margin-bottom:2em}#content #searchbox form{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;text-align:left}#content #searchbox .search-filters>*{margin:0 .5em}#content #searchbox .search-filters .filter-buttons{display:inline-block}#content #searchbox .search-filters .filter-slider{width:10em}#content #searchbox .search-filters-tags{display:none;flex-grow:2}#content .btn-clear{opacity:.35;filter:alpha(opacity=35)}#content .btn-clear:hover{opacity:1;filter:alpha(opacity=100)}#content .actions-optional{display:none}#content .error{width:350px;padding:15px;margin:0 auto;text-align:center;font-size:16px;line-height:1.5em;color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28}#content .data .list-wrap,#box-popup .list-wrap{max-height:20em;overflow:auto;padding:.5em;margin:1em 0}#content .data .list-wrap ul,#box-popup .list-wrap ul{list-style-type:none;margin:0;padding:0}#content .data .list-wrap li,#box-popup .list-wrap li{display:flex;background:#f2f2f2;padding:.5em;font-size:1em;margin-bottom:.5em}#content .data .list-wrap li:hover,#box-popup .list-wrap li:hover{background:#e8eaf6;color:#000}#content .data .list-wrap div.files-item-info,#box-popup .list-wrap div.files-item-info{flex-grow:2}#content .data .list-wrap div.files-item-info img,#box-popup .list-wrap div.files-item-info img{margin:0 .5em}#content .data .list-wrap div.files-item-actions,#box-popup .list-wrap div.files-item-actions{padding:.3em 0}#box-popup{width:-webkit-min-content;width:-moz-min-content;width:min-content;min-width:50em;margin:5em auto;padding:0;background-color:#fff}#box-popup.box-password-view{width:-webkit-min-content;width:-moz-min-content;width:min-content;min-width:30em}#box-popup>h2{position:relative;width:100%;font-size:18px;color:#fff;background-color:#607d8b;margin:0;padding:.5em 0;line-height:1em}#box-popup>h2 .btn-popup-close{display:none;position:absolute;right:.5em;top:.2em}#box-popup>table{width:100%;padding-bottom:1em}#box-popup select{width:220px}#box-popup #resFancyAccion{display:none}#box-popup #resCheck{display:inline-block;width:80%;height:4em;padding:1em 0}#box-popup.image{background-color:transparent;max-width:100%;margin:0 auto;border-radius:0 !important;-moz-border-radius:0 !important;-webkit-border-radius:0 !important}#box-popup.image img{width:auto;margin:0 auto}#box-popup.image>div.title{background-color:#607d8b;color:#fff;padding:.5em}#box-popup.help{min-height:100px;background-color:#f5f5f5}#box-popup.help p{font-size:14px;text-align:justify;line-height:2em}#box-complexity>div{text-align:justify;line-height:1.5em;margin-top:1em}#debug{float:left;text-align:left}#debuginfo{width:100%;min-height:10em;padding:1em;background-color:#fff8e1;text-align:left;line-height:1.5em}#debuginfo H3{text-align:center}.popup-data{width:100%;min-width:400px;border:0;text-align:left;margin:0;padding:1em .5em}.popup-data .descField{min-width:100px}footer{display:flex;justify-content:space-between;position:fixed;bottom:0;z-index:100;width:100%;padding:.5em 0;background-color:#f5f5f5;color:#b9b9b9;font-size:1em;-webkit-box-shadow:0 -3px 2px -2px rgba(0,0,0,0.14);-moz-box-shadow:0 -3px 2px -2px rgba(0,0,0,0.14);box-shadow:0 -3px 2px -2px rgba(0,0,0,0.14)}footer .footer-parts{display:flex;justify-content:space-between}footer #footer-left{width:50%;margin:0 1em}footer #footer-right{width:50%;margin:0 1em;justify-content:flex-end;text-align:right}footer #updates{min-width:10em;text-align:center;cursor:pointer}footer #status{margin:0 1em}footer #status>div{display:inline-block}footer #status .status-info{padding:.5em}footer #session{text-align:left;color:#999;font-size:.8em}footer a{color:#b9b9b9}footer a:visited{color:#b9b9b9}footer #project a:hover{color:#a9c1d7;border-bottom:1px solid #a9c1d7}footer #updates a:hover{color:#a9c1d7}footer img{border:0;width:16px;height:16px;vertical-align:middle}.round,.round5{border-radius:5px !important;-moz-border-radius:5px !important;-webkit-border-radius:5px !important}.midround{border-radius:0 0 10px 10px !important;-moz-border-radius:0 0 10px 10px !important;-webkit-border-radius:0 0 10px 10px !important}.midroundup{border-radius:10px 10px 0 0 !important;-moz-border-radius:10px 10px 0 0 !important;-webkit-border-radius:10px 10px 0 0 !important}.fullround{border-radius:50% !important;-moz-border-radius:50% !important;-webkit-border-radius:50% !important}.iconMini{width:16px !important;height:16px !important;vertical-align:middle}.hide{display:none !important}.btn-checks{padding:5px;margin:.2em 0;width:30em;border-bottom:1px solid #c9c9c9}.shadow{-webkit-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);-moz-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);box-shadow:1px 1px 2px rgba(0,0,0,0.14)}.noRes{width:60%;padding:15px;background-color:#f9f9f9;color:#a9a9a9;border:#c9c9c9 1px solid;margin:20px auto;text-align:center;font-size:16px}.header-grey{background-color:#607d8b;color:#fff;min-height:2em}.no-background{background:none !important}.action-in-box{padding:1em;text-align:right}.action-in-box ul{list-style:none;margin:0;padding:0}.tab-data{margin:2em auto 0;width:75%}.item-actions{margin:1em auto}.tab-actions{margin:2em 0}.item-actions>ul,.tab-actions>ul{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;list-style:none;margin:0;padding:0}.item-actions>ul>li,.tab-actions>ul>li{width:auto;min-width:2em;margin-left:.5em}.item-actions>ul>li.datagrid-action-search,.tab-actions>ul>li.datagrid-action-search{min-width:5em}.item-actions>ul>li.datagrid-action-search form,.tab-actions>ul>li.datagrid-action-search form{width:100%}h5.datagrid-header-title{padding:.7em;border-bottom:1px solid #d9d9d9}.fullWidth{max-width:100% !important}.filter-on{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a;padding:.3em 1em}.global-on{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;padding:.3em 1em}.opacity50{filter:alpha(opacity=50);opacity:.5}.custom-combobox{position:relative;display:inline-block}.custom-combobox input{width:80%}.custom-combobox-toggle{position:absolute;top:0;bottom:0;margin-left:-1px;padding:0;*height:1.7em;*top:.1em}.custom-combobox-input{margin:0;padding:.3em}.passLevel{width:20px;height:20px;display:inline-block;position:relative;top:2px}.passLevel.strongest{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a;font-weight:bold}.passLevel.strongest:hover{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a;font-weight:bold}.passLevel.strong{color:#2196f3;background-color:#e3f2fd;border:1px solid #2196f3;font-weight:bold}.passLevel.strong:hover{color:#2196f3;background-color:#e3f2fd;border:1px solid #2196f3;font-weight:bold}.passLevel.good{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;font-weight:bold}.passLevel.good:hover{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;font-weight:bold}.passLevel.weak{color:#ef5350;background-color:#ffebee;border:1px solid #ef5350;font-weight:bold}.passLevel.weak:hover{color:#ef5350;background-color:#ffebee;border:1px solid #ef5350;font-weight:bold}#alert #alert-text{margin:15px auto;font-size:14px;font-weight:bold}#alert #alert-pass{width:50%;padding:10px;margin:15px auto;border:1px solid #c9c9c9;color:#555;font-weight:bold}.dialog-text,.dialog-user-text,.dialog-pass-text{font-family:Consolas,"Andale Mono WT","Andale Mono","Bitstream Vera Sans Mono","Nimbus Mono L",Monaco,"Courier New",monospace;padding:.5em;text-align:center;min-width:200px}.dialog-user-text{border-bottom:#d9d9d9 1px solid;color:#a9a9a9}.dialog-pass-text{border:transparent 1px solid;letter-spacing:.2em}.dialog-buttons{text-align:center;padding:.5em;border-top:1px solid #c9c9c9;line-height:2.5em}.dialog-clip-copy{color:#26a69a;background-color:#e0f2f1}.help-box{display:none;background-color:#fff !important;color:#607d8b}.help-box>*{font-weight:bold}.help-text{text-align:justify;line-height:1.5em;margin-top:1em}.tooltip{width:300px;max-width:300px;background-color:#777;color:#fff;z-index:101}.cursor-pointer{cursor:pointer}.password-actions{display:inline-block;width:12em}.password-actions>span,.password-actions i{margin-right:.6em}.custom-input-color{width:3em;height:1em;display:inline-block}.account-pass-image{height:32px;width:auto}.select-box{min-width:20em}fieldset.warning{padding:8px;border-radius:5px;color:#ef5350;background-color:#ffebee;border:1px solid #ef5350}fieldset.warning legend{color:#ef5350 !important}fieldset.warning a{color:#ef5350 !important;font-weight:bold}#actions{width:100%;line-height:2em;margin-bottom:5em}#actions #logo{display:flex;width:100%;margin-bottom:30px;color:#607d8b;align-items:center;background:url("../../../../../../public/images/logo_full_bg.png") left no-repeat;background-size:auto 150px;height:150px}#actions #page-title{width:100%;color:#607d8b;text-align:center}#actions #page-title h1{font-weight:bold;font-size:24px;letter-spacing:3px}#actions ul.errors{max-width:40vw;margin:0 auto;list-style:none;font-size:14px;text-align:left}#actions ul.errors>li{margin:1.5em auto;border-radius:3px;padding:1em .5em}#actions ul.errors>li.msg-critical{color:#ef5350;background-color:#ffebee;border:1px solid #ef5350}#actions ul.errors>li.msg-warning{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;color:#555}#actions ul.errors>li.msg-ok{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a}#actions ul.errors>li>p.hint{color:#555;font-size:12px}#actions ul.errors>li>p.hint i{margin-right:.5em}#actions form{width:450px;margin:0 auto;text-align:left}#actions form fieldset{margin-bottom:2em}#actions form fieldset legend{width:100%;color:#fff;font-size:14px;font-weight:bold;text-align:center;background-color:#607d8b;margin:1em 0;letter-spacing:.2em;padding:.2em 0}#actions div.buttons{margin-top:2em;text-align:center}.center{text-align:center !important}.right{text-align:right !important}.left{text-align:left !important}.opacity50{opacity:.5 !important}#login-container{width:40em;margin:0 auto;background:transparent url("../../../../public/images/logo_full_bg.png") no-repeat top left;background-size:auto 10em}#login-container #boxSpacer{height:11em;background-color:transparent}#login-container #boxLogin{position:relative;margin:0 auto;width:100%;min-height:14em;padding:1em;background-color:#fff}#login-container #boxLogin #boxData{height:100%;min-height:14em;text-align:left;background-color:transparent}#login-container #boxLogin #boxData i{margin-right:.5em;opacity:.5}#login-container #boxLogin #boxData .extra-hidden{display:none}#login-container #boxLogin #boxButton{position:absolute;top:2em;right:2em}#login-container #boxLogin #boxActions{width:100%;text-align:right}#login-container #boxLogin #boxActions a{color:#c9c9c9}#login-container #boxLogout{margin-top:4em;width:100%}#login-container #boxLogout>div{margin:0 auto;width:250px;font-size:14px;padding:.5em;text-align:center;color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28}#login-container #boxUpdated{width:350px;margin:3em auto;font-size:14px;text-align:center;padding:.5em;color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a}#login-container #demo-info{margin:3em auto;color:#c9c9c9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;padding:.5em}#login-container #demo-info ul{display:flex;justify-content:space-around;list-style:none}#login-container #demo-info ul li span{margin:0 2em}@media screen and (max-width:1000px){#content #searchbox .search-filters>*{margin:.5em 1em .5em 0}#content .data-container #title,#content .tab-data #title{width:90%}footer{display:none;justify-content:space-between;flex-wrap:wrap}footer .footer-parts{justify-content:space-between;flex-wrap:wrap}footer #footer-left,footer #footer-right{width:100%}footer .footer-parts>div{width:100%;padding:.5em 0}}@media screen and (max-width:600px){#content input,#box-popup input{width:100%}#content .mdl-textfield,#box-popup .mdl-textfield{width:100%}#content td.descField,#box-popup td.descField{display:none}#content td.valField .lowres-title,#box-popup td.valField .lowres-title{display:block}#content #searchbox .mdl-textfield{width:90%}#content #searchbox .search-text{width:90%}#content #searchbox .search-filters .selectize-control{width:100%}#content .data-container,#content .tab-data{width:100%}#content .data-container #title,#content .tab-data #title{width:90%}#content .data-container .selectize-control,#content .tab-data .selectize-control{width:100%}#box-popup h2>.btn-popup-close{display:inline-block}.mdl-data-table{table-layout:fixed;width:100%}.table-responsive td,.table-responsive th{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.table-responsive .cell-actions i{display:block !important}}
\ No newline at end of file
+html,body{margin:0;padding:0;text-align:left;background-color:#f5f5f5;color:#555;font-size:12px;font-weight:normal;box-sizing:border-box}*{font-family:"Roboto Regular",Verdana,Tahoma,sans-serif;box-sizing:inherit}*:before,*:after{box-sizing:inherit}table{font-size:11px;border-spacing:0}table th{border-bottom:2px solid transparent;vertical-align:middle}table th .icon{width:24px;height:24px}table tr{height:20px}table tr.odd{background-color:#f9f9f9}table tr.even>td,table tr.odd>td{border-bottom:1px solid #d9d9d9!important}table tr.even:hover,table tr.odd:hover{background-color:#e8ff99}table td{padding:3px}table td.txtCliente{font-weight:bold;text-align:center}form{font-size:11px;margin:0}input.inputImg,img.inputImg{background-color:transparent!important;width:24px!important;height:24px!important;border:0;vertical-align:middle;margin:0 .5em}input.txtFile{width:200px}input.txtLong{width:300px}textarea{width:350px}select.files{width:250px}input.spinner{width:5em}img{margin:0;padding:0;border:0;cursor:pointer}img.inputImgMini{background-color:transparent!important;width:16px!important;height:16px!important;margin:0 5px 0 5px;border:0;vertical-align:middle}i{cursor:pointer}form .form-field{display:flex;justify-content:space-between}form .form-field>label{min-width:12em;padding:.5em 0;font-size:16px;align-self:center}form .form-field>div{width:100%;align-self:center}a{text-decoration:none;color:#536dfe}a:visited{text-decoration:none;color:#536dfe}a:hover,a:active,a:focus{text-decoration:none;cursor:pointer}pre,code,samp,kbd{font-family:Consolas,"Andale Mono WT","Andale Mono","Bitstream Vera Sans Mono","Nimbus Mono L",Monaco,"Courier New",monospace;font-size:1em;direction:ltr;text-align:left;background-color:#fbfaf9;color:#333;box-shadow:inset 0 0 .3em #ccc;border-radius:2px}#nojs{width:80%;text-align:center;vertical-align:middle;margin:10px auto;padding:3px;background-color:#ef5350;color:white;font-weight:bold;font-size:14px}#wrap{height:auto!important;min-height:100%;width:100%;background-color:#f5f5f5}#wrap-loading{position:fixed;z-index:9999;top:50%;left:50%;padding:1em;background-color:rgba(255,255,255,0.8);display:none;border-radius:5px!important;-moz-border-radius:5px!important;-webkit-border-radius:5px!important}#wrap-loading.overlay-full{top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.5)}#wrap-loading.overlay-full #loading{position:absolute;top:50%;left:50%}#wrap-loading.overlay-full #taskStatus{display:block}#wrap-loading #taskStatus{display:none;position:absolute;left:0;top:55%;width:100%;text-align:center;color:white;background-color:rgba(0,0,0,0.5);padding:1em 0}#container{margin:auto;width:100%}#container.login{padding-top:5%}#container.error,#container.install,#container.passreset{width:100%}#container .logo{height:64px}#container #actions-bar{z-index:100;display:flex;justify-content:space-between;position:fixed;border:0 none;top:0;left:0;width:100%;padding:1em 0;background-color:transparent}#container #actions-bar-icons{flex-grow:1;text-align:center}#container #actions-bar-logo{display:none;padding:0 .5em}#container #actions-bar-logo img{display:inline-block;width:50px;opacity:.75}#container #content{width:95%;margin:2em auto 8em auto}#container #content.public-link{width:70%;min-height:0;margin:5em auto}#content td.descField,#box-popup td.descField{text-align:right;padding-right:20px;width:25%;border-right:1px solid #d9d9d9;color:#999;font-size:12px;font-weight:bold}#content td.valField,#box-popup td.valField{padding-left:1em;width:100%}#content td.valField .lowres-title,#box-popup td.valField .lowres-title{display:none;width:100%;color:#607d8b;font-size:12px}#content .pager{width:100%;margin-top:15px;padding:.5em;vertical-align:middle;font-size:11px;color:#999;background-color:#fcfcfc}#content .pager img{margin-left:5px;vertical-align:middle}#content .pager a{margin-left:5px;font-size:12px;color:#999}#content .pager>div{display:inline-block;width:49%}#content .pager .pager-left{text-align:left}#content .pager .pager-right{text-align:right}#content #title{width:50%;padding:7px;margin:auto;background-color:#d9d9d9;color:#fff;font-size:17px;letter-spacing:.3em;text-align:center}#content #title.titleNormal{background-color:#607d8b;color:#fff}#content .data-container{width:75%;margin:0 auto}#content fieldset.data{margin:2em auto}#content fieldset.data>legend{color:#607d8b;padding:0 .5em;font-size:1.5em}#content fieldset.data>div{display:none}#content fieldset.data>div table{width:100%}#content .data{width:100%;padding:10px;margin:0 auto;background-color:#fff;-webkit-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);-moz-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);box-shadow:1px 1px 2px rgba(0,0,0,0.14)}#content .data #history-icon{position:relative;top:5em;right:2em}#content .data td{text-align:left}#content .data td.descField{text-align:right}#content .data select{min-width:210px}#content .data .list-wrap{max-height:10em;overflow:auto;padding:.5em;margin:1em 0}#content .data .dropzone{width:30em;padding:1em;border:2px dashed #26a69a;text-align:center}#content .data .dropzone img{vertical-align:middle}#content .data .file-upload{display:none}#content .data .account-permissions{width:100%}#content .data .account-permissions fieldset{border:1px solid #c9c9c9;padding:1em}#content .data .account-permissions legend{font-weight:bold;color:#999;padding:.2em 0}#content .data .account-permissions fieldset>span{font-weight:bold;color:#999;padding:.2em 0;display:inline-block;width:100px;text-align:right}#content span.tag{margin:0 3px 3px 0;padding:.2em;background:#5c6bc0;color:#fff;border:0 solid transparent;border-radius:3px!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important}#content .extra-info{margin-top:20px}#content #tabs fieldset{border:1px solid #c9c9c9}#content #tabs #frmConfig label{float:left}#content .tblConfig{margin-bottom:2em}#content .tblConfig td.descField{width:35%;font-size:11px;font-weight:bold}#content .tblConfig td.rowHeader{padding:5px 0 5px 0;background-color:#f5f5f5;text-align:center;font-weight:bold;border-top:15px solid #f9f9f9;border-bottom:3px solid #a9c1d7;letter-spacing:.5em;color:#696969}#content .tblConfig input.checkbox{width:15px;text-align:left;padding:0}#content .tblConfig .option-disabled{text-align:center;background-color:#fff8e1;color:#ffca28;font-weight:bold}#content h2{width:100%;height:1.5em;font-size:18px;color:white;background-color:#a9c1d7;margin:0;padding-top:.1em}#content .section{margin-top:2.5em;border-bottom:1px solid #d9d9d9;text-align:left;font-size:14px;font-weight:bold;color:#5c6bc0}#content .row_even>td{background-color:#f5f5f5}#content .row_odd>td{background-color:white}#content .data-header ul{list-style:none;width:100%;margin:0 0 10px 0;padding:0}#content .data-header li{display:inline-block;padding:.2em .5em;font-weight:bold;letter-spacing:.2em;color:#fff;text-align:center}#content .data-header li a{color:#777}#content .data-header li img{float:right;width:24px;height:24px;vertical-align:middle}#content .data-header-minimal{border-bottom:1px solid #dfdfdf}#content .data-header-minimal ul{display:flex;flex-wrap:wrap;justify-content:flex-start;margin:0}#content .data-header-minimal li{display:inline-flex;min-width:10em;font-weight:normal;letter-spacing:normal}#content .data-header-minimal li a{color:#b9b9b9;padding:.3em .8em}#content .data-table{width:100%}#content .data-table td:first-of-type,#content .data-table th:first-of-type{width:5em}#content .data-table thead th{background-color:#607d8b;color:#fff}#content .data-table tbody td.cell-data{text-align:left}#content .data-table tbody td.cell-nodata{padding:0 .5em;text-align:left}#content .data-table tbody td.cell-actions{text-align:right}#content .data-table tbody td.cell-actions i{opacity:.5}#content .data-table tbody td.cell-actions i:hover{opacity:1}#content .data-rows ul{display:table;list-style:none;width:100%;margin:0 0 10px 0;padding:0;background-color:#fcfcfc}#content .data-rows li{float:left;display:block;padding:1em;color:#696969;text-align:center;min-height:2em}#content .data-rows li.cell-nodata{padding:1em 0;min-height:2em;text-align:left}#content .data-rows li.cell-actions{float:right;min-height:2em;padding:1em 0;text-align:left;background-color:#fcfcfc;width:15em}#content .data-rows li.cell-nodata img,#content .data-rows li.cell-actions img{width:24px;height:24px;margin:0 .5em}#content #resEventLog .data{width:100%}#content #resEventLog thead{text-align:center}#content #resEventLog tbody{width:100%;height:500px;overflow:auto}#content #resEventLog td{border-bottom:1px solid #d9d9d9}#content #resEventLog .cell{text-align:center}#content #resEventLog .cell-description{width:60%}#content #searchbox{background-color:#fcfcfc;vertical-align:middle;position:relative;height:auto;padding:.5em 1em;margin-bottom:2em}#content #searchbox form{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;text-align:left}#content #searchbox .search-filters>*{margin:0 .5em}#content #searchbox .search-filters .filter-buttons{display:inline-block}#content #searchbox .search-filters .filter-slider{width:10em}#content #searchbox .search-filters-tags{display:none;flex-grow:2}#content .btn-clear{opacity:.35;filter:alpha(opacity=35)}#content .btn-clear:hover{opacity:1;filter:alpha(opacity=100)}#content .actions-optional{display:none}#content .error{width:350px;padding:15px;margin:0 auto;text-align:center;font-size:16px;line-height:1.5em;color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28}#content .data .list-wrap,#box-popup .list-wrap{max-height:20em;overflow:auto;padding:.5em;margin:1em 0}#content .data .list-wrap ul,#box-popup .list-wrap ul{list-style-type:none;margin:0;padding:0}#content .data .list-wrap li,#box-popup .list-wrap li{display:flex;background:#f2f2f2;padding:.5em;font-size:1em;margin-bottom:.5em}#content .data .list-wrap li:hover,#box-popup .list-wrap li:hover{background:#e8eaf6;color:#000}#content .data .list-wrap div.files-item-info,#box-popup .list-wrap div.files-item-info{flex-grow:2}#content .data .list-wrap div.files-item-info img,#box-popup .list-wrap div.files-item-info img{margin:0 .5em}#content .data .list-wrap div.files-item-actions,#box-popup .list-wrap div.files-item-actions{padding:.3em 0}#box-popup{width:-webkit-min-content;width:-moz-min-content;width:min-content;min-width:50em;margin:5em auto;padding:0;background-color:#fff}#box-popup.box-password-view{width:-webkit-min-content;width:-moz-min-content;width:min-content;min-width:30em}#box-popup>h2{position:relative;width:100%;font-size:18px;color:#fff;background-color:#607d8b;margin:0;padding:.5em 0;line-height:1em}#box-popup>h2 .btn-popup-close{display:none;position:absolute;right:.5em;top:.2em}#box-popup>table{width:100%;padding-bottom:1em}#box-popup select{width:220px}#box-popup #resFancyAccion{display:none}#box-popup #resCheck{display:inline-block;width:80%;height:4em;padding:1em 0}#box-popup.image{background-color:transparent;max-width:100%;margin:0 auto;border-radius:0!important;-moz-border-radius:0!important;-webkit-border-radius:0!important}#box-popup.image img{width:auto;margin:0 auto}#box-popup.image>div.title{background-color:#607d8b;color:#fff;padding:.5em}#box-popup.help{min-height:100px;background-color:#f5f5f5}#box-popup.help p{font-size:14px;text-align:justify;line-height:2em}#box-complexity>div{text-align:justify;line-height:1.5em;margin-top:1em}#debug{float:left;text-align:left}#debuginfo{width:100%;min-height:10em;padding:1em;background-color:#fff8e1;text-align:left;line-height:1.5em}#debuginfo H3{text-align:center}.popup-data{width:100%;min-width:400px;border:0;text-align:left;margin:0;padding:1em .5em}.popup-data .descField{min-width:100px}footer{display:flex;justify-content:space-between;position:fixed;bottom:0;z-index:100;width:100%;padding:.5em 0;background-color:#f5f5f5;color:#b9b9b9;font-size:1em;-webkit-box-shadow:0 -3px 2px -2px rgba(0,0,0,0.14);-moz-box-shadow:0 -3px 2px -2px rgba(0,0,0,0.14);box-shadow:0 -3px 2px -2px rgba(0,0,0,0.14)}footer .footer-parts{display:flex;justify-content:space-between}footer #footer-left{width:50%;margin:0 1em}footer #footer-right{width:50%;margin:0 1em;justify-content:flex-end;text-align:right}footer #updates{min-width:10em;text-align:center;cursor:pointer}footer #status{margin:0 1em}footer #status>div{display:inline-block}footer #status .status-info{padding:.5em}footer #session{text-align:left;color:#999;font-size:.8em}footer a{color:#b9b9b9}footer a:visited{color:#b9b9b9}footer #project a:hover{color:#a9c1d7;border-bottom:1px solid #a9c1d7}footer #updates a:hover{color:#a9c1d7}footer img{border:0;width:16px;height:16px;vertical-align:middle}.round,.round5{border-radius:5px!important;-moz-border-radius:5px!important;-webkit-border-radius:5px!important}.midround{border-radius:0 0 10px 10px!important;-moz-border-radius:0 0 10px 10px!important;-webkit-border-radius:0 0 10px 10px!important}.midroundup{border-radius:10px 10px 0 0!important;-moz-border-radius:10px 10px 0 0!important;-webkit-border-radius:10px 10px 0 0!important}.fullround{border-radius:50%!important;-moz-border-radius:50%!important;-webkit-border-radius:50%!important}.iconMini{width:16px!important;height:16px!important;vertical-align:middle}.hide{display:none!important}.btn-checks{padding:5px;margin:.2em 0;width:30em;border-bottom:1px solid #c9c9c9}.shadow{-webkit-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);-moz-box-shadow:2px 2px 3px -3px rgba(0,0,0,0.14);box-shadow:1px 1px 2px rgba(0,0,0,0.14)}.noRes{width:60%;padding:15px;background-color:#f9f9f9;color:#a9a9a9;border:#c9c9c9 1px solid;margin:20px auto;text-align:center;font-size:16px}.header-grey{background-color:#607d8b;color:#fff;min-height:2em}.no-background{background:none!important}.action-in-box{padding:1em;text-align:right}.action-in-box ul{list-style:none;margin:0;padding:0}.tab-data{margin:2em auto 0;width:75%}.item-actions{margin:1em auto}.tab-actions{margin:2em 0}.item-actions>ul,.tab-actions>ul{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;list-style:none;margin:0;padding:0}.item-actions>ul>li,.tab-actions>ul>li{width:auto;min-width:2em;margin-left:.5em}.item-actions>ul>li.datagrid-action-search,.tab-actions>ul>li.datagrid-action-search{min-width:5em}.item-actions>ul>li.datagrid-action-search form,.tab-actions>ul>li.datagrid-action-search form{width:100%}h5.datagrid-header-title{padding:.7em;border-bottom:1px solid #d9d9d9}.fullWidth{max-width:100%!important}.filter-on{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a;padding:.3em 1em}.global-on{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;padding:.3em 1em}.opacity50{filter:alpha(opacity=50);opacity:.5}.custom-combobox{position:relative;display:inline-block}.custom-combobox input{width:80%}.custom-combobox-toggle{position:absolute;top:0;bottom:0;margin-left:-1px;padding:0;*height:1.7em;*top:.1em}.custom-combobox-input{margin:0;padding:.3em}.passLevel{width:20px;height:20px;display:inline-block;position:relative;top:2px}.passLevel.strongest{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a;font-weight:bold}.passLevel.strongest:hover{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a;font-weight:bold}.passLevel.strong{color:#2196f3;background-color:#e3f2fd;border:1px solid #2196f3;font-weight:bold}.passLevel.strong:hover{color:#2196f3;background-color:#e3f2fd;border:1px solid #2196f3;font-weight:bold}.passLevel.good{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;font-weight:bold}.passLevel.good:hover{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;font-weight:bold}.passLevel.weak{color:#ef5350;background-color:#ffebee;border:1px solid #ef5350;font-weight:bold}.passLevel.weak:hover{color:#ef5350;background-color:#ffebee;border:1px solid #ef5350;font-weight:bold}#alert #alert-text{margin:15px auto;font-size:14px;font-weight:bold}#alert #alert-pass{width:50%;padding:10px;margin:15px auto;border:1px solid #c9c9c9;color:#555;font-weight:bold}.dialog-text,.dialog-user-text,.dialog-pass-text{font-family:Consolas,"Andale Mono WT","Andale Mono","Bitstream Vera Sans Mono","Nimbus Mono L",Monaco,"Courier New",monospace;padding:.5em;text-align:center;min-width:200px}.dialog-user-text{border-bottom:#d9d9d9 1px solid;color:#a9a9a9}.dialog-pass-text{border:transparent 1px solid;letter-spacing:.2em}.dialog-buttons{text-align:center;padding:.5em;border-top:1px solid #c9c9c9;line-height:2.5em}.dialog-clip-copy{color:#26a69a;background-color:#e0f2f1}.help-box{display:none;background-color:#fff!important;color:#607d8b}.help-box>*{font-weight:bold}.help-text{text-align:justify;line-height:1.5em;margin-top:1em}.tooltip{width:300px;max-width:300px;background-color:#777;color:#fff;z-index:101}.cursor-pointer{cursor:pointer}.password-actions{display:inline-block;width:12em}.password-actions>span,.password-actions i{margin-right:.6em}.custom-input-color{width:3em;height:1em;display:inline-block}.account-pass-image{height:32px;width:auto}.select-box{min-width:20em}fieldset.warning{padding:8px;border-radius:5px;color:#ef5350;background-color:#ffebee;border:1px solid #ef5350}fieldset.warning legend{color:#ef5350!important}fieldset.warning a{color:#ef5350!important;font-weight:bold}#actions{width:100%;line-height:2em;margin-bottom:5em}#actions #logo{display:flex;width:100%;margin-bottom:30px;color:#607d8b;align-items:center;background:url("../../../../../../public/images/logo_full_bg.png") left no-repeat;background-size:auto 150px;height:150px}#actions #page-title{width:100%;color:#607d8b;text-align:center}#actions #page-title h1{font-weight:bold;font-size:24px;letter-spacing:3px}#actions ul.errors{max-width:40vw;margin:0 auto;list-style:none;font-size:14px;text-align:left}#actions ul.errors>li{margin:1.5em auto;border-radius:3px;padding:1em .5em}#actions ul.errors>li.msg-critical{color:#ef5350;background-color:#ffebee;border:1px solid #ef5350}#actions ul.errors>li.msg-warning{color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28;color:#555}#actions ul.errors>li.msg-ok{color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a}#actions ul.errors>li>p.hint{color:#555;font-size:12px}#actions ul.errors>li>p.hint i{margin-right:.5em}#actions form{width:450px;margin:0 auto;text-align:left}#actions form fieldset{margin-bottom:2em}#actions form fieldset legend{width:100%;color:#fff;font-size:14px;font-weight:bold;text-align:center;background-color:#607d8b;margin:1em 0;letter-spacing:.2em;padding:.2em 0}#actions div.buttons{margin-top:2em;text-align:center}.center{text-align:center!important}.right{text-align:right!important}.left{text-align:left!important}.opacity50{opacity:.5!important}#login-container{width:40em;margin:0 auto;background:transparent url("../../../../public/images/logo_full_bg.png") no-repeat top left;background-size:auto 10em}#login-container #boxSpacer{height:11em;background-color:transparent}#login-container #boxLogin{position:relative;margin:0 auto;width:100%;min-height:14em;padding:1em;background-color:#fff}#login-container #boxLogin #boxData{height:100%;min-height:14em;text-align:left;background-color:transparent}#login-container #boxLogin #boxData i{margin-right:.5em;opacity:.5}#login-container #boxLogin #boxData .extra-hidden{display:none}#login-container #boxLogin #boxButton{position:absolute;top:2em;right:2em}#login-container #boxLogin #boxActions{width:100%;text-align:right}#login-container #boxLogin #boxActions a{color:#c9c9c9}#login-container #boxLogout{margin-top:4em;width:100%}#login-container #boxLogout>div{margin:0 auto;width:250px;font-size:14px;padding:.5em;text-align:center;color:#ffca28;background-color:#fff8e1;border:1px solid #ffca28}#login-container #boxUpdated{width:350px;margin:3em auto;font-size:14px;text-align:center;padding:.5em;color:#26a69a;background-color:#e0f2f1;border:1px solid #26a69a}#login-container #demo-info{margin:3em auto;color:#c9c9c9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;padding:.5em}#login-container #demo-info ul{display:flex;justify-content:space-around;list-style:none}#login-container #demo-info ul li span{margin:0 2em}@media screen and (max-width:1000px){#content #searchbox .search-filters>*{margin:.5em 1em .5em 0}#content .data-container #title,#content .tab-data #title{width:90%}footer{display:none;justify-content:space-between;flex-wrap:wrap}footer .footer-parts{justify-content:space-between;flex-wrap:wrap}footer #footer-left,footer #footer-right{width:100%}footer .footer-parts>div{width:100%;padding:.5em 0}}@media screen and (max-width:600px){#content input,#box-popup input{width:100%}#content .mdl-textfield,#box-popup .mdl-textfield{width:100%}#content td.descField,#box-popup td.descField{display:none}#content td.valField .lowres-title,#box-popup td.valField .lowres-title{display:block}#content #searchbox .mdl-textfield{width:90%}#content #searchbox .search-text{width:90%}#content #searchbox .search-filters .selectize-control{width:100%}#content .data-container,#content .tab-data{width:100%}#content .data-container #title,#content .tab-data #title{width:90%}#content .data-container .selectize-control,#content .tab-data .selectize-control{width:100%}#box-popup h2>.btn-popup-close{display:inline-block}.mdl-data-table{table-layout:fixed;width:100%}.table-responsive td,.table-responsive th{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.table-responsive .cell-actions i{display:block!important}}
\ No newline at end of file
diff --git a/app/modules/web/themes/material-blue/js/app-theme.min.js b/app/modules/web/themes/material-blue/js/app-theme.min.js
index c25553f6..f5d5ebf9 100644
--- a/app/modules/web/themes/material-blue/js/app-theme.min.js
+++ b/app/modules/web/themes/material-blue/js/app-theme.min.js
@@ -1,5 +1,5 @@
var $jscomp={scope:{},findInternal:function(a,f,c){a instanceof String&&(a=String(a));for(var h=a.length,k=0;k
" + Common.config().LANG[62];
$taskStatus.empty().html(text);
});
}
- var opts = Common.appRequests().getRequestOpts();
+ const opts = Common.appRequests().getRequestOpts();
opts.url = ajaxUrl.entrypoint;
opts.method = "get";
opts.useFullLoading = true;
@@ -707,7 +706,7 @@ sysPass.Actions = function (Common) {
getUpdates: function () {
log.info("main:getUpdates");
- var opts = Common.appRequests().getRequestOpts();
+ const opts = Common.appRequests().getRequestOpts();
opts.url = ajaxUrl.entrypoint;
opts.type = "html";
opts.method = "get";
@@ -1040,7 +1039,11 @@ sysPass.Actions = function (Common) {
}
};
-
+ /**
+ * Common tabs actions
+ *
+ * @type {{state: {tab: {index: number, refresh: boolean, route: string}, itemId: number, update: update}, save: save}}
+ */
const tabs = {
state: {
tab: {
@@ -1067,6 +1070,7 @@ sysPass.Actions = function (Common) {
const opts = Common.appRequests().getRequestOpts();
opts.url = ajaxUrl.entrypoint + "?r=" + $obj.data("action-route");
+ opts.method = $obj.data("action-method") || "post";
opts.data = $obj.serialize();
Common.appRequests().getActionCall(opts, function (json) {
@@ -1145,7 +1149,7 @@ sysPass.Actions = function (Common) {
opts.url = ajaxUrl.entrypoint;
opts.method = "get";
opts.data = {
- r: $obj.data("action-route") + (itemId ? "/" + itemId : ''),
+ r: $obj.data("action-route") + (itemId && "/" + itemId),
items: items,
sk: Common.sk.get(),
isAjax: 1
@@ -1239,11 +1243,11 @@ sysPass.Actions = function (Common) {
*
* @type {{view: wiki.view}}
*/
- var wiki = {
+ const wiki = {
show: function ($obj) {
log.info("wiki:show");
- var opts = Common.appRequests().getRequestOpts();
+ const opts = Common.appRequests().getRequestOpts();
opts.url = ajaxUrl.entrypoint;
opts.method = "get";
opts.data = {
@@ -1266,38 +1270,21 @@ sysPass.Actions = function (Common) {
/**
* Objeto para las acciones de los plugins
*/
- var plugin = {
+ const plugin = {
toggle: function ($obj) {
log.info("plugin:enable");
- var data = {
- itemId: $obj.data("item-id"),
- actionId: $obj.data("action-id"),
- sk: Common.sk.get(),
- activeTab: $obj.data("activetab")
- };
-
- var opts = Common.appRequests().getRequestOpts();
- opts.url = ajaxUrl.entrypoint;
- opts.data = data;
-
- Common.appRequests().getActionCall(opts, function (json) {
- Common.msg.out(json);
-
- if (json.status === 0) {
- // Recargar para cargar/descargar el plugin
- setTimeout(function () {
- Common.redirect("index.php");
- }, 2000);
-
- //doAction({actionId: $obj.data("nextaction-id"), itemId: $obj.data("activetab")});
- }
+ tabs.save($obj, function () {
+ // Recargar para cargar/descargar el plugin
+ setTimeout(function () {
+ Common.redirect("index.php");
+ }, 2000);
});
},
reset: function ($obj) {
log.info("plugin:reset");
- var atext = "
'+b.config().LANG[59]+"
'+b.config().LANG[48]+"
'+b.config().LANG[20]+"
'+b.config().LANG[58]+"
'+b.config().LANG[57]+"
'+b.config().LANG[12]+"
'+b.config().LANG[59]+"
'+b.config().LANG[48]+"
'+b.config().LANG[20]+"
'+b.config().LANG[58]+"
'+b.config().LANG[57]+"