docs: replace the images relating to the old theme

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
Nicola Murino 2024-02-18 19:31:37 +01:00
parent aaf310ffff
commit e5fc1bd574
No known key found for this signature in database
GPG key ID: 935D2952DEC4EECF
58 changed files with 60 additions and 44 deletions

View file

@ -36,7 +36,7 @@ Before you can use SFTPGo you need to create an admin account, so open [http://1
![Setup](./img/setup.png)
After creating the admin account you will be automatically logged in.
After creating the admin account you will be automatically logged in and redirected to the page to set up two-factor authentication. Setting up two-factor authentication is optional.
![Users list](./img/initial-screen.png)
@ -57,7 +57,7 @@ Let's create our first local user:
- from the `Users` page click the `+` icon to open the `Add user page`
- the only required fields are the `Username` and a `Password` or a `Public key`
- if you are on Windows or you installed SFTPGo manually and no `users_base_dir` is defined in your configuration file you also have to set a `Home Dir`. It must be an absolute path, for example `/srv/sftpgo/data/username` on Linux or `C:\sftpgo\data\username` on Windows. SFTPGo will try to automatically create the home directory, if missing, when the user logs in. Each user can only access files and folders inside its home directory.
- click `Submit`
- click `Save`
![Add user](./img/add-user.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -41,10 +41,12 @@ Each admin can view/change his/her two-factor authentication by selecting the `T
![Admin 2FA](./img/admin-2FA.png)
Then select a configuration and click "Generate new secret". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Verify and save".
Then select a configuration and click "Generate new secret key". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Save".
![Enable 2FA](./img/admin-save-2FA.png)
Then save the configuration.
SFTPGo automatically generates some recovery codes. They are a set of one time use codes that can be used in place of the TOTP to login to the web UI. You can use them if you lose access to your phone to login to your account and disable or regenerate TOTP configuration.
2FA is now enabled, so the next time you login with this admin you have to provide a valid authentication code after your password.
@ -82,10 +84,12 @@ HTTP protocol means Web UI and REST APIs. Web UI will ask for the passcode using
FTP has no standard way to support two factor authentication, if you enable the FTP protocol, you have to add the TOTP passcode after the password. For example if your password is "password" and your one time passcode is "123456" you have to use "password123456" as password.
To enable 2FA select the wanted protocols, a configuration and click "Generate new secret". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Verify and save".
To enable 2FA select the wanted protocols, a configuration and click "Generate new secret key". A QR code will be generated which you can scan with a compatible app. After you configured your app, enter a test code to ensure everything works correctly and click on "Save".
![Enable 2FA](./img/user-save-2FA.png)
Then save the configuration.
SFTPGo automatically generates some recovery codes. They are a set of one time use codes that can be used in place of the TOTP to login to the web UI. You can use them if you lose access to your phone to login to your account and disable or regenerate TOTP configuration.
2FA is now enabled, so the next time you login with this user you have to provide a valid authentication code after your password.

View file

@ -167,7 +167,7 @@
"api_key_auth": "API key authentication",
"api_key_auth_help": "Allow to impersonate yourself, in REST API, using an API key",
"pub_keys": "Public keys",
"pub_key_placeholder": "Paste your public key here",
"pub_key_placeholder": "Paste a public key here",
"verify": "Verify",
"problems": "Having problems?",
"allowed_ip_mask": "Allowed IP/Mask",
@ -522,7 +522,7 @@
"expires_in": "Expires in",
"expires_in_help": "Account expiration as number of days from the creation. 0 means no expiration",
"tls_certs": "TLS certificates",
"tls_cert_help": "Paste your PEM encoded TLS certificate here",
"tls_cert_help": "Paste a PEM encoded TLS certificate here",
"tls_cert_invalid": "Invalid TLS certificate",
"template_title": "Create one or more new users from this template",
"template_username_placeholder": "replaced with the specified username",
@ -533,7 +533,8 @@
},
"group": {
"view_manage": "View and manage groups",
"err_delete_referenced": "Cannot delete a group with associated users, remove associations first"
"err_delete_referenced": "Cannot delete a group with associated users, remove associations first",
"help": "The %username% placeholder will be replaced with the username of the associated users"
},
"virtual_folders": {
"view_manage": "View and manage virtual folders",

View file

@ -167,7 +167,7 @@
"api_key_auth": "Autenticazione mediante chiave API",
"api_key_auth_help": "Permetti di impersonarti nelle API REST utilizzando una chiave API",
"pub_keys": "Chiavi pubbliche",
"pub_key_placeholder": "Incolla qui la tua chiave pubblica",
"pub_key_placeholder": "Incolla qui una chiave pubblica",
"verify": "Verifica",
"problems": "Hai problemi?",
"allowed_ip_mask": "IP/Reti permesse",
@ -522,7 +522,7 @@
"expires_in": "Scadenza",
"expires_in_help": "Scadenza dell'account espressa in numero di giorni dalla creazione. 0 significa nessuna scadenza",
"tls_certs": "Certificati TLS",
"tls_cert_help": "Incolla qui il tuo certificato TLS codificato PEM",
"tls_cert_help": "Incolla qui un tuo certificato TLS codificato PEM",
"tls_cert_invalid": "Certificato TLS non valido",
"template_title": "Crea uno o più nuovi utenti da questo modello",
"template_username_placeholder": "sostituito con il nome utente specificato",
@ -533,7 +533,8 @@
},
"group": {
"view_manage": "Visualizza e gestisci gruppi",
"err_delete_referenced": "Impossibile eliminare un gruppo con utenti associati, rimuovere prima le associazioni"
"err_delete_referenced": "Impossibile eliminare un gruppo con utenti associati, rimuovere prima le associazioni",
"help": "Il segnaposto %username% verrà sostituito con il nome utente degli utenti associati"
},
"virtual_folders": {
"view_manage": "Visualizza e gestisci cartelle virtuali",

View file

@ -732,6 +732,16 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
{{- end}}
{{- define "infomsg"}}
<div class="notice d-flex bg-light-primary rounded border-primary border border-dashed p-4 mb-10">
<div class="d-flex flex-stack flex-grow-1">
<div class="fs-5 fw-semibold text-break text-wrap text-gray-800">
<span data-i18n="{{.}}"></span>
</div>
</div>
</div>
{{- end}}
{{- define "infomsg-no-mb"}}
<div class="notice d-flex bg-light-primary rounded border-primary border border-dashed p-4">
<div class="d-flex flex-stack flex-grow-1">
<div class="fs-5 fw-semibold text-break text-wrap text-gray-800">

View file

@ -21,11 +21,10 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
<h3 data-i18n="title.change_password" class="card-title section-title">Change password</h3>
</div>
<div class="card-body">
{{template "infomsg" "change_pwd.info"}}
{{- template "infomsg" "change_pwd.info"}}
{{- template "errmsg" .Error}}
<form id="change_pwd_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
<div class="form-group row mt-10">
<div class="form-group row">
<label data-i18n="change_pwd.current" class="col-md-3 col-form-label required">Current password</label>
<div class="col-md-9">
<div class="position-relative" data-password-control="container">

View file

@ -69,8 +69,8 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
<h3 data-i18n="general.role" class="card-title section-title-inner">Role</h3>
</div>
<div class="card-body">
{{template "infomsg" "admin.role_help"}}
<div class="form-group row mt-10">
{{- template "infomsg" "admin.role_help"}}
<div class="form-group row">
<label for="idRole" data-i18n="general.role" class="col-md-3 col-form-label">Role</label>
<div class="col-md-9">
<select id="idRole" name="role" data-i18n="[data-placeholder]general.role_placeholder" class="form-select" data-control="i18n-select2" data-placeholder="Select a role" data-allow-clear="true">
@ -92,7 +92,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="groups">
{{template "infomsg" "admin.users_groups_help"}}
{{- template "infomsg-no-mb" "admin.users_groups_help"}}
<div class="form-group">
<div data-repeater-list="groups">
{{range $idx, $val := .Admin.Groups}}
@ -181,9 +181,9 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
<h3 data-i18n="admin.user_page_pref" class="card-title section-title-inner">User page preferences</h3>
</div>
<div class="card-body">
{{template "infomsg" "admin.user_page_pref_help"}}
{{- template "infomsg" "admin.user_page_pref_help"}}
<div class="form-group row mt-10">
<div class="form-group row">
<label for="idUserPageHiddenSections" data-i18n="admin.hide_sections" class="col-md-3 col-form-label">Hide sections</label>
<div class="col-md-9">
<select id="idUserPageHiddenSections" name="user_page_hidden_sections" class="form-select" data-control="i18n-select2" data-hide-search="true" data-close-on-select="false" multiple>

View file

@ -31,10 +31,10 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</h2>
<div id="accordion_sftp_body" class="accordion-collapse collapse {{if eq .ConfigSection 1}}show{{end}}" aria-labelledby="accordion_header_sftp" data-bs-parent="#accordion_configs">
<div class="accordion-body">
{{template "infomsg" "sftp.help"}}
{{- template "infomsg" "sftp.help"}}
<form id="configs_sftp_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
<div class="form-group row mt-10">
<div class="form-group row">
<label for="idHostKeyAlgos" data-i18n="sftp.host_key_algos" class="col-md-3 col-form-label">
Host Key Algos
</label>
@ -126,11 +126,11 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</h2>
<div id="accordion_acme_body" class="accordion-collapse collapse {{if eq .ConfigSection 2}}show{{end}}" aria-labelledby="accordion_header_acme" data-bs-parent="#accordion_configs">
<div class="accordion-body">
{{template "infomsg" "acme.help"}}
{{- template "infomsg" "acme.help"}}
<form id="configs_acme_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
<div class="form-group row mt-10">
<div class="form-group row">
<label for="idACMEDomain" data-i18n="general.domain" class="col-md-3 col-form-label">Domain</label>
<div class="col-md-9">
<input id="idACMEDomain" type="text" class="form-control" name="acme_domain" value="{{.Configs.ACME.Domain}}" aria-describedby="idACMEDomainHelp" />
@ -195,11 +195,11 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</h2>
<div id="accordion_smtp_body" class="accordion-collapse collapse {{if eq .ConfigSection 3}}show{{end}}" aria-labelledby="accordion_header_smtp" data-bs-parent="#accordion_configs">
<div class="accordion-body">
{{template "infomsg" "smtp.help"}}
{{- template "infomsg" "smtp.help"}}
<form id="configs_smtp_form" action="{{.CurrentURL}}" method="POST" autocomplete="off">
<div class="form-group row mt-10">
<div class="form-group row">
<label for="idSMTPHost" data-i18n="smtp.host" class="col-md-3 col-form-label">Server name</label>
<div class="col-md-5">
<input id="idSMTPHost" type="text" class="form-control" name="smtp_host" value="{{.Configs.SMTP.Host}}" maxlength="512" spellcheck="false" aria-describedby="idSMTPHostHelp" />

View file

@ -295,7 +295,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="multipart_body">
{{template "infomsg" "actions.multipart_body_help"}}
{{- template "infomsg-no-mb" "actions.multipart_body_help"}}
<div class="form-group">
<div data-repeater-list="multipart_body">
{{- range $idx, $val := .Action.Options.HTTPConfig.Parts}}
@ -411,7 +411,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="env_vars">
{{template "infomsg" "actions.command_env_vars_help"}}
{{- template "infomsg-no-mb" "actions.command_env_vars_help"}}
<div class="form-group">
<div data-repeater-list="env_vars">
{{- range $idx, $val := .Action.Options.CmdConfig.EnvVars}}
@ -536,7 +536,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="data_retention">
{{template "infomsg" "actions.data_retention_help"}}
{{- template "infomsg-no-mb" "actions.data_retention_help"}}
<div class="form-group">
<div data-repeater-list="data_retention">
{{- range $idx, $val := .Action.Options.RetentionConfig.Folders}}
@ -632,7 +632,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="fs_rename">
{{template "infomsg" "actions.paths_src_dst_help"}}
{{- template "infomsg-no-mb" "actions.paths_src_dst_help"}}
<div class="form-group">
<div data-repeater-list="fs_rename">
{{- range $idx, $val := .Action.Options.FsConfig.Renames}}
@ -730,7 +730,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="fs_copy">
{{template "infomsg" "actions.paths_src_dst_help"}}
{{- template "infomsg-no-mb" "actions.paths_src_dst_help"}}
<div class="form-group">
<div data-repeater-list="fs_copy">
{{- range $idx, $val := .Action.Options.FsConfig.Copy}}

View file

@ -99,7 +99,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="schedules">
{{template "infomsg" "rules.scheduler_help"}}
{{- template "infomsg-no-mb" "rules.scheduler_help"}}
<div class="form-group">
<div data-repeater-list="schedules">
{{- range $idx, $val := .Rule.Conditions.Schedules}}
@ -219,7 +219,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="name_filters">
{{template "infomsg" "rules.name_filters_help"}}
{{- template "infomsg-no-mb" "rules.name_filters_help"}}
<div class="form-group">
<div data-repeater-list="name_filters">
{{- range $idx, $val := .Rule.Conditions.Options.Names}}
@ -296,7 +296,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="group_name_filters">
{{template "infomsg" "rules.group_name_filters_help"}}
{{- template "infomsg-no-mb" "rules.group_name_filters_help"}}
<div class="form-group">
<div data-repeater-list="group_name_filters">
{{- range $idx, $val := .Rule.Conditions.Options.GroupNames}}
@ -373,7 +373,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="role_name_filters">
{{template "infomsg" "rules.role_name_filters_help"}}
{{- template "infomsg-no-mb" "rules.role_name_filters_help"}}
<div class="form-group">
<div data-repeater-list="role_name_filters">
{{- range $idx, $val := .Rule.Conditions.Options.RoleNames}}
@ -450,7 +450,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="path_filters">
{{template "infomsg" "rules.path_filters_help"}}
{{- template "infomsg-no-mb" "rules.path_filters_help"}}
<div class="form-group">
<div data-repeater-list="path_filters">
{{- range $idx, $val := .Rule.Conditions.Options.FsPaths}}
@ -528,8 +528,8 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</h3>
</div>
<div class="card-body">
{{template "infomsg" "rules.file_size_limits_help"}}
<div class="form-group row mt-10">
{{- template "infomsg" "rules.file_size_limits_help"}}
<div class="form-group row">
<label for="idFsMinSize" data-i18n="rules.min_size" class="col-md-3 col-form-label">Min size</label>
<div class="col-md-3">
<input id="idFsMinSize" type="text" class="form-control" name="fs_min_size" value="{{HumanizeBytes .Rule.Conditions.Options.MinFileSize}}" />
@ -549,7 +549,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="actions">
{{template "infomsg" "rules.actions_help"}}
{{- template "infomsg-no-mb" "rules.actions_help"}}
<div class="form-group">
<div data-repeater-list="actions">
{{- range $idx, $val := .Rule.Actions}}

View file

@ -517,7 +517,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="directory_patterns">
{{template "infomsg" "filters.directory_patterns_help"}}
{{- template "infomsg-no-mb" "filters.directory_patterns_help"}}
<div class="form-group">
<div data-repeater-list="directory_patterns">
{{- range $idx, $pattern := .GetFlatFilePatterns -}}

View file

@ -21,6 +21,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
<h3 data-i18n="{{.Title}}" class="card-title section-title"></h3>
</div>
<div class="card-body">
{{- template "infomsg" "group.help"}}
{{- template "errmsg" .Error}}
<form id="group_form" enctype="multipart/form-data" action="{{.CurrentURL}}" method="POST" autocomplete="off">
@ -47,7 +48,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="virtual_folders">
{{template "infomsg" "user.virtual_folders_help"}}
{{- template "infomsg-no-mb" "user.virtual_folders_help"}}
<div class="form-group">
<div data-repeater-list="virtual_folders">
{{- range $idx, $val := .Group.VirtualFolders}}
@ -156,7 +157,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="directory_permissions">
{{template "infomsg" "filters.directory_permissions_help"}}
{{- template "infomsg-no-mb" "filters.directory_permissions_help"}}
<div class="form-group">
<div data-repeater-list="directory_permissions">
{{- range $idx, $dirPerms := .Group.GetPermissions -}}

View file

@ -216,8 +216,8 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
<h3 data-i18n="title.groups" class="card-title section-title-inner">Groups</h3>
</div>
<div class="card-body">
{{template "infomsg" "user.groups_help"}}
<div class="form-group row mt-10">
{{- template "infomsg" "user.groups_help"}}
<div class="form-group row">
<label for="idPrimaryGroup" data-i18n="user.primary_group" class="col-md-3 col-form-label">Primary group</label>
<div class="col-md-9">
<select id="idPrimaryGroup" name="primary_group" data-i18n="[data-placeholder]general.group_placeholder" class="form-select" data-control="i18n-select2" data-placeholder="Select a group" data-allow-clear="true">
@ -264,7 +264,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="virtual_folders">
{{template "infomsg" "user.virtual_folders_help"}}
{{- template "infomsg-no-mb" "user.virtual_folders_help"}}
<div class="form-group">
<div data-repeater-list="virtual_folders">
{{- range $idx, $val := .User.VirtualFolders}}
@ -443,7 +443,7 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
</div>
<div class="card-body">
<div id="directory_permissions">
{{template "infomsg" "filters.directory_permissions_help"}}
{{- template "infomsg-no-mb" "filters.directory_permissions_help"}}
<div class="form-group">
<div data-repeater-list="directory_permissions">
{{- range $idx, $dirPerms := .User.GetSubDirPermissions -}}