Code

Followup commit for #774
authorpsc <psc@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 1 Apr 2010 12:20:10 +0000 (12:20 +0000)
committerpsc <psc@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 1 Apr 2010 12:20:10 +0000 (12:20 +0000)
- Make check for a dash at the beginning of a classname
  trigger on all class types, not only FAIScript
- Add a check to the check() function of every class type
  so that the check for a dash in the beginning of a class
  name or spaces is also checked on save.

git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6-lhm@17457 594d385d-05f5-0310-b6e9-bd551577e9d8

trunk/gosa-plugins/fai/admin/fai/class_askClassName.inc
trunk/gosa-plugins/fai/admin/fai/class_faiHook.inc
trunk/gosa-plugins/fai/admin/fai/class_faiPackage.inc
trunk/gosa-plugins/fai/admin/fai/class_faiPartitionTable.inc
trunk/gosa-plugins/fai/admin/fai/class_faiProfile.inc
trunk/gosa-plugins/fai/admin/fai/class_faiScript.inc
trunk/gosa-plugins/fai/admin/fai/class_faiTemplate.inc
trunk/gosa-plugins/fai/admin/fai/class_faiVariable.inc
trunk/gosa-plugins/fai/locale/de/LC_MESSAGES/messages.po
trunk/gosa-plugins/fai/locale/messages.po

index 197f9726db684fc9b1c0c11ee2cd6db636500738..7cac6536d9e0fb4ee7fe594fac025cea642661ae 100644 (file)
@@ -142,8 +142,8 @@ class askClassName extends plugin
       $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->ClassName),"/[^_]/");
     }
 
-    if($this->objectClass == "FAIscript" && preg_match("/^-/", $this->ClassName)) {
-      $message[] = sprintf(_("The specified classname '%s' is invalid. Scripts must not start with a dash."), $this->ClassName);
+    if(preg_match("/^-/", $this->ClassName)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->ClassName);
 
     }
 
index 5939f7eaa0e88875a4e45799153f70b4024ae914..d68429bc0d087dbd8f7d1434e1ccd506f847bcac 100644 (file)
@@ -435,6 +435,14 @@ class faiHook extends plugin
       }
     }
 
+    if (preg_match("/^-/", $this->cn)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->cn);
+    }
+
+    if($this->cn != preg_replace("/ /","",trim($this->cn))){
+      $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->cn),"/[^_]/");
+    }
+
     return ($message);
   }
 
index ebc2e96640b8d9cb5307ff0e8a0252359a5ebe6c..fb7ad0902621e56bc79161da4b2d2e330ecb04ff 100644 (file)
@@ -603,6 +603,15 @@ class faiPackage extends plugin
         $message[] = msgPool::duplicated(_("Name"));
       }
     }
+
+    if (preg_match("/^-/", $this->cn)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->cn);
+    }
+
+    if($this->cn != preg_replace("/ /","",trim($this->cn))){
+      $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->cn),"/[^_]/");
+    }
+
     return ($message);
   }
 
index 07f4ab386798af451d243afc8c6f886daea2af88..391ea168d186e2faac31c1f0779e30c6ca7fd2bd 100644 (file)
@@ -364,6 +364,15 @@ class faiPartitionTable extends plugin
         $message[] = msgPool::duplicated(_("Name"));
       }
     }
+
+    if (preg_match("/^-/", $this->cn)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->cn);
+    }
+
+    if($this->cn != preg_replace("/ /","",trim($this->cn))){
+      $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->cn),"/[^_]/");
+    }
+
     return ($message);
   }
 
index e146a9121644060ea1327408aa72eb8d7ab4d366..da3d9192953537ffa00f698ec45b8682fe3b30d3 100644 (file)
@@ -424,6 +424,14 @@ class faiProfile extends plugin
       }
     }
 
+    if (preg_match("/^-/", $this->cn)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->cn);
+    }
+
+    if($this->cn != preg_replace("/ /","",trim($this->cn))){
+      $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->cn),"/[^_]/");
+    }
+
     return ($message);
   }
 
index 278f068d11e7cf4959f3a23d22707b0a5c8db635..242be670553d84e11a279ad0aa1b37dc81b2967e 100644 (file)
@@ -479,6 +479,14 @@ class faiScript extends plugin
       }
     }
 
+    if (preg_match("/^-/", $this->cn)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->cn);
+    }
+
+    if($this->cn != preg_replace("/ /","",trim($this->cn))){
+      $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->cn),"/[^_]/");
+    }
+
     return ($message);
   }
 
index b507268f416d1b608ee372a98ea5741e2d21aac1..10c0bd69c5f8a31266939359b8ba5cb8af4c9aea 100644 (file)
@@ -418,6 +418,14 @@ class faiTemplate extends plugin
       }
     }
 
+    if (preg_match("/^-/", $this->cn)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->cn);
+    }
+
+    if($this->cn != preg_replace("/ /","",trim($this->cn))){
+      $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->cn),"/[^_]/");
+    }
+
     return ($message);
   }
 
index 45f45832616e9357bdac88f958ca66bc126a1fa5..5c01bb51c604a09526a2a030a21105bb104dfc77 100644 (file)
@@ -297,6 +297,14 @@ class faiVariable extends plugin
       }
     }
 
+    if (preg_match("/^-/", $this->cn)) {
+      $message[] = sprintf(_("The specified classname '%s' is invalid. Classnames must not start with a dash."), $this->cn);
+    }
+
+    if($this->cn != preg_replace("/ /","",trim($this->cn))){
+      $message[] = msgPool::invalid(_("Name"),preg_replace("/ /","_",$this->cn),"/[^_]/");
+    }
+
     return ($message);
   }
 
index a4298750aaf2bc168d79dbcd70bac411a101bc4d..352ae4b058fc3b31289f3cc56cbef5e9e4609cee 100644 (file)
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-17 16:04+0100\n"
+"POT-Creation-Date: 2010-03-29 14:44+0200\n"
 "PO-Revision-Date: 2008-12-04 11:27+0100\n"
 "Last-Translator: Cajus Pollmeier <pollmeier@gonicus.de>\n"
 "Language-Team: deutsch <de@li.org>\n"
@@ -66,11 +66,11 @@ msgstr "FAI Release"
 #: admin/systems/services/repository/class_servRepository.inc:177
 #: admin/fai/class_faiSummaryTab.inc:343
 #: admin/fai/class_faiPartitionTable.inc:364
-#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/faiPackage.tpl:9
+#: admin/fai/class_faiPartitionTable.inc:541 admin/fai/faiPackage.tpl:9
 #: admin/fai/class_faiPartitionTableEntry.inc:375
 #: admin/fai/class_faiPartitionTableEntry.inc:378
 #: admin/fai/class_faiPartitionTableEntry.inc:474
-#: admin/fai/class_faiTemplate.inc:417 admin/fai/class_faiTemplate.inc:537
+#: admin/fai/class_faiTemplate.inc:417 admin/fai/class_faiTemplate.inc:541
 #: admin/fai/faiVariable.tpl:9 admin/fai/class_askClassName.inc:142
 #: admin/fai/class_askClassName.inc:151 admin/fai/class_askClassName.inc:155
 #: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
@@ -79,20 +79,20 @@ msgstr "FAI Release"
 #: admin/fai/class_faiScriptEntry.inc:145
 #: admin/fai/class_faiScriptEntry.inc:189 admin/fai/faiVariableEntry.tpl:9
 #: admin/fai/faiScript.tpl:9 admin/fai/class_faiScript.inc:322
-#: admin/fai/class_faiScript.inc:478 admin/fai/class_faiScript.inc:637
+#: admin/fai/class_faiScript.inc:478 admin/fai/class_faiScript.inc:641
 #: admin/fai/faiScriptEntry.tpl:9 admin/fai/class_faiTemplateEntry.inc:207
 #: admin/fai/class_faiTemplateEntry.inc:273 admin/fai/faiTemplate.tpl:9
 #: admin/fai/faiHookEntry.tpl:9 admin/fai/faiHook.tpl:9
-#: admin/fai/class_faiHook.inc:434 admin/fai/class_faiHook.inc:552
+#: admin/fai/class_faiHook.inc:434 admin/fai/class_faiHook.inc:556
 #: admin/fai/class_faiProfile.inc:413 admin/fai/class_faiProfile.inc:423
-#: admin/fai/class_faiProfile.inc:497 admin/fai/class_faiHookEntry.inc:145
+#: admin/fai/class_faiProfile.inc:501 admin/fai/class_faiHookEntry.inc:145
 #: admin/fai/class_faiHookEntry.inc:150 admin/fai/class_faiHookEntry.inc:153
 #: admin/fai/class_faiHookEntry.inc:196 admin/fai/class_faiVariable.inc:296
-#: admin/fai/class_faiVariable.inc:397 admin/fai/class_faiVariableEntry.inc:90
+#: admin/fai/class_faiVariable.inc:401 admin/fai/class_faiVariableEntry.inc:90
 #: admin/fai/class_faiVariableEntry.inc:99
 #: admin/fai/class_faiVariableEntry.inc:102
 #: admin/fai/class_faiVariableEntry.inc:137 admin/fai/class_faiPackage.inc:603
-#: admin/fai/class_faiPackage.inc:776 admin/fai/faiPartitionTable.tpl:9
+#: admin/fai/class_faiPackage.inc:781 admin/fai/faiPartitionTable.tpl:9
 #: admin/fai/faiPartitionTableEntry.tpl:6 admin/fai/faiProfile.tpl:9
 msgid "Name"
 msgstr "Name"
@@ -101,7 +101,7 @@ msgstr "Name"
 #: admin/fai/class_faiDebconfConfigurations.inc:71
 #: admin/fai/class_faiManagement.inc:788
 #: admin/fai/class_faiPackageConfiguration.inc:35 admin/fai/class_FAI.inc:566
-#: admin/fai/class_faiPackage.inc:274 admin/fai/class_faiPackage.inc:625
+#: admin/fai/class_faiPackage.inc:274 admin/fai/class_faiPackage.inc:630
 #: admin/fai/class_faiPackageEntry.inc:53
 #: admin/fai/class_faiPackageEntry.inc:193
 msgid "Service infrastructure"
@@ -144,7 +144,7 @@ msgstr "Sektionen"
 #: admin/systems/services/repository/servRepositorySetup.tpl:19
 #: admin/systems/services/repository/class_divListRepositories.inc:23
 #: admin/fai/faiPackage.tpl:37 admin/fai/branch_selector.tpl:25
-#: admin/fai/class_faiPackage.inc:782
+#: admin/fai/class_faiPackage.inc:787
 msgid "Release"
 msgstr "Release"
 
@@ -174,7 +174,7 @@ msgstr "Repository hinzufügen"
 #: admin/fai/faiPackageConfiguration.tpl:1
 #: admin/fai/class_faiDebconfConfigurations.inc:140
 #: admin/fai/NewDebconfConfiguration.tpl:16 admin/fai/class_divListFai.inc:68
-#: admin/fai/faiDebconfConfigurations.tpl:1 admin/fai/class_faiPackage.inc:768
+#: admin/fai/faiDebconfConfigurations.tpl:1 admin/fai/class_faiPackage.inc:773
 msgid "Package"
 msgstr "Paket"
 
@@ -199,7 +199,7 @@ msgid "Templates"
 msgstr "Vorlagen"
 
 #: admin/fai/class_faiSummaryTab.inc:48
-#: admin/fai/class_faiPartitionTable.inc:528
+#: admin/fai/class_faiPartitionTable.inc:533
 #: admin/fai/class_askClassName.inc:79 admin/fai/class_divListFai.inc:154
 #: admin/fai/class_divListFai.inc:208 admin/fai/class_faiGroupHandle.inc:100
 #: admin/fai/class_faiProfileEntry.inc:143 admin/fai/class_faiProfile.inc:298
@@ -275,26 +275,37 @@ msgstr "%s Partition"
 msgid "%s partition(s)"
 msgstr "%s Partition(en)"
 
-#: admin/fai/class_faiPartitionTable.inc:529
+#: admin/fai/class_faiPartitionTable.inc:369
+#: admin/fai/class_faiTemplate.inc:422 admin/fai/class_faiScript.inc:483
+#: admin/fai/class_faiHook.inc:439 admin/fai/class_faiProfile.inc:428
+#: admin/fai/class_faiVariable.inc:301 admin/fai/class_faiPackage.inc:608
+msgid ""
+"The specified classname '%s' is invalid. Classnames must not start with a "
+"dash."
+msgstr ""
+"Der angegebene Klassen-Name ist ungültig. Klassen-Namen dürfen nicht mit einem "
+"Bindestrich beginnen."
+
+#: admin/fai/class_faiPartitionTable.inc:534
 msgid "FAI partition table"
 msgstr "FAI-Partitionstabelle"
 
-#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/class_faiHook.inc:552
-#: admin/fai/class_faiVariable.inc:397
+#: admin/fai/class_faiPartitionTable.inc:541 admin/fai/class_faiHook.inc:556
+#: admin/fai/class_faiVariable.inc:401
 msgid "Read only"
 msgstr "Nur Lesen"
 
-#: admin/fai/class_faiPartitionTable.inc:537 admin/fai/faiPackage.tpl:21
+#: admin/fai/class_faiPartitionTable.inc:542 admin/fai/faiPackage.tpl:21
 #: admin/fai/class_faiPartitionTableEntry.inc:475
-#: admin/fai/class_faiTemplate.inc:538 admin/fai/faiVariable.tpl:21
+#: admin/fai/class_faiTemplate.inc:542 admin/fai/faiVariable.tpl:21
 #: admin/fai/class_faiScriptEntry.inc:190 admin/fai/faiVariableEntry.tpl:19
 #: admin/fai/faiScript.tpl:21 admin/fai/faiTemplateEntry.tpl:33
-#: admin/fai/class_faiScript.inc:638 admin/fai/faiScriptEntry.tpl:19
+#: admin/fai/class_faiScript.inc:642 admin/fai/faiScriptEntry.tpl:19
 #: admin/fai/class_faiTemplateEntry.inc:274 admin/fai/faiTemplate.tpl:21
 #: admin/fai/faiHookEntry.tpl:19 admin/fai/faiHook.tpl:21
-#: admin/fai/class_faiHook.inc:553 admin/fai/class_faiProfile.inc:498
-#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:398
-#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:777
+#: admin/fai/class_faiHook.inc:557 admin/fai/class_faiProfile.inc:502
+#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:402
+#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:782
 #: admin/fai/faiPartitionTable.tpl:21 admin/fai/faiPartitionTableEntry.tpl:13
 #: admin/fai/faiProfile.tpl:21
 msgid "Description"
@@ -359,7 +370,7 @@ msgstr "Zeige die Objekte, auf die Folgendes passt"
 msgid "Generic"
 msgstr "Allgemein"
 
-#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:779
+#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:784
 msgid "Section"
 msgstr "Section"
 
@@ -536,16 +547,16 @@ msgstr "Entfernen"
 msgid "Download"
 msgstr "Herunterladen"
 
-#: admin/fai/class_faiTemplate.inc:529
+#: admin/fai/class_faiTemplate.inc:533
 msgid "Template"
 msgstr "Vorlage"
 
-#: admin/fai/class_faiTemplate.inc:530
+#: admin/fai/class_faiTemplate.inc:534
 msgid "FAI template"
 msgstr "FAI-Vorlage"
 
-#: admin/fai/class_faiTemplate.inc:537 admin/fai/class_faiScript.inc:637
-#: admin/fai/class_faiPackage.inc:779 admin/fai/class_faiPackage.inc:782
+#: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:641
+#: admin/fai/class_faiPackage.inc:784 admin/fai/class_faiPackage.inc:787
 msgid "Readonly"
 msgstr "Nur Lesen"
 
@@ -642,7 +653,7 @@ msgstr "Wird aktuell nicht gespeichert"
 
 #: admin/fai/class_faiDebconfConfigurations.inc:141
 #: admin/fai/NewDebconfConfiguration.tpl:19 admin/fai/class_divListFai.inc:60
-#: admin/fai/class_divListFai.inc:66 admin/fai/class_faiVariable.inc:389
+#: admin/fai/class_divListFai.inc:66 admin/fai/class_faiVariable.inc:393
 msgid "Variable"
 msgstr "Variable"
 
@@ -705,7 +716,7 @@ msgstr "Hook-Gruppe"
 
 #: admin/fai/class_askClassName.inc:84 admin/fai/class_divListFai.inc:58
 #: admin/fai/class_divListFai.inc:149 admin/fai/class_divListFai.inc:218
-#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:489
+#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:493
 msgid "Profile"
 msgstr "Profil"
 
@@ -715,9 +726,10 @@ msgid "Template bundle"
 msgstr "Vorlagen-Gruppe"
 
 #: admin/fai/class_askClassName.inc:146
-#, php-format
+#, fuzzy, php-format
 msgid ""
-"The specified classname '%s' is invalid. Scripts must not start with a dash."
+"The specified classname '%s' is invalid. A classname must not start with a "
+"dash."
 msgstr ""
 "Der angegebene Klassen-Name ist ungültig. Skripte dürfen nicht mit einem "
 "Bindestrich beginnn."
@@ -908,7 +920,7 @@ msgid "file is empty"
 msgstr "Datei ist leer"
 
 #: admin/fai/class_faiScriptEntry.inc:150 admin/fai/class_divListFai.inc:62
-#: admin/fai/class_faiScript.inc:629 admin/fai/faiScriptEntry.tpl:56
+#: admin/fai/class_faiScript.inc:633 admin/fai/faiScriptEntry.tpl:56
 #: admin/fai/faiHookEntry.tpl:56 admin/fai/class_faiHookEntry.inc:158
 msgid "Script"
 msgstr "Skript"
@@ -1024,7 +1036,7 @@ msgstr "Zeige Vorlagen"
 msgid "Show scripts"
 msgstr "Zeige Skripte"
 
-#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:544
+#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:548
 msgid "Hook"
 msgstr "Hook"
 
@@ -1270,7 +1282,7 @@ msgstr "Priorität"
 msgid "Action"
 msgstr "Aktion"
 
-#: admin/fai/class_faiScript.inc:630 admin/fai/class_faiHookEntry.inc:199
+#: admin/fai/class_faiScript.inc:634 admin/fai/class_faiHookEntry.inc:199
 msgid "FAI script"
 msgstr "FAI-Skript"
 
@@ -1441,7 +1453,7 @@ msgstr "FAI-Einstellungen"
 msgid "This list displays all assigned class names for this profile."
 msgstr "Diese Liste zeigt alle diesem Profil zugeordneten Klassen-Namen."
 
-#: admin/fai/class_faiHook.inc:545
+#: admin/fai/class_faiHook.inc:549
 msgid "FAI hook"
 msgstr "FAI-Hook"
 
@@ -1461,11 +1473,11 @@ msgstr "Ab"
 msgid "No class specified for this profile!"
 msgstr "Es wurde für dieses Profil keine Klasse definiert!"
 
-#: admin/fai/class_faiProfile.inc:490
+#: admin/fai/class_faiProfile.inc:494
 msgid "FAI profile"
 msgstr "FAI-Profil"
 
-#: admin/fai/class_faiProfile.inc:499 admin/fai/faiProfile.tpl:36
+#: admin/fai/class_faiProfile.inc:503 admin/fai/faiProfile.tpl:36
 msgid "FAI classes"
 msgstr "FAI-Klassen"
 
@@ -1477,7 +1489,7 @@ msgstr "Hook-Eintrag"
 msgid "FAI hook entry"
 msgstr "FAI-Hook-Eintrag"
 
-#: admin/fai/class_faiVariable.inc:390
+#: admin/fai/class_faiVariable.inc:394
 msgid "FAI variable"
 msgstr "FAI-Variable"
 
@@ -1533,19 +1545,19 @@ msgstr ""
 "Bitte wählen Sie eine gültige Kombination aus Release und Sektion für Ihr "
 "gewünschtes Repository!"
 
-#: admin/fai/class_faiPackage.inc:769
+#: admin/fai/class_faiPackage.inc:774
 msgid "FAI Package list"
 msgstr "FAI-Paketliste"
 
-#: admin/fai/class_faiPackage.inc:778
+#: admin/fai/class_faiPackage.inc:783
 msgid "Packages"
 msgstr "Pakete"
 
-#: admin/fai/class_faiPackage.inc:780
+#: admin/fai/class_faiPackage.inc:785
 msgid "Install Method"
 msgstr "Installations-Methode"
 
-#: admin/fai/class_faiPackage.inc:781
+#: admin/fai/class_faiPackage.inc:786
 msgid "Package configuration"
 msgstr "Paket-Konfiguration"
 
index 37ba1a566c88621a11b5ec6fbf826ffff8837b5d..f0a079de9b579c4d05e64782d24375c25de074fb 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-17 16:04+0100\n"
+"POT-Creation-Date: 2010-03-29 14:44+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -60,11 +60,11 @@ msgstr ""
 #: admin/systems/services/repository/class_servRepository.inc:177
 #: admin/fai/class_faiSummaryTab.inc:343
 #: admin/fai/class_faiPartitionTable.inc:364
-#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/faiPackage.tpl:9
+#: admin/fai/class_faiPartitionTable.inc:541 admin/fai/faiPackage.tpl:9
 #: admin/fai/class_faiPartitionTableEntry.inc:375
 #: admin/fai/class_faiPartitionTableEntry.inc:378
 #: admin/fai/class_faiPartitionTableEntry.inc:474
-#: admin/fai/class_faiTemplate.inc:417 admin/fai/class_faiTemplate.inc:537
+#: admin/fai/class_faiTemplate.inc:417 admin/fai/class_faiTemplate.inc:541
 #: admin/fai/faiVariable.tpl:9 admin/fai/class_askClassName.inc:142
 #: admin/fai/class_askClassName.inc:151 admin/fai/class_askClassName.inc:155
 #: admin/fai/class_faiManagement.inc:614 admin/fai/class_faiManagement.inc:620
@@ -73,20 +73,20 @@ msgstr ""
 #: admin/fai/class_faiScriptEntry.inc:145
 #: admin/fai/class_faiScriptEntry.inc:189 admin/fai/faiVariableEntry.tpl:9
 #: admin/fai/faiScript.tpl:9 admin/fai/class_faiScript.inc:322
-#: admin/fai/class_faiScript.inc:478 admin/fai/class_faiScript.inc:637
+#: admin/fai/class_faiScript.inc:478 admin/fai/class_faiScript.inc:641
 #: admin/fai/faiScriptEntry.tpl:9 admin/fai/class_faiTemplateEntry.inc:207
 #: admin/fai/class_faiTemplateEntry.inc:273 admin/fai/faiTemplate.tpl:9
 #: admin/fai/faiHookEntry.tpl:9 admin/fai/faiHook.tpl:9
-#: admin/fai/class_faiHook.inc:434 admin/fai/class_faiHook.inc:552
+#: admin/fai/class_faiHook.inc:434 admin/fai/class_faiHook.inc:556
 #: admin/fai/class_faiProfile.inc:413 admin/fai/class_faiProfile.inc:423
-#: admin/fai/class_faiProfile.inc:497 admin/fai/class_faiHookEntry.inc:145
+#: admin/fai/class_faiProfile.inc:501 admin/fai/class_faiHookEntry.inc:145
 #: admin/fai/class_faiHookEntry.inc:150 admin/fai/class_faiHookEntry.inc:153
 #: admin/fai/class_faiHookEntry.inc:196 admin/fai/class_faiVariable.inc:296
-#: admin/fai/class_faiVariable.inc:397 admin/fai/class_faiVariableEntry.inc:90
+#: admin/fai/class_faiVariable.inc:401 admin/fai/class_faiVariableEntry.inc:90
 #: admin/fai/class_faiVariableEntry.inc:99
 #: admin/fai/class_faiVariableEntry.inc:102
 #: admin/fai/class_faiVariableEntry.inc:137 admin/fai/class_faiPackage.inc:603
-#: admin/fai/class_faiPackage.inc:776 admin/fai/faiPartitionTable.tpl:9
+#: admin/fai/class_faiPackage.inc:781 admin/fai/faiPartitionTable.tpl:9
 #: admin/fai/faiPartitionTableEntry.tpl:6 admin/fai/faiProfile.tpl:9
 msgid "Name"
 msgstr ""
@@ -95,7 +95,7 @@ msgstr ""
 #: admin/fai/class_faiDebconfConfigurations.inc:71
 #: admin/fai/class_faiManagement.inc:788
 #: admin/fai/class_faiPackageConfiguration.inc:35 admin/fai/class_FAI.inc:566
-#: admin/fai/class_faiPackage.inc:274 admin/fai/class_faiPackage.inc:625
+#: admin/fai/class_faiPackage.inc:274 admin/fai/class_faiPackage.inc:630
 #: admin/fai/class_faiPackageEntry.inc:53
 #: admin/fai/class_faiPackageEntry.inc:193
 msgid "Service infrastructure"
@@ -138,7 +138,7 @@ msgstr ""
 #: admin/systems/services/repository/servRepositorySetup.tpl:19
 #: admin/systems/services/repository/class_divListRepositories.inc:23
 #: admin/fai/faiPackage.tpl:37 admin/fai/branch_selector.tpl:25
-#: admin/fai/class_faiPackage.inc:782
+#: admin/fai/class_faiPackage.inc:787
 msgid "Release"
 msgstr ""
 
@@ -166,7 +166,7 @@ msgstr ""
 #: admin/fai/faiPackageConfiguration.tpl:1
 #: admin/fai/class_faiDebconfConfigurations.inc:140
 #: admin/fai/NewDebconfConfiguration.tpl:16 admin/fai/class_divListFai.inc:68
-#: admin/fai/faiDebconfConfigurations.tpl:1 admin/fai/class_faiPackage.inc:768
+#: admin/fai/faiDebconfConfigurations.tpl:1 admin/fai/class_faiPackage.inc:773
 msgid "Package"
 msgstr ""
 
@@ -191,7 +191,7 @@ msgid "Templates"
 msgstr ""
 
 #: admin/fai/class_faiSummaryTab.inc:48
-#: admin/fai/class_faiPartitionTable.inc:528
+#: admin/fai/class_faiPartitionTable.inc:533
 #: admin/fai/class_askClassName.inc:79 admin/fai/class_divListFai.inc:154
 #: admin/fai/class_divListFai.inc:208 admin/fai/class_faiGroupHandle.inc:100
 #: admin/fai/class_faiProfileEntry.inc:143 admin/fai/class_faiProfile.inc:298
@@ -267,26 +267,36 @@ msgstr ""
 msgid "%s partition(s)"
 msgstr ""
 
-#: admin/fai/class_faiPartitionTable.inc:529
+#: admin/fai/class_faiPartitionTable.inc:369
+#: admin/fai/class_faiTemplate.inc:422 admin/fai/class_faiScript.inc:483
+#: admin/fai/class_faiHook.inc:439 admin/fai/class_faiProfile.inc:428
+#: admin/fai/class_faiVariable.inc:301 admin/fai/class_faiPackage.inc:608
+#, php-format
+msgid ""
+"The specified classname '%s' is invalid. Classnames must not start with a "
+"dash."
+msgstr ""
+
+#: admin/fai/class_faiPartitionTable.inc:534
 msgid "FAI partition table"
 msgstr ""
 
-#: admin/fai/class_faiPartitionTable.inc:536 admin/fai/class_faiHook.inc:552
-#: admin/fai/class_faiVariable.inc:397
+#: admin/fai/class_faiPartitionTable.inc:541 admin/fai/class_faiHook.inc:556
+#: admin/fai/class_faiVariable.inc:401
 msgid "Read only"
 msgstr ""
 
-#: admin/fai/class_faiPartitionTable.inc:537 admin/fai/faiPackage.tpl:21
+#: admin/fai/class_faiPartitionTable.inc:542 admin/fai/faiPackage.tpl:21
 #: admin/fai/class_faiPartitionTableEntry.inc:475
-#: admin/fai/class_faiTemplate.inc:538 admin/fai/faiVariable.tpl:21
+#: admin/fai/class_faiTemplate.inc:542 admin/fai/faiVariable.tpl:21
 #: admin/fai/class_faiScriptEntry.inc:190 admin/fai/faiVariableEntry.tpl:19
 #: admin/fai/faiScript.tpl:21 admin/fai/faiTemplateEntry.tpl:33
-#: admin/fai/class_faiScript.inc:638 admin/fai/faiScriptEntry.tpl:19
+#: admin/fai/class_faiScript.inc:642 admin/fai/faiScriptEntry.tpl:19
 #: admin/fai/class_faiTemplateEntry.inc:274 admin/fai/faiTemplate.tpl:21
 #: admin/fai/faiHookEntry.tpl:19 admin/fai/faiHook.tpl:21
-#: admin/fai/class_faiHook.inc:553 admin/fai/class_faiProfile.inc:498
-#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:398
-#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:777
+#: admin/fai/class_faiHook.inc:557 admin/fai/class_faiProfile.inc:502
+#: admin/fai/class_faiHookEntry.inc:197 admin/fai/class_faiVariable.inc:402
+#: admin/fai/class_faiVariableEntry.inc:138 admin/fai/class_faiPackage.inc:782
 #: admin/fai/faiPartitionTable.tpl:21 admin/fai/faiPartitionTableEntry.tpl:13
 #: admin/fai/faiProfile.tpl:21
 msgid "Description"
@@ -349,7 +359,7 @@ msgstr ""
 msgid "Generic"
 msgstr ""
 
-#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:779
+#: admin/fai/faiPackage.tpl:45 admin/fai/class_faiPackage.inc:784
 msgid "Section"
 msgstr ""
 
@@ -513,16 +523,16 @@ msgstr ""
 msgid "Download"
 msgstr ""
 
-#: admin/fai/class_faiTemplate.inc:529
+#: admin/fai/class_faiTemplate.inc:533
 msgid "Template"
 msgstr ""
 
-#: admin/fai/class_faiTemplate.inc:530
+#: admin/fai/class_faiTemplate.inc:534
 msgid "FAI template"
 msgstr ""
 
-#: admin/fai/class_faiTemplate.inc:537 admin/fai/class_faiScript.inc:637
-#: admin/fai/class_faiPackage.inc:779 admin/fai/class_faiPackage.inc:782
+#: admin/fai/class_faiTemplate.inc:541 admin/fai/class_faiScript.inc:641
+#: admin/fai/class_faiPackage.inc:784 admin/fai/class_faiPackage.inc:787
 msgid "Readonly"
 msgstr ""
 
@@ -604,7 +614,7 @@ msgstr ""
 
 #: admin/fai/class_faiDebconfConfigurations.inc:141
 #: admin/fai/NewDebconfConfiguration.tpl:19 admin/fai/class_divListFai.inc:60
-#: admin/fai/class_divListFai.inc:66 admin/fai/class_faiVariable.inc:389
+#: admin/fai/class_divListFai.inc:66 admin/fai/class_faiVariable.inc:393
 msgid "Variable"
 msgstr ""
 
@@ -664,7 +674,7 @@ msgstr ""
 
 #: admin/fai/class_askClassName.inc:84 admin/fai/class_divListFai.inc:58
 #: admin/fai/class_divListFai.inc:149 admin/fai/class_divListFai.inc:218
-#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:489
+#: admin/fai/class_faiGroupHandle.inc:110 admin/fai/class_faiProfile.inc:493
 msgid "Profile"
 msgstr ""
 
@@ -676,7 +686,8 @@ msgstr ""
 #: admin/fai/class_askClassName.inc:146
 #, php-format
 msgid ""
-"The specified classname '%s' is invalid. Scripts must not start with a dash."
+"The specified classname '%s' is invalid. A classname must not start with a "
+"dash."
 msgstr ""
 
 #: admin/fai/class_askClassName.inc:189
@@ -854,7 +865,7 @@ msgid "file is empty"
 msgstr ""
 
 #: admin/fai/class_faiScriptEntry.inc:150 admin/fai/class_divListFai.inc:62
-#: admin/fai/class_faiScript.inc:629 admin/fai/faiScriptEntry.tpl:56
+#: admin/fai/class_faiScript.inc:633 admin/fai/faiScriptEntry.tpl:56
 #: admin/fai/faiHookEntry.tpl:56 admin/fai/class_faiHookEntry.inc:158
 msgid "Script"
 msgstr ""
@@ -962,7 +973,7 @@ msgstr ""
 msgid "Show scripts"
 msgstr ""
 
-#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:544
+#: admin/fai/class_divListFai.inc:64 admin/fai/class_faiHook.inc:548
 msgid "Hook"
 msgstr ""
 
@@ -1204,7 +1215,7 @@ msgstr ""
 msgid "Action"
 msgstr ""
 
-#: admin/fai/class_faiScript.inc:630 admin/fai/class_faiHookEntry.inc:199
+#: admin/fai/class_faiScript.inc:634 admin/fai/class_faiHookEntry.inc:199
 msgid "FAI script"
 msgstr ""
 
@@ -1370,7 +1381,7 @@ msgstr ""
 msgid "This list displays all assigned class names for this profile."
 msgstr ""
 
-#: admin/fai/class_faiHook.inc:545
+#: admin/fai/class_faiHook.inc:549
 msgid "FAI hook"
 msgstr ""
 
@@ -1390,11 +1401,11 @@ msgstr ""
 msgid "No class specified for this profile!"
 msgstr ""
 
-#: admin/fai/class_faiProfile.inc:490
+#: admin/fai/class_faiProfile.inc:494
 msgid "FAI profile"
 msgstr ""
 
-#: admin/fai/class_faiProfile.inc:499 admin/fai/faiProfile.tpl:36
+#: admin/fai/class_faiProfile.inc:503 admin/fai/faiProfile.tpl:36
 msgid "FAI classes"
 msgstr ""
 
@@ -1406,7 +1417,7 @@ msgstr ""
 msgid "FAI hook entry"
 msgstr ""
 
-#: admin/fai/class_faiVariable.inc:390
+#: admin/fai/class_faiVariable.inc:394
 msgid "FAI variable"
 msgstr ""
 
@@ -1460,19 +1471,19 @@ msgid ""
 "Please choose a valid release/section combination for your repository setup!"
 msgstr ""
 
-#: admin/fai/class_faiPackage.inc:769
+#: admin/fai/class_faiPackage.inc:774
 msgid "FAI Package list"
 msgstr ""
 
-#: admin/fai/class_faiPackage.inc:778
+#: admin/fai/class_faiPackage.inc:783
 msgid "Packages"
 msgstr ""
 
-#: admin/fai/class_faiPackage.inc:780
+#: admin/fai/class_faiPackage.inc:785
 msgid "Install Method"
 msgstr ""
 
-#: admin/fai/class_faiPackage.inc:781
+#: admin/fai/class_faiPackage.inc:786
 msgid "Package configuration"
 msgstr ""