sftpgo/templates/webadmin/base.html
Nicola Murino 3f479c5537
WIP new WebAdmin: roles page
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
2024-01-21 16:49:04 +01:00

278 lines
No EOL
12 KiB
HTML

<!--
Copyright (C) 2024 Nicola Murino
This WebUI uses the KeenThemes Mega Bundle, a proprietary theme:
https://keenthemes.com/products/templates-mega-bundle
KeenThemes HTML/CSS/JS components are allowed for use only within the
SFTPGo product and restricted to be used in a resealable HTML template
that can compete with KeenThemes products anyhow.
This WebUI is allowed for use only within the SFTPGo product and
therefore cannot be used in derivative works/products without an
explicit grant from the SFTPGo Team (support@sftpgo.com).
-->
{{- define "navitems"}}
{{- block "additionalnavitems" .}}{{- end}}
{{- template "theme-switcher"}}
<div class="d-flex align-items-center ms-2 ms-lg-3">
<div class="btn btn-icon btn-active-light-primary w-35px h-35px w-md-40px h-md-40px" data-kt-menu-trigger="{default:'click', lg: 'hover'}" data-kt-menu-attach="parent" data-kt-menu-placement="bottom-end">
<i class="ki-duotone ki-user fs-2">
<i class="path1"></i>
<i class="path2"></i>
</i>
</div>
<div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-title-gray-700 menu-icon-gray-500 menu-active-bg menu-state-color fw-semibold py-4 w-250px" data-kt-menu="true">
<div class="menu-item px-3 my-0">
<div class="menu-content d-flex align-items-center px-3 py-2">
<div class="me-5">
<i class="ki-duotone ki-user fs-2">
<i class="path1"></i>
<i class="path2"></i>
</i>
</div>
<div class="d-flex flex-column">
<div class="fw-semibold d-flex align-items-center fs-5">
<span class="w-175px wrap-word">{{.LoggedUser.Username}}</span>
</div>
</div>
</div>
</div>
<div class="separator my-2"></div>
{{if not .HasExternalLogin}}
<div class="menu-item px-3 my-0">
<a href="{{.ProfileURL}}" class="menu-link px-3 py-2">
<span data-i18n="title.profile" class="menu-title">Profile</span>
</a>
</div>
<div class="menu-item px-3 my-0">
<a href="{{.ChangePwdURL}}" class="menu-link px-3 py-2">
<span data-i18n="title.change_password" class="menu-title">Change password</span>
</a>
</div>
{{if .LoggedUser.CanManageMFA}}
<div class="menu-item px-3 my-0">
<a href="{{.MFAURL}}" class="menu-link px-3 py-2">
<span data-i18n="title.two_factor_auth" class="menu-title">Two-factor authentication</span>
</a>
</div>
{{- end}}
{{- end}}
<div class="menu-item px-3 my-0">
<a id="id_logout_link" href="#" class="menu-link px-3 py-2">
<span data-i18n="login.signout" class="menu-title">Sign out</span>
</a>
</div>
</div>
</div>
{{- end}}
{{- define "sidebaritems"}}
{{- if .LoggedUser.HasPermission "view_users"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .UsersURL}} active{{- end}}" href="{{.UsersURL}}">
<span class="menu-icon">
<i class="ki-duotone ki-people fs-1">
<span class="path1"></span>
<span class="path2"></span>
<span class="path3"></span>
<span class="path4"></span>
<span class="path5"></span>
</i>
</span>
<span data-i18n="title.users" class="menu-title">Users</span>
</a>
</div>
{{- end}}
{{- if .LoggedUser.HasPermission "manage_groups"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .GroupsURL}} active{{- end}}" href="{{.GroupsURL}}">
<span class="menu-icon">
<i class="ki-duotone ki-profile-user fs-1">
<span class="path1"></span>
<span class="path2"></span>
<span class="path3"></span>
<span class="path4"></span>
</i>
</span>
<span data-i18n="title.groups" class="menu-title">Groups</span>
</a>
</div>
{{- end}}
{{- if .LoggedUser.HasPermission "manage_folders"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .FoldersURL}} active{{- end}}" href="{{.FoldersURL}}">
<span class="menu-icon">
<i class="ki-duotone ki-folder fs-1">
<span class="path1"></span>
<span class="path2"></span>
</i>
</span>
<span data-i18n="title.folders" class="menu-title">Folders</span>
</a>
</div>
{{- end}}
{{- if .LoggedUser.HasPermission "view_conns"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .ConnectionsURL}} active{{- end}}" href="{{.ConnectionsURL}}">
<span class="menu-icon">
<i class="ki-duotone ki-arrow-up-down fs-1">
<span class="path1"></span>
<span class="path2"></span>
</i>
</span>
<span data-i18n="title.connections" class="menu-title">Connections</span>
</a>
</div>
{{- end}}
{{ if .LoggedUser.HasPermission "manage_event_rules"}}
<div data-kt-menu-trigger="click" class="menu-item menu-accordion {{- if .IsEventManagerPage}} here show{{- end}}">
<span class="menu-link">
<span class="menu-icon">
<i class="ki-duotone ki-calendar fs-1">
<span class="path1"></span>
<span class="path2"></span>
</i>
</span>
<span data-i18n="title.event_manager" class="menu-title">Event Manager</span>
<span class="menu-arrow"></span>
</span>
<div class="menu-sub menu-sub-accordion">
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .EventRulesURL}} active{{- end}}" href="{{.EventRulesURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.event_rules" class="menu-title fs-5 fw-semibold">Rules</span>
</a>
</div>
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .EventActionsURL}} active{{- end}}" href="{{.EventActionsURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.event_actions" class="menu-title fs-5 fw-semibold">Actions</span>
</a>
</div>
</div>
</div>
{{- end}}
{{- if or (.LoggedUser.HasPermission "manage_ip_lists") (and .HasDefender (.LoggedUser.HasPermission "view_defender"))}}
<div data-kt-menu-trigger="click" class="menu-item menu-accordion {{- if .IsIPManagerPage}} here show{{- end}}">
<span class="menu-link">
<span class="menu-icon">
<i class="ki-solid ki-shield fs-1"></i>
</span>
<span data-i18n="title.ip_manager" class="menu-title">IP Manager</span>
<span class="menu-arrow"></span>
</span>
<div class="menu-sub menu-sub-accordion">
{{- if .LoggedUser.HasPermission "manage_ip_lists"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .IPListsURL}} active{{- end}}" href="{{.IPListsURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.ip_lists" class="menu-title fs-5 fw-semibold">IP lists</span>
</a>
</div>
{{- end}}
{{- if and .HasDefender (.LoggedUser.HasPermission "view_defender")}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .DefenderURL}} active{{- end}}" href="{{.DefenderURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.defender" class="menu-title fs-5 fw-semibold">Auto Blocklist</span>
</a>
</div>
{{- end}}
</div>
</div>
{{- end}}
{{- if or (.LoggedUser.HasPermission "manage_system") (.LoggedUser.HasPermission "view_status") (and .HasSearcher (.LoggedUser.HasPermission "view_events"))}}
<div data-kt-menu-trigger="click" class="menu-item menu-accordion {{- if .IsServerManagerPage}} here show{{- end}}">
<span class="menu-link">
<span class="menu-icon">
<i class="ki-duotone ki-setting-3 fs-1">
<span class="path1"></span>
<span class="path2"></span>
<span class="path3"></span>
<span class="path4"></span>
<span class="path5"></span>
</i>
</span>
<span data-i18n="title.server_manager" class="menu-title">Server Manager</span>
<span class="menu-arrow"></span>
</span>
<div class="menu-sub menu-sub-accordion">
{{- if .LoggedUser.HasPermission "manage_system"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .ConfigsURL}} active{{- end}}" href="{{.ConfigsURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.configs" class="menu-title fs-5 fw-semibold">Configurations</span>
</a>
</div>
{{- end}}
{{ if and .HasSearcher (.LoggedUser.HasPermission "view_events")}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .EventsURL}} active{{- end}}" href="{{.EventsURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.logs" class="menu-title fs-5 fw-semibold">Logs</span>
</a>
</div>
{{- end}}
{{- if .LoggedUser.HasPermission "manage_system"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .MaintenanceURL}} active{{- end}}" href="{{.MaintenanceURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.maintenance" class="menu-title fs-5 fw-semibold">Maintenance</span>
</a>
</div>
{{- end}}
{{- if .LoggedUser.HasPermission "view_status"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .StatusURL}} active{{- end}}" href="{{.StatusURL}}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span data-i18n="title.status" class="menu-title fs-5 fw-semibold">Status</span>
</a>
</div>
{{- end}}
</div>
</div>
{{- end}}
{{- if .LoggedUser.HasPermission "manage_admins"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .AdminsURL}} active{{- end}}" href="{{.AdminsURL}}">
<span class="menu-icon">
<i class="ki-solid ki-security-user fs-1"></i>
</span>
<span data-i18n="title.admins" class="menu-title">Admins</span>
</a>
</div>
{{- end}}
{{- if .LoggedUser.HasPermission "manage_roles"}}
<div class="menu-item">
<a class="menu-link {{- if eq .CurrentURL .RolesURL}} active{{- end}}" href="{{.RolesURL}}">
<span class="menu-icon">
<i class="ki-duotone ki-user-tick fs-1">
<span class="path1"></span>
<span class="path2"></span>
<span class="path3"></span>
</i>
</span>
<span data-i18n="title.roles" class="menu-title">Roles</span>
</a>
</div>
{{- end}}
{{- end}}