{% include "displayprofile-form-edit-common-fields.twig" %}
{% set title = "Collect interval"|trans %}
{% set helpText = "How often should the Player check for new content."|trans %}
{% set options = [
{ id: 60, value: "1 minute"|trans },
{ id: 300, value: "5 minutes"|trans },
{ id: 600, value: "10 minutes"|trans },
{ id: 1800, value: "30 minutes"|trans },
{ id: 3600, value: "1 hour"|trans },
{ id: 5400, value: "1 hour 30 minutes"|trans },
{ id: 7200, value: "2 hours"|trans },
{ id: 9000, value: "2 hours 30 minutes"|trans },
{ id: 10800, value: "3 hours"|trans },
{ id: 12600, value: "3 hours 30 minutes"|trans },
{ id: 14400, value: "4 hours"|trans },
{ id: 18000, value: "5 hours"|trans },
{ id: 21600, value: "6 hours"|trans },
{ id: 25200, value: "7 hours"|trans },
{ id: 28800, value: "8 hours"|trans },
{ id: 32400, value: "9 hours"|trans },
{ id: 36000, value: "10 hours"|trans },
{ id: 39600, value: "11 hours"|trans },
{ id: 43200, value: "12 hours"|trans },
{ id: 86400, value: "24 hours"|trans }
] %}
{{ forms.dropdown("collectInterval", "single", title, displayProfile.getSetting("collectInterval"), options, "id", "value", helpText) }}
{% set title = "XMR Public Address"|trans %}
{% set helpText = "Please enter the public address for XMR."|trans %}
{{ forms.input("xmrNetworkAddress", title, displayProfile.getSetting("xmrNetworkAddress"), helpText) }}
{% set title = "Enable stats reporting?"|trans %}
{% set helpText = "Should the application send proof of play stats to the CMS."|trans %}
{{ forms.checkbox("statsEnabled", title, displayProfile.getSetting("statsEnabled"), helpText) }}
{% set title = "Aggregation level"|trans %}
{% set helpText = "Set the level of collection for Proof of Play Statistics to be applied to selected Layouts / Media and Widget items."|trans %}
{% set options = [
{ id: 'Individual', value: "Individual"|trans },
{ id: 'Hourly', value: "Hourly"|trans },
{ id: 'Daily', value: "Daily"|trans },
] %}
{{ forms.dropdown("aggregationLevel", "single", title, displayProfile.getSetting("aggregationLevel"), options, "id", "value", helpText, "aggregation-level") }}
{% set title = "Download Window Start Time"|trans %}
{% set helpText = "The start of the time window to connect to the CMS and download updates."|trans %}
{{ forms.time("downloadStartWindow", title, displayProfile.getSetting("downloadStartWindow"), helpText, "", "", "","HH:mm") }}
{% set title = "Download Window End Time"|trans %}
{% set helpText = "The end of the time window to connect to the CMS and download updates."|trans %}
{{ forms.time("downloadEndWindow", title, displayProfile.getSetting("downloadEndWindow"), helpText, "", "", "","HH:mm") }}
{% set title = "Force HTTPS?"|trans %}
{% set helpText = "Should Displays be forced to use HTTPS connection to the CMS?"|trans %}
{{ forms.checkbox("forceHttps", title, displayProfile.getSetting("forceHttps"), helpText) }}
{% set title = "Operating Hours"|trans %}
{% set helpText = "Select a day part that should act as operating hours for this display - email alerts will not be sent outside of operating hours"|trans %}
{% set attributes = [
{ name: "data-width", value: "300px" },
{ name: "data-allow-clear", value: "true" },
{ name: "data-placeholder--id", value: null },
{ name: "data-placeholder--value", value: "" },
{ name: "data-search-url", value: url_for("daypart.search") },
{ name: "data-search-term", value: "name" },
{ name: "data-id-property", value: "dayPartId" },
{ name: "data-text-property", value: "name" },
{ name: "data-filter-options", value: '{"isAlways":"0", "isCustom":"0"}' }
] %}
{{ forms.dropdown("dayPartId", "single", title, displayProfile.getSetting("dayPartId"), [{dayPartId:null, name:""}]|merge(dayParts), "dayPartId", "name", helpText, "pagedSelect", "", "", "", attributes) }}
{% set title = "Width"|trans %}
{% set helpText = "The Width of the Display Window. 0 means full width."|trans %}
{{ forms.number("sizeX", title, displayProfile.getSetting("sizeX"), helpText) }}
{% set title = "Height"|trans %}
{% set helpText = "The Height of the Display Window. 0 means full height."|trans %}
{{ forms.number("sizeY", title, displayProfile.getSetting("sizeY"), helpText) }}
{% set title = "Left Coordinate"|trans %}
{% set helpText = "The left pixel position the display window should be sized from."|trans %}
{{ forms.number("offsetX", title, displayProfile.getSetting("offsetX"), helpText) }}
{% set title = "Top Coordinate"|trans %}
{% set helpText = "The top pixel position the display window should be sized from."|trans %}
{{ forms.number("offsetY", title, displayProfile.getSetting("offsetY"), helpText) }}
{% set title = "Log Level"|trans %}
{% set helpText = "The logging level that should be recorded by the Player."|trans %}
{% set options = [
{ id: 'trace', value: "Trace"|trans },
{ id: 'debug', value: "Debug"|trans },
{ id: 'info', value: "Information"|trans },
{ id: 'error', value: "Error"|trans },
{ id: 'off', value: "Off"|trans }
] %}
{{ forms.dropdown("logLevel", "single", title, displayProfile.getSetting("logLevel"), options, "id", "value", helpText) }}
{% set title = "Enable Shell Commands"|trans %}
{% set helpText = "Enable the Shell Command module."|trans %}
{{ forms.checkbox("enableShellCommands", title, displayProfile.getSetting("enableShellCommands"), helpText) }}
{% if theme.getSetting('DISPLAY_PROFILE_CURRENT_LAYOUT_STATUS_ENABLED', 0) == 1 %}
{% set title = "Notify current layout"|trans %}
{% set helpText = "When enabled the Player will send the current layout to the CMS each time it changes. Warning: This is bandwidth intensive and should be disabled unless on a LAN."|trans %}
{{ forms.checkbox("sendCurrentLayoutAsStatusUpdate", title, displayProfile.getSetting("sendCurrentLayoutAsStatusUpdate"), helpText) }}
{% endif %}
{% set title = "Expire Modified Layouts?"|trans %}
{% set helpText = "Expire Modified Layouts immediately on change. This means a layout can be cut during playback if it receives an update from the CMS"|trans %}
{{ forms.checkbox("expireModifiedLayouts", title, displayProfile.getSetting("expireModifiedLayouts"), helpText) }}
{% set title = "Maximum concurrent downloads"|trans %}
{% set helpText = "The maximum number of concurrent downloads the Player will attempt."|trans %}
{{ forms.number("maxConcurrentDownloads", title, displayProfile.getSetting("maxConcurrentDownloads"), helpText) }}
{% set title = "Shell Command Allow List"|trans %}
{% set helpText = "Which shell commands should the Player execute?"|trans %}
{{ forms.input("shellCommandAllowList", title, displayProfile.getSetting("shellCommandAllowList"), helpText) }}
{% if theme.getSetting('DISPLAY_PROFILE_SCREENSHOT_INTERVAL_ENABLED', 0) == 1 %}
{% set title = "Screen shot interval"|trans %}
{% set helpText = "The duration between status screen shots in minutes. 0 to disable. Warning: This is bandwidth intensive."|trans %}
{{ forms.number("screenShotRequestInterval", title, displayProfile.getSetting("screenShotRequestInterval"), helpText) }}
{% endif %}
{% set title = "Screen Shot Size"|trans %}
{% set helpText = "The size of the largest dimension. Empty or 0 means the screen size."|trans %}
{{ forms.input("screenShotSize", title, displayProfile.getSetting("screenShotSize"), helpText) }}
{% set title = "Limit the number of log files uploaded concurrently"|trans %}
{% set helpText = "The number of log files to upload concurrently. The lower the number the longer it will take, but the better for memory usage."|trans %}
{{ forms.number("maxLogFileUploads", title, displayProfile.getSetting("maxLogFileUploads"), helpText) }}
{% set title = "Embedded Web Server Port"|trans %}
{% set helpText = "The port number to use for the embedded web server on the Player. Only change this if there is a port conflict reported on the status screen."|trans %}
{{ forms.number("embeddedServerPort", title, displayProfile.getSetting("embeddedServerPort"), helpText) }}
{% set title = "Embedded Web Server allow WAN?"|trans %}
{% set helpText = "Should we allow access to the Player Embedded Web Server from WAN? You may need to adjust the device firewall to allow external traffic"|trans %}
{{ forms.checkbox("embeddedServerAllowWan", title, displayProfile.getSetting("embeddedServerAllowWan"), helpText) }}
{% set title = "Prevent Sleep?"|trans %}
{% set helpText = "Stop the player PC power management from Sleeping the PC"|trans %}
{{ forms.checkbox("preventSleep", title, displayProfile.getSetting("preventSleep"), helpText) }}
{% if commands|length > 0 %}
{% include "displayprofile-form-edit-command-fields.twig" %}
{% endif %}