Merge branch 'fronkdev' into 'master'

Now showing all Workorders in Preorder detail

See merge request fronk/thetool!661
This commit is contained in:
Frank Schubert
2024-10-10 14:43:14 +00:00
12 changed files with 168 additions and 54 deletions
+10 -1
View File
@@ -3,6 +3,7 @@
class ADBWohneinheit extends mfBaseModel {
private $hausnummer;
private $rimo_workorder;
private $rimo_workorders;
private $ftu_data;
private $status;
@@ -244,7 +245,15 @@ class ADBWohneinheit extends mfBaseModel {
}
return $this->rimo_workorder;
}
if($name == "rimo_workorders") {
$this->rimo_workorders = RimoWorkorderModel::search(["adb_wohneinheit_id" => $this->id]);
/*if(count($workorders)) {
$this->rimo_workorders = $workorders;
}*/
return $this->rimo_workorders;
}
if($name == "ftu_data") {
$rimo_data = $this->getExternalRimoData();
+37 -3
View File
@@ -46,6 +46,7 @@ class PreorderApicontroller extends mfBaseApicontroller {
$this->addRoute("/preorder", "submitPreorder", "POST");
$this->addRoute("/preorder/open", "getOpenPreorders", "GET");
$this->addRoute("/preorder/all", "getAllPreorders", "GET");
$this->addRoute("/preorder/customerInstallationFeedback", [$modules["Cif"], "getCifData"], "GET");
$this->addRoute("/preorder/customerInstallationFeedback", [$modules["Cif"], "userSetCif"], "POST");
$this->addRoute("/preorder/fullexport", "exportPreorders", "GET");
@@ -189,9 +190,12 @@ class PreorderApicontroller extends mfBaseApicontroller {
if(count($this->filter_salescluster_ids)) {
$preorder_search['netzgebiet_id'] = $this->filter_salescluster_ids;
}*/
$preorder_search = [];
$preorder_search['partner_id'] = $this->me->address_id;
if(!$this->me->preorderaddressreporting) {
$preorder_search['partner_id'] = $this->me->address_id;
}
if($update_ts) {
$preorder_search['add-where'] = "AND tt_preorder.`edit` > $update_ts";
} else {
@@ -204,10 +208,40 @@ class PreorderApicontroller extends mfBaseApicontroller {
foreach(PreorderModel::searchActive($preorder_search) as $preorder) {
$return[] = $preorder->getApiArray();
}
$this->requestLog->debug(print_r($return, true));
return mfResponse::Ok(["preorders" => $return]);
}
protected function getAllPreorders() {
// nicht auf cluster einschränken, sondern auf partner_id
/*
$preorder_search = [];
if(count($this->filter_salescluster_ids)) {
$preorder_search['netzgebiet_id'] = $this->filter_salescluster_ids;
}*/
$preorder_search = [];
if($this->me->preorderaddressreporting) {
} else {
// providers see their own orders
$preorder_search['partner_id'] = $this->me->address_id;
}
// if no timestamp, return only open orders (500 == finished)
$preorder_search['<status_code'] = 500;
$return = [];
foreach(PreorderModel::searchActive($preorder_search) as $preorder) {
$return[] = $preorder->getApiArray();
}
$this->requestLog->debug(print_r($return, true));
return mfResponse::Ok(["preorders" => $return]);
}
protected function getPreorder($code) {
$code = trim($code);
+5
View File
@@ -70,6 +70,7 @@ class Preorder extends mfBaseModel {
$this->createHistoryEntry();
//}
$this->updateRimoWorkorderContact();
// run triggers based on new status
$this->runStatusTrigger();
// Cascade status changes down to adb_hausnummer and adb_wohneinheit
@@ -82,6 +83,10 @@ class Preorder extends mfBaseModel {
mfValuecache::singleton()->delete("preorder-save-nesting-level-" . $this->id);
}
public function updateRimoWorkorderContact() {
}
public function createHistoryEntry() {
if(!$this->id) return true;
+14 -5
View File
@@ -1264,8 +1264,9 @@ class PreorderController extends mfBaseController {
if(!$this->me->is("Admin")) {
return false;
}
$preorder_id = $this->request->id;
$wo_id = $this->request->wid;
if(!is_numeric($preorder_id) || $preorder_id < 1) {
return false;
@@ -1279,14 +1280,22 @@ class PreorderController extends mfBaseController {
if(!$preorder->adb_wohneinheit_id) {
return false;
}
$workorder = RimoWorkorderModel::getFirst(["adb_wohneinheit_id" => $preorder->adb_wohneinheit_id]);
if(!$workorder) {
if(!is_numeric($wo_id) || $wo_id < 1) {
return false;
}
$workorder = new RimoWorkorder($wo_id);
if(!$workorder->id) {
return false;
}
if($preorder->adb_wohneinheit_id != $workorder->adb_wohneinheit_id) {
$this->log->warning(__METHOD__.": wohneinheit_id not equal");
return false;
}
$workorder->delete();
return ["message" => "Workorder deleted successfully", "id" => $preorder->id];
return ["message" => "Workorder deleted successfully", "id" => $preorder->id, "wid" => $wo_id];
}
}
@@ -988,7 +988,7 @@ class PreordercampaignController extends mfBaseController {
if($oaid->adb_wohneinheit_id != $wohneinheit->id) {
$rimo = new OpenAccessId_Helper_Rimo($oaid->oaid);
//$rimo = new OpenAccessId_Helper_Rimo($oaid->oaid);
$unit_ftu_data = $wohneinheit->ftu_data;
//var_dump($unit_ftu_data);
@@ -999,8 +999,8 @@ class PreordercampaignController extends mfBaseController {
$oaid_ftu = $oaid->getExportData("rimo");
//var_dump($oaid_ftu);
if($oaid_ftu->ftu_id) {
$rimo->unassignOaid($oaid_ftu->ftu_id);
$rimo->assignOaid($unit_ftu_data["id"]);
Rimoapi::unassignOaid($oaid->oaid, $oaid_ftu->ftu_id);
Rimoapi::assignOaid($oaid->oaid, $unit_ftu_data["id"]);
$oaid->updateExportData("rimo", "ftu_id", $unit_ftu_data["id"]);
$oaid->updateExportData("rimo", "ftu_name", $unit_ftu_data["name"]);
+18 -6
View File
@@ -80,7 +80,7 @@ class UserController extends mfBaseController
$this->layout()->set("addresses", $addresses);
}
protected function generateApikey($request)
protected function generateApikeyAction($request)
{
if (!$this->isAdmin()) {
$this->redirect("Dashboard");
@@ -219,7 +219,18 @@ class UserController extends mfBaseController
} else {
$user->permissions->preorderlogistics = "false";
}
if ($r->preorderaddressreporting == "true") {
$user->permissions->preorderaddressreporting = "true";
} else {
$user->permissions->preorderaddressreporting = "false";
}
if ($r->preorderreadonly == "true") {
$user->permissions->preorderreadonly = "true";
} else {
$user->permissions->preorderreadonly = "false";
}
// set can permissions
$user->permissions->canBuilding = "false";
@@ -271,9 +282,7 @@ class UserController extends mfBaseController
} else {
$enum->delete();
}
}
$this->layout()->setFlash("Benutzer gespeichert.", "success");
@@ -282,8 +291,11 @@ class UserController extends mfBaseController
protected function deleteAction($request)
{
$this->layout()->setFlash("nope");
$this->redirect("User");
if (!$this->isAdmin()) {
$this->redirect("Bridge");
$this->redirect("Dashboard");
}
$id = $request['id'];
@@ -7,6 +7,7 @@ class WorkerPermission extends mfBaseModel {
public $isPreorderfront = false;
public $isPreorderaddressreporting = false;
public $isPreorderlogistics = false;
public $isPreorderreadonly = false;
public function loadByUserId($userid) {
$res = $this->db->select($this->table,"*","worker_id=$userid");
@@ -41,6 +42,9 @@ class WorkerPermission extends mfBaseModel {
if($this->preorderlogistics == 'true') {
$this->isPreorderlogistics = true;
}
if($this->preorderreadonly == 'true') {
$this->isPreorderreadonly = true;
}
}
}