Added FCPs to TheToolAdded WarehouseOffer and WarehouseOfferTemplate, also fixed menu for Lager Point

This commit is contained in:
Luca Haid
2025-04-01 15:19:18 +02:00
parent a802ff8e05
commit 97529ba95f
12 changed files with 494 additions and 410 deletions

View File

@@ -10,10 +10,17 @@ class TTCrudBaseModel {
}
}
public static function getFullyQualifiedTable(): string {
$table = str_replace('Model', '', get_called_class());
$tableIncludesADBSuffix = strpos($table, 'ADB') !== false;
$table = str_replace('ADB', '', $table);
return "`" . ($tableIncludesADBSuffix ? ADDRESSDB_DBNAME : FRONKDB_DBNAME) . "`.`" . $table . "`";
}
public static function create($data) {
$FronkDB = FronkDB::singleton();
$db = $FronkDB->link;
$table = self::getTable();
$table = self::getFullyQualifiedTable();
self::checkAllFields($data, ['id']);
$sqlColumns = [];
@@ -39,16 +46,12 @@ class TTCrudBaseModel {
$sqlColumns[] = "`$field`";
}
$sql = "INSERT INTO `$table` (" . implode(", ", $sqlColumns) . ") VALUES (" . implode(", ", $sqlValues) . ")";
$sql = "INSERT INTO $table (" . implode(", ", $sqlColumns) . ") VALUES (" . implode(", ", $sqlValues) . ")";
$db->query($sql) or die($db->error);
return $db->insert_id;
}
public static function getTable(): string {
return str_replace('Model', '', get_called_class());
}
/**
* Checks if all required fields of the current class are present in a given data array.
*
@@ -90,8 +93,8 @@ class TTCrudBaseModel {
$FronkDB = FronkDB::singleton();
$db = $FronkDB->link;
$id = $db->real_escape_string($id);
$table = self::getTable();
$sql = "SELECT * FROM `$table` WHERE `id` = $id";
$table = self::getFullyQualifiedTable();
$sql = "SELECT * FROM $table WHERE `id` = $id";
$result = $db->query($sql);
// as TTCRudBaseModel is abstract, we need to get the class name of the child class
@@ -102,9 +105,9 @@ class TTCrudBaseModel {
public static function count($filter = []): int {
$FronkDB = FronkDB::singleton();
$db = $FronkDB->link;
$table = self::getTable();
$table = self::getFullyQualifiedTable();
$filter = self::getSQLFilter($filter);
$sql = "SELECT COUNT(*) as count FROM `$table` $filter";
$sql = "SELECT COUNT(*) as count FROM $table $filter";
$result = $db->query($sql);
return $result->fetch_assoc()['count'];
@@ -130,9 +133,9 @@ class TTCrudBaseModel {
public static function getAll($filter = [], $limit = null, $offset = 0, $order = ["key" => null]): array {
$FronkDB = FronkDB::singleton();
$db = $FronkDB->link;
$table = self::getTable();
$table = self::getFullyQualifiedTable();
$filter = self::getSQLFilter($filter);
$sql = "SELECT * FROM `$table` $filter";
$sql = "SELECT * FROM $table $filter";
$sql .= $order['key'] === null ? " ORDER BY `id` ASC" : " ORDER BY `" . $order['key'] . "` " . $order['order'];
$sql .= $limit === null ? "" : " LIMIT " . $limit . " OFFSET " . $offset;
@@ -155,7 +158,7 @@ class TTCrudBaseModel {
public static function update($data) {
$FronkDB = FronkDB::singleton();
$db = $FronkDB->link;
$table = self::getTable();
$table = self::getFullyQualifiedTable();
// Check if all fields are set
self::checkAllFields($data);
@@ -183,7 +186,7 @@ class TTCrudBaseModel {
$values[] = $value === null ? "`$field` = NULL" : "`$field` = '" . $db->real_escape_string($value) . "'";
}
$sql = "UPDATE `$table` SET " . implode(", ", $values) . " WHERE `id` = " . $db->real_escape_string($data['id']);
$sql = "UPDATE $table SET " . implode(", ", $values) . " WHERE `id` = " . $db->real_escape_string($data['id']);
$db->query($sql);
return $db->affected_rows;
}
@@ -191,9 +194,9 @@ class TTCrudBaseModel {
public static function delete($id) {
$FronkDB = FronkDB::singleton();
$db = $FronkDB->link;
$table = self::getTable();
$table = self::getFullyQualifiedTable();
$id = $db->real_escape_string($id);
$sql = "DELETE FROM `$table` WHERE `id` = $id";
$sql = "DELETE FROM $table WHERE `id` = $id";
$db->query($sql);
return $db->affected_rows;
}