summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-09 16:01:32 +0200
committerSimon Rettberg2019-04-09 16:01:32 +0200
commit6da3135cc0b3eb420ed2605a4ca1601bdd8bcfc2 (patch)
tree9ce19abb8844b701f43bdc54b2566c14590b4f2a
parent[statistics] Don't center roomplan (diff)
downloadslx-admin-6da3135cc0b3eb420ed2605a4ca1601bdd8bcfc2.tar.gz
slx-admin-6da3135cc0b3eb420ed2605a4ca1601bdd8bcfc2.tar.xz
slx-admin-6da3135cc0b3eb420ed2605a4ca1601bdd8bcfc2.zip
[sysconfig] Add option to toggle no homedir warnings
-rw-r--r--modules-available/sysconfig/addmodule_adauth.inc.php5
-rw-r--r--modules-available/sysconfig/addmodule_ldapauth.inc.php5
-rw-r--r--modules-available/sysconfig/inc/configmodulebaseldap.inc.php3
-rw-r--r--modules-available/sysconfig/lang/de/template-tags.json5
-rw-r--r--modules-available/sysconfig/lang/en/template-tags.json5
-rw-r--r--modules-available/sysconfig/templates/ad_ldap-homedir.html11
6 files changed, 29 insertions, 5 deletions
diff --git a/modules-available/sysconfig/addmodule_adauth.inc.php b/modules-available/sysconfig/addmodule_adauth.inc.php
index fa2f5258..80b7cff1 100644
--- a/modules-available/sysconfig/addmodule_adauth.inc.php
+++ b/modules-available/sysconfig/addmodule_adauth.inc.php
@@ -13,7 +13,7 @@ class AdAuth_Start extends AddModule_Base
protected function renderInternal()
{
- $ADAUTH_COMMON_FIELDS = array('title', 'server', 'searchbase', 'binddn', 'bindpw', 'home', 'homeattr', 'ssl', 'fixnumeric', 'genuid', 'certificate', 'mapping');
+ $ADAUTH_COMMON_FIELDS = array('title', 'server', 'searchbase', 'binddn', 'bindpw', 'home', 'homeattr', 'ssl', 'fixnumeric', 'genuid', 'certificate', 'mapping', 'nohomewarn');
$data = array();
if ($this->edit !== false) {
moduleToArray($this->edit, $data, $ADAUTH_COMMON_FIELDS);
@@ -444,6 +444,7 @@ class AdAuth_HomeDir extends AddModule_Base
foreach (['shareDomain', 'shareHomeMountOpts', 'ldapAttrMountOpts'] as $key) {
$data[$key] = $this->edit->getData($key);
}
+ $data['nohomewarn_' . (int)$this->edit->getData('nohomewarn')] = 'selected';
} else {
$data['shareDownloads_c'] = $data['shareMedia_c'] = $data['shareDocuments_c'] = $data['shareRemapCreate_c'] = 'checked="checked"';
$data['shareRemapMode_1'] = 'selected="selected"';
@@ -482,7 +483,7 @@ class AdAuth_Finish extends AddModule_Base
else
$module = $this->edit;
$ssl = Request::post('ssl', 'off') === 'on';
- foreach (['searchbase', 'binddn', 'server', 'bindpw', 'home', 'homeattr', 'certificate', 'fixnumeric', 'genuid',
+ foreach (['searchbase', 'binddn', 'server', 'bindpw', 'home', 'nohomewarn', 'homeattr', 'certificate', 'fixnumeric', 'genuid',
'ldapAttrMountOpts', 'shareHomeMountOpts'] as $key) {
$module->setData($key, Request::post($key, '', 'string'));
}
diff --git a/modules-available/sysconfig/addmodule_ldapauth.inc.php b/modules-available/sysconfig/addmodule_ldapauth.inc.php
index 126a6549..6d612e9e 100644
--- a/modules-available/sysconfig/addmodule_ldapauth.inc.php
+++ b/modules-available/sysconfig/addmodule_ldapauth.inc.php
@@ -9,7 +9,7 @@ class LdapAuth_Start extends AddModule_Base
protected function renderInternal()
{
- $LDAPAUTH_COMMON_FIELDS = array('title', 'server', 'searchbase', 'binddn', 'bindpw', 'home', 'homeattr', 'ssl', 'fixnumeric', 'genuid', 'certificate', 'mapping');
+ $LDAPAUTH_COMMON_FIELDS = array('title', 'server', 'searchbase', 'binddn', 'bindpw', 'home', 'homeattr', 'ssl', 'fixnumeric', 'genuid', 'certificate', 'mapping', 'nohomewarn');
$data = array();
if ($this->edit !== false) {
moduleToArray($this->edit, $data, $LDAPAUTH_COMMON_FIELDS);
@@ -213,6 +213,7 @@ class LdapAuth_HomeDir extends AddModule_Base
foreach (['shareDomain', 'shareHomeMountOpts', 'ldapAttrMountOpts'] as $key) {
$data[$key] = $this->edit->getData($key);
}
+ $data['nohomewarn_' . (int)$this->edit->getData('nohomewarn')] = 'selected';
} else {
$data['shareDownloads_c'] = $data['shareMedia_c'] = $data['shareDocuments_c'] = $data['shareRemapCreate_c'] = 'checked="checked"';
$data['shareRemapMode_1'] = 'selected="selected"';
@@ -251,7 +252,7 @@ class LdapAuth_Finish extends AddModule_Base
else
$module = $this->edit;
$ssl = Request::post('ssl', 'off') === 'on';
- foreach (['searchbase', 'binddn', 'server', 'bindpw', 'home', 'certificate', 'fixnumeric', 'genuid',
+ foreach (['searchbase', 'binddn', 'server', 'bindpw', 'home', 'nohomewarn', 'certificate', 'fixnumeric', 'genuid',
'ldapAttrMountOpts', 'shareHomeMountOpts'] as $key) {
$module->setData($key, Request::post($key, '', 'string'));
}
diff --git a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
index 9364c2e3..ad3d32c5 100644
--- a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
+++ b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php
@@ -9,7 +9,7 @@ abstract class ConfigModuleBaseLdap extends ConfigModule
private static $OPTIONAL_FIELDS = array('binddn', 'bindpw', 'home', 'ssl', 'fixnumeric', 'fingerprint', 'certificate', 'homeattr',
'shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop', 'shareMedia',
'shareOther', 'shareHomeDrive', 'shareDomain', 'credentialPassthrough', 'mapping', 'genuid',
- 'ldapAttrMountOpts', 'shareHomeMountOpts');
+ 'ldapAttrMountOpts', 'shareHomeMountOpts', 'nohomewarn');
public static function getMapping($config = false, &$empty = true)
{
@@ -68,6 +68,7 @@ abstract class ConfigModuleBaseLdap extends ConfigModule
$config['fixnumeric'] = 's';
}
$config['genuid'] = isset($config['genuid']) && !empty($config['genuid']);
+ $config['nohomewarn'] = isset($config['nohomewarn']) ? (int)$config['nohomewarn'] : 0;
$this->preTaskmanagerHook($config);
$task = Taskmanager::submit('CreateLdapConfig', $config);
if (is_array($task) && isset($task['id'])) {
diff --git a/modules-available/sysconfig/lang/de/template-tags.json b/modules-available/sysconfig/lang/de/template-tags.json
index 2a7a02d6..7554179c 100644
--- a/modules-available/sysconfig/lang/de/template-tags.json
+++ b/modules-available/sysconfig/lang/de/template-tags.json
@@ -57,6 +57,9 @@
"lang_helpSystemConfiguration": "\u00dcber eine Systemkonfiguration wird die grundlegende Lokalisierung des bwLehrpool-Systems durchgef\u00fchrt. Dazu geh\u00f6ren Aspekte wie das Authentifizierungsverfahren f\u00fcr Benutzer (z.B. Active Directory, LDAP), Druckerkonfiguration, Home-Verzeichnisse, etc. Eine Systemkonfiguration setzt sich aus einem oder mehreren Konfigurationsmodulen zusammen, welche im angrenzenden Panel verwaltet werden k\u00f6nnen.",
"lang_homeAttributeExplanation": "Bitte w\u00e4hlen Sie das Attribut, welches das Home-Verzeichnis der User enth\u00e4lt.",
"lang_homeFallback": "Home-Fallback",
+ "lang_homeWarnAlways": "Immer warnen",
+ "lang_homeWarnNever": "Niemals warnen",
+ "lang_homeWarnNotDemo": "Bei allen Nutzern au\u00dfer \"demo\" warnen",
"lang_homedirHandling": "(Home-)Verzeichnis Einbindung",
"lang_inheritFromParentLoc": "Von \u00fcbergeordnetem Ort erben",
"lang_ldapAttrMountOpts": "LDAP-Attribut f\u00fcr Mount-Optionen",
@@ -80,6 +83,8 @@
"lang_newModule": "Neues Modul",
"lang_noContent": "Kein Inhalt!",
"lang_noHomeAttrFound": "Konnte kein Attribut finden, dass das Home-Verzeichnis zu enthalten scheint. Bitte manuell festlegen, wenn Einbindung gew\u00fcnscht.",
+ "lang_noHomeWarn": "Falls kein Home-Verzeichnis in VM",
+ "lang_noHomeWarnNote": "Standardm\u00e4\u00dfig wird dem Nutzer eine Nachricht angezeigt, wenn innerhalb der VM kein Home-Verzeichnis eingebunden werden konnte. Sie k\u00f6nnen diese Meldung hier komplett deaktivieren.",
"lang_noModuleOfType": "Kein Modul dieser Art vorhanden.",
"lang_noOpenPort": "Auf dem angegebenen Server wurde kein offener Port gefunden.",
"lang_noValidCert": "Der Server besitzt kein oder ein nicht valides Zertifikat.",
diff --git a/modules-available/sysconfig/lang/en/template-tags.json b/modules-available/sysconfig/lang/en/template-tags.json
index fb02cf42..9d34b76d 100644
--- a/modules-available/sysconfig/lang/en/template-tags.json
+++ b/modules-available/sysconfig/lang/en/template-tags.json
@@ -57,6 +57,9 @@
"lang_helpSystemConfiguration": "The fundamental localization of the bwLehrpool system is done through a system configuration. These include aspects such as the authentication method for users (eg Active Directory, LDAP), printer configuration, home directories, etc. A system configuration is composed of one or more configuration modules, which can be managed in the panel next to this one.",
"lang_homeAttributeExplanation": "Please select the attribute which holds the user's home directory.",
"lang_homeFallback": "Home fallback",
+ "lang_homeWarnAlways": "Always warn",
+ "lang_homeWarnNever": "Never warn",
+ "lang_homeWarnNotDemo": "For everyone but \"demo\"",
"lang_homedirHandling": "(Home) directory handling",
"lang_inheritFromParentLoc": "Inherit from parent location",
"lang_ldapAttrMountOpts": "LDAP attribute containing mount options",
@@ -80,6 +83,8 @@
"lang_newModule": "New Module",
"lang_noContent": "No content!",
"lang_noHomeAttrFound": "No home directory attribute found. Please specify it manually if you need home directories.",
+ "lang_noHomeWarn": "If no home directory in VM..",
+ "lang_noHomeWarnNote": "By default, a message box will be shown to the user if no home directory could be mounted inside the VM. With this setting, you can stop the message from ever showing up.",
"lang_noModuleOfType": "No module of this type found.",
"lang_noOpenPort": "There is no open LDAP port on this server.",
"lang_noValidCert": "The server did not supply a certificate, or the certificate is invalid.",
diff --git a/modules-available/sysconfig/templates/ad_ldap-homedir.html b/modules-available/sysconfig/templates/ad_ldap-homedir.html
index e4fbf380..8a6c10de 100644
--- a/modules-available/sysconfig/templates/ad_ldap-homedir.html
+++ b/modules-available/sysconfig/templates/ad_ldap-homedir.html
@@ -76,6 +76,17 @@
<p><i>{{lang_mountOptionsNote}}</i></p>
</div>
</div>
+ <div class="form-group row">
+ <label for="inputnohomewarn" class="control-label col-xs-4">{{lang_noHomeWarn}}</label>
+ <div class="col-xs-8">
+ <select class="form-control" id="inputnohomewarn" name="nohomewarn">
+ <option value="0" {{nohomewarn_0}}>{{lang_homeWarnAlways}}</option>
+ <option value="1" {{nohomewarn_1}}>{{lang_homeWarnNever}}</option>
+ <!-- Doesn't make any sense... option value="2" {{nohomewarn_2}}>{{lang_homeWarnNotDemo}}</option -->
+ </select>
+ <p><i>{{lang_noHomeWarnNote}}</i></p>
+ </div>
+ </div>
<hr>
<div class="slx-bold">{{lang_folderRedirection}}</div>