diff --git a/src/includes/addons/LSaddons.supann.php b/src/includes/addons/LSaddons.supann.php index 4eb30f34..c433e0bc 100644 --- a/src/includes/addons/LSaddons.supann.php +++ b/src/includes/addons/LSaddons.supann.php @@ -35,10 +35,13 @@ LSerror :: defineError('SUPANN_SUPPORT_03', // Autres erreurs LSerror :: defineError('SUPANN_01', - ___("SUPANN Support : The attribute %{dependency} is missing. Unable to forge the attribute %{attr}.") + ___("SUPANN: The attribute %{dependency} is missing. Unable to forge the attribute %{attr}.") ); LSerror :: defineError('SUPANN_02', - ___("SUPANN Support : Can't get the basedn of entities. Unable to forge the attribute %{attr}.") + ___("SUPANN: Can't get the basedn of entities. Unable to forge the attribute %{attr}.") +); +LSerror :: defineError('SUPANN_03', + ___("SUPANN: This entity have children entities and could be deleted.") ); /** @@ -539,3 +542,33 @@ function supannCheckEduPersonPrimaryAffiliation(&$ldapObject) { function generate_eduPersonPrincipalName($ldapObject) { return $ldapObject -> getFData($GLOBALS['LS_SUPANN_EPPN_FORMAT']); } + +/** + * Vérifie si une entité SUPANN peux être suprimée. + * + * Cette fonction est prévue pour pouvoir être utilisé comme paramètre + * before_delete de la configuration du type d'objet correspondant aux + * entités SUPANN. Elle vérifie que l'entité n'a pas d'entité fille + * avant suppression. Si au moins une entité fille est trouvée, la + * suppression est bloquée et une message d'erreur est affiché. + * + * Note: Cette fonction peut également être utilisé pour le type d'objet + * correspond aux établissements. + * + * @param[in] &$ldapObject Une référence à l'object LSldapObject + * + * @retval boolean True si la valeur est valide, False sinon + **/ +function supannCheckEntityCouldBeDeleted($ldapObject) { + $children = $ldapObject -> listObjectsInRelation( + $ldapObject, + 'supannCodeEntiteParent', + $GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'], + 'supannCodeEntite' + ); + if ($children) { + LSerror :: addErrorCode('SUPANN_03'); + return false; + } + return true; +} diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 4e410787..4a014e82 100644 Binary files a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo and b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo differ diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index 3feb29a2..dabdd3ed 100644 --- a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-22 16:20+0200\n" +"PO-Revision-Date: 2020-09-22 18:12+0200\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -194,25 +194,29 @@ msgstr "Support SUPPAN : Le tableau global %{array} n'est pas définie." #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:38 msgid "" -"SUPANN Support : The attribute %{dependency} is missing. Unable to forge the " +"SUPANN: The attribute %{dependency} is missing. Unable to forge the " "attribute %{attr}." msgstr "" -"Support SUPANN : L'attribut %{dependency} est manquant. Impossible de " -"générer l'attribut %{attr}." +"SUPANN : L'attribut %{dependency} est manquant. Impossible de générer " +"l'attribut %{attr}." #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:41 msgid "" -"SUPANN Support : Can't get the basedn of entities. Unable to forge the " -"attribute %{attr}." +"SUPANN: Can't get the basedn of entities. Unable to forge the attribute " +"%{attr}." msgstr "" -"Support SUPANN : Impossible de récupérer le basedn des entités. Impossible " -"de générer l'attribut %{attr}." +"SUPANN : Impossible de récupérer le basedn des entités. Impossible de " +"générer l'attribut %{attr}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:316 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:44 +msgid "SUPANN: This entity have children entities and could be deleted." +msgstr "SUPANN : Cette entité a des entités filles et ne peut être supprimée." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:319 msgid "Entity %{id} (unrecognized)" msgstr "Entité %{id} (non-reconnue)" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:411 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:414 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select.php:58 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:102 msgid "%{value} (unrecognized value)" diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index 597643dc..70bcdf8e 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -147,21 +147,25 @@ msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:38 msgid "" -"SUPANN Support : The attribute %{dependency} is missing. Unable to forge the " +"SUPANN: The attribute %{dependency} is missing. Unable to forge the " "attribute %{attr}." msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:41 msgid "" -"SUPANN Support : Can't get the basedn of entities. Unable to forge the " -"attribute %{attr}." +"SUPANN: Can't get the basedn of entities. Unable to forge the attribute " +"%{attr}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:316 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:44 +msgid "SUPANN: This entity have children entities and could be deleted." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:319 msgid "Entity %{id} (unrecognized)" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:411 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:414 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select.php:58 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:102 msgid "%{value} (unrecognized value)"