diff --git a/patches.d/scribe-backend.patch b/patches.d/scribe-backend.patch index 1480469..f69a6ab 100644 --- a/patches.d/scribe-backend.patch +++ b/patches.d/scribe-backend.patch @@ -1,5 +1,5 @@ diff --git usr/bin/importation_scribe usr/bin/importation_scribe -index 0db4982..da2e69e 100755 +index 0db4982..290d66e 100755 --- usr/bin/importation_scribe +++ usr/bin/importation_scribe @@ -42,21 +42,21 @@ choix de la source de données et imports @@ -25,7 +25,7 @@ index 0db4982..da2e69e 100755 class OutOfRange(Exception): """ Exception OutOfRange """ -@@ -458,33 +458,42 @@ class Console: +@@ -458,33 +458,44 @@ class Console: """ log.add_lock() log.debuglog("Arrêt de LSC...", title=True) @@ -55,9 +55,11 @@ index 0db4982..da2e69e 100755 etab=etab) + if SUPPORT_ETAB: + old_dns = [login[0] for login in old_logins if login[1]['uid'] not in logins] -+ print(old_dns) + for old_dn in old_dns: + connexion._delete(old_dn) ++ if prefs.get_default('backup') == 'oui': ++ target = f'/home/backup/{etab}/' ++ print(f'copie dans {target}') + if self.data_type in ['sconet', 'aaf']: writer.write_service(store=self.store, connexion=connexion, @@ -69,6 +71,57 @@ index 0db4982..da2e69e 100755 log.debuglog("Démarrage de LSC...", title=True) nscd_start() log.del_lock() +diff --git usr/lib/python3/dist-packages/scribe/importation/preferences.py usr/lib/python3/dist-packages/scribe/importation/preferences.py +index fdcb142..fe11e3b 100644 +--- usr/lib/python3/dist-packages/scribe/importation/preferences.py ++++ usr/lib/python3/dist-packages/scribe/importation/preferences.py +@@ -141,20 +141,24 @@ PREF_MAIL = ['mail', 'liste', + ('perso_internet', 'adresse fournie ou domaine Internet'), + ('perso_aucune', 'adresse fournie ou aucune'), + ('restreint', 'adresse locale, domaine restreint'), + ('internet', 'adresse locale, domaine Internet'), + ('aucune', 'aucune adresse'), + )] + + PREF_PREFIX_ETAB = ['etab_prefix', 'texte', + "Préfixe des groupes de l'établissement", ""] + ++PREF_PURGE = ['backup', 'liste', ++ "Sauvegarde des données des utilisateurs supprimés", ++ (('oui', 'oui'), ('non', 'non'))] ++ + if dico.get('activer_nfs', 'non') == 'oui' or 'interface_client_ltsp' in dico: + DEFAULT_CHANGE_PWD = 'non' + DEFAULT_SHELL = 'oui' + else: + DEFAULT_CHANGE_PWD = 'oui' + DEFAULT_SHELL = 'non' + + def get_etab(): + """ + charge les établissements à chaque fois qu'on le demande +@@ -211,20 +215,21 @@ def get_responsables_prefs(): + return Preferences(prefs_resp, PREF_FILES['responsable']) + + + def get_enseignants_prefs(): + """ préférences pour les enseignants """ + prefs_ens = [ Preference(default='0', *PREF_QUOTA), + Preference(*PREF_LOGIN), + Preference(default=DEFAULT_SHELL, *PREF_SHELL), + Preference(default='1', *PREF_PROFIL), + Preference(default='perso_aucune', *PREF_MAIL), ++ Preference(default='oui', *PREF_PURGE), + ] + if FORCED_PASSWORD_MODIFICATION_ALLOWED: + prefs_ens.insert(2, Preference(default=DEFAULT_CHANGE_PWD, *PREF_CHANGE_PWD)) + if SUPPORT_ETAB: + prefs_ens.insert(0, Preference(*get_etab())) + prefs_ens.insert(1, Preference(*PREF_PREFIX_ETAB)) + prefs_ens.append(Preference(*get_etabprefix())) + return Preferences(prefs_ens, PREF_FILES['enseignant']) + + def get_administratifs_prefs(): diff --git usr/lib/python3/dist-packages/scribe/importation/writer.py usr/lib/python3/dist-packages/scribe/importation/writer.py index 34ce0fb..40865d5 100644 --- usr/lib/python3/dist-packages/scribe/importation/writer.py