Added permissions to Order

This commit is contained in:
Frank Schubert
2021-08-06 16:35:38 +02:00
parent 2a4d5ac7d2
commit 4d51eb23f3
7 changed files with 231 additions and 21 deletions

View File

@@ -91,17 +91,61 @@ class OrderModel {
return null;
}
public static function byNetwork($network_id) {
if(!is_numeric($network_id) || !$network_id) {
return false;
}
$db = FronkDB::singleton();
$orders = [];
$sql = "SELECT `Order`.* FROM `Order`
LEFT JOIN OrderProduct ON (OrderProduct.order_id = `Order`.id)
LEFT JOIN Termination ON (Termination.id = OrderProduct.termination_id)
LEFT JOIN Building ON (Building.id = Termination.building_id)
WHERE OrderProduct.termination_id IS NOT NULL
AND Building.network_id = $network_id
";
$res = $db->query($sql);
if($db->num_rows($res)) {
while($data = $db->fetch_object($res)) {
$orders[] = new Order($data);
}
}
return $orders;
}
public static function search($filter) {
$items = [];
$db = FronkDB::singleton();
$where = self::getSqlFilter($filter);
$res = $db->select("Order", "*", "$where ORDER BY id");
$have = [];
$sql = "SELECT `Order`.* FROM `Order`, OrderProduct
WHERE OrderProduct.order_id = `Order`.id
AND $where
GROUP BY OrderProduct.order_id
ORDER BY id
";
$res = $db->query($sql);
if($db->num_rows($res)) {
while($data = $db->fetch_object($res)) {
$items[] = new Order($data);
$have[] = $data->id;
}
}
$res = $db->select("Order", "*", "$where AND id NOT IN (".implode(",", $have).") ORDER BY id");
if($db->num_rows($res)) {
while($data = $db->fetch_object()) {
$items[] = new Order($data);
}
}
return $items;
}
@@ -109,26 +153,28 @@ class OrderModel {
$where = "1=1 ";
//var_dump($filter);exit;
if(array_key_exists("owner_id", $filter)) {
$ownerid= $filter['owner_id'];
if(is_numeric($ownerid)) {
$where .= " AND Order.owner_id=$ownerid";
}
}
if(array_key_exists("create_by", $filter)) {
$create_by = $filter['create_by'];
if(is_numeric($create_by)) {
$where .= " AND Order.create_by=$create_by";
}
}
if(array_key_exists("name", $filter)) {
$name = FronkDB::singleton()->escape($filter['name']);
if($name) {
$where .= " AND name='$name'";
$where .= " AND Order.name='$name'";
}
}
if(array_key_exists("filename", $filter)) {
$filename = FronkDB::singleton()->escape($filter['filename']);
if($filename) {
$where .= " AND filename='$filename'";
}
}
if(array_key_exists("subfolder", $filter)) {
$subfolder = FronkDB::singleton()->escape($filter['subfolder']);
if($subfolder) {
$where .= " AND subfolder='$subfolder'";
}
}
//var_dump($filter, $where);exit;
return $where;