Files
Cloud-CMS/views/user-form-add.twig
Matt Batchelder 05ce0da296 Initial Upload
2025-12-02 10:32:59 -05:00

210 lines
13 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 User" %}
{% endblock %}
{% block formButtons %}
{% trans "Cancel" %}, XiboDialogClose()
{% trans "Save" %}, $("#userAddForm").submit()
{% endblock %}
{% block callBack %}userFormOpen{% 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 "Details" %}</span></a></li>
{% if currentUser.featureEnabled("folder.userHome") %}
<li class="nav-item"><a class="nav-link" href="#home-folder" role="tab" data-toggle="tab"><span>{% trans "Home Folder" %}</span></a></li>
{% endif %}
<li class="nav-item"><a class="nav-link" href="#reference" role="tab" data-toggle="tab"><span>{% trans "Reference" %}</span></a></li>
{% if currentUser.userTypeId == 1 %}
<li class="nav-item"><a class="nav-link" href="#notifications" role="tab" data-toggle="tab"><span>{% trans "Notifications" %}</span></a></li>
{% endif %}
<li class="nav-item"><a class="nav-link" href="#optionsTab" role="tab" data-toggle="tab"><span>{% trans "Options" %}</span></a></li>
</ul>
<form id="userAddForm" class="UserForm form-horizontal" method="post" action="{{ url_for("user.add") }}">
<div class="tab-content">
<div class="tab-pane active" id="general">
{% set title %}{% trans "Username" %}{% endset %}
{% set helpText %}{% trans "The Username of the user." %}{% endset %}
{{ forms.input("userName", title, "", helpText, "", "required maxlength='50'") }}
{% set title %}{% trans "Password" %}{% endset %}
{% set helpText %}{% trans "The Password for this user." %}{% endset %}
{{ forms.password("password", title, "", helpText, "", "required") }}
{% set title %}{% trans "Email" %}{% endset %}
{% set helpText %}{% trans "The Email Address for this user." %}{% endset %}
{{ forms.email("email", title, "", helpText) }}
{% set title %}{% trans "User Type" %}{% endset %}
{% set helpText %}{% trans "What is this users type?" %}{% endset %}
{{ forms.dropdown("userTypeId", "single", title, options.defaultUserType, options.userTypes, "userTypeId", "userType", helpText) }}
{% set title %}{% trans "Library Quota" %}{% endset %}
{% set helpText %}{% trans "The quota that should be applied. Enter 0 for no quota." %}{% endset %}
<div class="form-group row">
<label class="col-sm-2 control-label" for="libraryQuota">{{ title }}</label>
<div class="col-sm-6">
<input class="form-control" name="libraryQuota" type="number" id="libraryQuota" min="0" />
<span class="help-block">{{ helpText }}</span>
</div>
<div class="col-sm-4">
<select name="libraryQuotaUnits" class="form-control">
<option value="kb">KiB</option>
<option value="mb">MiB</option>
<option value="gb">GiB</option>
</select>
</div>
</div>
{% set attributes = [
{ name: "data-live-search", 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" },
{ name: "data-initial-value", value: options.defaultGroupId },
{ name: "data-selected-text-format", value: "count > 4" }
] %}
{% set title %}{% trans "Initial User Group" %}{% endset %}
{% set helpText %}{% trans "Select a User Group for this User so that they get access to the parts of the application they need." %}{% endset %}
{{ forms.dropdown("groupId", "single", title, null, [], "groupId", "group", helpText, "pagedSelect", "", "", "", attributes) }}
{{ forms.message("User Groups are an easy way to configure a set of features and sharing which can be applied to multiple users. After adding a User they can be assigned to multiple Groups or have individual sharing assigned to them directly."|trans, "card p-3 mb-3 bg-light") }}
{% set title %}{% trans "Homepage" %}{% endset %}
{% set helpText %}{% trans "Homepage for this user. This is the page they will be taken to when they login." %}{% endset %}
<div class="form-group row">
<label class="col-sm-2 control-label" for="homePageId">{{ title }}</label>
<div class="col-sm-10">
<select name="homePageId" class="form-control homepage-select" required data-search-url="{{ url_for("user.homepages.search") }}">
</select>
<span class="help-block">{{ helpText }}</span>
</div>
</div>
</div>
{% if currentUser.featureEnabled("folder.userHome") %}
<div class="tab-pane" id="home-folder">
<p>{{ "Set a home folder to use as the default folder for new content."|trans }}</p>
{{ forms.hidden("homeFolderId", 1) }}
<div id="container-form-folder-tree" class="card card-body bg-light"></div>
</div>
{% endif %}
<div class="tab-pane" id="reference">
{% set title %}{% trans "First Name" %}{% endset %}
{% set helpText %}{% trans "The User's First Name." %}{% endset %}
{{ forms.input("firstName", title, "", helpText, "", "maxlength='254'") }}
{% set title %}{% trans "Last Name" %}{% endset %}
{% set helpText %}{% trans "The User's Last Name." %}{% endset %}
{{ forms.input("lastName", title, "", helpText, "", "maxlength='254'") }}
{% set title %}{% trans "Phone Number" %}{% endset %}
{% set helpText %}{% trans "The User's Phone Number." %}{% endset %}
{{ forms.input("phone", title, "", helpText, "", "maxlength='254'") }}
{% set title %}{% trans "Reference 1" %}{% endset %}
{% set helpText %}{% trans "A reference field for custom user data" %}{% endset %}
{{ forms.input("ref1", title, "", helpText, "", "maxlength='254'") }}
{% set title %}{% trans "Reference 2" %}{% endset %}
{% set helpText %}{% trans "A reference field for custom user data" %}{% endset %}
{{ forms.input("ref2", title, "", helpText, "", "maxlength='254'") }}
{% set title %}{% trans "Reference 3" %}{% endset %}
{% set helpText %}{% trans "A reference field for custom user data" %}{% endset %}
{{ forms.input("ref3", title, "", helpText, "", "maxlength='254'") }}
{% set title %}{% trans "Reference 4" %}{% endset %}
{% set helpText %}{% trans "A reference field for custom user data" %}{% endset %}
{{ forms.input("ref4", title, "", helpText, "", "maxlength='254'") }}
{% set title %}{% trans "Reference 5" %}{% endset %}
{% set helpText %}{% trans "A reference field for custom user data" %}{% endset %}
{{ forms.input("ref5", title, "", helpText, "", "maxlength='254'") }}
</div>
{% if currentUser.userTypeId == 1 %}
<div class="tab-pane" id="notifications">
{% set title %}{% trans "Receive System Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive system notifications?" %}{% endset %}
{{ forms.checkbox("isSystemNotification", title, 0, helpText) }}
{% set title %}{% trans "Receive Display Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive Display notifications for Displays they have permission to see?" %}{% endset %}
{{ forms.checkbox("isDisplayNotification", title, 0, helpText) }}
{% set title %}{% trans "Receive DataSet Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive DataSet notification emails?" %}{% endset %}
{{ forms.checkbox("isDataSetNotification", title, 0, helpText) }}
{% set title %}{% trans "Receive Layout Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive Layout notification emails?" %}{% endset %}
{{ forms.checkbox("isLayoutNotification", title, 0, helpText) }}
{% set title %}{% trans "Receive Library Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive Library notification emails?" %}{% endset %}
{{ forms.checkbox("isLibraryNotification", title, 0, helpText) }}
{% set title %}{% trans "Receive Report Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive Report notification emails?" %}{% endset %}
{{ forms.checkbox("isReportNotification", title, 0, helpText) }}
{% set title %}{% trans "Receive Schedule Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive Schedule notification emails?" %}{% endset %}
{{ forms.checkbox("isScheduleNotification", title, 0, helpText) }}
{% set title %}{% trans "Receive Custom Notifications?" %}{% endset %}
{% set helpText %}{% trans "Should this User receive notifications emails for Notifications manually created in CMS?" %}{% endset %}
{{ forms.checkbox("isCustomNotification", title, 0, helpText) }}
</div>
{% endif %}
<div class="tab-pane" id="optionsTab">
{% set title %}{% trans "Hide navigation?" %}{% endset %}
{% set helpText %}{% trans "Should the navigation side bar be hidden for this User?" %}{% endset %}
{{ forms.checkbox("hideNavigation", title, 0, helpText) }}
{% set title %}{% trans "Hide User Guide?" %}{% endset %}
{% set helpText %}{% trans "Should this User see the new user guide when they log in?" %}{% endset %}
{{ forms.checkbox("newUserWizard", title, 0, helpText) }}
{% set title %}{% trans "Force Password Change" %}{% endset %}
{% set helpText %}{% trans "Should this User be forced to change password next time they log in?" %}{% endset %}
{{ forms.checkbox("isPasswordChangeRequired", title, 0, helpText) }}
</div>
</div>
</form>
</div>
</div>
{% endblock %}