From 45e4e6cd5634638ed0de31fb50659994351464e5 Mon Sep 17 00:00:00 2001 From: Dan Garner Date: Thu, 5 Jul 2018 08:46:37 +0100 Subject: [PATCH] Fix schedule edit form Layout selector xibosignage/xibo#1558 --- lib/Controller/Schedule.php | 1 + views/schedule-form-add.twig | 2 +- views/schedule-form-edit.twig | 33 ++++++--------------------------- 3 files changed, 8 insertions(+), 28 deletions(-) diff --git a/lib/Controller/Schedule.php b/lib/Controller/Schedule.php index 182e32a29d..aa9bef7fdb 100644 --- a/lib/Controller/Schedule.php +++ b/lib/Controller/Schedule.php @@ -890,6 +890,7 @@ function editForm($eventId) 'commands' => $this->commandFactory->query(), 'dayParts' => $this->dayPartFactory->allWithSystem(), 'displayGroups' => $schedule->displayGroups, + 'campaign' => ($schedule->campaignId != '') ? $this->campaignFactory->getById($schedule->campaignId) : null, 'displayGroupIds' => array_map(function($element) { return $element->displayGroupId; }, $schedule->displayGroups), diff --git a/views/schedule-form-add.twig b/views/schedule-form-add.twig index 20c70192fd..7d0ce85785 100644 --- a/views/schedule-form-add.twig +++ b/views/schedule-form-add.twig @@ -90,7 +90,7 @@ {% set title %}{% trans "Layout / Campaign" %}{% endset %} {% set helpText %}{% trans "Please select a Layout or Campaign for this Event to show" %}{% endset %} - {{ forms.dropdown("campaignId", "single", title, "", null, "id", "value", helpText, "layout-control", "", "", "", attributes, optionGroups) }} + {{ forms.dropdown("campaignId", "single", title, "", null, "id", "value", helpText, "layout-control", "", "", "", attributes) }}
diff --git a/views/schedule-form-edit.twig b/views/schedule-form-edit.twig index 35d807e938..66ccdb39bf 100644 --- a/views/schedule-form-edit.twig +++ b/views/schedule-form-edit.twig @@ -85,36 +85,15 @@ {{ forms.dateTime("toDt", title, event.toDt, helpText, "endtime-control", "required", "") }} {# Campaign / Layout list. We want to build two arrays for us to use. #} - {% set layoutOptions = [] %} - {% set campaignOptions = [] %} - - {% for item in campaigns %} - {% if item.isLayoutSpecific == 1 %} - {% set layoutOptions = layoutOptions|merge([{id: item.campaignId, value: item.campaign}]) %} - {% else %} - {% set campaignOptions = campaignOptions|merge([{id: item.campaignId, value: item.campaign}]) %} - {% endif %} - {% endfor %} - - {# Add a blank campaign record #} - {% set campaignOptions = [{id: "", value: ""}]|merge(campaignOptions) %} - - {# Add a blank layout record #} - {% set layoutOptions = [{id: "", value: ""}]|merge(layoutOptions) %} - - {% set campaigns %}{% trans "Campaigns" %}{% endset %} - {% set layouts %}{% trans "Layouts" %}{% endset %} - {% set optionGroups = [ - {id: "campaign", label: campaigns}, - {id: "layout", label: layouts} + {% set attributes = [ + { name: "data-search-url", value: urlFor("campaign.search") }, + { name: "data-trans-campaigns", value: "Campaigns"|trans }, + { name: "data-trans-layouts", value: "Layouts"|trans } ] %} + {% set title %}{% trans "Layout / Campaign" %}{% endset %} {% set helpText %}{% trans "Please select a Layout or Campaign for this Event to show" %}{% endset %} - {% set attributes = [ - { name: "data-live-search", value: "true" }, - { name: "data-selected-text-format", value: "count > 4" } - ] %} - {{ forms.dropdown("campaignId", "single", title, event.campaignId, {campaign: campaignOptions, layout: layoutOptions}, "id", "value", helpText, "layout-control", "", "", "", attributes, optionGroups) }} + {{ forms.dropdown("campaignId", "single", title, event.campaignId, [campaign], "campaignId", "campaign", helpText, "layout-control", "", "", "", attributes) }}