Merge branch 'Workorder/fix-get-tenant-and-status' into 'master'

fixed bugs

See merge request fronk/thetool!1727
This commit is contained in:
Luca Haid
2025-09-08 12:43:56 +00:00
2 changed files with 18 additions and 6 deletions

View File

@@ -10,6 +10,7 @@ class WorkorderAdminController extends WorkorderBaseController
protected array $columns = [
['key' => 'id', 'text' => 'Auftrags-Nr.', 'table' => ['sortable' => true, 'filter' => 'numberRange']],
['key' => 'netOwnerId', 'text' => 'Netzeigentümer', 'modal' => false, 'table' => ['filter' => 'select'], 'required' => false],
['key' => 'preordercampaign_id', 'text' => 'Kampagne', 'modal' => false, 'table' => ['filter' => 'select', 'sortable' => true]],
['key' => 'preorderInfo', 'text' => 'Kunde', 'modal' => false, 'table' => ['filter' => 'search', 'sortable' => false]],
['key' => 'companyName', 'text' => 'Firma', 'modal' => false, 'table' => ['filter' => 'search', 'sortable' => true]],
['key' => 'rimo_fcp_name', 'text' => 'FCP', 'modal' => false, 'table' => ['filter' => 'search', 'sortable' => true]],
@@ -27,6 +28,7 @@ class WorkorderAdminController extends WorkorderBaseController
$preorderInfoColIdx = array_search('preorderInfo', array_column($this->columns, 'key'));
array_splice($this->columns, $preorderInfoColIdx + 1, 0, [$this->statusColumn]);
$netOwnerColIdx = array_search('netOwnerId', array_column($this->columns, 'key'));
$preCamColIdx = array_search('preordercampaign_id', array_column($this->columns, 'key'));
if ($netOwnerColIdx !== false) {
if ($this->user->isAdmin()) {
@@ -36,6 +38,16 @@ class WorkorderAdminController extends WorkorderBaseController
$this->columns[$netOwnerColIdx]['table'] = false;
}
}
$campaigns = Helper::getPreorderCampaignFromUser($this->user, true);
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;
}
}
}
//region ACTIONS
@@ -146,9 +158,9 @@ class WorkorderAdminController extends WorkorderBaseController
if ($workorder->status !== 'documented') self::sendError("Die Dokumentation muss zuerst von der Firma als fertig markiert werden.");
$preorder = new Preorder($workorder->preorderId);
$preorderCampaign = new Preordercampaign($preorder->campaign_id);
$preorderCampaign = new Preordercampaign($preorder->preordercampaign_id);
$network = new Network($preorderCampaign->network_id);
if ($preorder->id && $network->owner_id == 4807) {
if ($preorder->id && $network->owner_id == 4807) {
$preorder->status_id = 15;
$preorder->edit_by = $this->user->id;
$preorder->save();
@@ -253,10 +265,11 @@ class WorkorderAdminController extends WorkorderBaseController
'workorderId' => $workorder->id, 'text' => "Firma '{$company->name}' wurde zugewiesen.", 'create' => time(), 'createBy' => $userId,
]);
$preorder = new Preorder($workorder->preorderId);
$preorderCampaign = new Preordercampaign($preorder->campaign_id);
$preorderCampaign = new Preordercampaign($preorder->preordercampaign_id);
$network = new Network($preorderCampaign->network_id);
if ($preorder->id && $network->owner_id == 4807) {
if ($preorder->id && $network->owner_id == 4807) {
$preorder->status_id = 10; // In Ausführung
$preorder->edit_by = $this->user->id;
$preorder->save();

View File

@@ -141,8 +141,7 @@ Vue.component('workorder-admin', {
computed: {
companiesForMassAssign() {
if (this.workordersToAssign.length === 0) return [];
const firstWorkorder = this.$refs.table?.$refs.table.rows.find(r => r.id === this.workordersToAssign[0]);
return firstWorkorder ? this.companiesByTenant[firstWorkorder.tenantId] || [] : [];
return Object.values(this.companiesByTenant)[0] || [];
}
},
methods: {