ソースを参照

added typ_dokumentu insert/update in Zaliczka

Piotr Labudda 9 年 前
コミット
782bad4fcc

+ 21 - 0
SE/se-lib/ACL.php

@@ -171,6 +171,27 @@ SQL;
 		return $isAllowed;
 		return $isAllowed;
 	}
 	}
 
 
+	public static function getStorageByNamespace($namespace, $forceTblAclInit = false) {
+		Lib::loadClass('Core_AclHelper');
+		Lib::loadClass('SchemaFactory');
+		$ns = Core_AclHelper::parseNamespaceUrl($namespace);
+		DBG::log($ns, 'array', "parseNamespaceUrl({$namespace})");
+		if ('default_db' == $ns['prefix']) {
+			$acl = User::getAcl()->getObjectAcl($ns['prefix'], $ns['name']);
+		} else if ('objects' == $ns['prefix']) {
+			$acl = SchemaFactory::loadDefaultObject($ns['name']);
+		} else if ('default_objects' == $ns['prefix']) {
+			$acl = SchemaFactory::loadDefaultObject($ns['name']);
+		} else if ('default_db__x3A__' == substr($ns['prefix'], 0, 17)) {
+			$rootTableName = strtolower(substr($ns['prefix'], 17));
+			$acl = SchemaFactory::loadTableObject($rootTableName, $ns['name']);
+		} else {
+			throw new HttpException("Not Implemented", 501);
+		}
+		$acl->init($forceTblAclInit);
+		return $acl;
+	}
+
 	public static function getAclByNamespace($namespace, $forceTblAclInit = false) {
 	public static function getAclByNamespace($namespace, $forceTblAclInit = false) {
 		return Core_AclHelper::getAclByNamespace($namespace, $forceTblAclInit);
 		return Core_AclHelper::getAclByNamespace($namespace, $forceTblAclInit);
 	}
 	}

+ 14 - 14
SE/se-lib/Route/UrlAction/UserProNetMediaZaliczka.php

@@ -68,7 +68,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 		$args['idZaliczka'] = V::get('idZaliczka', 0, $_REQUEST, 'int');// (int)$args['idZaliczka'];
 		$args['idZaliczka'] = V::get('idZaliczka', 0, $_REQUEST, 'int');// (int)$args['idZaliczka'];
 		if ($args['idZaliczka'] <= 0) throw new HttpException("Error Parsing Request - missing idZaliczka", 400);
 		if ($args['idZaliczka'] <= 0) throw new HttpException("Error Parsing Request - missing idZaliczka", 400);
 
 
-		$acl = ACL::getAclByNamespace("default_db/ZALICZKA/Zaliczka");
+		$acl = ACL::getStorageByNamespace("default_db/ZALICZKA/Zaliczka");
 		$schema = $acl->getSimpleSchemaTree();
 		$schema = $acl->getSimpleSchemaTree();
 		if (!empty($args['updates'])) {
 		if (!empty($args['updates'])) {
 			$acl->updateItem($args['updates']);
 			$acl->updateItem($args['updates']);
@@ -107,7 +107,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 			if ('default_db/IN7_DZIENNIK_KORESP/ZaliczkaKoresp' == $args['schema']['@namespace']) {
 			if ('default_db/IN7_DZIENNIK_KORESP/ZaliczkaKoresp' == $args['schema']['@namespace']) {
 				return [
 				return [
 					'type' => 'success',
 					'type' => 'success',
-					'options' => array_values(ACL::getAclByNamespace($args['schema']['@namespace'])->getItems([
+					'options' => array_values(ACL::getStorageByNamespace($args['schema']['@namespace'])->getItems([
 						'f_title' => V::get('query', '', $args)
 						'f_title' => V::get('query', '', $args)
 					]))
 					]))
 				];
 				];
@@ -119,7 +119,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 			// objectNamespace : "default_db/ZALICZKA_POZYCJA/ZaliczkaPozycja"
 			// objectNamespace : "default_db/ZALICZKA_POZYCJA/ZaliczkaPozycja"
 			if (empty($args['childName'])) throw new Exception("Missing childName");
 			if (empty($args['childName'])) throw new Exception("Missing childName");
 
 
-			$acl = ACL::getAclByNamespace($args['objectNamespace']);
+			$acl = ACL::getStorageByNamespace($args['objectNamespace']);
 			return [
 			return [
 				'type' => 'success',
 				'type' => 'success',
 				'options' => $acl->getEnumValues($args['childName'])
 				'options' => $acl->getEnumValues($args['childName'])
@@ -159,11 +159,11 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 		$tab = V::get('tab', 'wnioski', $data);
 		$tab = V::get('tab', 'wnioski', $data);
 		if (!in_array($tab, ['wnioski', 'zaliczki'])) $tab = 'wnioski';
 		if (!in_array($tab, ['wnioski', 'zaliczki'])) $tab = 'wnioski';
 
 
-		$ownerAcl = ACL::getAclByNamespace("default_objects/AccessOwner");
+		$ownerAcl = ACL::getStorageByNamespace("default_objects/AccessOwner");
 		$user = $ownerAcl->getItem($idUser);// [id, login, name]
 		$user = $ownerAcl->getItem($idUser);// [id, login, name]
 		if (!$user) throw new Exception("Nie znaleziono pracownika o nr '{$idUser}'");
 		if (!$user) throw new Exception("Nie znaleziono pracownika o nr '{$idUser}'");
 
 
-		$acl = ACL::getAclByNamespace("default_db/ZALICZKA/Zaliczka");
+		$acl = ACL::getStorageByNamespace("default_db/ZALICZKA/Zaliczka");
 
 
 		UI::startContainer(['style' => "padding-top:20px"]);
 		UI::startContainer(['style' => "padding-top:20px"]);
 		UI::setTitle("Zaliczka");
 		UI::setTitle("Zaliczka");
@@ -212,8 +212,8 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 		if (!$idUser) throw new Exception("Błędny numer pracownika");
 		if (!$idUser) throw new Exception("Błędny numer pracownika");
 		// $workerLogin = DB::getPDO()->fetchValue("select u.ADM_ACCOUNT from ADMIN_USERS u where u.ID={$idUser} limit 1");
 		// $workerLogin = DB::getPDO()->fetchValue("select u.ADM_ACCOUNT from ADMIN_USERS u where u.ID={$idUser} limit 1");
 		// if (!$workerLogin) throw new Exception("Pracownik nie został odnaleziony - nr '{$idUser}'");
 		// if (!$workerLogin) throw new Exception("Pracownik nie został odnaleziony - nr '{$idUser}'");
-		// $acl = ACL::getAclByNamespace("default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek");
-		$acl = ACL::getAclByNamespace("default_db/zaliczka_wniosek_info_view");
+		// $acl = ACL::getStorageByNamespace("default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek");
+		$acl = ACL::getStorageByNamespace("default_db/zaliczka_wniosek_info_view");
 		$syncUrl = Request::getPathUri() . 'index.php?_route=ViewTableAjax&namespace=' . $acl->getNamespace();
 		$syncUrl = Request::getPathUri() . 'index.php?_route=ViewTableAjax&namespace=' . $acl->getNamespace();
 		$tbl = new TableAjax($acl);
 		$tbl = new TableAjax($acl);
 		$tblLabel = $acl->getNamespace();
 		$tblLabel = $acl->getNamespace();
@@ -244,7 +244,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 		if (!$idUser) throw new Exception("Błędny numer pracownika");
 		if (!$idUser) throw new Exception("Błędny numer pracownika");
 		$workerLogin = DB::getPDO()->fetchValue("select u.ADM_ACCOUNT from ADMIN_USERS u where u.ID={$idUser} limit 1");
 		$workerLogin = DB::getPDO()->fetchValue("select u.ADM_ACCOUNT from ADMIN_USERS u where u.ID={$idUser} limit 1");
 		if (!$workerLogin) throw new Exception("Pracownik nie został odnaleziony - nr '{$idUser}'");
 		if (!$workerLogin) throw new Exception("Pracownik nie został odnaleziony - nr '{$idUser}'");
-		$acl = ACL::getAclByNamespace("default_db/ZALICZKA_INFO_VIEW");// 'default_db/ZALICZKA/Zaliczka'
+		$acl = ACL::getStorageByNamespace("default_db/ZALICZKA_INFO_VIEW");// 'default_db/ZALICZKA/Zaliczka'
 		$syncUrl = Request::getPathUri() . 'index.php?_route=ViewTableAjax&namespace=' . $acl->getNamespace();
 		$syncUrl = Request::getPathUri() . 'index.php?_route=ViewTableAjax&namespace=' . $acl->getNamespace();
 		$tbl = new TableAjax($acl);
 		$tbl = new TableAjax($acl);
 		$tblLabel = $acl->getNamespace();
 		$tblLabel = $acl->getNamespace();
@@ -269,7 +269,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 		]);
 		]);
 		echo $tbl->render();
 		echo $tbl->render();
 
 
-		// $acl = ACL::getAclByNamespace("default_db/ZALICZKA/Zaliczka");
+		// $acl = ACL::getStorageByNamespace("default_db/ZALICZKA/Zaliczka");
 		// UI::table([
 		// UI::table([
 		// 	'caption' => "Zaliczki",
 		// 	'caption' => "Zaliczki",
 		// 	'rows' => array_map(
 		// 	'rows' => array_map(
@@ -310,7 +310,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 			if (!$idUser) throw new Exception("Błędny numer pracownika");
 			if (!$idUser) throw new Exception("Błędny numer pracownika");
 			$workerLogin = DB::getPDO()->fetchValue("select u.ADM_ACCOUNT from ADMIN_USERS u where u.ID={$idUser} limit 1");
 			$workerLogin = DB::getPDO()->fetchValue("select u.ADM_ACCOUNT from ADMIN_USERS u where u.ID={$idUser} limit 1");
 			if (!$workerLogin) throw new Exception("Pracownik nie został odnaleziony - nr '{$idUser}'");
 			if (!$workerLogin) throw new Exception("Pracownik nie został odnaleziony - nr '{$idUser}'");
-			$acl = ACL::getAclByNamespace("default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek");
+			$acl = ACL::getStorageByNamespace("default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek");
 			$id = $acl->addItem([
 			$id = $acl->addItem([
 				'kwota' => $kwota,
 				'kwota' => $kwota,
 				'uwagi' => $uwagi,
 				'uwagi' => $uwagi,
@@ -349,8 +349,8 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 	public function reinstallAction() {
 	public function reinstallAction() {
 		UI::gora();
 		UI::gora();
 		try {
 		try {
-			ACL::getAclByNamespace("default_db/ZALICZKA/Zaliczka")->reinstall();
-			ACL::getAclByNamespace("default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek")->reinstall();
+			ACL::getStorageByNamespace("default_db/ZALICZKA/Zaliczka")->reinstall();
+			ACL::getStorageByNamespace("default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek")->reinstall();
 			UI::startContainer();
 			UI::startContainer();
 			UI::alert('success', "Structure for 'default_db/ZALICZKA/Zaliczka' created in a database");
 			UI::alert('success', "Structure for 'default_db/ZALICZKA/Zaliczka' created in a database");
 			$backUrl = Request::getPathUri() . "index.php?_route=UrlAction_UserProNetMediaZaliczka";
 			$backUrl = Request::getPathUri() . "index.php?_route=UrlAction_UserProNetMediaZaliczka";
@@ -607,7 +607,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 		UI::tag('div', ['id'=>"zaliczka-app", 'data-dbg'=>V::get('DBG', '', $_GET), 'data-sync-js-function'=>"syncZaliczkaState", 'data-fetch-data-js-function'=>"zaliczkaFetchData"]);
 		UI::tag('div', ['id'=>"zaliczka-app", 'data-dbg'=>V::get('DBG', '', $_GET), 'data-sync-js-function'=>"syncZaliczkaState", 'data-fetch-data-js-function'=>"zaliczkaFetchData"]);
 		UI::emptyTag('br');
 		UI::emptyTag('br');
 
 
-		$acl = ACL::getAclByNamespace("default_db/ZALICZKA/Zaliczka");
+		$acl = ACL::getStorageByNamespace("default_db/ZALICZKA/Zaliczka");
 		$schema = $acl->getSimpleSchemaTree();
 		$schema = $acl->getSimpleSchemaTree();
 		// DBG::nicePrint($schema, '$schema');
 		// DBG::nicePrint($schema, '$schema');
 
 
@@ -630,7 +630,7 @@ class Route_UrlAction_UserProNetMediaZaliczka extends RouteBase {// TODO: UrlAct
 			$idZaliczka = V::get('idZaliczka', 0, $_GET, 'int');
 			$idZaliczka = V::get('idZaliczka', 0, $_GET, 'int');
 			if ($idZaliczka <= 0) throw new Exception("Missing idZaliczka");
 			if ($idZaliczka <= 0) throw new Exception("Missing idZaliczka");
 
 
-			$acl = ACL::getAclByNamespace("default_db/ZALICZKA/Zaliczka");
+			$acl = ACL::getStorageByNamespace("default_db/ZALICZKA/Zaliczka");
 			$zaliczka = $acl->getItem($idZaliczka);
 			$zaliczka = $acl->getItem($idZaliczka);
 			if (!$zaliczka) throw new Exception("Zaliczka not found!");
 			if (!$zaliczka) throw new Exception("Zaliczka not found!");
 
 

+ 3 - 3
SE/se-lib/Route/UrlAction/UserProNetMediaZaliczkaWniosekConfirm.php

@@ -23,7 +23,7 @@ class Route_UrlAction_UserProNetMediaZaliczkaWniosekConfirm extends RouteBase {
   public function getProps($args) {
   public function getProps($args) {
     $idZaliczkaWniosek = V::get('idZaliczkaWniosek', 0, $_GET, 'int');
     $idZaliczkaWniosek = V::get('idZaliczkaWniosek', 0, $_GET, 'int');
     if ($idZaliczkaWniosek <= 0) throw new Exception("Missing param idZaliczkaWniosek");
     if ($idZaliczkaWniosek <= 0) throw new Exception("Missing param idZaliczkaWniosek");
-    $wniosekAcl = ACL::getAclByNamespace('default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek');
+    $wniosekAcl = ACL::getStorageByNamespace('default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek');
     $wniosek = $wniosekAcl->getItem($idZaliczkaWniosek);
     $wniosek = $wniosekAcl->getItem($idZaliczkaWniosek);
     if (!$wniosek) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} nie został odnaleziony w bazie danych");
     if (!$wniosek) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} nie został odnaleziony w bazie danych");
     $props = [
     $props = [
@@ -50,7 +50,7 @@ class Route_UrlAction_UserProNetMediaZaliczkaWniosekConfirm extends RouteBase {
       ]);
       ]);
       DBG::log(['msg'=>"update Wniosek(affected={$affected})", '$wniosek'=>$wniosek]);
       DBG::log(['msg'=>"update Wniosek(affected={$affected})", '$wniosek'=>$wniosek]);
 
 
-      $zaliczkaAcl = ACL::getAclByNamespace('default_db/ZALICZKA/Zaliczka');
+      $zaliczkaAcl = ACL::getStorageByNamespace('default_db/ZALICZKA/Zaliczka');
       $id = $zaliczkaAcl->addItem([
       $id = $zaliczkaAcl->addItem([
         'kwota' => $props['wniosek']['kwota'],
         'kwota' => $props['wniosek']['kwota'],
         'worker' => [
         'worker' => [
@@ -166,7 +166,7 @@ class Route_UrlAction_UserProNetMediaZaliczkaWniosekConfirm extends RouteBase {
       DBG::log(['msg'=>'wniosek', 'wniosek'=>$props['wniosek']]);
       DBG::log(['msg'=>'wniosek', 'wniosek'=>$props['wniosek']]);
       echo $this->viewWniosek($props['wniosek']);
       echo $this->viewWniosek($props['wniosek']);
 
 
-			$idTable = ACL::getAclByNamespace('default_db/zaliczka_wniosek_info_view')->getID();
+			$idTable = ACL::getStorageByNamespace('default_db/zaliczka_wniosek_info_view')->getID();
 			Router::getRoute('TableMsgs')->tableRowMsgs($idTable, $props['idZaliczkaWniosek']);
 			Router::getRoute('TableMsgs')->tableRowMsgs($idTable, $props['idZaliczkaWniosek']);
 		} catch (Exception $e) {
 		} catch (Exception $e) {
 			UI::alert('danger', $e->getMessage());
 			UI::alert('danger', $e->getMessage());

+ 1 - 1
SE/se-lib/Route/UrlAction/UserProNetMediaZaliczkaWniosekRemove.php

@@ -23,7 +23,7 @@ class Route_UrlAction_UserProNetMediaZaliczkaWniosekRemove extends RouteBase {
   public function getProps($args) {
   public function getProps($args) {
     $idZaliczkaWniosek = V::get('idZaliczkaWniosek', 0, $_GET, 'int');
     $idZaliczkaWniosek = V::get('idZaliczkaWniosek', 0, $_GET, 'int');
     if ($idZaliczkaWniosek <= 0) throw new Exception("Missing param idZaliczkaWniosek");
     if ($idZaliczkaWniosek <= 0) throw new Exception("Missing param idZaliczkaWniosek");
-    $wniosekAcl = ACL::getAclByNamespace('default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek');
+    $wniosekAcl = ACL::getStorageByNamespace('default_db/ZALICZKA_WNIOSEK/ZaliczkaWniosek');
     $wniosek = $wniosekAcl->getItem($idZaliczkaWniosek);
     $wniosek = $wniosekAcl->getItem($idZaliczkaWniosek);
     if (!$wniosek) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} nie został odnaleziony w bazie danych");
     if (!$wniosek) throw new Exception("Wniosek o numerze {$idZaliczkaWniosek} nie został odnaleziony w bazie danych");
     $props = [
     $props = [

+ 3 - 0
SE/se-lib/Schema/DefaultDb/zaliczka_pozycja/ZaliczkaPozycjaStorageAcl.php

@@ -53,6 +53,9 @@ class Schema_DefaultDb_zaliczka_pozycja_ZaliczkaPozycjaStorageAcl extends Core_A
     if (!empty($itemTodo['kategoria_kosztu'])) {
     if (!empty($itemTodo['kategoria_kosztu'])) {
       $sqlItem[ $this->getSqlFieldName('kategoria_kosztu') ] = $itemTodo['kategoria_kosztu'];
       $sqlItem[ $this->getSqlFieldName('kategoria_kosztu') ] = $itemTodo['kategoria_kosztu'];
     }
     }
+    if (!empty($itemTodo['typ_dokumentu'])) {
+      $sqlItem[ $this->getSqlFieldName('typ_dokumentu') ] = $itemTodo['typ_dokumentu'];
+    }
 
 
     $vat = V::get('vat', 23, $itemTodo, 'int');
     $vat = V::get('vat', 23, $itemTodo, 'int');
     $sqlItem[ $this->getSqlFieldName('kwota_netto') ] = ($kwota > 0 && $vat > 0)
     $sqlItem[ $this->getSqlFieldName('kwota_netto') ] = ($kwota > 0 && $vat > 0)