From c6744aac063482c4c48ed3a98d5cd8857e1261e6 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Sun, 4 Mar 2018 16:41:50 +0100 Subject: [sysconfig] Add permissions --- modules-available/sysconfig/page.inc.php | 38 ++++++++++++++++++---- .../sysconfig/permissions/permissions.json | 20 ++++++++++++ .../sysconfig/templates/list-configs.html | 21 +++++++++--- .../sysconfig/templates/list-modules.html | 24 +++++++++++--- 4 files changed, 86 insertions(+), 17 deletions(-) create mode 100644 modules-available/sysconfig/permissions/permissions.json (limited to 'modules-available/sysconfig') diff --git a/modules-available/sysconfig/page.inc.php b/modules-available/sysconfig/page.inc.php index 30271514..7bb3e599 100644 --- a/modules-available/sysconfig/page.inc.php +++ b/modules-available/sysconfig/page.inc.php @@ -59,7 +59,7 @@ class Page_SysConfig extends Page { User::load(); - if (!User::hasPermission('superadmin')) { + if (!User::isLoggedIn()) { Message::addError('main.no-permission'); Util::redirect('?do=Main'); } @@ -90,6 +90,7 @@ class Page_SysConfig extends Page // Action: "addmodule" (upload new module) if ($action === 'addmodule') { + User::assertPermission('module.edit'); $this->initAddModule(); AddModule_Base::preprocess(); } @@ -97,18 +98,22 @@ class Page_SysConfig extends Page if ($action === 'module') { // Action: "delmodule" (delete module) if (Request::post('del', 'no') !== 'no') { + User::assertPermission('module.edit'); $this->delModule(); } if (Request::post('download', 'no') !== 'no') { + User::assertPermission('module.download'); $this->downloadModule(); } if (Request::post('rebuild', 'no') !== 'no') { + User::assertPermission('module.edit'); $this->rebuildModule(); } } // Action: "addconfig" (compose config from one or more modules) if ($action === 'addconfig') { + User::assertPermission('config.edit'); $this->initAddConfig(); AddConfig_Base::preprocess(); } @@ -116,14 +121,17 @@ class Page_SysConfig extends Page if ($action === 'config') { // Action: "delconfig" (delete config) if (Request::post('del', 'no') !== 'no') { + User::assertPermission('config.edit'); $this->delConfig(); } // Action "activate" (set sysconfig as active) if (Request::post('activate', 'no') !== 'no') { + User::assertPermission('config.assign', $this->currentLoc); $this->activateConfig(); } // Action "rebuild" (rebuild config.tgz from its modules) if (Request::post('rebuild', 'no') !== 'no') { + User::assertPermission('config.edit'); $this->rebuildConfig(); } } @@ -141,15 +149,24 @@ class Page_SysConfig extends Page $action = Request::any('action', 'list'); switch ($action) { case 'addmodule': + User::assertPermission('module.edit'); AddModule_Base::render(); return; case 'addconfig': + User::assertPermission('config.edit'); AddConfig_Base::render(); return; case 'list': + $pMods = User::hasPermission('module.view-list'); + $pConfs = User::hasPermission('config.view-list'); + if (!($pMods || $pConfs)) { + Message::addError('main.no-permission'); + } Render::openTag('div', array('class' => 'row')); - $this->listConfigs(); - if ($this->currentLoc === 0) { + if ($pConfs) { + $this->listConfigs(); + } + if ($this->currentLoc === 0 && $pMods) { $this->listModules(); } Render::closeTag('div'); @@ -159,6 +176,7 @@ class Page_SysConfig extends Page Render::addTemplate('js'); // Make this js snippet a template so i18n works return; case 'module': + User::assertPermission('module.view-list'); $listid = Request::post('list'); if ($listid !== false) { $this->listModuleContents($listid); @@ -166,6 +184,7 @@ class Page_SysConfig extends Page } break; case 'config': + User::assertPermission('config.view-list'); $listid = Request::post('list'); if ($listid !== false) { $this->listConfigContents($listid); @@ -238,13 +257,16 @@ class Page_SysConfig extends Page 'needrebuild' => ($row['status'] !== 'OK') ); } - Render::addTemplate('list-configs', array( + $data = array( 'locationid' => $this->currentLoc, 'locationname' => $locationName, 'havelocations' => Module::isAvailable('locations'), 'configs' => $configs, 'inheritConfig' => !$hasDefault, - )); + ); + Permission::addGlobalTags($data['perms'], null, ['config.edit']); + Permission::addGlobalTags($data['perms'], $this->currentLoc, ['config.assign']); + Render::addTemplate('list-configs', $data); } private function listModules() @@ -254,10 +276,12 @@ class Page_SysConfig extends Page $types = array_map(function ($mod) { return $mod->moduleType(); }, $modules); $titles = array_map(function ($mod) { return $mod->title(); }, $modules); array_multisort($types, SORT_ASC, $titles, SORT_ASC, $modules); - Render::addTemplate('list-modules', array( + $data = array( 'modules' => $modules, 'havemodules' => (count($modules) > 0) - )); + ); + Permission::addGlobalTags($data['perms'], null, ['module.edit', 'module.download']); + Render::addTemplate('list-modules', $data); } private function listModuleContents($moduleid) diff --git a/modules-available/sysconfig/permissions/permissions.json b/modules-available/sysconfig/permissions/permissions.json new file mode 100644 index 00000000..08321c50 --- /dev/null +++ b/modules-available/sysconfig/permissions/permissions.json @@ -0,0 +1,20 @@ +{ + "config.view-list": { + "location-aware": false + }, + "config.assign": { + "location-aware": true + }, + "config.edit": { + "location-aware": false + }, + "module.view-list": { + "location-aware": false + }, + "module.edit": { + "location-aware": false + }, + "module.download": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/sysconfig/templates/list-configs.html b/modules-available/sysconfig/templates/list-configs.html index 205317b8..4db7b9b2 100644 --- a/modules-available/sysconfig/templates/list-configs.html +++ b/modules-available/sysconfig/templates/list-configs.html @@ -26,7 +26,7 @@ {{^current}} - @@ -54,13 +54,22 @@ {{^needrebuild}} class="refconf btn btn-default btn-xs" {{/needrebuild}} - name="rebuild" value="{{configid}}" title="{{lang_rebuild}}"> + name="rebuild" value="{{configid}}" title="{{lang_rebuild}}" + {{perms.config.edit.disabled}}> + + {{/locationid}} {{^locationid}} - - + + + + {{/locationid}} @@ -101,7 +110,9 @@ {{^locationid}} {{/locationid}} diff --git a/modules-available/sysconfig/templates/list-modules.html b/modules-available/sysconfig/templates/list-modules.html index a55253ec..b91ce106 100644 --- a/modules-available/sysconfig/templates/list-modules.html +++ b/modules-available/sysconfig/templates/list-modules.html @@ -16,7 +16,10 @@ {{#allowDownload}} - + {{/allowDownload}} @@ -27,9 +30,18 @@ {{^needRebuild}} class="refmod btn btn-default btn-xs" {{/needRebuild}} - name="rebuild" value="{{id}}" title="{{lang_rebuild}}"> - - + name="rebuild" value="{{id}}" title="{{lang_rebuild}}" {{perms.module.edit.disabled}}> + + + + + + {{/modules}} @@ -40,7 +52,9 @@ -- cgit v1.2.3-55-g7522 From 6cc6619d9037d2664c35839191c25fef1c64daf8 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 15 Mar 2018 17:08:55 +0100 Subject: [sysconfig] Support new multiserver auth, mount option config support references #3313 --- modules-available/sysconfig/addmodule_adauth.inc.php | 18 ++++++++---------- .../sysconfig/addmodule_ldapauth.inc.php | 19 ++++++++----------- .../sysconfig/inc/configmodule/adauth.inc.php | 2 +- .../sysconfig/inc/configmodule/ldapauth.inc.php | 2 +- .../sysconfig/inc/configmodulebaseldap.inc.php | 5 +++-- .../sysconfig/lang/de/template-tags.json | 6 ++++-- .../sysconfig/lang/en/template-tags.json | 6 ++++-- .../sysconfig/templates/ad_ldap-homedir.html | 14 ++++++++++++++ 8 files changed, 43 insertions(+), 29 deletions(-) (limited to 'modules-available/sysconfig') diff --git a/modules-available/sysconfig/addmodule_adauth.inc.php b/modules-available/sysconfig/addmodule_adauth.inc.php index df7f385d..7d30e15b 100644 --- a/modules-available/sysconfig/addmodule_adauth.inc.php +++ b/modules-available/sysconfig/addmodule_adauth.inc.php @@ -434,9 +434,11 @@ class AdAuth_HomeDir extends AddModule_Base $data[$key . '_c'] = 'checked="checked"'; } } - $data['shareRemapMode_' . $this->edit->getData('shareRemapMode')] = 'selected="selected"'; - $data['shareDomain'] = $this->edit->getData('shareDomain'); $letter = $this->edit->getData('shareHomeDrive'); + $data['shareRemapMode_' . $this->edit->getData('shareRemapMode')] = 'selected="selected"'; + foreach (['shareDomain', 'shareHomeMountOpts', 'ldapAttrMountOpts'] as $key) { + $data[$key] = $this->edit->getData($key); + } } else { $data['shareDownloads_c'] = $data['shareMedia_c'] = $data['shareDocuments_c'] = $data['shareRemapCreate_c'] = 'checked="checked"'; $data['shareRemapMode_1'] = 'selected="selected"'; @@ -475,16 +477,12 @@ class AdAuth_Finish extends AddModule_Base else $module = $this->edit; $ssl = Request::post('ssl', 'off') === 'on'; - $module->setData('server', Request::post('server')); - $module->setData('searchbase', Request::post('searchbase')); - $module->setData('binddn', Request::post('binddn')); - $module->setData('bindpw', Request::post('bindpw')); - $module->setData('home', Request::post('home')); - $module->setData('homeattr', Request::post('homeattr')); - $module->setData('certificate', Request::post('certificate')); + foreach (['searchbase', 'binddn', 'server', 'bindpw', 'home', 'homeattr', 'certificate', 'fixnumeric', + 'ldapAttrMountOpts', 'shareHomeMountOpts'] as $key) { + $module->setData($key, Request::post($key, '', 'string')); + } $module->setData('ssl', $ssl); $module->setData('mapping', Request::post('mapping', false, 'array')); - $module->setData('fixnumeric', Request::post('fixnumeric', '', 'string')); foreach (AdAuth_HomeDir::getAttributes() as $key) { $value = Request::post($key); if (is_numeric($value)) { diff --git a/modules-available/sysconfig/addmodule_ldapauth.inc.php b/modules-available/sysconfig/addmodule_ldapauth.inc.php index 1db6cb51..6490ff20 100644 --- a/modules-available/sysconfig/addmodule_ldapauth.inc.php +++ b/modules-available/sysconfig/addmodule_ldapauth.inc.php @@ -205,9 +205,11 @@ class LdapAuth_HomeDir extends AddModule_Base $data[$key . '_c'] = 'checked="checked"'; } } - $data['shareRemapMode_' . $this->edit->getData('shareRemapMode')] = 'selected="selected"'; - $data['shareDomain'] = $this->edit->getData('shareDomain'); $letter = $this->edit->getData('shareHomeDrive'); + $data['shareRemapMode_' . $this->edit->getData('shareRemapMode')] = 'selected="selected"'; + foreach (['shareDomain', 'shareHomeMountOpts', 'ldapAttrMountOpts'] as $key) { + $data[$key] = $this->edit->getData($key); + } } else { $data['shareDownloads_c'] = $data['shareMedia_c'] = $data['shareDocuments_c'] = $data['shareRemapCreate_c'] = 'checked="checked"'; $data['shareRemapMode_1'] = 'selected="selected"'; @@ -238,8 +240,6 @@ class LdapAuth_Finish extends AddModule_Base protected function preprocessInternal() { - $binddn = Request::post('binddn'); - $searchbase = Request::post('searchbase'); $title = Request::post('title'); if (empty($title)) $title = 'LDAP: ' . Request::post('server'); @@ -248,15 +248,12 @@ class LdapAuth_Finish extends AddModule_Base else $module = $this->edit; $ssl = Request::post('ssl', 'off') === 'on'; - $module->setData('server', Request::post('server')); - $module->setData('searchbase', $searchbase); - $module->setData('binddn', $binddn); - $module->setData('bindpw', Request::post('bindpw')); - $module->setData('home', Request::post('home')); - $module->setData('certificate', Request::post('certificate')); + foreach (['searchbase', 'binddn', 'server', 'bindpw', 'home', 'certificate', 'fixnumeric', + 'ldapAttrMountOpts', 'shareHomeMountOpts'] as $key) { + $module->setData($key, Request::post($key, '', 'string')); + } $module->setData('ssl', $ssl); $module->setData('mapping', Request::post('mapping', false, 'array')); - $module->setData('fixnumeric', Request::post('fixnumeric', '', 'string')); foreach (LdapAuth_HomeDir::getAttributes() as $key) { $value = Request::post($key); if (is_numeric($value)) { diff --git a/modules-available/sysconfig/inc/configmodule/adauth.inc.php b/modules-available/sysconfig/inc/configmodule/adauth.inc.php index db06a4a4..ed7b318d 100644 --- a/modules-available/sysconfig/inc/configmodule/adauth.inc.php +++ b/modules-available/sysconfig/inc/configmodule/adauth.inc.php @@ -12,5 +12,5 @@ ConfigModule::registerModule( Dictionary::translateFileModule('sysconfig', 'config-module', 'adAuth_title'), // Title Dictionary::translateFileModule('sysconfig', 'config-module', 'adAuth_description'), // Description Dictionary::translateFileModule('sysconfig', 'config-module', 'group_authentication'), // Group - true // Only one per config? + false // Only one per config? ); diff --git a/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php b/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php index 1a706234..e8df2877 100644 --- a/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php +++ b/modules-available/sysconfig/inc/configmodule/ldapauth.inc.php @@ -19,5 +19,5 @@ ConfigModule::registerModule( Dictionary::translateFileModule('sysconfig', 'config-module', 'ldapAuth_title'), // Title Dictionary::translateFileModule('sysconfig', 'config-module', 'ldapAuth_description'), // Description Dictionary::translateFileModule('sysconfig', 'config-module', 'group_authentication'), // Group - true // Only one per config? + false // Only one per config? ); diff --git a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php index d6fc3ed9..c5df8697 100644 --- a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php +++ b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php @@ -3,12 +3,13 @@ abstract class ConfigModuleBaseLdap extends ConfigModule { - const VERSION = 2; + const VERSION = 3; private static $REQUIRED_FIELDS = array('server', 'searchbase'); private static $OPTIONAL_FIELDS = array('binddn', 'bindpw', 'home', 'ssl', 'fixnumeric', 'fingerprint', 'certificate', 'homeattr', 'shareRemapMode', 'shareRemapCreate', 'shareDocuments', 'shareDownloads', 'shareDesktop', 'shareMedia', - 'shareOther', 'shareHomeDrive', 'shareDomain', 'credentialPassthrough', 'mapping'); + 'shareOther', 'shareHomeDrive', 'shareDomain', 'credentialPassthrough', 'mapping', + 'ldapAttrMountOpts', 'shareHomeMountOpts'); public static function getMapping($config = false, &$empty = true) { diff --git a/modules-available/sysconfig/lang/de/template-tags.json b/modules-available/sysconfig/lang/de/template-tags.json index 7f8511e6..c2738ca4 100644 --- a/modules-available/sysconfig/lang/de/template-tags.json +++ b/modules-available/sysconfig/lang/de/template-tags.json @@ -53,11 +53,11 @@ "lang_helpHomeAttrText": "Hier k\u00f6nnen Sie alternativ zum fest vorgegebenem Template des Home-Verzeichnis Servers den Attributsnamen im Active Directory angeben, der diesen Pfad bereitstellt. Normalerweise ist dies \"homeDirectory\". Wird das Feld leer gelassen, versucht der Assistent, das Attribut selbstst\u00e4ndig zu ermitteln. Falls das Einbinden der Home-Verzeichnisse anschlie\u00dfend nicht funktioniert, \u00fcberpr\u00fcfen Sie bitte den Client-Log (Status->Client Log) und den LDAP-Proxy-Log (Status->Server Status).", "lang_helpModuleConfiguration": "Konfigurationsmodule sind die Bausteine, aus denen eine Systemkonfiguration erstellt wird. Hier lassen sich sowohl generische Module durch einen Wizard anlegen, als auch komplett eigene Module erstellen (fortgeschritten, Linuxkenntnisse erforderlich).", "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_homeAttr": "Home-Attribut", "lang_homeAttributeExplanation": "Bitte w\u00e4hlen Sie das Attribut, welches das Home-Verzeichnis der User enth\u00e4lt.", "lang_homeFallback": "Home-Fallback", "lang_homedirHandling": "(Home-)Verzeichnis Einbindung", "lang_inheritFromParentLoc": "Von \u00fcbergeordnetem Ort erben", + "lang_ldapAttrMountOpts": "LDAP-Attribut f\u00fcr Mount-Optionen", "lang_ldapStarted": "Der LDAP-Proxy wurde gestartet", "lang_ldapText1": "Mit diesem Wizard k\u00f6nnen Sie Authentifizierung gegen einen LDAP-Server einrichten.", "lang_ldapText2": "Zu diesem Zweck wird ein LDAP-Proxy auf dem Satelliten-Server gestartet. Dies bedeutet, dass der LDAP-Server von diesem Server aus erreichbar sein muss. Die Pool-PCs hingegen m\u00fcssen nicht direkt mit dem LDAP-Server kommunizieren k\u00f6nnen.", @@ -72,6 +72,7 @@ "lang_moduleConfiguration": "Konfigurationsmodule", "lang_moduleName": "Modulname", "lang_moduleTitle": "Titel", + "lang_mountOptionsNote": "Diese Einstellungen beziehen sich nur auf Linux und \u00e4hnliche Systeme (sowohl das MiiLinux als auch laufende VMs) und beeinflussen die Optionen, die beim Mounten des Verzeichnisses verwendet werden sollen. Sofern es im LDAP\/AD ein Nutzerattribut gibt, welches die passenden Optionen enth\u00e4lt, k\u00f6nnen Sie dieses hier angeben. Das Attribut wird dann vorrangig behandelt. Ist das Attribut leer oder nicht vorhanden, werden die Optionen verwendet, die Sie im Feld \"feste Mount-Optionen\" eingetragen haben. Sind beide Felder leer, werden verschiedene Optionen automatisch durchprobiert.", "lang_name": "Name", "lang_newConfiguration": "Neue Konfiguration", "lang_newModule": "Neues Modul", @@ -99,6 +100,7 @@ "lang_shareDomainNote": "Der Dom\u00e4nenname wird beim Einbinden des Home-Verzeichnisses dem Benutzernamen vorangestellt (DOMAIN\\user). Normalerweise wird der Dom\u00e4nenname automatisch ermittelt, er l\u00e4sst sich hiermit aber explizit \u00fcberschreiben.", "lang_shareDownloads": "Downloads", "lang_shareHomeDrive": "Home-Verzeichnis Buchstabe (Windows)", + "lang_shareHomeMountOpts": "Fest vorgegebene Mount-Optionen", "lang_shareMapCreate": "Ordner auf dem Netzlaufwerk bei Bedarf anlegen", "lang_shareMedia": "Eigene Musik, Videos, Bilder", "lang_shareModeNote": "\"Nativer Modus mit Fallback auf VMware\" ist experimentell und kann dazu f\u00fchren, dass die VM in regelm\u00e4\u00dfigen Abst\u00e4nden H\u00e4nger hat.", @@ -124,4 +126,4 @@ "lang_userDirectoryInfo1": "Optionale Angabe: Wenn die Clients f\u00fcr die Benutzer ein eigenes Verzeichnis (Homeverzeichnis, Benutzerverzeichnis) von einem Server einbinden sollen, geben Sie bitte hier das Format in UNC-Notation an, also z.B.", "lang_userDirectoryInfo2": "%s ist dabei ein Platzhalter f\u00fcr den Login-Namen des Benutzers.", "lang_userDirectoryInfo3": "Das Verzeichnis wird mit den gleichen Zugangsdaten eingebunden, die der Benutzer beim Login angibt. (D.h. kein Kerberos Support o.\u00e4.)" -} +} \ No newline at end of file diff --git a/modules-available/sysconfig/lang/en/template-tags.json b/modules-available/sysconfig/lang/en/template-tags.json index 5a73c254..e98038a9 100644 --- a/modules-available/sysconfig/lang/en/template-tags.json +++ b/modules-available/sysconfig/lang/en/template-tags.json @@ -53,11 +53,11 @@ "lang_helpHomeAttrText": "Here you can specify the name of the attribute on the Active Directory that contains the path of the home directory server. Usually this is \"homeDirectory\". If you leave this blank, the wiszard will try to determine the attribute name automatically. If home directories don't work, check the client log (Status->Client log) and the LDAP proxy log (Status->Server status).", "lang_helpModuleConfiguration": "Configuration modules are the building blocks from which a system configuration is created. Here you can create both generic modules by a wizard, as well as create completely custom modules (advanced Linux knowledge required).", "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_homeAttr": "Home attribute", "lang_homeAttributeExplanation": "Please select the attribute which holds the user's home directory.", "lang_homeFallback": "Home fallback", "lang_homedirHandling": "(Home) directory handling", "lang_inheritFromParentLoc": "Inherit from parent location", + "lang_ldapAttrMountOpts": "LDAP attribute containing mount options", "lang_ldapStarted": "The LDAP proxy has been launched", "lang_ldapText1": "Here you can create a configuration module to authenticate agains an LDAP server", "lang_ldapText2": "An LDAP-Proxy will be launched on this server. This means the LDAP-Server must be reachable from it. The client PCs in the labs however don't have to be able to talk to the LDAP server \u2013 they will use the proxy running on this server.", @@ -72,6 +72,7 @@ "lang_moduleConfiguration": "Module Configuration", "lang_moduleName": "Module Name", "lang_moduleTitle": "Title", + "lang_mountOptionsNote": "These settings are relevant for the MiniLinux and VMs containing non-Windows OSes. If you specify an LDAP user attribute, its contents will be used as mount options when mounting the user's home directory. If the attribute is not specified or its contents are empty, the mount attributes specified in the other field will be used. If you leave both fields empty, the clients will try to determine the options automatically.", "lang_name": "Name", "lang_newConfiguration": "New Configuration", "lang_newModule": "New Module", @@ -99,6 +100,7 @@ "lang_shareDomainNote": "The user name will be prefixed by the domain when trying to mount home directories (DOMAIN\\user). Usually this will be determined automatically, but you can always override it here.", "lang_shareDownloads": "Downloads", "lang_shareHomeDrive": "Home drive letter (Windows)", + "lang_shareHomeMountOpts": "Fixed mount options", "lang_shareMapCreate": "Create folders on network share if they don't exist", "lang_shareMedia": "My Music, Videos, Pictures", "lang_shareModeNote": "\"Native mode with fallback\" is experimental and known to cause temporary freezes with some VMs. Use with care.", @@ -124,4 +126,4 @@ "lang_userDirectoryInfo1": "Optional: If the clients should embed a separate directory (home directory, user directory) from a server for the user, please enter here the format in UNC notation, eg", "lang_userDirectoryInfo2": "%s is a placeholder for the user's login name.", "lang_userDirectoryInfo3": "The directory is loaded with the same credentials that the user specifies when login. (That is no Kerberos support, etc.)" -} +} \ No newline at end of file diff --git a/modules-available/sysconfig/templates/ad_ldap-homedir.html b/modules-available/sysconfig/templates/ad_ldap-homedir.html index ad543594..a8c9441a 100644 --- a/modules-available/sysconfig/templates/ad_ldap-homedir.html +++ b/modules-available/sysconfig/templates/ad_ldap-homedir.html @@ -61,6 +61,20 @@

{{lang_driveLetterNote}}

+
+ +
+ +
+
+
+ +
+ +

{{lang_mountOptionsNote}}

+
+

{{lang_folderRedirection}}
-- cgit v1.2.3-55-g7522 From 662315be2b5f6153fda03e8ec48ea3f8b343f68b Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 21 Mar 2018 11:05:25 +0100 Subject: Update permission translations --- modules-available/adduser/lang/de/permissions.json | 6 ++++++ modules-available/adduser/lang/en/permissions.json | 6 ++++++ modules-available/baseconfig/lang/de/permissions.json | 4 ++++ modules-available/baseconfig/lang/en/permissions.json | 4 ++++ modules-available/dnbd3/lang/de/permissions.json | 8 ++++++++ modules-available/dnbd3/lang/en/permissions.json | 8 ++++++++ modules-available/locationinfo/lang/de/permissions.json | 8 ++++++++ modules-available/locationinfo/lang/en/permissions.json | 8 ++++++++ modules-available/runmode/lang/de/permissions.json | 3 +++ modules-available/runmode/lang/en/permissions.json | 3 +++ .../serversetup-bwlp/lang/de/permissions.json | 6 +++--- modules-available/statistics/lang/de/permissions.json | 15 +++++++++++---- modules-available/statistics/lang/en/permissions.json | 15 +++++++++++---- modules-available/sysconfig/lang/de/permissions.json | 8 ++++++++ modules-available/sysconfig/lang/en/permissions.json | 8 ++++++++ modules-available/systemstatus/lang/de/permissions.json | 2 +- 16 files changed, 100 insertions(+), 12 deletions(-) create mode 100644 modules-available/adduser/lang/de/permissions.json create mode 100644 modules-available/adduser/lang/en/permissions.json create mode 100644 modules-available/baseconfig/lang/de/permissions.json create mode 100644 modules-available/baseconfig/lang/en/permissions.json create mode 100644 modules-available/dnbd3/lang/de/permissions.json create mode 100644 modules-available/dnbd3/lang/en/permissions.json create mode 100644 modules-available/locationinfo/lang/de/permissions.json create mode 100644 modules-available/locationinfo/lang/en/permissions.json create mode 100644 modules-available/runmode/lang/de/permissions.json create mode 100644 modules-available/runmode/lang/en/permissions.json create mode 100644 modules-available/sysconfig/lang/de/permissions.json create mode 100644 modules-available/sysconfig/lang/en/permissions.json (limited to 'modules-available/sysconfig') diff --git a/modules-available/adduser/lang/de/permissions.json b/modules-available/adduser/lang/de/permissions.json new file mode 100644 index 00000000..636b73ff --- /dev/null +++ b/modules-available/adduser/lang/de/permissions.json @@ -0,0 +1,6 @@ +{ + "list.view": "Nutzerliste anzeigen", + "user.add": "Neuen Nutzer hinzuf\u00fcgen", + "user.edit": "Nutzer bearbeiten", + "user.remove": "Nutzer l\u00f6schen" +} \ No newline at end of file diff --git a/modules-available/adduser/lang/en/permissions.json b/modules-available/adduser/lang/en/permissions.json new file mode 100644 index 00000000..d12d100e --- /dev/null +++ b/modules-available/adduser/lang/en/permissions.json @@ -0,0 +1,6 @@ +{ + "list.view": "Show userlist", + "user.add": "Add new user", + "user.edit": "Edit user", + "user.remove": "Remove user" +} \ No newline at end of file diff --git a/modules-available/baseconfig/lang/de/permissions.json b/modules-available/baseconfig/lang/de/permissions.json new file mode 100644 index 00000000..a010cebe --- /dev/null +++ b/modules-available/baseconfig/lang/de/permissions.json @@ -0,0 +1,4 @@ +{ + "edit": "Konfigurationsvariablen bearbeiten", + "view": "Konfigurationsvariablen anzeigen" +} \ No newline at end of file diff --git a/modules-available/baseconfig/lang/en/permissions.json b/modules-available/baseconfig/lang/en/permissions.json new file mode 100644 index 00000000..9fe69752 --- /dev/null +++ b/modules-available/baseconfig/lang/en/permissions.json @@ -0,0 +1,4 @@ +{ + "edit": "Edit config variables", + "view": "Show config variables" +} \ No newline at end of file diff --git a/modules-available/dnbd3/lang/de/permissions.json b/modules-available/dnbd3/lang/de/permissions.json new file mode 100644 index 00000000..9229d6d9 --- /dev/null +++ b/modules-available/dnbd3/lang/de/permissions.json @@ -0,0 +1,8 @@ +{ + "configure.external": "Externen Proxy bearbeiten", + "configure.proxy": "Automatischen Proxy bearbeiten", + "refresh": "Serverliste aktualisieren", + "toggle-usage": "Aktivieren\/Deaktivieren", + "view.details": "Proxydetails anzeigen", + "view.list": "Proxyliste anzeigen" +} \ No newline at end of file diff --git a/modules-available/dnbd3/lang/en/permissions.json b/modules-available/dnbd3/lang/en/permissions.json new file mode 100644 index 00000000..0762af2c --- /dev/null +++ b/modules-available/dnbd3/lang/en/permissions.json @@ -0,0 +1,8 @@ +{ + "configure.external": "Edit external proxy", + "configure.proxy": "Edit automatic proxy", + "refresh": "Refresh server list", + "toggle-usage": "Activate\/Deactivate", + "view.details": "Show proxy details", + "view.list": "Show proxy list" +} \ No newline at end of file diff --git a/modules-available/locationinfo/lang/de/permissions.json b/modules-available/locationinfo/lang/de/permissions.json new file mode 100644 index 00000000..1cd78eab --- /dev/null +++ b/modules-available/locationinfo/lang/de/permissions.json @@ -0,0 +1,8 @@ +{ + "backend.check": "Backend Verbindung pr\u00fcfen", + "backend.edit": "Backend bearbeiten", + "location.edit": "Raum\/Ort Einstellungen bearbeiten", + "panel.assign-client": "Client als Infoscreen festlegen", + "panel.edit": "Panel bearbeiten", + "panel.list": "Panel anzeigen" +} \ No newline at end of file diff --git a/modules-available/locationinfo/lang/en/permissions.json b/modules-available/locationinfo/lang/en/permissions.json new file mode 100644 index 00000000..4b620b04 --- /dev/null +++ b/modules-available/locationinfo/lang/en/permissions.json @@ -0,0 +1,8 @@ +{ + "backend.check": "Test backend connection", + "backend.edit": "Edit backend", + "location.edit": "Edit location settings", + "panel.assign-client": "Set client as infoscreen", + "panel.edit": "Edit panel", + "panel.list": "List panels" +} \ No newline at end of file diff --git a/modules-available/runmode/lang/de/permissions.json b/modules-available/runmode/lang/de/permissions.json new file mode 100644 index 00000000..0a89e027 --- /dev/null +++ b/modules-available/runmode/lang/de/permissions.json @@ -0,0 +1,3 @@ +{ + "list-all": "Betriebsmodi anzeigen" +} \ No newline at end of file diff --git a/modules-available/runmode/lang/en/permissions.json b/modules-available/runmode/lang/en/permissions.json new file mode 100644 index 00000000..8b3a6e62 --- /dev/null +++ b/modules-available/runmode/lang/en/permissions.json @@ -0,0 +1,3 @@ +{ + "list-all": "Show runmodes" +} \ No newline at end of file diff --git a/modules-available/serversetup-bwlp/lang/de/permissions.json b/modules-available/serversetup-bwlp/lang/de/permissions.json index 673bf153..65367c51 100644 --- a/modules-available/serversetup-bwlp/lang/de/permissions.json +++ b/modules-available/serversetup-bwlp/lang/de/permissions.json @@ -1,5 +1,5 @@ { - "edit.address": "Boot-Adresse des Servers auswählen.", - "edit.menu": "Bootmenü anpassen.", - "download": "USB-Image herunteladen." + "download": "USB-Image herunterladen.", + "edit.address": "Boot-Adresse des Servers ausw\u00e4hlen.", + "edit.menu": "Bootmen\u00fc anpassen." } \ No newline at end of file diff --git a/modules-available/statistics/lang/de/permissions.json b/modules-available/statistics/lang/de/permissions.json index 7b7db89a..8579b28f 100644 --- a/modules-available/statistics/lang/de/permissions.json +++ b/modules-available/statistics/lang/de/permissions.json @@ -1,5 +1,12 @@ { - "view": "Statistiken anschauen.", - "machine.note": "Anmerkungen zu einem Rechner speichern.", - "machine.delete": "Rechner löschen." -} + "hardware.projectors.edit": "Beamerzuweisung bearbeiten", + "hardware.projectors.view": "Beamerzuweisung anzeigen", + "machine.delete": "Rechner l\u00f6schen.", + "machine.note": "Anmerkungen zu einem Rechner speichern.", + "machine.note.edit": "Anmerkungen bearbeiten", + "machine.note.view": "Anmerkungen anzeigen", + "machine.view-details": "Clientinformationen anzeigen", + "view": "Statistiken anschauen.", + "view.list": "Clientliste anzeigen", + "view.summary": "Visualisierung anzeigen" +} \ No newline at end of file diff --git a/modules-available/statistics/lang/en/permissions.json b/modules-available/statistics/lang/en/permissions.json index 01acdb8a..445f96b8 100644 --- a/modules-available/statistics/lang/en/permissions.json +++ b/modules-available/statistics/lang/en/permissions.json @@ -1,5 +1,12 @@ { - "view": "View statistics.", - "machine.note": "Save client notes.", - "machine.delete": "Delete clients." -} + "hardware.projectors.edit": "Edit beamer assignment", + "hardware.projectors.view": "Show beamer assignment", + "machine.delete": "Delete clients.", + "machine.note": "Save client notes.", + "machine.note.edit": "Edit notes", + "machine.note.view": "Show notes", + "machine.view-details": "Show client details", + "view": "View statistics.", + "view.list": "Show client list", + "view.summary": "Show visualization" +} \ No newline at end of file diff --git a/modules-available/sysconfig/lang/de/permissions.json b/modules-available/sysconfig/lang/de/permissions.json new file mode 100644 index 00000000..c32c488b --- /dev/null +++ b/modules-available/sysconfig/lang/de/permissions.json @@ -0,0 +1,8 @@ +{ + "config.assign": "Systemkonfiguration zuweisen", + "config.edit": "Systemkonfiguration bearbeiten", + "config.view-list": "Systemkonfigurationen anzeigen", + "module.download": "Konfigurationsmodul herunterladen", + "module.edit": "Konfigurationsmodul bearbeiten", + "module.view-list": "Konfigurationsmodule anzeigen" +} \ No newline at end of file diff --git a/modules-available/sysconfig/lang/en/permissions.json b/modules-available/sysconfig/lang/en/permissions.json new file mode 100644 index 00000000..14757383 --- /dev/null +++ b/modules-available/sysconfig/lang/en/permissions.json @@ -0,0 +1,8 @@ +{ + "config.assign": "Assign system configuration", + "config.edit": "Edit system configuration", + "config.view-list": "Show system configurations", + "module.download": "Download configuration module", + "module.edit": "Edit configuration module", + "module.view-list": "Show configuration modules" +} \ No newline at end of file diff --git a/modules-available/systemstatus/lang/de/permissions.json b/modules-available/systemstatus/lang/de/permissions.json index 5508beb5..a3041fbc 100644 --- a/modules-available/systemstatus/lang/de/permissions.json +++ b/modules-available/systemstatus/lang/de/permissions.json @@ -8,6 +8,6 @@ "tab.dmsdlog": "Zugriff auf bwLehrpool-Suite-Server Statusausgabe.", "tab.ldadplog": "Zugriff auf LDAP\/AD-Proxy Logs.", "tab.lighttpdlog": "Zugriff auf Webserver-Logs.", - "tab.netstat": "Zeige Aufgabe von netstat.", + "tab.netstat": "Zeige Ausgabe von netstat.", "tab.pslist": "Zeige Prozessliste." } \ No newline at end of file -- cgit v1.2.3-55-g7522 From 4119498735560389f800a26a356b43db8e6cacd7 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 28 Mar 2018 10:54:41 +0200 Subject: [sysconfig] Properly disable edit button in module ist Closes #3336 --- modules-available/sysconfig/templates/list-modules.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules-available/sysconfig') diff --git a/modules-available/sysconfig/templates/list-modules.html b/modules-available/sysconfig/templates/list-modules.html index b91ce106..c657eae8 100644 --- a/modules-available/sysconfig/templates/list-modules.html +++ b/modules-available/sysconfig/templates/list-modules.html @@ -33,9 +33,9 @@ name="rebuild" value="{{id}}" title="{{lang_rebuild}}" {{perms.module.edit.disabled}}> - + title="{{lang_edit}}"> @@ -67,6 +68,7 @@ {{/mapping}} + diff --git a/modules-available/sysconfig/templates/ad-start.html b/modules-available/sysconfig/templates/ad-start.html index 7f211343..274473ff 100644 --- a/modules-available/sysconfig/templates/ad-start.html +++ b/modules-available/sysconfig/templates/ad-start.html @@ -65,6 +65,16 @@ {{/map_empty}}
+
+
+ + +
+
+ {{lang_genUidDescription}} +
+
+
diff --git a/modules-available/sysconfig/templates/ad_ldap-checkconnection.html b/modules-available/sysconfig/templates/ad_ldap-checkconnection.html index 630da398..e686c29f 100644 --- a/modules-available/sysconfig/templates/ad_ldap-checkconnection.html +++ b/modules-available/sysconfig/templates/ad_ldap-checkconnection.html @@ -31,6 +31,7 @@ {{/mapping}} +
@@ -55,6 +56,7 @@ {{/mapping}} + diff --git a/modules-available/sysconfig/templates/ad_ldap-checkcredentials.html b/modules-available/sysconfig/templates/ad_ldap-checkcredentials.html index 4f822a9b..d698d994 100644 --- a/modules-available/sysconfig/templates/ad_ldap-checkcredentials.html +++ b/modules-available/sysconfig/templates/ad_ldap-checkcredentials.html @@ -26,6 +26,7 @@ {{/mapping}} +
@@ -49,6 +50,7 @@ {{/mapping}} + diff --git a/modules-available/sysconfig/templates/ad_ldap-homedir.html b/modules-available/sysconfig/templates/ad_ldap-homedir.html index a8c9441a..e4fbf380 100644 --- a/modules-available/sysconfig/templates/ad_ldap-homedir.html +++ b/modules-available/sysconfig/templates/ad_ldap-homedir.html @@ -18,6 +18,7 @@ {{/mapping}} +
{{lang_credentialPassing}}
diff --git a/modules-available/sysconfig/templates/ldap-start.html b/modules-available/sysconfig/templates/ldap-start.html index 940316b9..b3495741 100644 --- a/modules-available/sysconfig/templates/ldap-start.html +++ b/modules-available/sysconfig/templates/ldap-start.html @@ -66,6 +66,16 @@ {{/map_empty}}
+
+
+ + +
+
+ {{lang_genUidDescription}} +
+
+
-- cgit v1.2.3-55-g7522 From 1d91f4efa70de1922583d4bcd11665ef98de81c8 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 22 Nov 2018 14:39:34 +0100 Subject: [sysconfig] Sanitize field type --- modules-available/sysconfig/inc/configmodulebaseldap.inc.php | 1 + 1 file changed, 1 insertion(+) (limited to 'modules-available/sysconfig') diff --git a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php index 12af4e31..9364c2e3 100644 --- a/modules-available/sysconfig/inc/configmodulebaseldap.inc.php +++ b/modules-available/sysconfig/inc/configmodulebaseldap.inc.php @@ -67,6 +67,7 @@ abstract class ConfigModuleBaseLdap extends ConfigModule if (!isset($config['fixnumeric'])) { $config['fixnumeric'] = 's'; } + $config['genuid'] = isset($config['genuid']) && !empty($config['genuid']); $this->preTaskmanagerHook($config); $task = Taskmanager::submit('CreateLdapConfig', $config); if (is_array($task) && isset($task['id'])) { -- cgit v1.2.3-55-g7522 From 4a2c2ab41e7c29b1966d02fc40b7c7257b01f8d7 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 18 Feb 2019 15:51:27 +0100 Subject: Update translations --- modules-available/dozmod/lang/de/permissions.json | 12 ++-- .../dozmod/lang/de/template-tags.json | 4 +- modules-available/dozmod/lang/en/messages.json | 2 + modules-available/dozmod/lang/en/module.json | 1 + modules-available/dozmod/lang/en/permissions.json | 10 +-- .../dozmod/lang/en/template-tags.json | 20 ++++++ modules-available/dozmod/page.inc.php | 1 + modules-available/exams/lang/de/template-tags.json | 2 - modules-available/exams/lang/en/template-tags.json | 2 - modules-available/main/lang/de/categories.json | 3 +- modules-available/main/lang/en/categories.json | 3 +- .../serversetup-bwlp-ipxe/lang/de/messages.json | 3 +- .../serversetup-bwlp-ipxe/lang/de/permissions.json | 1 - .../lang/de/template-tags.json | 21 +----- .../serversetup-bwlp-ipxe/lang/en/messages.json | 17 ++++- .../serversetup-bwlp-ipxe/lang/en/module.json | 18 ++++- .../serversetup-bwlp-ipxe/lang/en/permissions.json | 7 +- .../lang/en/template-tags.json | 77 +++++++++++++++------- .../serversetup-bwlp-ipxe/page.inc.php | 2 +- .../sysconfig/lang/de/template-tags.json | 2 + .../sysconfig/lang/en/template-tags.json | 2 + 21 files changed, 142 insertions(+), 68 deletions(-) (limited to 'modules-available/sysconfig') diff --git a/modules-available/dozmod/lang/de/permissions.json b/modules-available/dozmod/lang/de/permissions.json index 6475f7ab..8e743e5c 100644 --- a/modules-available/dozmod/lang/de/permissions.json +++ b/modules-available/dozmod/lang/de/permissions.json @@ -4,12 +4,12 @@ "ldapfilters.save": "LDAP Filter speichern.", "ldapfilters.view": "LDAP Filter einsehen.", "mailconfig.save": "\u00c4nderungen an der SMTP-Konfiguration zum Versenden von Mails speichern.", - "networkrules.save": "Netzwerk-Regeln einsehen.", - "networkrules.view": "\u00c4nderungen an den Netzwerk-Regeln speichern.", - "networkshares.save": "Netzlaufwerke einsehen.", - "networkshares.view": "\u00c4nderungen an den Netzlaufwerken speichern.", - "runscripts.save": "Startkripte erstellen\/bearbeiten", - "runscripts.view": "Startscripte auflisten", + "networkrules.save": "\u00c4nderungen an den Netzwerk-Regeln speichern.", + "networkrules.view": "Netzwerk-Regeln einsehen.", + "networkshares.save": "\u00c4nderungen an den Netzlaufwerken speichern.", + "networkshares.view": "Netzlaufwerke einsehen.", + "runscripts.save": "Startkripte erstellen\/bearbeiten.", + "runscripts.view": "Startscripte auflisten.", "runtimeconfig.save": "\u00c4nderungen an der Laufzeit-Konfiguration speichern.", "templates.reset": "E-Mail Templates zur\u00fccksetzen.", "templates.save": "E-Mail Templates speichern.", diff --git a/modules-available/dozmod/lang/de/template-tags.json b/modules-available/dozmod/lang/de/template-tags.json index 320c7592..3e000676 100644 --- a/modules-available/dozmod/lang/de/template-tags.json +++ b/modules-available/dozmod/lang/de/template-tags.json @@ -70,6 +70,7 @@ "lang_modified": "Modifiziert", "lang_name": "Name", "lang_networkrules": "Netzwerk-Regeln", + "lang_networkrulesIntro": "Hier k\u00f6nnen Sie vordefinierte Regelsets f\u00fcr das Firewalling verwalten. Nutzer der bwLehrpool-Suite k\u00f6nnen auf diese Regelsets zur\u00fcckgreifen, um den Netzwerkzugriff ihrer Veranstaltungen einzuschr\u00e4nken.", "lang_networkshares": "Netzlaufwerke", "lang_networksharesIntro": "Hier k\u00f6nnen Sie vordefinierte Netzlaufwerke anlegen, die den Nutzern der bwLehrpool-Suite zur Auswahl gestellt werden. Es ist den Nutzern der bwLehrpool-Suite weiterhin m\u00f6glich, komplett eigene Netzwerkfreigaben zu definieren. Die Angaben hier sollen lediglich das Hinzuf\u00fcgen h\u00e4ufig genutzter Laufwerke vereinfachen, bzw. das \u00c4ndern eines Netzwerkpfades vereinfachen, da in diesem Fall nur der Zentrale Eintrag hier angepasst werden muss, und nicht mehr wie zuvor jede Veranstaltung einzeln.", "lang_none": "(Keiner)", @@ -86,6 +87,7 @@ "lang_reallyResetTemplates": "Sind Sie sicher, dass Sie alle Texte l\u00f6schen und auf die Standardwerte zur\u00fccksetzen wollen?", "lang_replaceWithOriginal": "Originaltext in Textbox laden", "lang_replyTo": "Reply-To Adresse", + "lang_ruleDeleteConfirm": "Soll dieses Regelset wirklich gel\u00f6scht werden?", "lang_runScriptAdd": "Skript hinzuf\u00fcgen", "lang_runScriptDeleteConfirmation": "Skript wirklich l\u00f6schen?", "lang_runtimeConfig": "Laufzeit-Konfiguration", @@ -129,4 +131,4 @@ "lang_usernameplaceholder": "SMTP-Benutzername", "lang_version": "Version vom", "lang_when": "Wann" -} +} \ No newline at end of file diff --git a/modules-available/dozmod/lang/en/messages.json b/modules-available/dozmod/lang/en/messages.json index 6d8296ec..2d813efc 100644 --- a/modules-available/dozmod/lang/en/messages.json +++ b/modules-available/dozmod/lang/en/messages.json @@ -24,6 +24,8 @@ "networkshare-saved": "Network share saved", "no-expired-images": "No expired VMs", "nothing-submitted": "There was nothing submitted", + "runscript-invalid-id": "Invalid script id: {{0}}", + "runscript-saved": "Script has been saved", "runtimelimits-config-saved": "Configuration saved successfully", "templates-saved": "Templates saved successfully", "timeout": "Timeout", diff --git a/modules-available/dozmod/lang/en/module.json b/modules-available/dozmod/lang/en/module.json index 8967493d..5bcee464 100644 --- a/modules-available/dozmod/lang/en/module.json +++ b/modules-available/dozmod/lang/en/module.json @@ -7,6 +7,7 @@ "submenu_mailconfig": "email configuration", "submenu_networkrules": "Network Rules", "submenu_networkshares": "Network Shares", + "submenu_runscripts": "Startup scripts", "submenu_runtimeconfig": "limits and defaults", "submenu_templates": "templates", "submenu_users": "users and permissions" diff --git a/modules-available/dozmod/lang/en/permissions.json b/modules-available/dozmod/lang/en/permissions.json index dec3171a..b0fbb071 100644 --- a/modules-available/dozmod/lang/en/permissions.json +++ b/modules-available/dozmod/lang/en/permissions.json @@ -4,10 +4,12 @@ "ldapfilters.save": "Save LDAP filter.", "ldapfilters.view": "View LDAP filters. ", "mailconfig.save": "Save SMTP configuration for sending mails.", - "networkrules.save": "View network rules.", - "networkrules.view": "Save network rules.", - "networkshares.save": "View network drives.", - "networkshares.view": "Save network drives.", + "networkrules.save": "Save network rules.", + "networkrules.view": "View network rules.", + "networkshares.save": "Save network drives.", + "networkshares.view": "View network drives.", + "runscripts.save": "Save startup scripts.", + "runscripts.view": "View startup scripts.", "runtimeconfig.save": "Save limits and defaults of a runtime configuration.", "templates.reset": "Reset email templates.", "templates.save": "Save email templates.", diff --git a/modules-available/dozmod/lang/en/template-tags.json b/modules-available/dozmod/lang/en/template-tags.json index 3f2ae1fc..c33d872b 100644 --- a/modules-available/dozmod/lang/en/template-tags.json +++ b/modules-available/dozmod/lang/en/template-tags.json @@ -28,6 +28,7 @@ "lang_dozmodLogHeading": "bwLehrpool-Suite action log", "lang_editNetworkrule": "Edit Network Rule", "lang_editNetworkshare": "Edit Network Share", + "lang_editScript": "Edit start script", "lang_email": "E-Mail", "lang_emailNotifications": "E-Mail notifications enabled", "lang_error": "Error", @@ -37,6 +38,7 @@ "lang_hasNewer": "newer version exists", "lang_hash": "Hash", "lang_heading": "Images Marked for Deletion", + "lang_hidden": "Hidden", "lang_host": "Host", "lang_image": "VM", "lang_lastEditor": "Edited by", @@ -63,13 +65,16 @@ "lang_maxLectureVisibility": "Max time lecture end date may lie in the future (days)", "lang_maxLocationsPerLecture": "Max. explicit locations per lecture", "lang_maxTransfers": "Max concurrent transfers per user", + "lang_minimized": "Minimized", "lang_miscOptions": "Misc options", "lang_modified": "modified", "lang_name": "Name", "lang_networkrules": "Network Rules", + "lang_networkrulesIntro": "This is where you can create predefined rulesets for the lecture-based firewalling. bwLehrpool-Suite users can select those rulesets to limit network access of their lectures.", "lang_networkshares": "Network Shares", "lang_networksharesIntro": "This is the list of predefined network shares. bwLehrpool-Suite users can still add custom network shares to their lectures, however having commonly used network shares as predefined entries should be much more convenient. Another advantage is that changing the path of a network share centrally avoids having to edit a dozen lectures' configuration manually.", "lang_none": "(none)", + "lang_normal": "Normal", "lang_organization": "Organization", "lang_organizationListHeader": "Set access permissions for organizations", "lang_os": "Operating System", @@ -82,8 +87,23 @@ "lang_reallyResetTemplates": "Are you sure you want to reset all texts to their default values?", "lang_replaceWithOriginal": "load original text into text box", "lang_replyTo": "Reply-To address", + "lang_ruleDeleteConfirm": "Do you want to delete this ruleset?", + "lang_runScriptAdd": "Add run-script", + "lang_runScriptDeleteConfirmation": "Do you want to delete this run-script?", "lang_runtimeConfig": "Limits and Defaults", "lang_runtimeConfigLimits": "Limitations", + "lang_scriptContent": "Script content", + "lang_scriptExtension": "Script extension", + "lang_scriptExtensionHead": "Extension", + "lang_scriptIsGlobal": "Global script, will execute in every lecture environment", + "lang_scriptIsGlobalHead": "Global", + "lang_scriptIsPredefined": "Predefined script, selectable by bwLehrpool-Suite users for individual lectures", + "lang_scriptPassCredentials": "Pass username and password to this script", + "lang_scriptPassCredentialsHead": "User\/Pass", + "lang_scriptVisibility": "Display mode", + "lang_scriptVisibilityHead": "Display", + "lang_scriptsHead": "Run-scripts for lecture environments", + "lang_scriptsIntro": "Here you can define scripts that will either forcefully run at startup of a lecture, or are selectable by bwLehrpool-Suite users.", "lang_senderAddress": "Sender address", "lang_senderName": "Sender's display name", "lang_shareDeleteConfirm": "Do you really want to delete this network share?", diff --git a/modules-available/dozmod/page.inc.php b/modules-available/dozmod/page.inc.php index b772890f..67b791d1 100644 --- a/modules-available/dozmod/page.inc.php +++ b/modules-available/dozmod/page.inc.php @@ -63,6 +63,7 @@ class Page_DozMod extends Page Dictionary::translate('submenu_networkshares', true); Dictionary::translate('submenu_ldapfilters', true); Dictionary::translate('submenu_runscripts', true); + Dictionary::translate('submenu_networkrules', true); */ /* add sub-menus */ diff --git a/modules-available/exams/lang/de/template-tags.json b/modules-available/exams/lang/de/template-tags.json index 1dd51374..0fbaf0a1 100644 --- a/modules-available/exams/lang/de/template-tags.json +++ b/modules-available/exams/lang/de/template-tags.json @@ -1,5 +1,4 @@ { - "lang_actions": "Aktionen", "lang_addExam": "Zeitraum hinzuf\u00fcgen", "lang_addingBasedOnLecture": "F\u00fcge neuen Pr\u00fcfungszeitraum basierend auf vorhandener Veranstaltung an", "lang_allExamPeriods": "Alle Pr\u00fcfungszeitr\u00e4ume", @@ -16,7 +15,6 @@ "lang_deleteConfirmation": "Wirklich l\u00f6schen?", "lang_description": "Beschreibung", "lang_duration": "Dauer", - "lang_editExam": "Zeitraum bearbeiten", "lang_end": "Ende", "lang_end_date": "Ende Datum", "lang_end_time": "Uhrzeit", diff --git a/modules-available/exams/lang/en/template-tags.json b/modules-available/exams/lang/en/template-tags.json index 23266154..52173740 100644 --- a/modules-available/exams/lang/en/template-tags.json +++ b/modules-available/exams/lang/en/template-tags.json @@ -1,5 +1,4 @@ { - "lang_actions": "Actions", "lang_addExam": "Add exam period", "lang_addingBasedOnLecture": "Adding exam period based on lecture", "lang_allExamPeriods": "All Exam Periods", @@ -16,7 +15,6 @@ "lang_deleteConfirmation": "Are you sure?", "lang_description": "Description", "lang_duration": "Duration", - "lang_editExam": "Edit exam period", "lang_end": "End", "lang_end_date": "End Date", "lang_end_time": "Time", diff --git a/modules-available/main/lang/de/categories.json b/modules-available/main/lang/de/categories.json index 71f149ec..587200ed 100644 --- a/modules-available/main/lang/de/categories.json +++ b/modules-available/main/lang/de/categories.json @@ -3,6 +3,5 @@ "content": "Inhalt", "settings-client": "Einstellungen (Client)", "settings-server": "Einstellungen (Server)", - "status": "Status", - "users": "Benutzer" + "status": "Status" } \ No newline at end of file diff --git a/modules-available/main/lang/en/categories.json b/modules-available/main/lang/en/categories.json index 9dfa0404..f73f0a15 100644 --- a/modules-available/main/lang/en/categories.json +++ b/modules-available/main/lang/en/categories.json @@ -3,6 +3,5 @@ "content": "Content", "settings-client": "Settings (Client)", "settings-server": "Settings (Server)", - "status": "Status", - "users": "Users" + "status": "Status" } \ No newline at end of file diff --git a/modules-available/serversetup-bwlp-ipxe/lang/de/messages.json b/modules-available/serversetup-bwlp-ipxe/lang/de/messages.json index 0772a7e4..8c5aab54 100644 --- a/modules-available/serversetup-bwlp-ipxe/lang/de/messages.json +++ b/modules-available/serversetup-bwlp-ipxe/lang/de/messages.json @@ -16,6 +16,5 @@ "menu-set-default": "Standardmen\u00fc wurde gesetzt", "missing-bootentry-data": "Fehlende Daten f\u00fcr den Men\u00fceintrag", "no-ip-addr-set": "Bitte w\u00e4hlen Sie die prim\u00e4re IP-Adresse des Servers", - "no-such-menu": "Men\u00fc mit ID {{0}} existiert nicht", "unknown-bootentry-type": "Unbekannter Eintrags-Typ: {{0}}" -} +} \ No newline at end of file diff --git a/modules-available/serversetup-bwlp-ipxe/lang/de/permissions.json b/modules-available/serversetup-bwlp-ipxe/lang/de/permissions.json index 5cd02119..9d7e77c6 100644 --- a/modules-available/serversetup-bwlp-ipxe/lang/de/permissions.json +++ b/modules-available/serversetup-bwlp-ipxe/lang/de/permissions.json @@ -2,7 +2,6 @@ "access-page": "Seite sehen.", "download": "USB-Image herunterladen.", "edit.address": "Boot-Adresse des Servers ausw\u00e4hlen.", - "edit.menu": "Bootmen\u00fc anpassen.", "ipxe.bootentry.edit": "Einen Boot-Eintrag bearbeiten.", "ipxe.bootentry.view": "Liste aller Boot-Eintr\u00e4ge sehen.", "ipxe.localboot.edit": "Ausnahmeliste f\u00fcr Localboot-Modus bearbeiten.", diff --git a/modules-available/serversetup-bwlp-ipxe/lang/de/template-tags.json b/modules-available/serversetup-bwlp-ipxe/lang/de/template-tags.json index 198a1517..525b1562 100644 --- a/modules-available/serversetup-bwlp-ipxe/lang/de/template-tags.json +++ b/modules-available/serversetup-bwlp-ipxe/lang/de/template-tags.json @@ -10,12 +10,7 @@ "lang_assignMenuToLocation": "Ort ein Men\u00fc zuweisen", "lang_biosOnly": "Nur BIOS", "lang_bootAddress": "Boot-Adresse des Servers", - "lang_bootBehavior": "Standard-Bootverhalten", "lang_bootEntryData": "Daten des Men\u00fceintrags", - "lang_bootHint": "Das Bootmen\u00fc muss nach einer \u00c4nderung der IP-Adresse neu generiert werden. In der Regel geschieht dies automatisch, der Vorgang kann in der Sektion Bootmen\u00fc allerdings auch manuell ausgel\u00f6st werden.", - "lang_bootInfo": "Hier k\u00f6nnen Anpassungen am Erscheinungsbild des Bootmen\u00fcs vorgenommen werden.", - "lang_bootMenu": "Bootmen\u00fc", - "lang_bootMenuCreate": "Bootmen\u00fc erzeugen", "lang_bootentryDeleteConfirm": "Sind Sie sicher, dass Sie diesen Men\u00fceintrag l\u00f6schen wollen?", "lang_bootentryHead": "Men\u00fceintr\u00e4ge", "lang_bootentryIntro": "Hier k\u00f6nnen Sie Men\u00fceintr\u00e4ge definieren, die sich sp\u00e4ter einem Men\u00fc zuweisen lassen. Ein Men\u00fceintrag besteht entweder aus einem zu ladenen Kernel\/Image plus optional initrd, oder aus einem iPXE-Script.", @@ -23,7 +18,6 @@ "lang_chooseIP": "Bitte w\u00e4hlen Sie die IP-Adresse, \u00fcber die der Server von den Clients zum Booten angesprochen werden soll.", "lang_commandLine": "Command line", "lang_count": "Anzahl", - "lang_customEntry": "Eigener Eintrag", "lang_downloadBootImage": "Boot-Image herunterladen", "lang_downloadRufus": "Rufus herunterladen", "lang_editBuiltinWarn": "Achtung! Sie bearbeiten einen der vorgegebenen Eintr\u00e4ge! Bei einem Update k\u00f6nnten Ihre \u00c4nderungen wieder \u00fcberschrieben werden", @@ -32,13 +26,11 @@ "lang_entryChooserTitle": "Men\u00fceintrag ausw\u00e4hlen", "lang_entryId": "ID", "lang_entryTitle": "Bezeichnung", - "lang_example": "Beispiel", "lang_execAutoUnload": "Nach Ausf\u00fchrung entladen (--autofree)", "lang_execReplace": "Aktuellen iPXE-Stack erstzen (--replace)", "lang_execResetConsole": "Konsole vor Ausf\u00fchrung zur\u00fccksetzen", "lang_forceRecompile": "Jetzt neu compilieren", "lang_generationFailed": "Erzeugen des Bootmen\u00fcs fehlgeschlagen. Der Netzwerkboot von bwLehrpool wird wahrscheinlich nicht funktionieren. Wenn Sie den Fehler nicht selbst beheben k\u00f6nnen, melden Sie bitte die Logausgabe an das bwLehrpool-Projekt.", - "lang_globalMenuWarning": "Dieses Men\u00fc ist keinem Raum zugeordnet", "lang_hotkey": "Hotkey", "lang_idFormatHint": "(Max. 16 Zeichen, nur a-z 0-9 - _)", "lang_imageToLoad": "Zu ladendes Image (z.B. Kernel)", @@ -50,20 +42,11 @@ "lang_localBootExceptions": "Ausnahmen, pro Rechnermodell definierbar", "lang_localBootHead": "Boot von Festplatte", "lang_localBootIntro": "Aus dem iPXE Bootmen\u00fc kann auf verschiedene Arten ein Boot von der prim\u00e4ren Festplatte ausgel\u00f6st werden. In den allermeisten F\u00e4llen ist die Einstellung \"AUTO\" ausreichend, bei bestimmten Rechnermodellen kann es allerdings erforderlich sein, eine der alternativen Methoden zu erzwingen. Falls Sie einem solchen Modell begegnen, k\u00f6nnen Sie im unteren Teil dieser Seite eine solche Ausnahme festlegen. In einigen F\u00e4llen l\u00e4sst sich das Problem auch durch ein BIOS-Update auf den entsprechenden Ger\u00e4ten beheben.", - "lang_localHDD": "Lokale HDD", "lang_locationCount": "Anzahl Orte", - "lang_masterPassword": "Master-Passwort", - "lang_masterPasswordHelp": "Das Master-Passwort wird ben\u00f6tigt, um einen Men\u00fceintrag direkt am Client tempor\u00e4r durch Dr\u00fccken der Tab-Taste zu editieren. Da dies f\u00fcr Manipulation am Client genutzt werden kann, sollte diese Funktion unbedingt mit einem Passwort gesch\u00fctzt werden.", - "lang_menuCustom": "Benutzerdefinierter Men\u00fczusatz", - "lang_menuCustomHint1": "Hier haben Sie die M\u00f6glichkeit, eigenen Men\u00fc-Code zum angezeigten PXE-Men\u00fc hinzuzuf\u00fcgen, um z.B. auf weitere PXE-Server zu verweisen. Das Format entspricht dem syslinux Men\u00fcformat.", - "lang_menuCustomHint2": "Sie k\u00f6nnen ein oder mehrere Eintr\u00e4ge erzeugen. Wenn Sie einen Eintrag erzeugen m\u00f6chten, der automatisch gestartet wird, wenn der Benutzer keine Auswahl t\u00e4tigt, vergeben Sie als", - "lang_menuCustomHint3": "und w\u00e4hlen Sie als Standard-Bootverhalten ebenfalls custom.", "lang_menuDeleteConfirm": "Sind Sie sicher, dass Sie dieses Men\u00fc l\u00f6schen wollen?", - "lang_menuDisplayTime": "Anzeigedauer des Men\u00fcs", "lang_menuEntryOverride": "Standardeintrag \u00fcberschreiben", "lang_menuGeneration": "Erzeugen des Bootmen\u00fcs", "lang_menuListIntro": "Hier sehen Sie eine Liste aller vorhandenen Men\u00fcs, deren Zuordnung zu R\u00e4umen sowie die M\u00f6glichkeit, diese zu editieren oder l\u00f6schen. Um ein Men\u00fc einem bestimmten Raum zuzuweisen, besuchen Sie bitte den Men\u00fcpunkt \"R\u00e4ume\/Orte\".", - "lang_menuLocations": "Zugewiesene Orte", "lang_menuTimeout": "Timeout", "lang_menuTitle": "Men\u00fc", "lang_moduleHeading": "iPXE \/ Boot Menu", @@ -71,7 +54,6 @@ "lang_newMenu": "Neues Men\u00fc", "lang_none": "(keine)", "lang_override": "\u00dcberschreiben", - "lang_pxeBuilt": "PXE-Binary gebaut", "lang_recompileHint": "iPXE-Binaries jetzt neu kompilieren. Normalerweise wird dieser Vorgang bei \u00c4nderungen automatisch ausgef\u00fchrt. Sollten Bootprobleme auftreten, k\u00f6nnen Sie hier den Vorgang manuell ansto\u00dfen.", "lang_refCount": "Referenzen", "lang_referencingMenus": "Verkn\u00fcpfte Men\u00fcs", @@ -83,7 +65,6 @@ "lang_title": "Titel", "lang_typeExecEntry": "Standardeintrag", "lang_typeScriptEntry": "Benutzerdefiniertes Script", - "lang_usbBuilt": "USB-Image gebaut", "lang_usbImage": "USB-Image", "lang_usbImgHelp": "Mit dem USB-Image k\u00f6nnen Sie einen bootbaren USB-Stick erstellen, \u00fcber den sich bwLehrpool an Rechnern starten l\u00e4sst, die keinen Netzwerkboot unterst\u00fctzen, bzw. f\u00fcr die keine entsprechende DHCP-Konfiguration vorhanden ist. Dies erfordert dann lediglich, dass in der BIOS-Konfiguration des Rechners USB-Boot zugelassen ist. Der Stick dient dabei lediglich als Einstiegspunkt; es ist nach wie vor ein bwLehrpool-Satellitenserver f\u00fcr den eigentlichen Bootvorgang von N\u00f6ten.", "lang_usbImgHelpBtn": "Bootbaren USB-Stick erstellen", @@ -91,4 +72,4 @@ "lang_usbImgHelpWindows": "Unter Windows muss zun\u00e4chst ein Programm besorgt werden, mit dem sich Images direkt auf einen USB-Stick schreiben lassen. Es gibt gleich mehrere kostenlose und quelloffene Programme, eines davon ist Rufus. Rufus wurde mit dem bwLehrpool-Image gestetet. Nach dem Starten des Programms ist lediglich das heruntergeladene Image zu \u00f6ffnen, sowie in der Liste der Laufwerke der richtige USB-Stick auszuw\u00e4hlen (damit Sie nicht versehentlich Daten auf dem falschen Laufwerk \u00fcberschreiben!)", "lang_useDefaultMenu": "\u00dcbergeordnetes Men\u00fc verwenden", "lang_useDefaultMenuEntry": "(Vorgabe des Men\u00fcs)" -} +} \ No newline at end of file diff --git a/modules-available/serversetup-bwlp-ipxe/lang/en/messages.json b/modules-available/serversetup-bwlp-ipxe/lang/en/messages.json index d4ba6905..dcdf4be1 100644 --- a/modules-available/serversetup-bwlp-ipxe/lang/en/messages.json +++ b/modules-available/serversetup-bwlp-ipxe/lang/en/messages.json @@ -1,5 +1,20 @@ { + "boot-entry-created": "Created menu item {{0}}", + "boot-entry-updated": "Updated menu item {{0}}", + "bootentry-deleted": "Deleted menu item", + "error-saving-entry": "Error saving item {{0}}: {{1}}", "image-not-found": "USB image not found. Try regenerating the boot menu first.", + "invalid-boot-entry": "Invalid menu item: {{0}}", "invalid-ip": "No interface is configured with the address {{0}}", - "no-ip-addr-set": "Please set the server's primary IP address" + "invalid-menu-id": "Invalid menu id: {{0}}", + "localboot-invalid-method": "Invalid localboot method: {{0}}", + "localboot-saved": "Localboot settings have been saved", + "location-menu-assigned": "Assigned menu to {{0}}", + "location-use-default": "{{0}} is now using the inherited\/default menu", + "menu-deleted": "Menu deleted", + "menu-saved": "Menu saved", + "menu-set-default": "Default menu has been set", + "missing-bootentry-data": "Missing data for menu item", + "no-ip-addr-set": "Please set the server's primary IP address", + "unknown-bootentry-type": "Unknown item type: {{0}}" } \ No newline at end of file diff --git a/modules-available/serversetup-bwlp-ipxe/lang/en/module.json b/modules-available/serversetup-bwlp-ipxe/lang/en/module.json index aeea610c..9e73e865 100644 --- a/modules-available/serversetup-bwlp-ipxe/lang/en/module.json +++ b/modules-available/serversetup-bwlp-ipxe/lang/en/module.json @@ -1,3 +1,19 @@ { - "module_name": "iPXE \/ Boot Menu" + "dl-efi": "UEFI", + "dl-hd": "HDD partition image", + "dl-i386": "32 bit", + "dl-lkrn": "wrapped in kernel header", + "dl-pcbios": "legacy BIOS", + "dl-pcinic": "with PCI(e) NIC drivers", + "dl-snp": "uses SNP\/NII interface", + "dl-usb": "thumb drive image", + "dl-usbnic": "with USB NIC drivers", + "dl-x86_64": "64 bit", + "module_name": "iPXE \/ Boot Menu", + "page_title": "iPXE and boot settings", + "submenu_address": "Server address", + "submenu_bootentry": "Manage menu items", + "submenu_download": "Downloads", + "submenu_localboot": "HDD boot", + "submenu_menu": "Manage menus" } \ No newline at end of file diff --git a/modules-available/serversetup-bwlp-ipxe/lang/en/permissions.json b/modules-available/serversetup-bwlp-ipxe/lang/en/permissions.json index 44d1c519..53ccec3a 100644 --- a/modules-available/serversetup-bwlp-ipxe/lang/en/permissions.json +++ b/modules-available/serversetup-bwlp-ipxe/lang/en/permissions.json @@ -2,5 +2,10 @@ "access-page": "View page.", "download": "Download USB Image.", "edit.address": "Choose boot address of the server.", - "edit.menu": "Customize boot menu." + "ipxe.bootentry.edit": "Edit menu items.", + "ipxe.bootentry.view": "View menu items.", + "ipxe.localboot.edit": "Edit local boot settings.", + "ipxe.menu.assign": "Assign menus to locations.", + "ipxe.menu.edit": "Edit menus.", + "ipxe.menu.view": "View menus." } \ No newline at end of file diff --git a/modules-available/serversetup-bwlp-ipxe/lang/en/template-tags.json b/modules-available/serversetup-bwlp-ipxe/lang/en/template-tags.json index 121ed3e7..ea57c522 100644 --- a/modules-available/serversetup-bwlp-ipxe/lang/en/template-tags.json +++ b/modules-available/serversetup-bwlp-ipxe/lang/en/template-tags.json @@ -1,42 +1,75 @@ { "lang_active": "Active", + "lang_add": "Add", "lang_addBootentry": "Add Bootentry", "lang_addMenu": "Add Menu", + "lang_additionalInfoLink": "Read more", + "lang_archAgnostic": "Architecture-agnostic", + "lang_archBoth": "BIOS and EFI", + "lang_archSelector": "Select architecture", + "lang_assignMenuToLocation": "Assign menu to location", + "lang_biosOnly": "BIOS only", "lang_bootAddress": "Boot Address of the Server", - "lang_bootBehavior": "Default Boot Behavior", - "lang_bootentryTitle": "Bootentry", - "lang_bootHint": "The Boot menu must be recreated after changing the IP address. Usually this is done automatically, but the process can also be triggered manually in the section of the boot menu.", - "lang_bootInfo": "Here adjustments can be made to the appearance of the boot menu.", - "lang_bootMenu": "Boot Menu", - "lang_bootMenuCreate": "Create Boot Menu", + "lang_bootEntryData": "Menu entry data", + "lang_bootentryDeleteConfirm": "Are you sure you want to delete this menu item?", + "lang_bootentryHead": "Menu items", + "lang_bootentryIntro": "This is where you can add, edit and remove menu items, which can be added to menus. A menu entry is either a combination of a kernel\/image to load (and an optional initrd), or a custom iPXE-script.", + "lang_bootentryTitle": "Menu item", "lang_chooseIP": "Please select the IP address that the client server will use to boot.", - "lang_customEntry": "Custom entry", - "lang_bootentryDeleteConfirm": "Are you sure you want to delete this bootentry?", - "lang_menuDeleteConfirm": "Are you sure you want to delete this menu?", - "lang_downloadImage": "Download USB Image", + "lang_commandLine": "Command line", + "lang_count": "Count", + "lang_downloadBootImage": "Download boot-image", "lang_downloadRufus": "Download Rufus", - "lang_example": "Example", + "lang_editBuiltinWarn": "WARNING! You're editing a predefined item. Future updates might reset your changes!", + "lang_editMenuHead": "Edit menu", + "lang_efiOnly": "EFI only", + "lang_entryChooserTitle": "Select menu item", + "lang_entryId": "ID", + "lang_entryTitle": "Title", + "lang_execAutoUnload": "Unload after execution (--autofree)", + "lang_execReplace": "Replace current iPXE stack (--replace)", + "lang_execResetConsole": "Reset console before execution", + "lang_forceRecompile": "Force recompile", "lang_generationFailed": "Could not generate boot menu. The bwLehrpool-System might not work properly. If you can't fix the problem, please report the error log below to the bwLehrpool project.", + "lang_hotkey": "Hotkey", + "lang_idFormatHint": "(16 chars max, a-z 0-9 - _)", + "lang_imageToLoad": "Image to load (e.g. kernel)", + "lang_initRd": "Optional initrd\/initramfs to load", + "lang_ipxeWikiUrl": "at the iPXE wiki", "lang_isDefault": "Default", "lang_listOfMenus": "Menulist", - "lang_localHDD": "Local HDD", + "lang_localBootDefault": "Default method to use for booting from disk", + "lang_localBootExceptions": "Exceptions to the local boot method, defined per system model", + "lang_localBootHead": "Boot from local disk", + "lang_localBootIntro": "There are several methods to trigger a local boot from the iPXE environment. In most cases, the \"AUTO\" setting will work, but with some system models it might be necessary to override the default behavior. In some instances, a BIOS update might resolve the issue as well.", "lang_locationCount": "Number of Locations", - "lang_masterPassword": "Master Password", - "lang_masterPasswordHelp": "The master password is required to edit a boot menu entry. This should be set for security reasons.", - "lang_menuCustom": "Custom Extra Menu", - "lang_menuCustomHint1": "Here you have the opportunity to add your own menu code to the displayed PXE menu, eg to refer to other PXE server. The format corresponds to the syslinux menu format.", - "lang_menuCustomHint2": "You can create one or more entries. If you want to create an entry that starts automatically when the user makes a selection, assign as", - "lang_menuCustomHint3": "and select as the default boot behavior custom as well.", - "lang_menuDisplayTime": "Menu Display Time", + "lang_menuDeleteConfirm": "Are you sure you want to delete this menu?", + "lang_menuEntryOverride": "Override default selection", "lang_menuGeneration": "Generating boot menu...", + "lang_menuListIntro": "This is the list of iPXE menus, with information about assigned locations. You can create, edit and delete additional menus.", + "lang_menuTimeout": "Timeout", "lang_menuTitle": "Menu", "lang_moduleHeading": "iPXE \/ Boot Menu", - "lang_pxeBuilt": "Built PXE binary", + "lang_newBootEntryHead": "New menu item", + "lang_newMenu": "New menu", + "lang_none": "(none)", + "lang_override": "Override", + "lang_recompileHint": "Recompile iPXE binaries now. Usually this happens automatically on changes, but if you suspect problems caused by outdated binaries, you can trigger recompilation here.", + "lang_refCount": "References", + "lang_referencingMenus": "Referencing menus", + "lang_scriptContent": "Script content", "lang_seconds": "Seconds", "lang_set": "Set", - "lang_usbBuilt": "Built USB image", + "lang_spacer": "Spacer", + "lang_systemmodel": "System model", + "lang_title": "Title", + "lang_typeExecEntry": "Standardeintrag", + "lang_typeScriptEntry": "Custom script", "lang_usbImage": "USB image", "lang_usbImgHelp": "The USB image can be used to create a bootable USB stick, which enables you to boot bwLehrpool without changing your DHCP settings or enabling network boot in the clients. The only requirement is that you enable USB boot in the client's BIOS. The USB stick is only used for bootstrapping, the actual bwLehrpool system is still loaded via network from your local bwLehrpool server.", + "lang_usbImgHelpBtn": "Create bootable thumb drive", "lang_usbImgHelpLinux": "On Linux you can simply use dd to write the image to a usb stick. The image already contains a partition table, so make sure you write the image to the device itself and not to an already existing partition (e.g. to \/dev\/sdx not \/dev\/sdx1)", - "lang_usbImgHelpWindows": "On Windows you need to use a 3rd party tool that can directly write to usb sticks. There are several free and open source soltions, one of them being Rufus. Rufus has been tested with the bwLehrpool image and is very simple to use. After launching Rufus, just open the downloaded USB image, select the proper USB stick to write to (be careful not to overwrite the wrong drive!), and you're ready to go." + "lang_usbImgHelpWindows": "On Windows you need to use a 3rd party tool that can directly write to usb sticks. There are several free and open source soltions, one of them being Rufus. Rufus has been tested with the bwLehrpool image and is very simple to use. After launching Rufus, just open the downloaded USB image, select the proper USB stick to write to (be careful not to overwrite the wrong drive!), and you're ready to go.", + "lang_useDefaultMenu": "Inherit from parent location", + "lang_useDefaultMenuEntry": "(Menu default)" } \ No newline at end of file diff --git a/modules-available/serversetup-bwlp-ipxe/page.inc.php b/modules-available/serversetup-bwlp-ipxe/page.inc.php index bb69fecf..6f95d754 100644 --- a/modules-available/serversetup-bwlp-ipxe/page.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/page.inc.php @@ -552,7 +552,7 @@ class Page_ServerSetup extends Page FROM serversetup_menu m WHERE menuid = :id", compact('id')); if ($menu === false) { - Message::addError('no-such-menu', $id); + Message::addError('invalid-menu-id', $id); return; } $insertParams['menuid'] = $id; diff --git a/modules-available/sysconfig/lang/de/template-tags.json b/modules-available/sysconfig/lang/de/template-tags.json index 1a09abbd..2a7a02d6 100644 --- a/modules-available/sysconfig/lang/de/template-tags.json +++ b/modules-available/sysconfig/lang/de/template-tags.json @@ -47,6 +47,8 @@ "lang_fixNumeric": "Numerischen Account-Namen muss ein 's' vorangestellt werden", "lang_fixNumericDescription": "Wenn Sie diese Option aktivieren, m\u00fcssen Benutzer, deren Account-Name nur aus Ziffern besteht, diesem ein 's' voranstellen beim Login. Diese Option ist beim alten Login-Manager (KDM) zwingend erforderlich, da sonst der Loginvorgang fehlschl\u00e4gt. Mit dem neuen lightdm-basierten Login-Screen lassen sich numerische Account-Namen jedoch direkt verwenden. Wenn Sie an Ihrer Einrichtung keine numerischen Account-Namen verwenden, hat diese Option keine Auswirkung.", "lang_folderRedirection": "Folder Redirection", + "lang_genUid": "uid-Nummern generieren", + "lang_genUidDescription": "Wenn aktiviert, generiert der Satellitenserver nummerische IDs f\u00fcr die Benutzer, anstatt diese aus dem LDAP\/AD zu extrahieren.", "lang_generateModule": "Modul erzeugen", "lang_handlingNotes": "Hier k\u00f6nnen Sie festlegen, wie Netzwerk-Shares (inkl. des Home-Verzeichnisses) an Virtuelle Maschinen durchgereicht werden. In \u00e4lteren Versionen von bwLehrpool wurden die VMware Shared Folders genutzt, was mit bestimmten file servern Probleme verursachen konnte. Der neue native Modus funktioniert deutlich besser, ist aber bei Windows-G\u00e4sten darauf angewiesen, dass (1) der file server smb\/cifs spricht (z.B. Windows Server, Samba unter Linux) und (2) die openslx.exe im Autostart eingebunden ist (bei den bwLehrpool Vorlagen bereits der Fall).", "lang_helpHomeAttrHead": "Name des Home-Verzeichnis-Attributs", diff --git a/modules-available/sysconfig/lang/en/template-tags.json b/modules-available/sysconfig/lang/en/template-tags.json index e98038a9..fb02cf42 100644 --- a/modules-available/sysconfig/lang/en/template-tags.json +++ b/modules-available/sysconfig/lang/en/template-tags.json @@ -47,6 +47,8 @@ "lang_fixNumeric": "Numeric account names have to be prefixed by 's'", "lang_fixNumericDescription": "If enabled, users with account names that consist entirely of digits have to prefix their user id by 's' when logging in. This is required with the old login manager (KDM) to prevent crashes. The new lightdm-based login manager will accept numeric account names, so you can leave this option disabled. If your organization doesn't have any numeric account names, this option will have no effect.", "lang_folderRedirection": "Folder Redirection", + "lang_genUid": "Generate uid numbers", + "lang_genUidDescription": "When selected, the satellite server will generate numeric IDs for the users, instead of extracting them from AD\/LDAP.", "lang_generateModule": "Generating module", "lang_handlingNotes": "Here you can configure how network shares (like the user's home directory) are mapped inside the VM. Old Versions of bwLehrpool used the VMware Shared Folder technique, which could cause problems with certain file servers. The new \"native mode\" works much better, but on Windows guests, it requires that you (1) use an smb\/cifs file server (Windows Server, Linux with Samba) and (2) have openslx.exe setup to autorun in the VM (this is already configured for bwLehrpool templates).", "lang_helpHomeAttrHead": "Name of the home directory attribute", -- cgit v1.2.3-55-g7522