瀏覽代碼

fixed update cache for Przypomnij StorageAcl, added missing isLocalField for Wfs get feature

Piotr Labudda 8 年之前
父節點
當前提交
24529e1c37
共有 1 個文件被更改,包括 8 次插入6 次删除
  1. 8 6
      SE/se-lib/Schema/PrzypomnijStorageAcl.php

+ 8 - 6
SE/se-lib/Schema/PrzypomnijStorageAcl.php

@@ -51,14 +51,12 @@ class Schema_PrzypomnijStorageAcl extends Core_AclSimpleSchemaBase {
 	// public $_rootTableName = 'CRM_LISTA_ZASOBOW';
 	public $_rootTableName = '_PRZYPOMNIJ_ITEMS';
 	static function _createTable() {
-		DB::getPDO()->execSql(" DROP TABLE IF EXISTS `_PRZYPOMNIJ_ITEMS` "); // TODO: RMME DEV TEST
 		DB::getPDO()->execSql("
 			CREATE TABLE IF NOT EXISTS `_PRZYPOMNIJ_ITEMS` (
-				`ID` int(11) NOT NULL AUTO_INCREMENT,
 				`L_APPOITMENT_USER` varchar(255) NOT NULL default '',
 				`A_ADM_COMPANY` varchar(255) NOT NULL default '',
 				`A_CLASSIFIED` varchar(255) NOT NULL default '',
-				`feature_id` varchar(255) NOT NULL default '',
+				`feature_id` varchar(255) NOT NULL,
 				`namespace` varchar(255) NOT NULL default '',
 				`primaryKey` varchar(255) NOT NULL default '',
 				`A_STATUS` varchar(16) NOT NULL default '',
@@ -67,7 +65,7 @@ class Schema_PrzypomnijStorageAcl extends Core_AclSimpleSchemaBase {
 				`L_APPOITMENT_DATE` dateTime DEFAULT NULL,
 				`L_APPOITMENT_INFO` varchar(255) NOT NULL default '',
 
-				PRIMARY KEY (`ID`),
+				PRIMARY KEY (`feature_id`),
 				KEY `L_APPOITMENT_USER` (`L_APPOITMENT_USER`),
 				KEY `A_ADM_COMPANY` (`A_ADM_COMPANY`),
 				KEY `A_CLASSIFIED` (`A_CLASSIFIED`)
@@ -96,6 +94,7 @@ class Schema_PrzypomnijStorageAcl extends Core_AclSimpleSchemaBase {
 	public function __construct() {
 		parent::__construct($this->_simpleSchema);
 		$this->idUser = User::getID(); // default - current user
+		self::updateCacheIfNeeded();
 	}
 
 	static function updateCacheIfNeeded() {
@@ -117,8 +116,8 @@ class Schema_PrzypomnijStorageAcl extends Core_AclSimpleSchemaBase {
 		$sqlTableList = implode(", ", array_map(function ($table) { return "'{$table}'"; }, $tablesList));
 		$tablesUpdateDates = DB::getPDO()->fetchAll("
 			select TABLE_NAME, UPDATE_TIME
-				, IF( UPDATE_TIME > :last_update_date, 1, 0 ) as TODO__TO_UPDATE
-				, 1 as TO_UPDATE
+				, IF( UPDATE_TIME > :last_update_date, 1, 0 ) as TO_UPDATE
+				, 1 as DBG__TO_UPDATE
 			from information_schema.tables
 			where TABLE_SCHEMA = :db_name
 				and TABLE_NAME in({$sqlTableList})
@@ -443,5 +442,8 @@ class Schema_PrzypomnijStorageAcl extends Core_AclSimpleSchemaBase {
 	function hasWriteGroupField() { return $this->_hasWriteGroupField; }
 	function hasReadGroupField() { return $this->_hasReadGroupField; }
 	function hasOwnerField() { return $this->_hasOwnerField; }
+	function isLocalField($fieldName) {
+		return in_array($fieldName, array_keys($this->_simpleSchema['root']));
+	}
 
 }