Pour que le bureau puisse modifier les droits non-Nounou
darcs-hash:20070221105746-c992d-18ae3538d0c4c8641ce6dada78eb8553b19e8247.gz
This commit is contained in:
parent
429803a872
commit
96762414c4
1 changed files with 14 additions and 4 deletions
|
@ -19,7 +19,7 @@ Retournent None si pas d'objet trouv
|
|||
|
||||
### Rapport de bug automatique
|
||||
# Destinataires, si vide n'envoi rien
|
||||
To = ['fred@crans.org', 'glondu@crans.org']
|
||||
To = ['fred@crans.org', 'glondu@crans.org', 'bos@crans.org']
|
||||
|
||||
import string, os, sys
|
||||
from whos import aff
|
||||
|
@ -29,7 +29,7 @@ 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, smtpserv, script_utilisateur
|
||||
from ldap_crans import crans_ldap, blacklist_items, isadm, isdeconnecteur, 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
|
||||
|
||||
|
@ -40,6 +40,7 @@ db = crans_ldap()
|
|||
droits = db.search("uid=%s" % script_utilisateur)['adherent'][0].droits()
|
||||
isimprimeur = u"Imprimeur" in droits
|
||||
iscontroleur = u'Contrôleur' in droits
|
||||
isbureau = u'Bureau' in droits
|
||||
encoding = sys.stdin.encoding or 'ISO-8859-15'
|
||||
|
||||
#########################################################################
|
||||
|
@ -529,11 +530,18 @@ def set_droits(adher):
|
|||
for key in droits_possibles:
|
||||
actif = key in droits
|
||||
if actif: actif = u'on'
|
||||
arg += u'"%s" " " "%s" ' % (key, actif)
|
||||
if isadm or key not in droits_critiques:
|
||||
arg += u'"%s" " " "%s" ' % (key, actif)
|
||||
|
||||
annul, result = dialog(arg)
|
||||
if annul: return 1
|
||||
|
||||
|
||||
# Dans le cas ou l'utilisateur qui modiifie n'est pas nounou
|
||||
if not isadm:
|
||||
for key in droits_critiques:
|
||||
if key in adher.droits():
|
||||
result.append(key)
|
||||
|
||||
# Traitement
|
||||
adher.droits(result)
|
||||
|
||||
|
@ -1435,6 +1443,8 @@ def modif_adher(adher):
|
|||
arg += u'"Droits" "Modifier les droits alloués à cet adhérent" '
|
||||
if 'posixAccount' in adher._data['objectClass']:
|
||||
arg += u'"Shell" "Changer le shell de cet utilisateur" '
|
||||
if isbureau & adher.droits().count('Nounou') == 0:
|
||||
arg += u'"Droits" "Modifier les droits alloués à cet adhérent" '
|
||||
if isdeconnecteur:
|
||||
arg += u'"Blackliste" "Modifier la blackliste de cet adhérent" '
|
||||
if isimprimeur:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue