TABLE}", 0, $_GET, 'int'))) throw new Exception("Błąd parametru");
if (!(DB::getPDO()->fetchValue("select count(*) from `{$this->TABLE}` where `ID` = {$ID}"))) throw new Exception("Nie znaleziono rekordu");
$result = ACL::getAclByNamespace("default_db/{$this->TABLE}")->buildQuery(['f_ID' => "$ID", 'limit' => 1])->getItems();
// if (!$result) $result = ACL::getAclByNamespace("default_db/{$this->TABLE}/{$this->TABLE}")->buildQuery(['f_ID' => "$ID", 'limit' => 1])->getItems();
if (!$result) throw new Exception("Brak uprawnień");
$this->OBJECT = $result[0];
switch ($this->OBJECT['A_STATUS']) {
case "WAITING":
$this->test();
break;
case "NORMAL":
$this->test();
break;
case "OFF_HARD":
$this->test();
break;
default:
$this->test();
//SE_Layout::alert('danger', "Błędny status rekordu.");
}
} catch (Exception $e) {
SE_Layout::alert('danger', $e->getMessage());
}
SE_Layout::dol();
}
private function test() {
?>
TODO:
| Relacje do dzieci
|
Check minOccurs
|
Check maxOccurs
|
| Relacje do rodzicow following/sibling
|
Check minOccurs
|
Check maxOccurs
|
| Relacje akcje
|
Dowiaz istniejacy brakujacy wymagany obiekt
|
Dodaj brakujacy obiekt poprzez utworzenie nowego
|
| Elementy lokalne
|
Wskaz brakujace elementy nie wypelnione
|
Wskaz elementy ktore sa niewlasciwie wypelnione - nie powinno ich byc
|
Wskaz elementy ktore sa niewlasciwie wypelnione - zla treść
|
| Elementy lokalne - zaleznosci matematyczne assert - wartosci pojedyncze
|
Wskaz brakujace elementy nie obliczone
|
Wskaz bledne zaleznosci obliczen - lokalna wartość niezgodna
|
Wskaz bledne zaleznosci obliczen - zdalna wartość nie istnieje
|
| Elementy lokalne - zaleznosci matematyczne assert - sumy
|
Wskaz brakujace elementy nie obliczone
|
Wskaz bledne zaleznosci obliczen - lokalna wartość niezgodna
|
Wskaz bledne zaleznosci obliczen - zdalna wartość nie kompletna
|
Wskaz bledne zaleznosci obliczen - zdalna wartość nie istnieje
|
| Elementy lokalne - zaleznosci matematyczne assert - sumy
|
Wskaz brakujace elementy nie obliczone
|
Wskaz bledne zaleznosci obliczen - lokalna wartość niezgodna
|
Wskaz bledne zaleznosci obliczen - zdalna wartość nie kompletna
|
Wskaz bledne zaleznosci obliczen - zdalna wartość nie istnieje
|
| Elementy zdalne - zaleznosci matematyczne assert - sumy
|
Wskaz brakujace elementy nie obliczone
|
Wskaz bledne zaleznosci obliczen - lokalna wartość niezgodna
|
Wskaz bledne zaleznosci obliczen - zdalna wartość nie kompletna
|
Wskaz bledne zaleznosci obliczen - zdalna wartość nie istnieje
|
1. Tu potrzebuje wywolac dane z recurse 1 lub 2
2. Potrzebuje dostep do struktury xsd obiektu - plik xsd, dostep do danych z rekordu - moze transakcja pociagnac
3. Potrzebuje wywolac XSLT i wywalic jego output
4. wyswietlic plik wygenerowny przez xslt
5. komunikacja - wynik z XSLT do GUI, GUI akcja do XSLT i nowy wynik - w kolko
echo "";
print_r($this->OBJECT);
$namespace = 'default_db/IN7_MK_BAZA_DYSTRYBUCJI/IN7_MK_BAZA_DYSTRYBUCJI';
$item = SchemaFactory::loadDefaultObject('SystemObject')->getItem($namespace, [ 'propertyName' => '*,field' ]);
print_r($item);
echo "";
}
public static function getRefTables($tableFrom) { //copied from BiAuditGenerate.php
static $refTables = [];
if (!isset($refTables[$tableFrom])) {
$namespace = "default_db/{$tableFrom}/{$tableFrom}";
try {
$item = SchemaFactory::loadDefaultObject('SystemObject')->getItem($namespace, [ 'propertyName' => '*,field' ]);
if (!($item['hasStruct'] && $item['isStructInstalled'] && $item['isObjectActive'])) throw new Exception("Object error");
$fields = $item['field'];
$_refTables = [];
foreach ($fields as $field) {
list($type, $child) = explode(":", $field['xsdType'], 2);
if ($type == "ref" && $field['idZasob'] && $field['isActive'] && (!$field['isLocal'])) {
try {
$_refTable = ACL::getRefTable($namespace, $child);
$_refTables[] = $_refTable;
} catch (Exception $e) {
}
}
}
$refTables[$tableFrom] = $_refTables;
} catch (Exception $e) {
$refTables[$tableFrom] = [];
}
}
return $refTables[$tableFrom];
}
}