0byt3m1n1
Path:
/
home
/
mgatv524
/
public_html
/
giga
/
views
/
[
Home
]
File: schedule-form-edit.twig
{# /** * Copyright (C) 2021 Xibo Signage Ltd * * Xibo - Digital Signage - http://www.xibo.org.uk * * This file is part of Xibo. * * Xibo is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * Xibo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Xibo. If not, see <http://www.gnu.org/licenses/>. */ #} {% extends "form-base.twig" %} {% import "forms.twig" as forms %} {% block formTitle %} {% trans "Edit Event" %} {% endblock %} {% block callBack %}setupScheduleForm{% endblock %} {% block formButtons %} {% trans "Help" %}, XiboHelpRender("{{ help }}") {% trans "Cancel" %}, XiboDialogClose() {% trans "Delete" %}, XiboSwapDialog("{{ url_for("schedule.delete.form", {id: event.eventId}) }}") {% trans "Save" %}, beforeSubmitScheduleForm($("#scheduleEditForm")) {% endblock %} {% block formHtml %} <div class="row"> <div class="col-md-12"> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"><a class="nav-link active" href="#general" role="tab" data-toggle="tab"><span>{% trans "General" %}</span></a></li> <li class="nav-item repeats"><a class="nav-link" href="#repeats" role="tab" data-toggle="tab"><span>{% trans "Repeats" %}</span></a></li> <li class="nav-item reminders"><a class="nav-link" href="#reminders" role="tab" data-toggle="tab"><span>{% trans "Reminder" %}</span></a></li> <li class="nav-item geoSchedule"><a class="nav-link" href="#geoSchedule" role="tab" data-toggle="tab"><span>{% trans "Geo Location" %}</span></a></li> </ul> {% set dayPartMessage %}{% trans "Select the start time for this event" %}{% endset %} <form id="scheduleEditForm" autocomplete="off" class="form-horizontal" method="put" data-event-id="{{ event.eventId }}" data-event-start="{{ eventStart }}" data-event-end="{{ eventEnd }}" action="{{ url_for("schedule.edit", {id: event.eventId}) }}" data-daypart-message="{{ dayPartMessage }}" data-not-daypart-message="{{ notDayPartMessage }}" data-add-url="{{ url_for("schedule.add") }}" data-duplicated-message="{% trans "Duplicate form loaded, make adjustments and press save." %}" data-default-lat="{{ defaultLat }}" data-default-long="{{ defaultLong }}"> <div class="tab-content"> <div class="tab-pane active" id="general"> {% set title %}{% trans "Event Type" %}{% endset %} {% set helpText %}{% trans "Select the type of event to schedule" %}{% endset %} {% set layoutEventType %}{% trans "Layout" %}{% endset %} {% set campaignEventType %}{% trans "Campaign" %}{% endset %} {% set commandEventType %}{% trans "Command" %}{% endset %} {% set overlayEventType %}{% trans "Overlay Layout" %}{% endset %} {% set interruptEventType %}{% trans "Interrupt Layout" %}{% endset %} {% set actionEventType %}{% trans "Action" %}{% endset %} {% set eventTypes = [ {id: 1, label: layoutEventType}, {id: 5, label: campaignEventType}, {id: 2, label: commandEventType}, {id: 3, label: overlayEventType}, {id: 4, label: interruptEventType}, {id: 6, label: actionEventType} ] %} {{ forms.dropdown("eventTypeId", "single", title, event.eventTypeId, eventTypes, "id", "label", helpText) }} {% set title %}{% trans "Display" %}{% endset %} {% set helpText %}{% trans "Please select one or more displays / groups for this event to be shown on." %}{% endset %} {% set attributes = [ { name: "data-search-url", value: url_for("displayGroup.search") }, { name: "data-trans-groups", value: "Groups"|trans }, { name: "data-trans-display", value: "Display"|trans } ] %} {{ forms.dropdown("displayGroupIds[]", "dropdownmulti", title, displayGroupIds, displayGroups, "displayGroupId", "displayGroup", helpText, "", "", "", "", attributes) }} {% set title %}{% trans "Dayparting" %}{% endset %} {% set helpText %}{% trans "Select the dayparting information for this event. To set your own times select custom and to have the event run constantly select Always." %}{% endset %} <div class="form-group row day-part-control"> <label class="col-sm-2 control-label" for="dayPartId">{{ title }}</label> <div class="col-sm-10"> <select class="form-control" name="dayPartId" id="dayPartId"> {% for dayPart in dayParts %} <option {% if dayPart.dayPartId == event.dayPartId %}selected{% endif %} value="{{ dayPart.dayPartId }}" data-is-always="{{ dayPart.isAlways }}" data-is-custom="{{ dayPart.isCustom }}">{{ dayPart.name }}</option> {% endfor %} </select> <small class="form-text text-muted">{{ helpText }}</small> </div> </div> {% set title %}{% trans "Start Time" %}{% endset %} {% set helpText %}{% trans "Select the start time for this event" %}{% endset %} {{ forms.dateTime("fromDt", title, event.fromDt, helpText, "starttime-control", "required", "") }} {% set title %}{% trans "End Time" %}{% endset %} {% set helpText %}{% trans "Select the end time for this event" %}{% endset %} {{ forms.dateTime("toDt", title, event.toDt, helpText, "endtime-control", "required", "") }} {# Campaign / Layout list. We want to build two arrays for us to use. #} {% set attributes = [ { name: "data-search-url", value: url_for("campaign.search") }, { name: "data-search-is-layout-specific", value: -1 }, { name: "data-trans-layout", value: "Layout"|trans }, { name: "data-trans-layout-help-text", value: "Please select a Layout for this Event to show"|trans }, { name: "data-trans-campaign", value: "Campaign"|trans }, { name: "data-trans-campaign-help-text", value: "Please select a Campaign for this Event to show"|trans }, ] %} {% set title %}{% trans "Layout" %}{% endset %} {% set helpText %}{% trans "Please select a Layout for this Event to show" %}{% endset %} {{ forms.dropdown("campaignId", "single", title, event.campaignId, [campaign], "campaignId", "campaign", helpText, "layout-control", "", "", "", attributes) }} <div class="form-group row preview-button-container"> <div class="offset-md-2 col-md-10"> <a id="previewButton" class="btn btn-success" target="_blank" data-url="{{ url_for("campaign.preview", {id: ':id'}) }}">{% trans "Preview" %} <span class="fa fa-tablet"></span></a> <small class="form-text text-muted">{% trans "Preview your selection in a new tab" %}</small> </div> </div> <div class="form-group row interrupt-control"> <label class="col-sm-2 control-label" for="shareOfVoice" accesskey="">{% trans "Share of Voice" %}</label> <div class="col-sm-5"> <input class="form-control" name="shareOfVoice" type="number" id="shareOfVoice" value="{{ event.shareOfVoice }}" min="0" max="3600" step="1"> <small class="form-text text-muted">{% trans "The amount of time this Layout should be shown, in seconds per hour." %}</small> </div> <div class="col-sm-5"> <input class="form-control" name="shareOfVoicePercentage" type="number" id="shareOfVoicePercentage" value=""> <small class="form-text text-muted">{% trans "As a percentage" %}</small> </div> </div> {% set title %}{% trans "Action Type" %}{% endset %} {% set helpText %}{% trans "Please select action Type" %}{% endset %} {% set navLayout %}{% trans "Navigate to Layout" %}{% endset %} {% set command %}{% trans "Command" %}{% endset %} {% set options = [ { typeid: "navLayout", type: navLayout }, { typeid: "command", type: command }, ] %} {{ forms.dropdown("actionType", "single", title, event.actionType, options, "typeid","type", helpText, 'action-control') }} {% set title %}{% trans "Trigger Code" %}{% endset %} {% set helpText %}{% trans "Web hook trigger code for this Action" %}{% endset %} {{ forms.input("actionTriggerCode", title, event.actionTriggerCode, helpText, 'action-control') }} {% set title %}{% trans "Layout Code" %}{% endset %} {% set helpText %}{% trans "Please select the Code identifier for the Layout that Player should navigate to when this Action is triggered." %}{% endset %} {% set attributes = [ { name: "data-width", value: "100%" }, { name: "data-search-url", value: url_for("layout.code.search") }, { name: "data-search-term", value: "code" }, { name: "data-id-property", value: "code" }, { name: "data-text-property", value: "code" } ] %} {{ forms.dropdown("actionLayoutCode", "single", title, event.actionLayoutCode, layoutCodes, "code", "code", helpText, "pagedSelect action-control layout-code-control", "", "", "", attributes) }} {% set title %}{% trans "Command" %}{% endset %} {% set helpText %}{% trans "Please select a command for this Event." %}{% endset %} {{ forms.dropdown("commandId", "single", title, event.commandId, [{commandId: "", command: ""}]|merge(commands), "commandId", "command", helpText, "command-control") }} {% set title %}{% trans "Display Order" %}{% endset %} {% set helpText %}{% trans "Please select the order this event should appear in relation to others when there is more than one event scheduled" %}{% endset %} {{ forms.number("displayOrder", title, event.displayOrder, helpText, 'displayOrder-control') }} {% set title %}{% trans "Priority" %}{% endset %} {% set helpText %}{% trans "Sets the event priority - events with the highest priority play in preference to lower priority events." %}{% endset %} {{ forms.number("isPriority", title, event.isPriority, helpText, 'priority-control') }} {% set title %}{% trans "Run at CMS Time?" %}{% endset %} {% set helpText %}{% trans "When selected, your event will run according to the timezone set on the CMS, otherwise the event will run at Display local time" %}{% endset %} {{ forms.checkbox("syncTimezone", title, event.syncTimezone, helpText) }} {% if settings.EVENT_SYNC == 1 %} {% set title %}{% trans "Synchronise this event?" %}{% endset %} {% set helpText %}{% trans "When selected, all selected players will attempt to synchronise the output (Supported on Android player only)" %}{% endset %} {{ forms.checkbox("syncEvent", title, event.syncEvent, helpText, "sync-schedule-control") }} {% endif %} {% if recurringEvent %} <div class="card p-3 mb-3 bg-light text-primary text-center form-error"> <p>This is an instance of a scheduled recurring event: <span class="fa fa-info-circle" data-toggle="popover" data-trigger="hover" data-placement="bottom" data-content="{% trans "Editing the Start and or End date/time will create a new Recurring Event across the Schedule. Any previously deleted instances of this event will be recreated with edits made here." %}"></span></p> <p> Starting from <span class="text-warning"><b id="instanceStartDate">-</b></span> to <span class="text-warning"><b id="instanceEndDate">-</b></span> </p> <div id="recurringInfo"></div> </div> {% endif %} </div> <div class="tab-pane" id="repeats"> {% set title %}{% trans "Repeats" %}{% endset %} {% set helpText %}{% trans "Select the type of Repeat required for this Event." %}{% endset %} {% set noneOption %}{% trans "None" %}{% endset %} {% set minute %}{% trans "Per Minute" %}{% endset %} {% set hourly %}{% trans "Hourly" %}{% endset %} {% set daily %}{% trans "Daily" %}{% endset %} {% set weekly %}{% trans "Weekly" %}{% endset %} {% set monthly %}{% trans "Monthly" %}{% endset %} {% set yearly %}{% trans "Yearly" %}{% endset %} {% set options = [ { id: "", name: noneOption }, { id: "Minute", name: minute }, { id: "Hour", name: hourly}, { id: "Day", name: daily}, { id: "Week", name: weekly}, { id: "Month", name: monthly}, { id: "Year", name: yearly} ] %} {{ forms.dropdown("recurrenceType", "single", title, event.recurrenceType, options, "id", "name", helpText) }} {% set helpText %}{% trans "Use the drop-down to select which days of the week this Event should be repeated" %}{% endset %} {% set monday %}{% trans "Monday" %}{% endset %} {% set tuesday %}{% trans "Tuesday" %}{% endset %} {% set wednesday %}{% trans "Wednesday" %}{% endset %} {% set thursday %}{% trans "Thursday" %}{% endset %} {% set friday %}{% trans "Friday" %}{% endset %} {% set saturday %}{% trans "Saturday" %}{% endset %} {% set sunday %}{% trans "Sunday" %}{% endset %} {% set options = [ { id: 1, name: monday }, { id: 2, name: tuesday }, { id: 3, name: wednesday }, { id: 4, name: thursday }, { id: 5, name: friday }, { id: 6, name: saturday }, { id: 7, name: sunday }, ] %} {{ forms.dropdown("recurrenceRepeatsOn[]", "dropdownmulti", "", event.recurrenceRepeatsOn, options, "id", "name", helpText, "repeat-weekly-control-group") }} {% set helpText %}{% trans "Should this Event Repeat by Day of the month (eg. Monthly on Day 21) or by a Weekday in the month (eg. Monthly on the third Thursday)" %}{% endset %} {% set attributes = [ { name: "data-value", value: event.recurrenceMonthlyRepeatsOn }, { name: "data-trans-day", value: "on the [DAY] day"|trans }, { name: "data-trans-weekday", value: "on the [POSITION] [WEEKDAY]"|trans } ] %} {{ forms.dropdown("recurrenceMonthlyRepeatsOn", "single", "", event.recurrenceMonthlyRepeatsOn, [{id: event.recurrenceMonthlyRepeatsOn, name: ""}], "id", "name", helpText, "repeat-monthly-control-group", "", "", "", attributes) }} {% set title %}{% trans "Every" %}{% endset %} {% set helpText %}{% trans "Include a number to determine the Repeat frequency required for this Event." %}{% endset %} <div class="form-group row repeat-control-group"> <label class="col-sm-2 control-label" for="recurrenceDetail">{{ title }}</label> <div class="col-sm-10"> <div class="input-group"> <input class="form-control" name="recurrenceDetail" type="number" id="recurrenceDetail" value="{{ event.recurrenceDetail }}" /> <div class="input-group-append"> <span class="input-group-text input-group-addon"></span> </div> </div> <span class="form-text text-muted">{{ helpText }}</span> </div> </div> {% set title %}{% trans "Until" %}{% endset %} {% set helpText %}{% trans "Provide a date and time to end the Repeat for this Event. Leave empty to Repeat indefinitely." %}{% endset %} {{ forms.dateTime("recurrenceRange", title, event.recurrenceRange, helpText, "repeat-control-group", "", "") }} </div> <div class="tab-pane" id="reminders"> {% set message %}{% trans "Use the form fields below to create a set of reminders for this event. New fields can be added by clicking on the + icon at the end of the row. Use the tick box to receive a notification by email alternatively reminders will be shown in the message center." %}{% endset %} {{ forms.message(message) }} <div id="reminderFields" data-reminders="{{ reminders|json_encode }}"></div> </div> <div class="tab-pane" id="geoSchedule"> {% set title %}{% trans "Geo Schedule?" %}{% endset %} {% set helpText %}{% trans "Should this event be location aware? Enable this checkbox and select an area by drawing a polygon or rectangle layer on the map below." %}{% endset %} {{ forms.checkbox("isGeoAware", title, event.isGeoAware, helpText, "") }} <div id="geoScheduleMap" style="height: 500px; width: 100%" class="d-none"></div> {{ forms.hidden("geoLocation", event.geoLocation) }} </div> </div> </form> </div> </div> {% endblock %}