diff --git a/gestion/gest_crans.py b/gestion/gest_crans.py index c41e9324..23fb3dbd 100755 --- a/gestion/gest_crans.py +++ b/gestion/gest_crans.py @@ -28,7 +28,8 @@ import re import affich_tools, config from lock import make_lock, remove_lock -from ldap_crans import adherent, Machine, BorneWifi, crans_ldap, crans, club, blacklist_items, isadm, isdeconnecteur, ann_scol, droits_possibles, smtpserv, script_utilisateur +from ldap_crans import adherent, crans_ldap, crans, club, blacklist_items, isadm, isdeconnecteur, ann_scol, droits_possibles, smtpserv, script_utilisateur +from ldap_crans import Machine, MachineFixe, MachineWifi, MachineCrans, BorneWifi def dialog(arg) : return affich_tools.dialog(u'Gestion des adhérents et machines du Crans',arg) @@ -1828,13 +1829,13 @@ def menu_principal() : elif choix=='aKM' : # Ajout machine au crans - becane = Machine(crans(db.conn),"fixe") + becane = MachineCrans(crans(db.conn)) if set_machine(becane) : becane.restore() elif choix=='aKB' : # Ajout borne wifi - becane = BorneWifi(crans(db.conn),"borne") + becane = BorneWifi(crans(db.conn)) if set_machine(becane) : becane.restore() @@ -1901,9 +1902,9 @@ def menu_principal() : choix = 'Wifi' try : if choix=='Fixe' : - becane = Machine(proprio, 'fixe') + becane = MachineFixe(proprio) elif choix=='Wifi' : - becane = Machine(proprio, 'wifi') + becane = MachineWifi(proprio) except ValueError, c: arg = '--title "Nouvelle machine" ' arg += '--msgbox "%s\n\n\n" 0 0' % c.args[0] diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 26b598e9..ff728738 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -543,8 +543,6 @@ class crans_ldap: # Hack temporaire, à enlever quand on aura tout renommé if nom_classe in ['Adherent', 'Club']: nom_classe = nom_classe.lower() - if nom_classe in ['MachineFixe', 'MachineWifi', 'MachineCrans']: - nom_classe = 'Machine' classe = globals()[nom_classe] # On crée l'objet return classe(entry, mode, self.conn) @@ -2163,7 +2161,7 @@ class Machine(base_classes_crans): # Machine vide self.__proprietaire = parent_or_tuple self.dn = parent_or_tuple.dn - self._data={ 'objectClass': [ 'machine' ] } + self._data={ 'objectClass': [ self.objectClass ] } if typ == 'borne': # Valeurs par défaut self._data['canal'] = [ '2047' ] @@ -2649,8 +2647,31 @@ class Machine(base_classes_crans): self.modifs.setdefault('ports', None) +class MachineFixe(Machine): + """ Classe de définition d'une machine fixe """ + objectClass = "machineFixe" + + def __init__(self, parent_or_tuple, typ='fixe', conn=None): + Machine.__init__(self, parent_or_tuple, typ, conn) + +class MachineWifi(Machine): + """ Classe de définition d'une machine wifi """ + objectClass = "machineWifi" + + def __init__(self, parent_or_tuple, typ='wifi', conn=None): + Machine.__init__(self, parent_or_tuple, typ, conn) + +class MachineCrans(Machine): + """ Classe de définition d'une machine du Crans """ + objectClass = "machineCrans" + + def __init__(self, parent_or_tuple, typ='fixe', conn=None): + Machine.__init__(self, parent_or_tuple, typ, conn) + + class BorneWifi(Machine): """ Classe de définition d'une borne wifi """ + objectClass = "borneWifi" def __init__(self, parent_or_tuple, typ='borne', conn=None): Machine.__init__(self, parent_or_tuple, typ, conn)