Browse Source

added schema for TestPerms instances

Piotr Labudda 9 years ago
parent
commit
c788621608

+ 2 - 2
SE/se-lib/Api/WfsServerBase.php

@@ -1289,8 +1289,8 @@ if($DBG){echo 'L.' . __LINE__ . ' $validateConvertedTransactionXsdString:';print
 			[ 'xsd:complexType', [
 				[ 'xsd:sequence', [
 					[ 'xsd:element', ['name'=>"primaryKey", 'type'=>$xsdPrimaryKey], null ],
-					[ 'xsd:element', ['name'=>"instance", 'type'=>$xsdInstanceType], null ],
-					[ 'xsd:element', ['name'=>"type", 'type'=>"xsd:string"], null ],// TODO: instance, derived
+					[ 'xsd:element', ['name'=>"instance_name", 'type'=>$xsdInstanceType], null ],
+					[ 'xsd:element', ['name'=>"instance_type", 'type'=>"xsd:string"], null ],// TODO: instance, derived, matching
 					[ 'xsd:element', ['name'=>"create_author", 'type'=>"xsd:string"], null ],
 					[ 'xsd:element', ['name'=>"create_date", 'type'=>"xsd:dateTime"], null ],
 					[ 'xsd:element', ['name'=>"update_author", 'type'=>"xsd:string"], null ],

+ 2 - 2
SE/se-lib/Core/AclHelper.php

@@ -392,7 +392,7 @@ class Core_AclHelper {// Helper class for Acl
     static $cacheInstanceTables = array();
     $instanceTable = "{$rootTableName}__#INSTANCE";
     if (in_array($instanceTable, $cacheInstanceTables)) return $instanceTable;
-    DB::getPDO()->exec("
+    DB::getPDO()->execSql("
       CREATE TABLE IF NOT EXISTS `{$instanceTable}` (
         `PRIMARY_KEY` int(11) NOT NULL,
         `A_RECORD_UPDATE_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
@@ -402,7 +402,7 @@ class Core_AclHelper {// Helper class for Acl
         -- TODO `A_TRANACTION_ID` int(11) NOT NULL DEFAULT 0
       ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
     ");
-    DB::getPDO()->exec("
+    DB::getPDO()->execSql("
       CREATE TABLE IF NOT EXISTS `{$instanceTable}_HIST` (
         `ID` int(11) NOT NULL AUTO_INCREMENT,
         `PRIMARY_KEY` int(11) NOT NULL,

+ 35 - 3
SE/se-lib/Schema/TestPermsStorageAcl.php

@@ -144,10 +144,42 @@ class Schema_TestPermsStorageAcl extends Core_AclBase {
 
   public function getInstanceList() {
     return [
-      'TestPermsOczekujący',
-      'TestPermsAktywny',
-      'TestPermsUsunięty',
+      'TestPermsDoUzgodnienia',
+      'TestPermsUzgodniony',
+      'TestPermsOdrzucony',
+      'TestPermsAktywny', // test `matching`
     ];
   }
 
+  public function getInstanceSchema($instance) {
+    switch ($instance) {
+      case 'TestPermsDoUzgodnienia': return [
+        '@extension' => [
+          '@base' => 'TEST_PERMS',
+          'KorespDoUzg' => [ '@ref' => 'default_db/IN7_DZIENNIK_KORESP/KorespDoUzg', '@minOccurs' => 1 ],
+        ]
+      ];
+      case 'TestPermsUzgodniony': return [
+        '@extension' => [
+          '@base' => 'TestPermsDoUzgodnienia',
+          'KorespDoUzg' => [ '@ref' => 'default_db/IN7_DZIENNIK_KORESP/KorespDoUzg', '@minOccurs' => 0 ],
+          'KorespUzg' => [ '@ref' => 'default_db/IN7_DZIENNIK_KORESP/KorespUzg', '@minOccurs' => 1 ],
+        ]
+      ];
+      case 'TestPermsOdrzucony': return [
+        '@extension' => [
+          '@base' => 'TestPermsDoUzgodnienia',
+          'KorespDoUzg' => [ '@ref' => 'default_db/IN7_DZIENNIK_KORESP/KorespDoUzg', '@minOccurs' => 0 ],
+          'KorespOdrzucony' => [ '@ref' => 'default_db/IN7_DZIENNIK_KORESP/KorespOdrzucony', '@minOccurs' => 1 ],
+        ]
+      ];
+      case 'TestPermsAktywny': return [
+        '@restriction' => [
+          '@base' => 'TEST_PERMS',
+          'A_STATUS' => [ '@fixed' => "NORMAL" ],
+        ]
+      ];
+    }
+  }
+
 }