|
|
@@ -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'];
|