From 0054535145aed0b28db0f7be800d344135f5a324 Mon Sep 17 00:00:00 2001 From: Luca Haid Date: Mon, 15 Sep 2025 11:05:27 +0200 Subject: [PATCH] fixed company campaign column --- application/Workorder/WorkorderModel.php | 2 +- .../WorkorderCompanyController.php | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/application/Workorder/WorkorderModel.php b/application/Workorder/WorkorderModel.php index 27cd88092..0ef3c261c 100644 --- a/application/Workorder/WorkorderModel.php +++ b/application/Workorder/WorkorderModel.php @@ -139,7 +139,7 @@ class WorkorderModel extends TTCrudBaseModel $addressDbName = defined('ADDRESSDB_DBNAME') ? ADDRESSDB_DBNAME : 'addressdb'; $sql = " SELECT w.id, w.status, w.deadlineDate, w.appointmentDate, w.additionalInfo, hn.rimo_fcp_name, - owner_addr.company as networkOwnerName, + owner_addr.company as networkOwnerName, p.preordercampaign_id, CONCAT_WS(' ', p.firstname, p.lastname) as customerName, p.company as customerCompany, p.oaid, p.phone, p.email, str.name as street, hn.hausnummer, hn.stiege, we.bezeichner as apartment, plz.plz, ort.name as city FROM `$fronkDbName`.`Workorder` w diff --git a/application/WorkorderCompany/WorkorderCompanyController.php b/application/WorkorderCompany/WorkorderCompanyController.php index 08cdf574c..9b05d54cd 100644 --- a/application/WorkorderCompany/WorkorderCompanyController.php +++ b/application/WorkorderCompany/WorkorderCompanyController.php @@ -1,10 +1,4 @@ performLogin($username, $password, $code2fa, $remember); - } -} class WorkorderCompanyController extends WorkorderBaseController { protected string $headerTitle = 'Meine Arbeitsaufträge'; @@ -14,6 +8,7 @@ class WorkorderCompanyController extends WorkorderBaseController { protected array $columns = [ ['key' => 'id', 'text' => 'Auftrags-Nr.', 'table' => ['sortable' => true]], ['key' => 'networkOwnerName', 'text' => 'Auftraggeber', 'table' => ['sortable' => false]], + ['key' => 'preordercampaign_id', 'text' => 'Kampagne', 'modal' => false, 'table' => ['filter' => 'select', 'sortable' => true]], ['key' => 'preorderInfo', 'text' => 'Kunde', 'modal' => false, 'table' => ['sortable' => false]], ['key' => 'rimo_fcp_name', 'text' => 'FCP', 'modal' => false, 'table' => ['sortable' => false]], // Status column is now inherited via prepareCrudConfig @@ -27,6 +22,17 @@ class WorkorderCompanyController extends WorkorderBaseController { $preorderInfoColIdx = array_search('preorderInfo', array_column($this->columns, 'key')); array_splice($this->columns, $preorderInfoColIdx + 1, 0, [$this->statusColumn]); $company = WorkorderCompanyModel::getFirst(['addressId' => $this->user->address_id]); + $campaigns = Helper::getPreorderCampaignFromUser($this->user, true); + + $preCamColIdx = array_search('preordercampaign_id', array_column($this->columns, 'key')); + if ($preCamColIdx !== false) { + $this->columns[$preCamColIdx]['table']['filterOptions'] = array_map(fn($c) => ['value' => $c->id, 'text' => $c->name], $campaigns); + if (!$this->user->isAdmin() && count($campaigns) === 1) { + $this->columns[$preCamColIdx]['table']['defaultFilter'] = $campaigns[0]->id; + } + } + + $this->additionalJSVariables['COMPANY_ID'] = $company ? $company->id : 0; }