119 lines
6.5 KiB
Twig
119 lines
6.5 KiB
Twig
{#
|
|
/**
|
|
* Copyright (C) 2024 Xibo Signage Ltd
|
|
*
|
|
* Xibo - Digital Signage - https://xibosignage.com
|
|
*
|
|
* 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 "Add Notification" %}
|
|
{% endblock %}
|
|
|
|
{% block callBack %}attachmentFormSetup{% endblock %}
|
|
|
|
{% block formButtons %}
|
|
{% trans "Cancel" %}, XiboDialogClose()
|
|
{% trans "Save" %}, $("#notificationForm").submit()
|
|
{% 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"><a class="nav-link" href="#message-body" role="tab" data-toggle="tab"><span>{% trans "Message" %}</span></a></li>
|
|
<li class="nav-item"><a class="nav-link" href="#audience" role="tab" data-toggle="tab"><span>{% trans "Audience" %}</span></a></li>
|
|
<li class="nav-item"><a class="nav-link" href="#attachment" role="tab" data-toggle="tab"><span>{% trans "Attachment" %}</span></a></li>
|
|
</ul>
|
|
<form id="notificationForm" class="form-horizontal" method="post" action="{{ url_for("notification.add") }}">
|
|
<div class="tab-content">
|
|
<div class="tab-pane active" id="general">
|
|
{% set title %}{% trans "Subject" %}{% endset %}
|
|
{% set helpText %}{% trans "A subject line for the notification - used as a title." %}{% endset %}
|
|
{{ forms.input("subject", title, "", helpText, "", "required") }}
|
|
|
|
{% set title %}{% trans "Release Date" %}{% endset %}
|
|
{% set helpText %}{% trans "The date when this notification will be published" %}{% endset %}
|
|
{{ forms.dateTime("releaseDt", title, "", helpText, "starttime-control", "required") }}
|
|
|
|
{% set title %}{% trans "Interrupt?" %}{% endset %}
|
|
{% set helpText %}{% trans "Should the notification interrupt nagivation in the Web Portal? Including Login." %}{% endset %}
|
|
{{ forms.checkBox("isInterrupt", title, "", helpText) }}
|
|
|
|
</div>
|
|
<div class="tab-pane" id="message-body">
|
|
{% set title %}{% trans "Add the body of your message in the box below. If you are going to target this message to a Display/DisplayGroup be aware that the formatting you apply here will be removed." %}{% endset %}
|
|
{{ forms.message(title) }}
|
|
|
|
{{ forms.textarea("body", "", "", "", "", "required", 10) }}
|
|
</div>
|
|
<div class="tab-pane" id="audience">
|
|
{% set title %}{% trans "Users" %}{% endset %}
|
|
{% set helpText %}{% trans "Please select one or more users / groups who will receive this notification." %}{% endset %}
|
|
{% set attributes = [
|
|
{ name: "data-width", value: "100%" }
|
|
] %}
|
|
{% set transUserGroups %}{% trans "Groups" %}{% endset %}
|
|
{% set transUsers %}{% trans "Users" %}{% endset %}
|
|
{% set optionGroups = [
|
|
{id: "group", label: transUserGroups},
|
|
{id: "user", label: transUsers}
|
|
] %}
|
|
{{ forms.dropdown("userGroupIds[]", "dropdownmulti", title, "", {group: userGroups, user: users}, "groupId", "group", helpText, "selectPicker", "", "", "", attributes, optionGroups) }}
|
|
|
|
{% set title %}{% trans "Non users" %}{% endset %}
|
|
{% set helpText %}{% trans "Additional emails separated by a comma." %}{% endset %}
|
|
{{ forms.inputWithTags("nonusers", title, "", helpText, "", "", "", false, "", "", "", "", 0) }}
|
|
|
|
{% set title %}{% trans "Displays" %}{% endset %}
|
|
{% set helpText %}{% trans "Please select one or more displays / groups for this notification to be shown on - Layouts will need the notification widget." %}{% endset %}
|
|
{% set attributes = [
|
|
{ name: "data-width", value: "100%" }
|
|
] %}
|
|
{% set transGroups %}{% trans "Groups" %}{% endset %}
|
|
{% set transDisplays %}{% trans "Display" %}{% endset %}
|
|
{% set optionGroups = [
|
|
{id: "group", label: transGroups},
|
|
{id: "display", label: transDisplays}
|
|
] %}
|
|
{{ forms.dropdown("displayGroupIds[]", "dropdownmulti", title, "", {group: displayGroups, display: displays}, "displayGroupId", "displayGroup", helpText, "selectPicker", "", "", "", attributes, optionGroups) }}
|
|
|
|
</div>
|
|
|
|
<div class="tab-pane" id="attachment">
|
|
<div class="row attachment-fields attachment-add-button text-center">
|
|
<div class="col-12">
|
|
<button id="attachmentAddButton" class="btn btn-white" type="">
|
|
<i class="fa fa-plus"></i>
|
|
{% trans "Add an attachment?" %}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div id="notificationAddFormAttachmentUpload" style="display: none;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |