Suppression de la dpendance de ldap_crans user_tests

Les deux modules s'importent maintenant correctement.

darcs-hash:20080526230723-ffbb2-e78ba5d8cf5a48c92011ecd4207326482565cd5d.gz
This commit is contained in:
Nicolas Dandrimont 2008-05-27 01:07:23 +02:00
parent 4b7bd135bb
commit 5a4a96bf8e
2 changed files with 21 additions and 11 deletions

View file

@ -29,9 +29,13 @@ import re
import affich_tools, config
from lock import make_lock, remove_lock
from ldap_crans import crans_ldap, blacklist_items, isadm, isdeconnecteur, ann_scol, droits_possibles, droits_critiques, smtpserv, script_utilisateur
from ldap_crans import crans_ldap, blacklist_items, ann_scol, droits_possibles, droits_critiques, smtpserv, script_utilisateur
from ldap_crans import Adherent, AssociationCrans, Club
from ldap_crans import Machine, MachineFixe, MachineWifi, MachineCrans, BorneWifi
import user_tests
isadm = user_tests.isadm()
isdeconnecteur = user_tests.isdeconnecteur()
def dialog(arg):
return affich_tools.dialog(u'Gestion des adhérents et machines du Crans', arg)

View file

@ -10,10 +10,10 @@ Licence : GPLv2
"""
from socket import gethostname
import smtplib, sre, os, random, string, time, sys
import smtplib, sre, os, random, string, time, sys, pwd
import ldap, ldap.modlist, ldap_passwd
import config, annuaires, iptools, chgpass, user_tests, cPickle, config_mail
import config, annuaires, iptools, chgpass, cPickle, config_mail
from chgpass import chgpass
from affich_tools import coul, prompt, cprint
from email_tools import send_email
@ -29,6 +29,8 @@ random.seed() # On initialise le g
##################################################################################
### paramètres de connexion à la base LDAP
cur_user = os.getenv('SUDO_USER') or pwd.getpwuid(os.getuid())[0]
if __name__ == 'ldap_crans_test' or os.environ.get('crans_ldap', '') == 'test':
if hostname != "egon":
cprint("La base de test n'est accessible que depuis egon !", "rouge")
@ -41,7 +43,7 @@ if __name__ == 'ldap_crans_test' or os.environ.get('crans_ldap', '') == 'test':
ldap_auth_dn = 'cn=admin,dc=crans,dc=org'
ldap_password = '75bdb64f32'
elif user_tests.getuser() == 'freerad':
elif cur_user == 'freerad':
# Freeradius n'a pas accès au secret, donc accès que en local
uri = ''
ro_uri = 'ldapi://%2fvar%2frun%2fslapd%2fldapi/'
@ -92,10 +94,11 @@ droits_vieux = [u'Nounou', u'Bureau']
##################################################################################
### Variables internes diverses
isadm = user_tests.isadm()
isdeconnecteur = user_tests.isdeconnecteur()
#isadm = user_tests.isadm()
#isdeconnecteur = user_tests.isdeconnecteur()
ann_scol = config.ann_scol
script_utilisateur = user_tests.getuser()
#script_utilisateur = user_tests.getuser()
script_utilisateur = cur_user
##################################################################################
### Fonctions utiles
@ -2209,8 +2212,9 @@ class Adherent(BaseProprietaire):
if droits == None:
return map(decode, self._data.get('droits', []))
if not isadm:
from user_tests import isadm
if not isadm():
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
if type(droits) != list:
@ -2853,7 +2857,8 @@ class Machine(BaseClasseCrans):
Enregistre la machine courante dans la base LDAP
Retourne une chaîne indiquant les opération effectuées.
"""
if self.proprietaire().__class__ == AssociationCrans and not (isadm or user_tests.getuser() == 'www-data'):
from user_tests import isadm
if self.proprietaire().__class__ == AssociationCrans and not (isadm() or user_tests.getuser() == 'www-data'):
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')
if not self._init_data:
@ -2938,7 +2943,8 @@ class Machine(BaseClasseCrans):
def delete(self, comment=''):
""" Destruction de la machines """
if self.proprietaire().__class__ == AssociationCrans and not isadm:
from user_tests import isadm
if self.proprietaire().__class__ == AssociationCrans and not isadm():
raise EnvironmentError(u'Il faut être administrateur pour effectuer cette opération.')