Preorder changes:

- New Wohneinheit field bezeichner
- technology & patchposition fields
- isAdditionalOrder field
- DELETE /preorder (Cancelling)
This commit is contained in:
Frank Schubert
2022-12-13 20:09:38 +01:00
parent 4397d8d16f
commit ae60ee365a
5 changed files with 186 additions and 25 deletions

View File

@@ -43,11 +43,19 @@ class PreorderModel {
public $city;
public $phone;
public $email;
public $technology;
public $patchposition;
public $is_additional_order;
public $shipping_address;
public $addon_services;
public $addon_data;
public $submit_type;
public $submit_request;
public $cancel_request;
public $cancel_request_by;
public $cancel_approved;
public $cancel_approved_by;
public $deleted;
public $deleted_by;
@@ -104,11 +112,26 @@ class PreorderModel {
}
public static function getFirst($filter = false) {
public static function getFirst($filter = false, $order = false) {
$db = FronkDB::singleton();
$where = self::getSqlFilter($filter);
$res = $db->select("Preorder", "*", "$where ORDER BY lastname, firstname");
$orderBy = "lastname, firstname";
if($order) $orderBy = $order;
$sql = "SELECT tt_preorder.* FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder
LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id)
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
WHERE $where
ORDER BY $orderBy
LIMIT 1
";
mfLoghandler::singleton()->debug($sql);
$res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
$item = new Preorder($data);
@@ -212,6 +235,7 @@ class PreorderModel {
$where = self::getSqlFilter($filter);
$sql = "SELECT tt_preorder.* FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder
LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id)
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
WHERE $where
ORDER BY lastname, firstname
@@ -248,6 +272,57 @@ class PreorderModel {
}
}
if(array_key_exists("partner_id", $filter)) {
$partner_id = $filter['partner_id'];
if(is_numeric($partner_id)) {
$where .= " AND partner_id=$partner_id";
}
}
if(array_key_exists("status_id", $filter)) {
$status_id = $filter['status_id'];
if(is_numeric($status_id)) {
$where .= " AND status_id=$status_id";
}
}
if(array_key_exists("<status_id", $filter)) {
$status_id = $filter['<status_id'];
if(is_numeric($status_id)) {
$where .= " AND status_id < $status_id";
}
}
if(array_key_exists(">status_id", $filter)) {
$status_id = $filter['>status_id'];
if(is_numeric($status_id)) {
$where .= " AND status_id > $status_id";
}
}
if(array_key_exists("status_code", $filter)) {
$status_code = $filter['status_code'];
if(is_numeric($status_code)) {
$where .= " AND tt_preorderstatus.code=$status_code";
}
}
if(array_key_exists("<status_code", $filter)) {
$status_code = $filter['<status_code'];
if(is_numeric($status_code)) {
$where .= " AND tt_preorderstatus.code < $status_code";
}
}
if(array_key_exists(">status_code", $filter)) {
$status_code = $filter['>status_code'];
if(is_numeric($status_code)) {
$where .= " AND tt_preorderstatus.code > $status_code";
}
}
if(array_key_exists("preordercampaign_id", $filter)) {
$preordercampaign_id = $filter['preordercampaign_id'];
if(is_numeric($preordercampaign_id)) {
@@ -305,10 +380,16 @@ class PreorderModel {
if(array_key_exists("ucode", $filter)) {
$ucode = FronkDB::singleton()->escape($filter['ucode']);
if($ucode) {
$where .= " AND ucode like '%$ucode%'";
$where .= " AND ucode = '$ucode'";
}
}
if(array_key_exists("oaid", $filter)) {
$oaid = FronkDB::singleton()->escape($filter['oaid']);
if($oaid) {
$where .= " AND tt_preorder.oaid = '$oaid'";
}
}
if(array_key_exists("gemeinde", $filter)) {
$gemeinde = FronkDB::singleton()->escape($filter['gemeinde']);