* [DEV] Fixed error on creating new items

This commit is contained in:
nuxsmin
2016-11-14 15:33:30 +01:00
parent 5884a410a6
commit a0478e2f39
18 changed files with 109 additions and 175 deletions

View File

@@ -23,7 +23,7 @@
*
*/
use SP\Controller\AppItemsController;
use SP\Controller\ItemListController;
use SP\Core\Init;
use SP\Core\SessionUtil;
use SP\Http\Request;
@@ -51,6 +51,6 @@ if (!$sk || !SessionUtil::checkSessionKey($sk)) {
Response::printHtmlError(_('CONSULTA INVÁLIDA'));
}
$Controller = new AppItemsController();
$Controller = new ItemListController();
$Controller->getAccountFiles();
$Controller->view();

View File

@@ -163,32 +163,22 @@ class AccountUtil
public static function getAccountsMgmtSearch(ItemSearchData $SearchData)
{
$Data = new QueryData();
$query = 'SELECT account_id,'
. 'account_name,'
. 'customer_name '
. 'FROM accounts '
. 'LEFT JOIN customers ON account_customerId = customer_id';
$Data->setSelect('account_id, account_name, customer_name');
$Data->setFrom('accounts LEFT JOIN customers ON account_customerId = customer_id');
$Data->setOrder('account_name');
if ($SearchData->getSeachString() !== '') {
$Data->setWhere('account_name LIKE ? OR customer_name LIKE ?');
$search = '%' . $SearchData->getSeachString() . '%';
$query .= ' WHERE account_name LIKE ? '
. 'OR customer_name LIKE ?';
$Data->addParam($search);
$Data->addParam($search);
}
$query .= ' ORDER BY account_name';
$query .= ' LIMIT ?, ?';
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
$queryRes = DB::getResultsArray($Data);

View File

@@ -109,7 +109,7 @@ class ItemActionController
*/
protected function preActionChecks()
{
if (!$this->sk || !SessionUtil::checkSessionKey($this->sk) || !$this->itemId || !$this->actionId) {
if (!$this->sk || !SessionUtil::checkSessionKey($this->sk) || !$this->actionId) {
$this->invalidAction();
}
}

View File

@@ -159,7 +159,7 @@ class ItemListController extends GridTabControllerBase implements ActionsInterfa
*/
public function getPublicLinksList()
{
if (Checks::publicLinksIsEnabled()) {
if (!Checks::publicLinksIsEnabled()) {
return;
}
@@ -223,7 +223,7 @@ class ItemListController extends GridTabControllerBase implements ActionsInterfa
{
$this->setAction(self::ACTION_ACC_FILES);
$this->view->addTemplate('files-list', 'appitem');
$this->view->addTemplate('files-list', 'account');
$this->view->assign('accountId', Request::analyze('id', 0));
$this->view->assign('deleteEnabled', Request::analyze('del', 0));
@@ -261,11 +261,11 @@ class ItemListController extends GridTabControllerBase implements ActionsInterfa
*/
public function getFiles()
{
if (Checks::fileIsEnabled()) {
if (!Checks::fileIsEnabled()) {
return;
}
$this->setAction(self::ACTION_MGM_FILES_VIEW);
$this->setAction(self::ACTION_MGM_FILES);
// FIXME: añadir perfil
if (!$this->checkAccess()) {

View File

@@ -279,7 +279,7 @@ class ItemShowController extends ControllerBase implements ActionsInterface
$this->view->addTemplate('users');
$this->view->assign('user', $this->itemId ? User::getItem()->getById($this->itemId) : new UserData());
$this->view->assign('isDisabled', ((User::getItem()->getItemData()->getUserLogin() === 'demo' && $this->view->isDemo) || $this->view->actionId === self::ACTION_USR_USERS_VIEW) ? 'disabled' : '');
$this->view->assign('isDisabled', ($this->view->isDemo || $this->view->actionId === self::ACTION_USR_USERS_VIEW) ? 'disabled' : '');
$this->view->assign('groups', Group::getItem()->getItemsForSelect());
$this->view->assign('profiles', Profile::getItem()->getItemsForSelect());

View File

@@ -124,7 +124,7 @@ class Acl implements ActionsInterface
return $curUserProfile->isEvl();
}
Log::writeNewLog(__FUNCTION__, sprintf('%s \'%s\'', _('Denegado acceso a'), self::getActionName($action)), Log::NOTICE);
Log::writeNewLog(__FUNCTION__, sprintf(_('Denegado acceso a %s'), self::getActionName($action)), Log::NOTICE);
return false;
}
@@ -138,38 +138,41 @@ class Acl implements ActionsInterface
*/
public static function getActionName($action, $shortName = false)
{
$actionName = array(
self::ACTION_ACC_SEARCH => array('acc_search', _('Buscar Cuentas')),
self::ACTION_ACC_VIEW => array('acc_view', _('Ver Cuenta')),
self::ACTION_ACC_COPY => array('acc_copy', _('Copiar Cuenta')),
self::ACTION_ACC_NEW => array('acc_new', _('Nueva Cuenta')),
self::ACTION_ACC_EDIT => array('acc_edit', _('Editar Cuenta')),
self::ACTION_ACC_EDIT_PASS => array('acc_editpass', _('Editar Clave de Cuenta')),
self::ACTION_ACC_VIEW_HISTORY => array('acc_viewhist', _('Ver Historial')),
self::ACTION_ACC_VIEW_PASS => array('acc_viewpass', _('Ver Clave')),
self::ACTION_ACC_DELETE => array('acc_delete', _('Eliminar Cuenta')),
self::ACTION_ACC_FILES => array('acc_files', _('Archivos')),
self::ACTION_ACC_REQUEST => array('acc_request', _('Peticiones')),
self::ACTION_MGM => array('mgm', _('Gestión Aplicación')),
self::ACTION_MGM_CATEGORIES => array('mgm_categories', _('Gestión Categorías')),
self::ACTION_MGM_CUSTOMERS => array('mgm_customers', _('Gestión Clientes')),
self::ACTION_MGM_CUSTOMFIELDS => array('mgm_customfields', _('Gestión Campos Personalizados')),
self::ACTION_MGM_APITOKENS => array('mgm_apitokens', _('Gestión Autorizaciones API')),
self::ACTION_USR => array('usr', _('Gestión Usuarios')),
self::ACTION_USR_USERS => array('usr_users', _('Gestión Usuarios')),
self::ACTION_USR_GROUPS => array('usr_groups', _('Gestión Grupos')),
self::ACTION_USR_PROFILES => array('usr_profiles', _('Gestión Perfiles')),
self::ACTION_CFG => array('cfg', _('Configuración')),
self::ACTION_CFG_GENERAL => array('cfg_general', _('Configuración General')),
self::ACTION_CFG_ENCRYPTION => array('cfg_encryption', _('Encriptación')),
self::ACTION_CFG_BACKUP => array('cfg_backup', _('Copia de Seguridad')),
self::ACTION_CFG_EXPORT => array('cfg_export', _('Exportar')),
self::ACTION_CFG_IMPORT => array('cfg_import', _('Importar')),
$actionName = [
self::ACTION_ACC_SEARCH => ['acc_search', _('Buscar Cuentas')],
self::ACTION_ACC_VIEW => ['acc_view', _('Ver Cuenta')],
self::ACTION_ACC_COPY => ['acc_copy', _('Copiar Cuenta')],
self::ACTION_ACC_NEW => ['acc_new', _('Nueva Cuenta')],
self::ACTION_ACC_EDIT => ['acc_edit', _('Editar Cuenta')],
self::ACTION_ACC_EDIT_PASS => ['acc_editpass', _('Editar Clave de Cuenta')],
self::ACTION_ACC_VIEW_HISTORY => ['acc_viewhist', _('Ver Historial')],
self::ACTION_ACC_VIEW_PASS => ['acc_viewpass', _('Ver Clave')],
self::ACTION_ACC_DELETE => ['acc_delete', _('Eliminar Cuenta')],
self::ACTION_ACC_FILES => ['acc_files', _('Archivos')],
self::ACTION_ACC_REQUEST => ['acc_request', _('Peticiones')],
self::ACTION_MGM => ['mgm', _('Gestión Aplicación')],
self::ACTION_MGM_CATEGORIES => ['mgm_categories', _('Gestión Categorías')],
self::ACTION_MGM_CUSTOMERS => ['mgm_customers', _('Gestión Clientes')],
self::ACTION_MGM_CUSTOMFIELDS => ['mgm_customfields', _('Gestión Campos Personalizados')],
self::ACTION_MGM_APITOKENS => ['mgm_apitokens', _('Gestión Autorizaciones API')],
self::ACTION_MGM_FILES => ['mgm_files', _('Gestión de Archivos')],
self::ACTION_MGM_ACCOUNTS => ['mgm_accounts', _('Gestión de Cuentas')],
self::ACTION_MGM_TAGS => ['mgm_tags', _('Gestión de Etiquetas')],
self::ACTION_USR => ['usr', _('Gestión Usuarios')],
self::ACTION_USR_USERS => ['usr_users', _('Gestión Usuarios')],
self::ACTION_USR_GROUPS => ['usr_groups', _('Gestión Grupos')],
self::ACTION_USR_PROFILES => ['usr_profiles', _('Gestión Perfiles')],
self::ACTION_CFG => ['cfg', _('Configuración')],
self::ACTION_CFG_GENERAL => ['cfg_general', _('Configuración General')],
self::ACTION_CFG_ENCRYPTION => ['cfg_encryption', _('Encriptación')],
self::ACTION_CFG_BACKUP => ['cfg_backup', _('Copia de Seguridad')],
self::ACTION_CFG_EXPORT => ['cfg_export', _('Exportar')],
self::ACTION_CFG_IMPORT => ['cfg_import', _('Importar')],
self::ACTION_EVL => 'evl'
);
];
if (!isset($actionName[$action])) {
return 'action';
return $action;
}
if ($shortName) {

View File

@@ -47,28 +47,23 @@ class CategorySearch extends CategoryBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT category_id, category_name, category_description FROM categories';
$Data = new QueryData();
$Data->setSelect('category_id, category_name, category_description');
$Data->setFrom('categories');
$Data->setOrder('category_name');
if ($SearchData->getSeachString() !== '') {
$query .= /** @lang SQL */
' WHERE category_name LIKE ? OR category_description LIKE ?';
$search = '%' . $SearchData->getSeachString() . '%';
$Data->setWhere('category_name LIKE ? OR category_description LIKE ?');
$search = '%' . $SearchData->getSeachString() . '%';
$Data->addParam($search);
$Data->addParam($search);
}
$query .= /** @lang SQL */
' ORDER BY category_name LIMIT ?,?';
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
/** @var array $queryRes */

View File

@@ -59,17 +59,13 @@ class CustomFieldDefSearch extends CustomFieldBase implements ItemSearchInterfac
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT customfielddef_id,
customfielddef_module,
customfielddef_field
FROM customFieldsDef
ORDER BY customfielddef_module
LIMIT ?, ?';
$Data = new QueryData();
$Data->setMapClassName($this->getDataModel());
$Data->setQuery($query);
$Data->setSelect('customfielddef_id, customfielddef_module, customfielddef_field');
$Data->setFrom('customFieldsDef');
$Data->setOrder('customfielddef_module');
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());

View File

@@ -45,32 +45,23 @@ class CustomerSearch extends CustomerBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT customer_id,
customer_name,
customer_description
FROM customers';
$Data = new QueryData();
$Data->setSelect('customer_id, customer_name, customer_description');
$Data->setFrom('customers');
$Data->setOrder('customer_name');
if ($SearchData->getSeachString() !== '') {
$Data->setWhere('customer_name LIKE ? OR customer_description LIKE ?');
$search = '%' . $SearchData->getSeachString() . '%';
$query .= /** @lang SQL */
' WHERE customer_name LIKE ? OR customer_description LIKE ?';
$Data->addParam($search);
$Data->addParam($search);
}
$query .= /** @lang SQL */
' ORDER BY customer_name LIMIT ?,?';
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
$queryRes = DB::getResultsArray($Data);

View File

@@ -43,27 +43,14 @@ class FileSearch extends FileBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT accfile_id,
accfile_name,
CONCAT(ROUND(accfile_size/1000, 2), "KB") AS accfile_size,
accfile_thumb,
accfile_type,
account_name,
customer_name
FROM accFiles
JOIN accounts ON account_id = accfile_accountId
JOIN customers ON customer_id = account_customerId';
$Data = new QueryData();
$Data->setMapClassName('SP\DataModel\FileExtData');
$Data->setSelect('accfile_id, accfile_name, CONCAT(ROUND(accfile_size/1000, 2), "KB") AS accfile_size, accfile_thumb, accfile_type, account_name, customer_name');
$Data->setFrom('accFiles JOIN accounts ON account_id = accfile_accountId JOIN customers ON customer_id = account_customerId');
$Data->setOrder('accfile_name');
if ($SearchData->getSeachString() !== '') {
$query .= /** @lang SQL */
' WHERE accfile_name LIKE ?
OR accfile_type LIKE ?
OR account_name LIKE ?
OR customer_name LIKE ?';
$Data->setWhere('accfile_name LIKE ? OR accfile_type LIKE ? OR account_name LIKE ? OR customer_name LIKE ?');
$search = '%' . $SearchData->getSeachString() . '%';
$Data->addParam($search);
@@ -72,14 +59,10 @@ class FileSearch extends FileBase implements ItemSearchInterface
$Data->addParam($search);
}
$query .= /** @lang SQL */
' ORDER BY accfile_name LIMIT ?,?';
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
$queryRes = DB::getResultsArray($Data);

View File

@@ -45,32 +45,24 @@ class GroupSearch extends GroupBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT usergroup_id,
usergroup_name,
usergroup_description
FROM usrGroups';
$Data = new QueryData();
$Data->setMapClassName($this->getDataModel());
$Data->setSelect('usergroup_id, usergroup_name, usergroup_description');
$Data->setFrom('usrGroups');
$Data->setOrder('usergroup_name');
if ($SearchData->getSeachString() !== '') {
$query .= /** @lang SQL */
' WHERE usergroup_name LIKE ? OR usergroup_description LIKE ?';
$search = '%' . $SearchData->getSeachString() . '%';
$Data->setWhere('usergroup_name LIKE ? OR usergroup_description LIKE ?');
$search = '%' . $SearchData->getSeachString() . '%';
$Data->addParam($search);
$Data->addParam($search);
}
$query .= /** @lang SQL */
' ORDER BY usergroup_name LIMIT ?, ?';
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
$queryRes = DB::getResultsArray($Data);

View File

@@ -46,33 +46,28 @@ class ProfileSearch extends ProfileBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT userprofile_id, userprofile_name FROM usrProfiles';
$Data = new QueryData();
$Data->setSelect('userprofile_id, userprofile_name');
$Data->setFrom('usrProfiles');
$Data->setOrder('userprofile_name');
if ($SearchData->getSeachString() !== '') {
$query .= ' WHERE userprofile_name LIKE ?';
if (Checks::demoIsEnabled()) {
$query .= ' userprofile_name <> "Admin" AND userprofile_name <> "Demo"';
$Data->setWhere('userprofile_name LIKE ? AND userprofile_name <> "Admin" AND userprofile_name <> "Demo"');
} else {
$Data->setWhere('userprofile_name LIKE ?');
}
$search = '%' . $SearchData->getSeachString() . '%';
$Data->addParam($search);
} elseif (Checks::demoIsEnabled()) {
$query .= ' WHERE userprofile_name <> "Admin" AND userprofile_name <> "Demo"';
$Data->setWhere('userprofile_name <> "Admin" AND userprofile_name <> "Demo"');
}
$query .= /** @lang SQL */
' ORDER BY userprofile_name LIMIT ?, ?';
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
$queryRes = DB::getResultsArray($Data);

View File

@@ -50,12 +50,11 @@ class PublicLinkSearch extends PublicLinkBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT publicLink_id, publicLink_hash, publicLink_linkData FROM publicLinks LIMIT ?, ?';
$Data = new QueryData();
$Data->setQuery($query);
$Data->setMapClassName('SP\DataModel\PublicLinkListData');
$Data->setSelect('publicLink_id, publicLink_hash, publicLink_linkData');
$Data->setFrom('publicLinks');
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());

View File

@@ -45,24 +45,22 @@ class TagSearch extends TagBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT tag_id, tag_name FROM tags';
$Data = new QueryData();
$Data->setSelect('tag_id, tag_name');
$Data->setFrom('tags');
$Data->setOrder('tag_name');
if ($SearchData->getSeachString() !== '') {
$query .= ' WHERE tag_name LIKE ? ';
$Data->addParam('%' . $SearchData->getSeachString() . '%');
$Data->setWhere('tag_name LIKE ?');
$search = '%' . $SearchData->getSeachString() . '%';
$Data->addParam($search);
}
$query .= /** @lang SQL */
' ORDER BY tag_name LIMIT ?,?';
$Data->setLimit('?,?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
$queryRes = DB::getResultsArray($Data);

View File

@@ -44,8 +44,8 @@ class UserSearch extends UserBase implements ItemSearchInterface
*/
public function getMgmtSearch(ItemSearchData $SearchData)
{
$query = /** @lang SQL */
'SELECT user_id,
$Data = new QueryData();
$Data->setSelect('user_id,
user_name,
user_login,
userprofile_name,
@@ -54,36 +54,28 @@ class UserSearch extends UserBase implements ItemSearchInterface
BIN(user_isAdminAcc) AS user_isAdminAcc,
BIN(user_isLdap) AS user_isLdap,
BIN(user_isDisabled) AS user_isDisabled,
BIN(user_isChangePass) AS user_isChangePass
FROM usrData
LEFT JOIN usrProfiles ON user_profileId = userprofile_id
LEFT JOIN usrGroups ON usrData.user_groupId = usergroup_id';
$Data = new QueryData();
BIN(user_isChangePass) AS user_isChangePass');
$Data->setFrom('usrData LEFT JOIN usrProfiles ON user_profileId = userprofile_id LEFT JOIN usrGroups ON usrData.user_groupId = usergroup_id');
$Data->setOrder('user_name');
if ($SearchData->getSeachString() !== '') {
$query .= /** @lang SQL */
' WHERE user_name LIKE ? OR user_login LIKE ?';
$query .= (!Session::getUserData()->isUserIsAdminApp()) ? ' AND user_isAdminApp = 0' : '';
if (Session::getUserData()->isUserIsAdminApp()) {
$Data->setWhere('user_name LIKE ? OR user_login LIKE ?');
} else {
$Data->setWhere('user_name LIKE ? OR user_login LIKE ? AND user_isAdminApp = 0');
}
$search = '%' . $SearchData->getSeachString() . '%';
$Data->addParam($search);
$Data->addParam($search);
} else {
$query .= (!Session::getUserData()->isUserIsAdminApp()) ? ' WHERE user_isAdminApp = 0' : '';
} elseif (!Session::getUserData()->isUserIsAdminApp()) {
$Data->setWhere('user_isAdminApp = 0');
}
$query .= ' ORDER BY user_name';
$query .= ' LIMIT ?, ?';
$Data->setLimit('?, ?');
$Data->addParam($SearchData->getLimitStart());
$Data->addParam($SearchData->getLimitCount());
$Data->setQuery($query);
DB::setFullRowCount();
$queryRes = DB::getResultsArray($Data);

View File

@@ -612,7 +612,7 @@ pre, code, samp, kbd {
float: right;
min-height: 2em;
padding: 1em 0;
text-align: center;
text-align: left;
background-color: #fcfcfc;
width: 15em;
}

File diff suppressed because one or more lines are too long