2 # -*- coding: utf-8 -*-
5 # Classe pour un utilisateur
6 # (export de la vue auf_v_acces_users)
8 from objet
import Objet
, ObjetInconnu
9 from utils
import dict_fetchone
11 class utilisateur(Objet
):
12 """objet utilisateur CODA"""
13 accept_like_filters
= [ 'code', 'nom', 'nom_connexion', 'implantation' ]
14 def __init__(self
, environ
):
15 super(utilisateur
, self
).__init__(environ
)
18 """renvoie une liste d'utilisateur"""
19 # connexion a la base de données
20 cursor
= self
.cursor()
21 if self
.sqlwhere
!= '': self
.sqlwhere
= ' where ' + self
.sqlwhere
22 # extraction des données
23 request
= "select top %d * from auf_v_acces_users %s order by date_connexion desc" % ( self
.sqllimit
, self
.sqlwhere
)
24 cursor
.execute( request
)
27 item
= dict_fetchone( cursor
)
28 if item
== None: break
31 index
['filtres'] = self
.filters
32 index
['utilisateurs'] = items
33 index
['requete_sql'] = request
36 def _get_utilisateur(self
,code
):
37 """renvoie un utilisateur"""
38 cursor
= self
.cursor()
39 if self
.sqlwhere
!= '': self
.sqlwhere
= ' and ' + self
.sqlwhere
40 request
= "select top 1 * from auf_v_acces_users where (code like '%s') %s" % (code
, self
.sqlwhere
)
41 cursor
.execute( request
)
42 utilisateur
= dict_fetchone(cursor
)
43 if utilisateur
== None:
44 raise ObjetInconnu('utilisateur')
45 utilisateur
['requete_sql'] = request
49 """renvoie une liste d'utilisateurs formatée"""
50 template
= self
.template('utilisateur-index') # préparation du modèle
51 index
= self
._get_index( ) # extraction des documents concernés
52 output
= template
.render( index
) # formattage via le modèle
53 return self
.outputformat
, output
56 """renvoie un utilisateur formaté"""
57 code
= self
.environ
['wsgiorg.routing_args'][1]['id'].replace('*','%').upper()
58 template
= self
.template( 'utilisateur' )
59 utilisateur
= self
._get_utilisateur( code
)
60 output
= template
.render( utilisateur
)
61 return self
.outputformat
, output