fixed company campaign column

This commit is contained in:
Luca Haid
2025-09-15 11:05:27 +02:00
parent 0fa7a8ecd2
commit 0054535145
2 changed files with 13 additions and 7 deletions

View File

@@ -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

View File

@@ -1,10 +1,4 @@
<?php
// WorkorderCompanyController.php
class PwaLoginController extends mfLoginController {
public function apiLogin($username, $password, $code2fa, $remember) {
return $this->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;
}