Prechádzať zdrojové kódy

Merge branch 'master' of ssh://biuro.biall-net.pl:2222/plabudda/se

Mariusz Muszyński 8 rokov pred
rodič
commit
dc5595a9cb

+ 1 - 1
SE/projects/bocian

@@ -1 +1 @@
-Subproject commit 8dbd287f9fd6d93f4f7a42817077838ecd6ddaa9
+Subproject commit 4a46aa8d574e6af56df9af7203ea73605a1ddec9

+ 7 - 7
SE/schema/ant-object/default_db.BI_audit_ENERGA_RUM_UMOWY/BI_audit_ENERGA_RUM_UMOWY/BI_audit_ENERGA_RUM_UMOWY.xsd

@@ -1,16 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2"
-   xmlns:Types__x3A__default_Default="https://biuro.biall-net.pl/wfs/default_db/Types/Default.xsd"
-   xmlns:default_db__x3A__IN7_DZIENNIK_KORESP="https://biuro.biall-net.pl/wfs/default_db/table/IN7_DZIENNIK_KORESP.xsd"
    xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty"
-   xmlns:default_db__x3A__ADMIN_USERS="https://biuro.biall-net.pl/wfs/default_db/table/ADMIN_USERS.xsd"
-   xmlns:default_db__x3A__IN7_MK_BAZA_DYSTRYBUCJI="https://biuro.biall-net.pl/wfs/default_db/table/IN7_MK_BAZA_DYSTRYBUCJI.xsd"
-   xmlns:SystemObjects__x3A__AccessGroup="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/AccessGroup.xsd"
-   xmlns:SystemObjects__x3A__AccessOwner="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/AccessOwner.xsd"
    xmlns:default_db__x3A__BI_audit_ENERGA_RUM_UMOWY="https://biuro.biall-net.pl/wfs/default_db/table/BI_audit_ENERGA_RUM_UMOWY.xsd"
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
    xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
-   targetNamespace="https://biuro.biall-net.pl/wfs/default_db/table/BI_audit_ENERGA_RUM_UMOWY.xsd">
+   targetNamespace="https://biuro.biall-net.pl/wfs/default_db/table/BI_audit_ENERGA_RUM_UMOWY.xsd"
+   xmlns:default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI="https://biuro.biall-net.pl/wfs/default_db/table/BI_audit_ENERGA_RUM_KONTRAHENCI.xsd">
    <!--   <xs:import namespace="http://www.opengis.net/gml/3.2"
               schemaLocation="../Types/gml.xsd"/>
    <xs:import namespace="https://biuro.biall-net.pl/wfs/default_db/table/IN7_DZIENNIK_KORESP.xsd"
@@ -21,6 +16,9 @@
               schemaLocation="../SystemObjects/AccessGroup.xsd"/>
    <xs:import namespace="https://biuro.biall-net.pl/wfs/default_db/SystemObjects/AccessOwner.xsd"
               schemaLocation="../SystemObjects/AccessOwner.xsd"/>-->
+   <xs:import
+      namespace="https://biuro.biall-net.pl/wfs/default_db/table/BI_audit_ENERGA_RUM_KONTRAHENCI.xsd"
+      schemaLocation="../../default_db.BI_audit_ENERGA_RUM_KONTRAHENCI/BI_audit_ENERGA_RUM_KONTRAHENCI/BI_audit_ENERGA_RUM_KONTRAHENCI.xsd"/>
    <xs:simpleType name="A_STATUS_Type" id="A_RUM_UMOWY___d4e5023-1_A_STATUS_T">
       <xs:restriction base="xs:string">
          <xs:enumeration value="NORMAL"/>
@@ -181,6 +179,8 @@
             id="A_RUM_UMOWY___d5e5414-1_A_RECORD_U"/>
          <xs:element name="A_CLASSIFIED" type="xs:string" id="A_RUM_UMOWY___d4e5046-1_A_CLASSIFI"/>
          <xs:element name="A_ADM_COMPANY" type="xs:string" id="A_RUM_UMOWY___d4e5052-1_A_ADM_COMP"/>
+         <xs:element
+            ref="default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI" id="A_RUM_UMOWY___d4e5052-1_A_ADkontr"/>
       </xs:sequence>
    </xs:complexType>
    <xs:element name="BI_audit_ENERGA_RUM_UMOWY"

+ 14 - 3
SE/schema/ant-object/default_db.BI_audit_operational_raport_note/BI_audit_operational_raport_note/BI_audit_operational_raport_note.xsd

@@ -30,6 +30,14 @@
       schemaLocation="../../default_db.BI_audit_KRS/BI_audit_KRS/BI_audit_KRS.xsd"/>
    <xs:import namespace="https://biuro.biall-net.pl/wfs/default_db/table/BI_audit_CEIDG.xsd"
       schemaLocation="../../default_db.BI_audit_CEIDG/BI_audit_CEIDG/BI_audit_CEIDG.xsd"/>
+   
+   <xs:simpleType name="action_Type" id="raport_note___d5e6216-1_A_rapt">
+      <xs:restriction base="xs:string">
+         <xs:enumeration value="IGNORE"/>
+         <xs:enumeration value="REPORT"/>
+      </xs:restriction>
+   </xs:simpleType>
+   
    <xs:simpleType name="A_STATUS_Type" id="raport_note___d5e6216-1_A_STATUS_T">
       <xs:restriction base="xs:string">
          <xs:enumeration value="NORMAL"/>
@@ -41,6 +49,7 @@
          <xs:enumeration value="OFF_HARD"/>
       </xs:restriction>
    </xs:simpleType>
+   
    <xs:complexType name="BI_audit_operational_raport_note" id="raport_note___d5e6225-1_BI_audit_o">
       <xs:annotation>
          <xs:documentation>Baza operacyjnych notatek umożliwiająca ignorowanie obiektu lub wskazywanie w raporcie informacji powiązanych dla obiektu w specjalny sposób.</xs:documentation>
@@ -57,10 +66,12 @@
                <xs:documentation>W przypadku długich opisów w notatce, należy w tym polu wprowadzić informacje, przekraczające 255 znaków.</xs:documentation>
             </xs:annotation>
          </xs:element>
-         <xs:element name="action" type="xs:string" id="raport_note___d5e6239-1_action">
-            <xs:annotation>
+         <xs:element name="action"
+            type="default_db__x3A__BI_audit_operational_raport_note:action_Type"
+            id="raport_note___d5e6239-1_action">
+            <!--<xs:annotation>
                <xs:documentation>W przypadku chęci wyłączania jakiegoś obiektu z raportów, należy wybrać akcję na IGNORE. W przypadku posiadania jakiegoś podejrzenia dla pracownika/osoby z KRS/firmy, należy wybrać opcję REPORT, aby była ona raportowana.</xs:documentation>
-            </xs:annotation>
+            </xs:annotation>-->
          </xs:element>
          <xs:element name="A_RECORD_CREATE_DATE" type="xs:dateTime" id="raport_note___d5e6239-RCD"/>
          <xs:element name="A_RECORD_CREATE_AUTHOR" type="xs:string" id="raport_note___d5e6239-RCA"/>

+ 5 - 2
SE/se-lib/AntAclBase.php

@@ -27,7 +27,10 @@ class AntAclBase extends Core_AclBase {
 	public function getSourceName() { return 'default_db'; } // TODO: ?
 	public function getRootTableName() { return $this->_rootTableName; }
 	public function getPrimaryKeyField() { return $this->_primaryKey; }
-	public function getFieldListByIdZasob() { return $this->getRealFieldListByIdZasob(); }
+	public function getFieldListByIdZasob() {
+		$this->_fetchInfoFromZasobyIfNeeded();
+		return $this->getRealFieldListByIdZasob();
+	}
 	public function getVirtualFieldListByIdZasob() { return []; }
 
 	public function _fetchInfoFromZasobyIfNeeded() {
@@ -39,7 +42,7 @@ class AntAclBase extends Core_AclBase {
 				function ($id) { return $id > 0; }
 			);
 			if (!empty($zasobyIds)) {
-				DBG::log("DBG sort fields - TODO: ids [".implode(",", $zasobyIds)."]");
+				DBG::log("DBG sort fields - ids [".implode(",", $zasobyIds)."]");
 				$zasobyInfo = DB::getPDO()->fetchAllByKey("
 					select z.ID, z.DESC_PL, z.OPIS, z.SORT_PRIO
 					from CRM_LISTA_ZASOBOW z

+ 3 - 1
SE/se-lib/Route/ViewTableAjax.php

@@ -457,13 +457,15 @@ class Route_ViewTableAjax extends RouteBase {
 				$forceFilterInit[$fldName] = $v;
 			}
 		}
+		DBG::log($forceFilterInit, 'array', "\$forceFilterInit");
 		foreach ($fieldsList as $kID => $field) {
 			$defaultValue = '';
 			if (!empty($forceFilterInit[$field['name']])) {
 				$defaultValue = $forceFilterInit[$field['name']];
 			}
-			$cols[$kID] = V::get("f{$kID}", $cols[$kID], $_POST);
+			$cols[$kID] = V::get("f{$kID}", $defaultValue, $_POST);
 		}
+		DBG::log($cols, 'array', "\$cols - field values");
 		$tsValues = array();
 		$featureFunctions = [
 			// 'edit'  => [ 'href' => '#EDIT/{0}', 'ico' => 'glyphicon glyphicon-pencil', 'title' => "Edytuj rekord"],

+ 7 - 4
SE/se-lib/Schema/SystemObjectStorageAcl.php

@@ -293,14 +293,17 @@ class Schema_SystemObjectStorageAcl extends Core_AclSimpleSchemaBase {
 					from `CRM_LISTA_ZASOBOW` z
 					where z.PARENT_ID = :parent_id
 						and z.`TYPE` = 'KOMORKA'
+						and z.A_STATUS not in ('DELETED')
 				", [ ':parent_id' => $antAclInfo['idZasob'] ]);
 				DBG::nicePrint($zasobyStruct, "\$zasobyStruct ({$namespace})");
 
 				ob_start();
-				Lib::loadClass('Schema_SystemObjectFieldStorageAcl');
-				$objFieldAcl = new Schema_SystemObjectFieldStorageAcl();
-				$objFieldAcl->updateCache($namespace);
-				$reinstallLog = ob_get_clean();
+				{
+					Lib::loadClass('Schema_SystemObjectFieldStorageAcl');
+					$objFieldAcl = new Schema_SystemObjectFieldStorageAcl();
+					$objFieldAcl->updateCache($namespace);
+					$reinstallLog = ob_get_clean();
+				}
 				// DBG::nicePrint($reinstallLog, "\$reinstallLog ({$namespace})");
 
 				$fieldCacheStruct = DB::getPDO()->fetchAll("

+ 3 - 3
SE/se-lib/TableAjax.php.create.js

@@ -23,15 +23,15 @@ function TableAjax__CREATE_Route() {
 	taskCnt = jQuery('<div id="' + TABLE_AJAX_NODE_ID + '_task" class="AjaxTableTaskCnt AjaxTable-loading"></div>').appendTo(taskCont);
 	jQuery('<span class="loading-info"> loading ...</span>').appendTo(taskCnt);
 
-	var reqData = {};
+	var reqData = [];
 	var forceFilterInit = FIRCE_FILER_INIT; // TODO: read from TableAjax
 	if (forceFilterInit) {
 		$.map(forceFilterInit, function(fltrProps, fltr) {
-			reqData['ff_' + fltr] = fltrProps;
+			reqData.push('ff_' + fltr + '=' + fltrProps);
 		});
 	}
 
-	window.fetch(URL_CREATE_FORM_AJAX, {
+	window.fetch(URL_CREATE_FORM_AJAX + ( reqData ? '&' + reqData.join('&') : '' ), {
 		method: 'GET',
 		credentials: 'same-origin',
 	}).then(function(response) {

+ 1 - 0
SE/se-lib/UI.php

@@ -455,6 +455,7 @@ class UI {
 	 * @param $taskPerm - 'C', 'W'
 	 */
 	public static function hGetFormItem($acl, $fieldName, $taskPerm, $fieldID, $fName, $fValue, $params = array(), $record = null) {
+		$fValue = (string)$fValue;
 		Lib::loadClass('Typespecial');
 		DBG::log(['$fieldName'=>$fieldName, '$taskPerm'=>$taskPerm, '$fieldID'=>$fieldID, '$fName'=>$fName, '$fValue'=>$fValue, '$params'=>$params, '$record'=>$record], 'array', "hGetFormItem()");
 

+ 14 - 7
SE/se-lib/XML.php

@@ -108,8 +108,9 @@ class XML {
 			// TODO:TYPE_RECURCE: if local ns prefix then find correct typeName?
 			// TODO:TYPE_RECURCE:the same for restrictions
 			$type = $nodeArray[1]['type'];
-			if ('xs:' == substr($type, 0, 3)) return "xsd:" . substr($type, 3);
-			if ('xsd:' == substr($type, 0, 4)) return $type;
+			DBG::log(['is_xs:' => ('xs:' === substr($type, 0, 3)), 'is_xsd:'=>('xsd:' === substr($type, 0, 4))], 'array', "DBG: findElementType field({$fieldName}) type({$type})");
+			if ('xs:' === substr($type, 0, 3)) return "xsd:" . substr($type, 3);
+			if ('xsd:' === substr($type, 0, 4)) return $type;
 			list($prefix, $name) = explode(':', $type);
 			if ($prefix === self::findTargetNamespacePrefix($docArray)) {
 				$simpleTypeNode = self::findSimpleTypeNode($docArray, $name);
@@ -133,8 +134,8 @@ class XML {
 					if ($isEnum) return 'p5:enum';
 
 					// TODO: recurse with limit
-					if ('xs:' == substr($type, 0, 3)) return "xsd:" . substr($type, 3);
-					if ('xsd:' == substr($type, 0, 4)) return $type;
+					if ('xs:' === substr($type, 0, 3)) return "xsd:" . substr($type, 3);
+					if ('xsd:' === substr($type, 0, 4)) return $type;
 					list($prefix, $name) = explode(':', $type);
 					$simpleTypeNode = self::findSimpleTypeNode($docArray, $name);
 					DBG::log($simpleTypeNode, 'array', "\$simpleTypeNode \$fieldName='{$fieldName}' ... type='{$type}'");
@@ -146,8 +147,7 @@ class XML {
 						if (empty($restrictionNode[1]['base'])) throw new Exception("Missing xsd:restriction/@base (node/@type => xsd:simpleType/[@type='{$simpleTypeNode[1]['type']}']/xsd:restriction')");
 						$type = $restrictionNode[1]['base'];
 						DBG::log($type, 'array', "findElementType \$fieldName='{$fieldName}' ... type='{$type}'");
-						if ('xs:' == substr($type, 0, 3)) return "xsd:" . substr($type, 3);
-						if ('xsd:' == substr($type, 0, 4)) return $type;
+						return self::convertXsdTypeToXsdPrefix($type);
 					}
 					// TODO: throw...
 				}
@@ -179,7 +179,14 @@ class XML {
 		if (empty($nodeArray[2][0][0]) || !self::isXsdTag($nodeArray[2][0][0], 'simpleType')) throw new Exception("Missing 'xsd:simpleType' for field '{$fieldName}'");
 		if (empty($nodeArray[2][0][2][0]) || !self::isXsdTag($nodeArray[2][0][2][0][0], 'restriction')) throw new Exception("Missing 'xsd:restriction' for field '{$fieldName}'");
 		if (empty($nodeArray[2][0][2][0][1]['base'])) throw new Exception("Missing 'xsd:restriction/@base' for field '{$fieldName}'");
-		return $nodeArray[2][0][2][0][1]['base'];
+		return self::convertXsdTypeToXsdPrefix($nodeArray[2][0][2][0][1]['base']);
+	}
+
+	public static function convertXsdTypeToXsdPrefix($type) {
+		// TODO: validate if type is supported in object engine and gui
+		if ('xs:' === substr($type, 0, 3)) return "xsd:" . substr($type, 3);
+		if ('xsd:' === substr($type, 0, 4)) return $type;
+		throw new Exception("Not implemented type '{$type}'");
 	}
 
 	public static function findElementRestrictions($docArray, $nodeArray) {

+ 5 - 3
SE/superedit-SQIX_STRUCTURE_DB_SYNC.php

@@ -506,7 +506,7 @@ $CONNLOCAL->query('set global max_allowed_packet=1000000000');
 								while($tst=$CONNREMOTE->fetch($result_tst)) {
 									//$h->PARENT_ID=$tst->DST_TABLE_ID;
 									$DST_FOUND_ID=$tst->DST_TABLE_ID;
-									$IF_NOT_REPLACED=false;
+									$IF_NOT_REPLACED=false; //zaznaczamy, ze nie byl wczesniej zaimportowany
 									DEBUG_S(3,'ZNALAZLEM_REKORD_IGNORUJE_IMPORT:" w tabeli '.$TABLE.' , src_id:'.$h->ID.', dst_id: '.$tst->DST_TABLE_ID.'" "'.$h->PARENT_ID.'"',$sql,__FILE__,__FUNCTION__,__LINE__);
 									if($CONFIRM_SQL_UPDATE!='REPLACE') break 2;
 								}
@@ -528,8 +528,10 @@ $CONNLOCAL->query('set global max_allowed_packet=1000000000');
 									} else if($IND=='SYNC_SQIX_STATUS') {
 										//@2014-02-05 proba wlasciwego oznaczenia nadpisanego P_ID aby nic mu juz tego PARENTA nie zmienilo potem:
 										//@2014-04-03 to nie dziala!!! TODO nalezy ignorowac kolumne P_ID w takim wypadku!
-										if($CONFIRM_SQL_UPDATE!='REPLACE')
-										  if(($DST_FOUND_ID>0)) $SYNC_SQIX_STATUS='_FIX_ZASOB';
+										
+										//@2017-11-15 bledne zalozenie, ze replace nie wymaga tlumaczenia - przeciez nadpisze sie P_ID! 
+										//if($CONFIRM_SQL_UPDATE!='REPLACE')
+										//  if(($DST_FOUND_ID>0)) $SYNC_SQIX_STATUS='_FIX_ZASOB';
 										
 									} else if(($TABLE=='CRM_LISTA_ZASOBOW')&&($IND=='A_LDAP_GID')) {