|
|
@@ -32,9 +32,11 @@ class Schema_SystemObjectFieldStorageAcl extends Core_AclSimpleSchemaBase {
|
|
|
];
|
|
|
// public $_rootTableName = 'CRM_LISTA_ZASOBOW';
|
|
|
public $_rootTableName = 'CRM_#CACHE_ACL_OBJECT_FIELD';
|
|
|
+ public $_enumRootTableName = 'CRM_#CACHE_ACL_OBJECT_FIELD_enum';
|
|
|
public $_version = '1';
|
|
|
|
|
|
public static function getAntAclXsdBasePath($typeName) {
|
|
|
+ if (!$typeName) throw new Exception("Missing typeName");
|
|
|
$antAclPath = null;
|
|
|
if ($activeProject = Config::getProjectPath()) {
|
|
|
$tryProjectSchemaPath = "{$activeProject}/schema/ant-object/" . str_replace(['__x3A__', ':'], ['.', '/'], $typeName);
|
|
|
@@ -80,9 +82,8 @@ class Schema_SystemObjectFieldStorageAcl extends Core_AclSimpleSchemaBase {
|
|
|
} catch (Exception $e) {
|
|
|
DBG::log($e);
|
|
|
}
|
|
|
- // DB::getPDO()->execSql(" drop table if exists `{$this->_rootTableName}_enum` ");// TODO: DBG
|
|
|
DB::getPDO()->execSql("
|
|
|
- create table if not exists `{$this->_rootTableName}_enum` (
|
|
|
+ create table if not exists `{$this->_enumRootTableName}` (
|
|
|
`namespace` varchar(255) DEFAULT '' COMMENT 'concat obj ns / field ns / value',
|
|
|
`fieldNamespace` varchar(255) DEFAULT '',
|
|
|
`objectNamespace` varchar(255) DEFAULT '',
|
|
|
@@ -98,7 +99,7 @@ class Schema_SystemObjectFieldStorageAcl extends Core_AclSimpleSchemaBase {
|
|
|
if (!$namespace) return;
|
|
|
|
|
|
DB::getPDO()->update($this->_rootTableName, 'objectNamespace', $namespace, ['isActive' => 0]);
|
|
|
- DB::getPDO()->update("{$this->_rootTableName}_enum", 'objectNamespace', $namespace, ['isActive' => 0]);
|
|
|
+ DB::getPDO()->update("{$this->_enumRootTableName}", 'objectNamespace', $namespace, ['isActive' => 0]);
|
|
|
if (!$namespace) throw new Exception("Missing namespace '{$namespace}'");
|
|
|
$objectItem = SchemaFactory::loadDefaultObject('SystemObject')->getItem($namespace);
|
|
|
DBG::nicePrint($objectItem, '$objectItem');
|
|
|
@@ -163,7 +164,7 @@ class Schema_SystemObjectFieldStorageAcl extends Core_AclSimpleSchemaBase {
|
|
|
if (!empty($listEnum)) {
|
|
|
DBG::nicePrint($listEnum, '$listEnum');
|
|
|
foreach ($listEnum as $value => $label) {
|
|
|
- DB::getPDO()->insertOrUpdate("{$this->_rootTableName}_enum", [
|
|
|
+ DB::getPDO()->insertOrUpdate("{$this->_enumRootTableName}", [
|
|
|
'namespace' => "{$item['namespace']}/{$fieldName}/@{$value}",
|
|
|
'fieldNamespace' => $fieldName,
|
|
|
'objectNamespace' => $item['namespace'],
|
|
|
@@ -237,7 +238,7 @@ class Schema_SystemObjectFieldStorageAcl extends Core_AclSimpleSchemaBase {
|
|
|
if (!empty($listEnum)) {
|
|
|
DBG::nicePrint($listEnum, '$listEnum');
|
|
|
foreach ($listEnum as $value => $label) {
|
|
|
- DB::getPDO()->insertOrUpdate("{$this->_rootTableName}_enum", [
|
|
|
+ DB::getPDO()->insertOrUpdate("{$this->_enumRootTableName}", [
|
|
|
'namespace' => "{$item['namespace']}/{$fieldName}/@{$value}",
|
|
|
'fieldNamespace' => $fieldName,
|
|
|
'objectNamespace' => $item['namespace'],
|
|
|
@@ -300,7 +301,7 @@ class Schema_SystemObjectFieldStorageAcl extends Core_AclSimpleSchemaBase {
|
|
|
if (!empty($listEnum)) {
|
|
|
DBG::nicePrint($listEnum, '$listEnum');
|
|
|
foreach ($listEnum as $value => $label) {
|
|
|
- DB::getPDO()->insertOrUpdate("{$this->_rootTableName}_enum", [
|
|
|
+ DB::getPDO()->insertOrUpdate("{$this->_enumRootTableName}", [
|
|
|
'namespace' => "{$item['namespace']}/{$fieldName}/@{$value}",
|
|
|
'fieldNamespace' => $fieldName,
|
|
|
'objectNamespace' => $item['namespace'],
|
|
|
@@ -523,7 +524,7 @@ class Schema_SystemObjectFieldStorageAcl extends Core_AclSimpleSchemaBase {
|
|
|
$xsdRestrictions['enumeration'] = [];
|
|
|
foreach (DB::getPDO()->fetchAll("
|
|
|
select t.value, t.label
|
|
|
- from `{$this->_rootTableName}_enum` t
|
|
|
+ from `{$this->_enumRootTableName}` t
|
|
|
where t.objectNamespace = '{$item['objectNamespace']}'
|
|
|
and t.fieldNamespace = '{$item['fieldNamespace']}'
|
|
|
and t.isActive = 1
|