diff --git a/custom/otssignange/config.php b/config.php similarity index 100% rename from custom/otssignange/config.php rename to config.php diff --git a/custom/otssignange/css/client.css b/css/client.css similarity index 100% rename from custom/otssignange/css/client.css rename to css/client.css diff --git a/custom/otssignange/css/html-preview.css b/css/html-preview.css similarity index 100% rename from custom/otssignange/css/html-preview.css rename to css/html-preview.css diff --git a/custom/otssignange/css/override-dark.css b/css/override-dark.css similarity index 100% rename from custom/otssignange/css/override-dark.css rename to css/override-dark.css diff --git a/custom/otssignange/css/override.css b/css/override.css similarity index 100% rename from custom/otssignange/css/override.css rename to css/override.css diff --git a/display-page.twig b/display-page.twig deleted file mode 100644 index 88010fd..0000000 --- a/display-page.twig +++ /dev/null @@ -1,369 +0,0 @@ -{# -/** - * Copyright (C) 2023 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Displays"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("displays.add") %} - - {% endif %} - -
-{% endblock %} - -{% block headContent %} - {# Add page source code bundle ( CSS ) #} - -{% endblock %} - -{% block pageContent %} -
-
{% trans "Displays" %}
-
-
-
-
- -
-
-
- {% set title %}{% trans "ID" %}{% endset %} - {{ inline.number("displayId", title) }} - - {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('display', title) }} - - {% set title %}{% trans "Status" %}{% endset %} - {% set check %}{% trans "Up to date" %}{% endset %} - {% set cross %}{% trans "Downloading" %}{% endset %} - {% set cloud %}{% trans "Out of date" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: "1", option: check}, - { optionid: "2", option: cross}, - { optionid: "3", option: cloud} - ] %} - {{ inline.dropdown("mediaInventoryStatus", "single", title, "", options, "optionid", "option") }} - - {% set title %}{% trans "Logged In?" %}{% endset %} - {% set yesOption %}{% trans "Yes" %}{% endset %} - {% set noOption %}{% trans "No" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: "1", option: yesOption}, - { optionid: "0", option: noOption} - ] %} - {{ inline.dropdown("loggedIn", "single", title, "", options, "optionid", "option") }} - - {% set title %}{% trans "Authorised?" %}{% endset %} - {% set yesOption %}{% trans "Yes" %}{% endset %} - {% set noOption %}{% trans "No" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: "1", option: yesOption }, - { optionid: "0", option: noOption}, - ] %} - {{ inline.dropdown("authorised", "single", title, "", options, "optionid", "option") }} - - {% set title %}{% trans "XMR Registered?" %}{% endset %} - {% set yesOption %}{% trans "Yes" %}{% endset %} - {% set noOption %}{% trans "No" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: 1, option: yesOption}, - { optionid: 0, option: noOption}, - ] %} - {{ inline.dropdown("xmrRegistered", "single", title, "", options, "optionid", "option") }} - - {% if currentUser.featureEnabled("tag.tagging") %} - {% set title %}{% trans "Tags" %}{% endset %} - {% set exactTagTitle %}{% trans "Exact match?" %}{% endset %} - {% set logicalOperatorTitle %}{% trans "When filtering by multiple Tags, which logical operator should be used?" %}{% endset %} - {% set helpText %}{% trans "A comma separated list of tags to filter by. Enter a tag|tag value to filter tags with values. Enter --no-tag to filter all items without tags. Enter - before a tag or tag value to exclude from results." %}{% endset %} - {{ inline.inputWithTags("tags", title, null, helpText, null, null, null, "exactTags", exactTagTitle, logicalOperatorTitle) }} - {% endif %} - - {% if currentUser.featureEnabled("displaygroup.view") %} - {% set title %}{% trans "Display Group" %}{% endset %} - {% set attributes = [ - { name: "data-width", value: "200px" }, - { name: "data-allow-clear", value: "true" }, - { name: "data-placeholder--id", value: null }, - { name: "data-placeholder--value", value: "" }, - { name: "data-search-url", value: url_for("displayGroup.search") }, - { name: "data-filter-options", value: '{"isDisplaySpecific":0}' }, - { name: "data-search-term", value: "displayGroup" }, - { name: "data-id-property", value: "displayGroupId" }, - { name: "data-text-property", value: "displayGroup" }, - { name: "data-initial-key", value: "displayGroupId" }, - ] %} - {{ inline.dropdown("displayGroupId", "single", title, "", null, "displayGroupId", "displayGroup", helpText, "pagedSelect", "", "", "", attributes) }} - {% endif %} - - {% if currentUser.featureEnabled("displayprofile.view") %} - {% set title %}{% trans "Display Profile" %}{% endset %} - {{ inline.dropdown("displayProfileId", "single", title, "", [{displayProfileId:null, name:""}]|merge(displayProfiles), "displayProfileId", "name") }} - {% endif %} - - {{ inline.hidden("folderId") }} -
- -
- {% set title %}{% trans "Last Accessed" %}{% endset %} - {{ inline.date("lastAccessed", title) }} - - {% set title %}{% trans "Player Type" %}{% endset %} - {% set android %}{% trans "Android" %}{% endset %} - {% set chromeos %}{% trans "ChromeOS" %}{% endset %} - {% set windows %}{% trans "Windows" %}{% endset %} - {% set webos %}{% trans "webOS" %}{% endset %} - {% set sssp %}{% trans "Tizen" %}{% endset %} - {% set linux %}{% trans "Linux" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: "android", option: android}, - { optionid: "chromeos", option: chromeos}, - { optionid: "windows", option: windows}, - { optionid: "lg", option: webos}, - { optionid: "sssp", option: sssp}, - { optionid: "linux", option: linux}, - ] %} - {{ inline.dropdown("clientType", "single", title, "", options, "optionid", "option") }} - - {% set title %}{% trans "Player Code" %}{% endset %} - {{ inline.input("clientCode", title) }} - - {% set title %}{% trans "Custom ID" %}{% endset %} - {{ inline.input("customId", title) }} - - {% set title %}{% trans "Mac Address" %}{% endset %} - {{ inline.input("macAddress", title) }} - - {% set title %}{% trans "IP Address" %}{% endset %} - {{ inline.input("clientAddress", title) }} - - {% set title %}{% trans "Orientation" %}{% endset %} - {% set landscape %}{% trans "Landscape" %}{% endset %} - {% set portrait %}{% trans "Portrait" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: "landscape", option: landscape}, - { optionid: "portrait", option: portrait} - ] %} - {{ inline.dropdown("orientation", "single", title, "", options, "optionid", "option") }} - - {% set title %}{% trans "Commercial Licence" %}{% endset %} - {% set licensed %}{% trans "Licensed fully" %}{% endset %} - {% set trial %}{% trans "Trial" %}{% endset %} - {% set notLinceced %}{% trans "Not licenced" %}{% endset %} - {% set notApplicable %}{% trans "Not applicable" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: "1", option: licensed}, - { optionid: "2", option: trial}, - { optionid: "0", option: notLinceced}, - { optionid: "3", option: notApplicable} - ] %} - {{ inline.dropdown("commercialLicence", "single", title, "", options, "optionid", "option") }} - - {% set title %}{% trans "Player supported?" %}{% endset %} - {% set yesOption %}{% trans "Yes" %}{% endset %} - {% set noOption %}{% trans "No" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: 1, option: yesOption}, - { optionid: 0, option: noOption}, - ] %} - {{ inline.dropdown("isPlayerSupported", "single", title, "", options, "optionid", "option") }} -
-
-
-
-
-
-
- -
- - -
-
-

{% trans 'No Folders matching the search term' %}

-
-
-
-
- - -
-
- -
-
- -
- -
-
- - - - - - - - - - - - - - - - - {% if currentUser.featureEnabled("tag.tagging") %}{% endif %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{% trans "ID" %}{% trans "Display" %}{% trans "Display Type" %}{% trans "Address" %}{% trans "Status" %}{% trans "Authorised?" %}{% trans "Current Layout" %}{% trans "Storage Available" %}{% trans "Storage Total" %}{% trans "Storage Free %" %}{% trans "Description" %}{% trans "Orientation" %}{% trans "Resolution" %}{% trans "Tags" %}{% trans "Default Layout" %}{% trans "Interleave Default" %}{% trans "Email Alert" %}{% trans "Logged In" %}{% trans "Last Accessed" %}{% trans "Display Profile" %}{% trans "Version" %}{% trans "Supported?" %}{% trans "Device Name" %}{% trans "IP Address" %}{% trans "Mac Address" %}{% trans "Timezone" %}{% trans "Languages" %}{% trans "Latitude" %}{% trans "Longitude" %}{% trans "Screen shot?" %}{% trans "Thumbnail" %}{% trans "CMS Transfer?" %}{% trans "Bandwidth Limit" %}{% trans "Last Command" %}{% trans "XMR Registered" %}{% trans "Commercial Licence" %}{% trans "Remote" %}{% trans "Sharing" %}{% trans "Screen Size" %}{% trans "Is Mobile?" %}{% trans "Outdoor?" %}{% trans "Reference 1" %}{% trans "Reference 2" %}{% trans "Reference 3" %}{% trans "Reference 4" %}{% trans "Reference 5" %}{% trans "Custom ID" %}{% trans "Cost Per Play" %}{% trans "Impressions Per Play" %}{% trans "Created Date" %}{% trans "Modified Date" %}{% trans "Faults?" %}{% trans "OS Version" %}{% trans "OS SDK" %}{% trans "Manufacturer" %}{% trans "Brand" %}{% trans "Model" %}
- - -
-
- -
-
-
-
-
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - {# Initialise JS variables and translations #} - - - {# Add page source code bundle ( JS ) #} - - -{% endblock %} diff --git a/custom/otssignange/img/192x192.png b/img/192x192.png similarity index 100% rename from custom/otssignange/img/192x192.png rename to img/192x192.png diff --git a/custom/otssignange/img/512x512.png b/img/512x512.png similarity index 100% rename from custom/otssignange/img/512x512.png rename to img/512x512.png diff --git a/custom/otssignange/img/favicon.ico b/img/favicon.ico similarity index 100% rename from custom/otssignange/img/favicon.ico rename to img/favicon.ico diff --git a/custom/otssignange/img/xibologo.png b/img/xibologo.png similarity index 100% rename from custom/otssignange/img/xibologo.png rename to img/xibologo.png diff --git a/custom/otssignange/js/theme.js b/js/theme.js similarity index 100% rename from custom/otssignange/js/theme.js rename to js/theme.js diff --git a/custom/otssignange/layouts/default-layout.zip b/layouts/default-layout.zip similarity index 100% rename from custom/otssignange/layouts/default-layout.zip rename to layouts/default-layout.zip diff --git a/tmp/xibo-campaign-page.twig b/tmp/xibo-campaign-page.twig deleted file mode 100644 index b96e2c3..0000000 --- a/tmp/xibo-campaign-page.twig +++ /dev/null @@ -1,173 +0,0 @@ -{# -/** - * Copyright (C) 2020 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Campaigns"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("campaign.add") %} - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "Campaigns" %}
-
-
-
-
-
- {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('name', title) }} - - {% if currentUser.featureEnabled("tag.tagging") %} - {% set title %}{% trans "Tags" %}{% endset %} - {% set exactTagTitle %}{% trans "Exact match?" %}{% endset %} - {% set logicalOperatorTitle %}{% trans "When filtering by multiple Tags, which logical operator should be used?" %}{% endset %} - {% set helpText %}{% trans "A comma separated list of tags to filter by. Enter a tag|tag value to filter tags with values. Enter --no-tag to filter all items without tags. Enter - before a tag or tag value to exclude from results." %}{% endset %} - {{ inline.inputWithTags("tags", title, null, helpText, null, null, null, "exactTags", exactTagTitle, logicalOperatorTitle) }} - {% endif %} - - {% set title %}{% trans "Layouts" %}{% endset %} - {% set values = [{id: 0, value: ""}, {id: 2, value: "Yes"}, {id: 1, value: "No"}] %} - {{ inline.dropdown("hasLayouts", "single", title, 0, values, "id", "value") }} - - {{ inline.hidden("folderId") }} - - {% set title %}{% trans "Layout ID" %}{% endset %} - {{ inline.number("layoutId", title, layoutId) }} - - {% if currentUser.featureEnabled('ad.campaign') %} - {% set title %}{% trans "Type" %}{% endset %} - {% set options = [ - { id: null, name: "" }, - { id: "list", name: "Layout list"|trans }, - { id: "ad", name: "Ad Campaign"|trans } - ] %} - {{ inline.dropdown("type", "single", title, "both", options, "id", "name", helpText) }} - {% endif %} - - {% set title %}{% trans "Cycle Based Playback" %}{% endset %} - {% set enabled %}{% trans "Enabled" %}{% endset %} - {% set disabled %}{% trans "Disabled" %}{% endset %} - {% set options = [ - { optionid: "", option: "" }, - { optionid: 0, option: disabled}, - { optionid: 1, option: enabled} - ] %} - {{ inline.dropdown("cyclePlaybackEnabled", "single", title, "", options, "optionid", "option") }} -
-
-
- -
-
- -
- - -
-
-

{% trans 'No Folders matching the search term' %}

-
-
-
-
- - -
-
-
- - - - - {% if currentUser.featureEnabled('ad.campaign') %} - - - - {% endif %} - - {% if currentUser.featureEnabled("tag.tagging") %}{% endif %} - - - - {% if currentUser.featureEnabled('ad.campaign') %} - - - - - - {% endif %} - - - - - - - - - - - - - - -
{% trans "Name" %}{% trans "Type" %}{% trans "Start Date" %}{% trans "End Date" %}{% trans "# Layouts" %}{% trans "Tags" %}{% trans "Duration" %}{% trans "Cycle based Playback" %}{% trans "Play Count" %}{% trans "Target Type" %}{% trans "Target" %}{% trans "Plays" %}{% trans "Spend" %}{% trans "Impressions" %}{% trans "Ref 1" %}{% trans "Ref 2" %}{% trans "Ref 3" %}{% trans "Ref 4" %}{% trans "Ref 5" %}{% trans "Created At" %}{% trans "Modified At" %}{% trans "Modified By" %}
-
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - {# Initialise JS variables and translations #} - - - {# Add page source code bundle #} - -{% endblock %} diff --git a/tmp/xibo-context-menu.twig b/tmp/xibo-context-menu.twig deleted file mode 100644 index 1becba2..0000000 --- a/tmp/xibo-context-menu.twig +++ /dev/null @@ -1 +0,0 @@ -404: Not Found \ No newline at end of file diff --git a/tmp/xibo-dataset-page.twig b/tmp/xibo-dataset-page.twig deleted file mode 100644 index 969177d..0000000 --- a/tmp/xibo-dataset-page.twig +++ /dev/null @@ -1,584 +0,0 @@ -{# -/** - * Copyright (C) 2020 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} -{% import "forms.twig" as forms %} - -{% block title %}{{ "DataSets"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("dataset.add") %} - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "DataSets" %}
-
-
-
-
-
- {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('dataSet', title) }} - - {% set title %}{% trans "Code" %}{% endset %} - {% set helpText %}{% trans "Show items which match the provided code" %}{% endset %} - {{ inline.input("code", title, "", helpText) }} - - {% set title %}{% trans "Owner" %}{% endset %} - {% set helpText %}{% trans "Show items owned by the selected User." %}{% endset %} - {% set attributes = [ - { name: "data-width", value: "200px" }, - { name: "data-allow-clear", value: "true" }, - { name: "data-placeholder--id", value: null }, - { name: "data-placeholder--value", value: "" }, - { name: "data-search-url", value: url_for("user.search") }, - { name: "data-search-term", value: "userName" }, - { name: "data-search-term-tags", value: "tags" }, - { name: "data-id-property", value: "userId" }, - { name: "data-text-property", value: "userName" }, - { name: "data-initial-key", value: "userId" }, - ] %} - {{ inline.dropdown("userId", "single", title, "", null, "userId", "userName", helpText, "pagedSelect", "", "", "", attributes) }} - - {{ inline.hidden("folderId") }} -
-
-
- -
-
- -
- - -
-
-

{% trans 'No Folders matching the search term' %}

-
-
-
-
- - -
-
-
- - - - - - - - - - - - - - - - - - - -
{% trans "ID" %}{% trans "Name" %}{% trans "Description" %}{% trans "Code" %}{% trans "Remote?" %}{% trans "Real time?" %}{% trans "Owner" %}{% trans "Sharing" %}{% trans "Last Sync" %}{% trans "Data Last Modified" %}
-
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - -{% endblock %} - -{% block javaScriptTemplates %} - {{ parent() }} - - {% verbatim %} - - - - - - - - - {% endverbatim %} -{% endblock %} \ No newline at end of file diff --git a/tmp/xibo-daypart-page.twig b/tmp/xibo-daypart-page.twig deleted file mode 100644 index 874faa3..0000000 --- a/tmp/xibo-daypart-page.twig +++ /dev/null @@ -1,248 +0,0 @@ -{# -/** - * Copyright (C) 2020 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Dayparting"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("daypart.add") %} - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "Dayparting" %}
-
-
-
-
-
- {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('name', title) }} - - {% set title %}{% trans "Retired" %}{% endset %} - {% set option1 = "Yes"|trans %} - {% set option2 = "No"|trans %} - {% set values = [{id: 1, value: option1}, {id: 0, value: option2}] %} - {{ inline.dropdown("isRetired", "single", title, 0, values, "id", "value") }} -
-
-
-
- - - - - - - - - - - - - -
{% trans "Name" %}{% trans "Description" %}{% trans "Start Time" %}{% trans "End Time" %}
-
-
-
-
-{% endblock %} - -{% block javaScript %} - - {% verbatim %} - - {% endverbatim %} -{% endblock %} \ No newline at end of file diff --git a/tmp/xibo-layout-page.twig b/tmp/xibo-layout-page.twig deleted file mode 100644 index 11c905f..0000000 --- a/tmp/xibo-layout-page.twig +++ /dev/null @@ -1,523 +0,0 @@ -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Layouts"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("layout.add") %} - - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "Layouts" %}
-
-
-
-
- -
-
-
- {% set title %}{% trans "ID" %}{% endset %} - {{ inline.number("campaignId", title) }} - - {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('layout', title) }} - - {% if currentUser.featureEnabled("tag.tagging") %} - {% set title %}{% trans "Tags" %}{% endset %} - {% set exactTagTitle %}{% trans "Exact match?" %}{% endset %} - {% set logicalOperatorTitle %}{% trans "When filtering by multiple Tags, which logical operator should be used?" %}{% endset %} - {% set helpText %}{% trans "A comma separated list of tags to filter by. Enter a tag|tag value to filter tags with values. Enter --no-tag to filter all items without tags. Enter - before a tag or tag value to exclude from results." %}{% endset %} - {{ inline.inputWithTags("tags", title, null, helpText, null, null, null, "exactTags", exactTagTitle, logicalOperatorTitle) }} - {% endif %} - - {% set title %}{% trans "Code" %}{% endset %} - {{ inline.input('codeLike', title) }} - - {% if currentUser.featureEnabled("displaygroup.view") %} - {% set title %}{% trans "Display Group" %}{% endset %} - {% set helpText %}{% trans "Show Layouts active on the selected Display / Display Group" %}{% endset %} - {% set attributes = [ - { name: "data-width", value: "200px" }, - { name: "data-allow-clear", value: "true" }, - { name: "data-placeholder--id", value: null }, - { name: "data-placeholder--value", value: "" }, - { name: "data-search-url", value: url_for("displayGroup.search") }, - { name: "data-filter-options", value: '{"isDisplaySpecific":-1}' }, - { name: "data-search-term", value: "displayGroup" }, - { name: "data-id-property", value: "displayGroupId" }, - { name: "data-text-property", value: "displayGroup" }, - { name: "data-initial-key", value: "displayGroupId" }, - ] %} - {{ inline.dropdown("activeDisplayGroupId", "single", title, "", null, "displayGroupId", "displayGroup", helpText, "pagedSelect", "", "", "", attributes) }} - {% endif %} - - {% set title %}{% trans "Owner" %}{% endset %} - {% set helpText %}{% trans "Show items owned by the selected User." %}{% endset %} - {% set attributes = [ - { name: "data-width", value: "200px" }, - { name: "data-allow-clear", value: "true" }, - { name: "data-placeholder--id", value: null }, - { name: "data-placeholder--value", value: "" }, - { name: "data-search-url", value: url_for("user.search") }, - { name: "data-search-term", value: "userName" }, - { name: "data-search-term-tags", value: "tags" }, - { name: "data-id-property", value: "userId" }, - { name: "data-text-property", value: "userName" }, - { name: "data-initial-key", value: "userId" }, - ] %} - {{ inline.dropdown("userId", "single", title, "", null, "userId", "userName", helpText, "pagedSelect", "", "", "", attributes) }} - - {% set title %}{% trans "Owner User Group" %}{% endset %} - {% set helpText %}{% trans "Show items owned by users in the selected User Group." %}{% endset %} - {% set attributes = [ - { name: "data-width", value: "200px" }, - { name: "data-allow-clear", value: "true" }, - { name: "data-placeholder--id", value: null }, - { name: "data-placeholder--value", value: "" }, - { name: "data-search-url", value: url_for("group.search") }, - { name: "data-search-term", value: "group" }, - { name: "data-id-property", value: "groupId" }, - { name: "data-text-property", value: "group" }, - { name: "data-initial-key", value: "userGroupId" }, - ] %} - {{ inline.dropdown("ownerUserGroupId", "single", title, "", null, "groupId", "group", helpText, "pagedSelect", "", "", "", attributes) }} - - {% set title %}{% trans "Orientation" %}{% endset %} - {% set option1 = "All"|trans %} - {% set option2 = "Landscape"|trans %} - {% set option3 = "Portrait"|trans %} - {% set values = [{id: '', value: option1}, {id: 'landscape', value: option2}, {id: 'portrait', value: option3}] %} - {{ inline.dropdown("orientation", "single", title, '', values, "id", "value") }} - - {{ inline.hidden("folderId") }} -
-
- {% set title %}{% trans "Retired" %}{% endset %} - {% set option1 = "No"|trans %} - {% set option2 = "Yes"|trans %} - {% set values = [{id: 0, value: option1}, {id: 1, value: option2}] %} - {{ inline.dropdown("retired", "single", title, 0, values, "id", "value") }} - - {% set title %}{% trans "Show" %}{% endset %} - {% set option1 = "All"|trans %} - {% set option2 = "Only Used"|trans %} - {% set option3 = "Only Unused"|trans %} - {% set values = [{id: 1, value: option1}, {id: 2, value: option2}, {id: 3, value: option3}] %} - {{ inline.dropdown("layoutStatusId", "single", title, 1, values, "id", "value") }} - - {% set title %}{% trans "Description" %}{% endset %} - {% set option1 = "All"|trans %} - {% set option2 = "1st line"|trans %} - {% set option3 = "Widget List"|trans %} - {% set values = [{id: 1, value: option1}, {id: 2, value: option2}, {id: 3, value: option3}] %} - {{ inline.dropdown("showDescriptionId", "single", title, 2, values, "id", "value") }} - - {% if currentUser.featureEnabled("library.view") %} - {% set title %}{% trans "Media" %}{% endset %} - {{ inline.input("mediaLike", title) }} - {% endif %} - - {% set title %}{% trans "Layout ID" %}{% endset %} - {{ inline.number("layoutId", title) }} - - {% set title %}{% trans "Modified Since" %}{% endset %} - {{ inline.date("modifiedSinceDt", title) }} -
-
-
-
-
- -
-
- -
- - -
-
-

{% trans 'No Folders matching the search term' %}

-
-
-
- -
- - -
- -
-
- - - - - - - - - {% if currentUser.featureEnabled("tag.tagging") %}{% endif %} - - - - - - - - - - - - - - - - -
{% trans "ID" %}{% trans "Name" %}{% trans "Status" %}{% trans "Description" %}{% trans "Duration" %}{% trans "Tags" %}{% trans "Orientation" %}{% trans "Thumbnail" %}{% trans "Owner" %}{% trans "Sharing" %}{% trans "Valid?" %}{% trans "Stats?" %}{% trans "Created" %}{% trans "Modified" %}{% trans "Layout ID" %}{% trans "Code" %}
-
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - -{% endblock %} diff --git a/tmp/xibo-menuboard-page.twig b/tmp/xibo-menuboard-page.twig deleted file mode 100644 index 95df3e1..0000000 --- a/tmp/xibo-menuboard-page.twig +++ /dev/null @@ -1,194 +0,0 @@ -{# -/** - * Copyright (C) 2022 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Menu Boards"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("menuBoard.add") %} - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "Menu Boards" %}
-
-
-
-
-
- {% set title %}{% trans "ID" %}{% endset %} - {{ inline.number("menuId", title) }} - - {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('name', title) }} - - {% set title %}{% trans "Code" %}{% endset %} - {{ inline.input('code', title) }} - - {% set title %}{% trans "Owner" %}{% endset %} - {% set helpText %}{% trans "Show items owned by the selected User." %}{% endset %} - {% set attributes = [ - { name: "data-width", value: "200px" }, - { name: "data-allow-clear", value: "true" }, - { name: "data-placeholder--id", value: null }, - { name: "data-placeholder--value", value: "" }, - { name: "data-search-url", value: url_for("user.search") }, - { name: "data-search-term", value: "userName" }, - { name: "data-search-term-tags", value: "tags" }, - { name: "data-id-property", value: "userId" }, - { name: "data-text-property", value: "userName" }, - { name: "data-initial-key", value: "userId" }, - ] %} - {{ inline.dropdown("userId", "single", title, "", null, "userId", "userName", helpText, "pagedSelect", "", "", "", attributes) }} - - {{ inline.hidden("folderId") }} -
-
-
-
-
- -
-
- -
-
- -
-
- -
- - -
-
-

{% trans 'No Folders matching the search term' %}

-
-
-
-
-
- - - - - - - - - - - - - - - - - -
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - -{% endblock %} \ No newline at end of file diff --git a/tmp/xibo-resolution-page.twig b/tmp/xibo-resolution-page.twig deleted file mode 100644 index c2e2bfa..0000000 --- a/tmp/xibo-resolution-page.twig +++ /dev/null @@ -1,120 +0,0 @@ -{# -/** - * Copyright (C) 2020 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Resolutions"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("resolution.add") %} - - {% endif %} - -
-{% endblock %} - - -{% block pageContent %} -
-
{% trans "Resolution" %}
-
-
-
-
-
- {% set title %}{% trans "Enabled" %}{% endset %} - {% set option1 %}{% trans "Yes" %}{% endset %} - {% set option2 %}{% trans "No" %}{% endset %} - {% set values = [{id: 1, value: option1}, {id: 0, value: option2}] %} - {{ inline.dropdown("enabled", "single", title, 1, values, "id", "value") }} -
-
-
-
- - - - - - - - - - - - - - -
{% trans "ID" %}{% trans "Resolution" %}{% trans "Width" %}{% trans "Height" %}{% trans "Enabled?" %}
-
-
-
-
-{% endblock %} - -{% block javaScript %} - -{% endblock %} \ No newline at end of file diff --git a/tmp/xibo-schedule-page.twig b/tmp/xibo-schedule-page.twig deleted file mode 100644 index 09b466e..0000000 --- a/tmp/xibo-schedule-page.twig +++ /dev/null @@ -1,342 +0,0 @@ -{# -/** - * Copyright (C) 2023 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} -{% import "forms.twig" as forms %} - -{% block title %}{{ "Schedule"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("schedule.add") %} - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "Schedule" %}
-
-
-
-
- -
-
-
- {% set title %}{% trans "Range" %}{% endset %} - {% set range %}{% trans "Custom" %}{% endset %} - {% set day %}{% trans "Day" %}{% endset %} - {% set week %}{% trans "Week" %}{% endset %} - {% set month %}{% trans "Month" %}{% endset %} - {% set year %}{% trans "Year" %}{% endset %} - {% set options = [ - { name: "custom", range: range }, - { name: "day", range: day }, - { name: "week", range: week }, - { name: "month", range: month }, - { name: "year", range: year }, - ] %} - {{ inline.dropdown("range", "single", title, "month", options, "name", "range", "", "date-range-input") }} - - {% set title %}{% trans 'From Date' %}{% endset %} - {{ inline.dateTime("fromDt", title, "", "", "custom-date-range d-none", "", "") }} - - {% set title %}{% trans 'To Date' %}{% endset %} - {{ inline.dateTime("toDt", title, "", "", "custom-date-range d-none", "", "") }} - - {% set title %}{% trans "Date Controls" %}{% endset %} -
-
{{ title }}
-
-
- - - - -
-
- - - -
-
-
- - {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('name', title) }} - - {% set title %}{% trans 'Event Type' %}{% endset %} - {{ inline.dropdown("eventTypeId", "single", title, "", [{eventTypeId: null, eventTypeName: "All"}]|merge(eventTypes), "eventTypeId", "eventTypeName") }} - - {% set title %}{% trans "Layout / Campaign" %}{% endset %} - {% set helpText %}{% trans "Please select a Layout or Campaign for this Event to show" %}{% endset %} - -
- - -
- - {% set title %}{% trans "Displays" %}{% endset %} -
- - -
- - {% set title %}{% trans "Display Groups" %}{% endset %} -
- - -
-
- -
- {% set label %}{% trans "Direct Schedule?" %}{% endset %} - {% set title %}{% trans "Show only events scheduled directly on selected Displays/Groups" %}{% endset %} -
-
- - -
-
- - {% set title %}{% trans "Only show schedules which appear on all filtered displays/groups?" %}{% endset %} - {% set label %}{% trans "Shared Schedule?" %}{% endset %} -
-
- - -
-
- - {% set title %}{% trans 'Geo Aware?' %}{% endset %} - {% set options = [ - { id: null, name: "Both"|trans }, - { id: 0, name: "No"|trans }, - { id: 1, name: "Yes"|trans } - ] %} - {{ inline.dropdown("geoAware", "single", title, "both", options, "id", "name") }} - - {% set title %}{% trans 'Recurring?' %}{% endset %} - {% set options = [ - { id: null, name: "Both" }, - { id: 0, name: "No"|trans }, - { id: 1, name: "Yes"|trans } - ] %} - {{ inline.dropdown("recurring", "single", title, "both", options, "id", "name") }} -
-
-
-
-
- -
- - -
-
-
-

-
- -
- - -
-
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{% trans 'ID' %}{% trans 'Event Type' %}{% trans 'Name' %}{% trans 'Start' %}{% trans 'End' %}{% trans 'Event' %}{% trans 'Campaign ID' %}{% trans 'Display Groups' %}{% trans 'SoV' %}{% trans 'Max Plays per Hour' %}{% trans 'Geo Aware?' %}{% trans 'Recurring?' %}{% trans 'Recurrence Description' %}{% trans 'Recurrence Type' %}{% trans 'Recurrence Interval' %}{% trans 'Recurrence Repeats On' %}{% trans 'Recurrence End' %}{% trans 'Priority?' %}{% trans 'Criteria?' %}{% trans 'Created On' %}{% trans 'Updated On' %}{% trans 'Modified By' %}
-
-
-
-
-
-
-
-
-
-
-
-
    -
  • {% trans "Always showing" %}
  • -
  • {% trans "Single Display" %}
  • -
  • {% trans "Multi Display" %}
  • -
  • {% trans "Priority" %}
  • -
  • {% trans "Recurring" %}
  • -
  • {% trans "View Only" %}
  • -
  • {% trans "Command" %}
  • -
  • {% trans "Interrupt" %}
  • -
  • {% trans "Geo Location" %}
  • -
  • {% trans "Interactive Action" %} -
  • -
  • {% trans "Synchronised" %}
  • -
-
-
-
-
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - {# Initialise JS variables #} - - - {# Add page source code bundle ( JS ) #} - - -{% endblock %} \ No newline at end of file diff --git a/tmp/xibo-table-context-menu.twig b/tmp/xibo-table-context-menu.twig deleted file mode 100644 index 1becba2..0000000 --- a/tmp/xibo-table-context-menu.twig +++ /dev/null @@ -1 +0,0 @@ -404: Not Found \ No newline at end of file diff --git a/tmp/xibo-template-page-new.twig b/tmp/xibo-template-page-new.twig deleted file mode 100644 index 8144c21..0000000 --- a/tmp/xibo-template-page-new.twig +++ /dev/null @@ -1,277 +0,0 @@ -{# -/** - * Copyright (C) 2022 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Templates"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("template.add") %} - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "Templates" %}
-
-
-
-
-
- {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('template', title) }} - - {% if currentUser.featureEnabled("tag.tagging") %} - {% set title %}{% trans "Tags" %}{% endset %} - {% set exactTagTitle %}{% trans "Exact match?" %}{% endset %} - {% set logicalOperatorTitle %}{% trans "When filtering by multiple Tags, which logical operator should be used?" %}{% endset %} - {% set helpText %}{% trans "A comma separated list of tags to filter by. Enter a tag|tag value to filter tags with values. Enter --no-tag to filter all items without tags. Enter - before a tag or tag value to exclude from results." %}{% endset %} - {{ inline.inputWithTags("tags", title, null, helpText, null, null, null, "exactTags", exactTagTitle, logicalOperatorTitle) }} - {% endif %} - - {{ inline.hidden("folderId") }} -
-
-
-
-
- -
- - -
-
-

{% trans 'No Folders matching the search term' %}

-
-
-
-
- - -
-
-
- - - - - - - - {% if currentUser.featureEnabled("tag.tagging") %}{% endif %} - - - - - - - - - -
{% trans "Name" %}{% trans "Status" %}{% trans "Owner" %}{% trans "Description" %}{% trans "Tags" %}{% trans "Orientation" %}{% trans "Thumbnail" %}{% trans "Sharing" %}
-
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - -{% endblock %} \ No newline at end of file diff --git a/tmp/xibo-template-page.twig b/tmp/xibo-template-page.twig deleted file mode 100644 index 8144c21..0000000 --- a/tmp/xibo-template-page.twig +++ /dev/null @@ -1,277 +0,0 @@ -{# -/** - * Copyright (C) 2022 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 . - */ -#} -{% extends "authed.twig" %} -{% import "inline.twig" as inline %} - -{% block title %}{{ "Templates"|trans }} | {% endblock %} - -{% block actionMenu %} -
- {% if currentUser.featureEnabled("template.add") %} - - {% endif %} - -
-{% endblock %} - -{% block pageContent %} -
-
{% trans "Templates" %}
-
-
-
-
-
- {% set title %}{% trans "Name" %}{% endset %} - {{ inline.inputNameGrid('template', title) }} - - {% if currentUser.featureEnabled("tag.tagging") %} - {% set title %}{% trans "Tags" %}{% endset %} - {% set exactTagTitle %}{% trans "Exact match?" %}{% endset %} - {% set logicalOperatorTitle %}{% trans "When filtering by multiple Tags, which logical operator should be used?" %}{% endset %} - {% set helpText %}{% trans "A comma separated list of tags to filter by. Enter a tag|tag value to filter tags with values. Enter --no-tag to filter all items without tags. Enter - before a tag or tag value to exclude from results." %}{% endset %} - {{ inline.inputWithTags("tags", title, null, helpText, null, null, null, "exactTags", exactTagTitle, logicalOperatorTitle) }} - {% endif %} - - {{ inline.hidden("folderId") }} -
-
-
-
-
- -
- - -
-
-

{% trans 'No Folders matching the search term' %}

-
-
-
-
- - -
-
-
- - - - - - - - {% if currentUser.featureEnabled("tag.tagging") %}{% endif %} - - - - - - - - - -
{% trans "Name" %}{% trans "Status" %}{% trans "Owner" %}{% trans "Description" %}{% trans "Tags" %}{% trans "Orientation" %}{% trans "Thumbnail" %}{% trans "Sharing" %}
-
-
-
-
-
-
-{% endblock %} - -{% block javaScript %} - -{% endblock %} \ No newline at end of file diff --git a/custom/otssignange/views/about-page.twig b/views/about-page.twig similarity index 100% rename from custom/otssignange/views/about-page.twig rename to views/about-page.twig diff --git a/custom/otssignange/views/about-text.twig b/views/about-text.twig similarity index 100% rename from custom/otssignange/views/about-text.twig rename to views/about-text.twig diff --git a/custom/otssignange/views/applications-page.twig b/views/applications-page.twig similarity index 100% rename from custom/otssignange/views/applications-page.twig rename to views/applications-page.twig diff --git a/custom/otssignange/views/authed-notification-drawer.twig b/views/authed-notification-drawer.twig similarity index 100% rename from custom/otssignange/views/authed-notification-drawer.twig rename to views/authed-notification-drawer.twig diff --git a/custom/otssignange/views/authed-sidebar.twig b/views/authed-sidebar.twig similarity index 100% rename from custom/otssignange/views/authed-sidebar.twig rename to views/authed-sidebar.twig diff --git a/custom/otssignange/views/authed-theme-topbar.twig b/views/authed-theme-topbar.twig similarity index 100% rename from custom/otssignange/views/authed-theme-topbar.twig rename to views/authed-theme-topbar.twig diff --git a/custom/otssignange/views/authed-topbar.twig b/views/authed-topbar.twig similarity index 100% rename from custom/otssignange/views/authed-topbar.twig rename to views/authed-topbar.twig diff --git a/custom/otssignange/views/authed-user-menu.twig b/views/authed-user-menu.twig similarity index 100% rename from custom/otssignange/views/authed-user-menu.twig rename to views/authed-user-menu.twig diff --git a/custom/otssignange/views/authed.twig b/views/authed.twig similarity index 100% rename from custom/otssignange/views/authed.twig rename to views/authed.twig diff --git a/custom/otssignange/views/campaign-page.twig b/views/campaign-page.twig similarity index 100% rename from custom/otssignange/views/campaign-page.twig rename to views/campaign-page.twig diff --git a/custom/otssignange/views/command-page.twig b/views/command-page.twig similarity index 100% rename from custom/otssignange/views/command-page.twig rename to views/command-page.twig diff --git a/custom/otssignange/views/dashboard-icon-page.twig b/views/dashboard-icon-page.twig similarity index 100% rename from custom/otssignange/views/dashboard-icon-page.twig rename to views/dashboard-icon-page.twig diff --git a/custom/otssignange/views/dashboard-status-page.twig b/views/dashboard-status-page.twig similarity index 100% rename from custom/otssignange/views/dashboard-status-page.twig rename to views/dashboard-status-page.twig diff --git a/custom/otssignange/views/dataset-page.twig b/views/dataset-page.twig similarity index 100% rename from custom/otssignange/views/dataset-page.twig rename to views/dataset-page.twig diff --git a/custom/otssignange/views/datatable-contrast.twig b/views/datatable-contrast.twig similarity index 100% rename from custom/otssignange/views/datatable-contrast.twig rename to views/datatable-contrast.twig diff --git a/custom/otssignange/views/daypart-page.twig b/views/daypart-page.twig similarity index 100% rename from custom/otssignange/views/daypart-page.twig rename to views/daypart-page.twig diff --git a/custom/otssignange/views/display-page.twig b/views/display-page.twig similarity index 100% rename from custom/otssignange/views/display-page.twig rename to views/display-page.twig diff --git a/custom/otssignange/views/displaygroup-page.twig b/views/displaygroup-page.twig similarity index 100% rename from custom/otssignange/views/displaygroup-page.twig rename to views/displaygroup-page.twig diff --git a/custom/otssignange/views/displayprofile-page.twig b/views/displayprofile-page.twig similarity index 100% rename from custom/otssignange/views/displayprofile-page.twig rename to views/displayprofile-page.twig diff --git a/custom/otssignange/views/fonts-page.twig b/views/fonts-page.twig similarity index 100% rename from custom/otssignange/views/fonts-page.twig rename to views/fonts-page.twig diff --git a/custom/otssignange/views/include-file-upload.twig b/views/include-file-upload.twig similarity index 100% rename from custom/otssignange/views/include-file-upload.twig rename to views/include-file-upload.twig diff --git a/custom/otssignange/views/index.html b/views/index.html similarity index 100% rename from custom/otssignange/views/index.html rename to views/index.html diff --git a/custom/otssignange/views/inline.twig b/views/inline.twig similarity index 100% rename from custom/otssignange/views/inline.twig rename to views/inline.twig diff --git a/custom/otssignange/views/layout-page.twig b/views/layout-page.twig similarity index 100% rename from custom/otssignange/views/layout-page.twig rename to views/layout-page.twig diff --git a/custom/otssignange/views/library-page.twig b/views/library-page.twig similarity index 100% rename from custom/otssignange/views/library-page.twig rename to views/library-page.twig diff --git a/custom/otssignange/views/login.twig b/views/login.twig similarity index 100% rename from custom/otssignange/views/login.twig rename to views/login.twig diff --git a/custom/otssignange/views/menuboard-page.twig b/views/menuboard-page.twig similarity index 100% rename from custom/otssignange/views/menuboard-page.twig rename to views/menuboard-page.twig diff --git a/custom/otssignange/views/module-page.twig b/views/module-page.twig similarity index 100% rename from custom/otssignange/views/module-page.twig rename to views/module-page.twig diff --git a/custom/otssignange/views/override-styles.twig b/views/override-styles.twig similarity index 100% rename from custom/otssignange/views/override-styles.twig rename to views/override-styles.twig diff --git a/custom/otssignange/views/partials/_dashboard-card.twig b/views/partials/_dashboard-card.twig similarity index 100% rename from custom/otssignange/views/partials/_dashboard-card.twig rename to views/partials/_dashboard-card.twig diff --git a/custom/otssignange/views/playersoftware-page.twig b/views/playersoftware-page.twig similarity index 100% rename from custom/otssignange/views/playersoftware-page.twig rename to views/playersoftware-page.twig diff --git a/custom/otssignange/views/playlist-page.twig b/views/playlist-page.twig similarity index 100% rename from custom/otssignange/views/playlist-page.twig rename to views/playlist-page.twig diff --git a/custom/otssignange/views/resolution-page.twig b/views/resolution-page.twig similarity index 100% rename from custom/otssignange/views/resolution-page.twig rename to views/resolution-page.twig diff --git a/custom/otssignange/views/schedule-page.twig b/views/schedule-page.twig similarity index 100% rename from custom/otssignange/views/schedule-page.twig rename to views/schedule-page.twig diff --git a/custom/otssignange/views/settings-page.twig b/views/settings-page.twig similarity index 100% rename from custom/otssignange/views/settings-page.twig rename to views/settings-page.twig diff --git a/custom/otssignange/views/syncgroup-page.twig b/views/syncgroup-page.twig similarity index 100% rename from custom/otssignange/views/syncgroup-page.twig rename to views/syncgroup-page.twig diff --git a/custom/otssignange/views/tag-page.twig b/views/tag-page.twig similarity index 100% rename from custom/otssignange/views/tag-page.twig rename to views/tag-page.twig diff --git a/custom/otssignange/views/task-page.twig b/views/task-page.twig similarity index 100% rename from custom/otssignange/views/task-page.twig rename to views/task-page.twig diff --git a/custom/otssignange/views/template-page.twig b/views/template-page.twig similarity index 100% rename from custom/otssignange/views/template-page.twig rename to views/template-page.twig diff --git a/custom/otssignange/views/theme-dashboard-message.twig b/views/theme-dashboard-message.twig similarity index 100% rename from custom/otssignange/views/theme-dashboard-message.twig rename to views/theme-dashboard-message.twig diff --git a/custom/otssignange/views/theme-javascript.twig b/views/theme-javascript.twig similarity index 100% rename from custom/otssignange/views/theme-javascript.twig rename to views/theme-javascript.twig diff --git a/custom/otssignange/views/theme-scripts.twig b/views/theme-scripts.twig similarity index 100% rename from custom/otssignange/views/theme-scripts.twig rename to views/theme-scripts.twig diff --git a/custom/otssignange/views/transition-page.twig b/views/transition-page.twig similarity index 100% rename from custom/otssignange/views/transition-page.twig rename to views/transition-page.twig diff --git a/custom/otssignange/views/user-page.twig b/views/user-page.twig similarity index 100% rename from custom/otssignange/views/user-page.twig rename to views/user-page.twig diff --git a/custom/otssignange/views/usergroup-page.twig b/views/usergroup-page.twig similarity index 100% rename from custom/otssignange/views/usergroup-page.twig rename to views/usergroup-page.twig