Преглед изворни кода

added errors with fix link in ofertaAdmin (Kosztorysy)

Piotr Labudda пре 10 година
родитељ
комит
a5df484ede
1 измењених фајлова са 33 додато и 13 уклоњено
  1. 33 13
      SE/se-lib/Route/UrlAction/ProjektyKosztyWstepnychRobot.php

+ 33 - 13
SE/se-lib/Route/UrlAction/ProjektyKosztyWstepnychRobot.php

@@ -408,7 +408,7 @@ class Route_UrlAction_ProjektyKosztyWstepnychRobot extends RouteBase {// TODO: U
 				*/
 				echo ">>>> Loop({$i}): idx({$idx}) Zasob::assert({$conf->createTable}): " . json_encode($conf->createArgs) . " returns: " . json_encode($conf->out) . "\n";
 				$canExecute = true;
-				foreach ($conf->in as $argName) {
+				if (!empty($conf->in)) foreach ($conf->in as $argName) {
 					if (!array_key_exists($argName, $knownArgsMap)) {
 						$canExecute = false;
 					}
@@ -613,11 +613,11 @@ class Route_UrlAction_ProjektyKosztyWstepnychRobot extends RouteBase {// TODO: U
 		$conf = $schema['config'];
 		DBG::_('DBG', '>1', "conf", $conf, __CLASS__, __FUNCTION__, __LINE__);
 
-		$data = $this->fetchData($idProject);
+		$data = $this->fetchData($idProject, $admin);
 		DBG::_('DBG', '>1', "data", $data, __CLASS__, __FUNCTION__, __LINE__);
 		?>
 <div class="container">
-	<?php foreach ($data as $layData) : ?>
+	<?php foreach ($data as $idLayer => $layData) : ?>
 		<h4 style="padding:0 6px"><?php echo $layData['label']; ?></h4>
 		<table class="tabel table-bordered" style="width:100%">
 		<tbody>
@@ -625,15 +625,32 @@ class Route_UrlAction_ProjektyKosztyWstepnychRobot extends RouteBase {// TODO: U
 				<th style="padding:0 6px">typ</th>
 				<th style="padding:0 6px">ilość</th>
 				<th style="padding:0 6px">jednotka miary</th>
-				<th style="padding:0 6px">cena</th>
+				<th style="padding:0 6px">cena jednostkowa</th>
 			</tr>
 			<?php foreach ($layData['data'] as $typeData) : ?>
-				<tr>
-					<td style="padding:0 6px" title="[<?php echo $typeData['idType']; ?>] <?php echo $typeData['type']; ?>"><?php echo $typeData['type']; ?></td>
-					<td style="padding:0 6px"><?php echo $typeData['ilosc']; ?></td>
-					<td style="padding:0 6px"><?php echo $typeData['jednostka']; ?></td>
-					<td style="padding:0 6px">TODO: cena</td>
-				</tr>
+				<?php if (!$typeData['idType']) : ?>
+					<tr>
+						<td colspan="4">
+							<?php if ($admin) {
+									$fixLink = 'index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID=' . $conf['layer'][$idLayer]['tabela_id'];
+									$fixLink .= '&f_' . $conf['layer'][$idLayer]['zasob_field'] . '=%3D' . $typeData['type'];
+									$fixLink .= '&_hash=' . uniqid();
+									$fixProjectLink = '<a target="_blank" href="' . $fixLink . "&f_ID_PROJECT={$idProject}" . '">' . "Popraw" . '</a>' . " (dane dla projektu [{$idProject}])";
+									$fixAllLink = '<a target="_blank" href="' . $fixLink . '">' . "Popraw wszystkie" . '</a>';
+									SE_Layout::alert('danger', "Niezdefiniowany typ: <code>{$typeData['type']}</code> - {$fixProjectLink}, {$fixAllLink}");
+								} ?>
+							<?php DBG::_('DBG', '>1', "Error conf", $conf, __CLASS__, __FUNCTION__, __LINE__); ?>
+							<?php DBG::_('DBG', '>1', "Error", $typeData, __CLASS__, __FUNCTION__, __LINE__); ?>
+						</td>
+					</tr>
+				<?php else : ?>
+					<tr>
+						<td style="padding:0 6px" title="[<?php echo $typeData['idType']; ?>] <?php echo $typeData['type']; ?>"><?php echo $typeData['type']; ?></td>
+						<td style="padding:0 6px"><?php echo $typeData['ilosc']; ?></td>
+						<td style="padding:0 6px"><?php echo $typeData['jednostka']; ?></td>
+						<td style="padding:3px 6px"><input type="text" class="form-control input-sm" value="<?php echo V::get('cena_jednostkowa', '', $typeData); ?>"/></td>
+					</tr>
+				<?php endif; ?>
 			<?php endforeach; ?>
 		</tbody>
 		</table>
@@ -796,7 +813,7 @@ class Route_UrlAction_ProjektyKosztyWstepnychRobot extends RouteBase {// TODO: U
 				}
 			}
 			DBG::_('DBG', '>1', "config", $conf, __CLASS__, __FUNCTION__, __LINE__);
-			{// validate schema - sho warnings
+			{// validate schema - show warnings
 				foreach ($conf['layer'] as $layer) {
 					try {
 						if (empty($layer['tabela_id'])) throw new Exception("brak zdefiniowanego aliasa do tabeli dla warstwy {$layer['label']}");
@@ -904,7 +921,7 @@ class Route_UrlAction_ProjektyKosztyWstepnychRobot extends RouteBase {// TODO: U
 		return $_schema;
 	}
 
-	public function fetchData($idProject) {
+	public function fetchData($idProject, $admin = false) {
 		$data = array();
 		$schema = $this->getSchema();
 		$conf = $schema['config'];
@@ -943,14 +960,17 @@ class Route_UrlAction_ProjektyKosztyWstepnychRobot extends RouteBase {// TODO: U
 					if ($d['ilosc'] <= 0) continue;
 					$hasIlosc = true;
 					DBG::_('DBG', '>1', "layer", $layer, __CLASS__, __FUNCTION__, __LINE__);
+					DBG::_('DBG', '>1', "conf", $conf, __CLASS__, __FUNCTION__, __LINE__);
 					if ('ZASOB' == $layer['zasob_type']) {
 						$iloscType = array();
-						$iloscType['type'] = $d[$sqlZasobField];
+						$iloscType['type'] = trim($d[$sqlZasobField]);
+						$iloscType['idType'] = array_search($iloscType['type'], $conf['type']);
 						$iloscType['jednostka'] = $layer['jednostka'];
 						$iloscType['ilosc'] = $d['ilosc'];
 						$iloscByType[] = $iloscType;
 					} else if ('ZASOB_ID' == $layer['zasob_type']) {
 						$iloscType = array();
+						$iloscType['idType'] = (array_key_exists($layer['zasob_id'], $conf['type']))? $layer['zasob_id'] : null;
 						$iloscType['type'] = $layer['zasob_label'];
 						$iloscType['jednostka'] = $layer['jednostka'];
 						$iloscType['ilosc'] = $d['ilosc'];