ca880f6cbb
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
286 lines
No EOL
12 KiB
HTML
286 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="click" 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-duotone ki-security-check fs-1">
|
|
<span class="path1"></span>
|
|
<span class="path2"></span>
|
|
<span class="path3"></span>
|
|
<span class="path4"></span>
|
|
</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 .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-duotone ki-security-user fs-1">
|
|
<span class="path1"></span>
|
|
<span class="path2"></span>
|
|
</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}}
|
|
{{- 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}}
|
|
|
|
{{- end}} |