Revision c41b228d
Correction de la requête de Vigiboard pour le cas des droits implicites d'un hôte sur ses services.
Quelques petites modifications d'ordre esthétique.
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@1716 b22e2e97-25c9-44ff-b637-2e5ceca36478
vigiboard/controllers/vigiboard_controller.py | ||
---|---|---|
48 | 48 |
login_counter = request.environ['repoze.who.logins'] + 1 |
49 | 49 |
redirect(url('/login', came_from=came_from, __logins=login_counter)) |
50 | 50 |
userid = request.identity['repoze.who.userid'] |
51 |
ApplicationLog.add_login(userid, request.remote_addr, 'Vigiboard') |
|
51 |
ApplicationLog.add_login(userid, request.remote_addr, u'Vigiboard')
|
|
52 | 52 |
flash(_('Welcome back, %s!') % userid) |
53 | 53 |
redirect(came_from) |
54 | 54 |
|
... | ... | |
60 | 60 |
""" |
61 | 61 |
# XXX Ne fonctionne pas, l'identité est déjà oubliée arrivé ici. |
62 | 62 |
# userid = request.identity['repoze.who.userid'] |
63 |
# ApplicationLog.add_logout(userid, request.remote_addr, 'Vigiboard') |
|
63 |
# ApplicationLog.add_logout(userid, request.remote_addr, u'Vigiboard')
|
|
64 | 64 |
flash(_('We hope to see you soon!')) |
65 | 65 |
redirect(came_from) |
66 | 66 |
|
vigiboard/controllers/vigiboardrequest.py | ||
---|---|---|
63 | 63 |
).join( |
64 | 64 |
(Host, Host.idhost == ServiceLowLevel.idhost), |
65 | 65 |
).outerjoin( |
66 |
(HOST_GROUP_TABLE, HOST_GROUP_TABLE.c.idhost == ServiceLowLevel.idservice),
|
|
66 |
(HOST_GROUP_TABLE, HOST_GROUP_TABLE.c.idhost == ServiceLowLevel.idhost),
|
|
67 | 67 |
(SERVICE_GROUP_TABLE, SERVICE_GROUP_TABLE.c.idservice == ServiceLowLevel.idservice), |
68 | 68 |
).filter( |
69 | 69 |
or_( |
... | ... | |
71 | 71 |
SERVICE_GROUP_TABLE.c.idgroup.in_(self.user_groups), |
72 | 72 |
), |
73 | 73 |
) |
74 |
|
|
74 |
|
|
75 | 75 |
host_query = DBSession.query( |
76 | 76 |
Host.idhost.label("idsupitem"), |
77 | 77 |
expr_null().label("servicename"), |
... | ... | |
143 | 143 |
self.context_fct = [] |
144 | 144 |
|
145 | 145 |
def add_plugin(self, *argv): |
146 |
|
|
147 | 146 |
""" |
148 | 147 |
Ajout d'un plugin, on lui prélève ses ajouts dans la requête |
149 | 148 |
""" |
... | ... | |
164 | 163 |
self.plugin.append(i) |
165 | 164 |
|
166 | 165 |
def generate_request(self): |
167 |
|
|
168 | 166 |
""" |
169 | 167 |
Génération de la requête avec l'ensemble des données stockées |
170 | 168 |
et la place dans la variable rq de la classe |
... | ... | |
193 | 191 |
self.req = self.req.order_by(i) |
194 | 192 |
|
195 | 193 |
def num_rows(self): |
196 |
|
|
197 | 194 |
""" |
198 | 195 |
Retourne le nombre de lignes de la requête. |
199 | 196 |
Si celle-ci n'est pas encore générée, on le fait. |
... | ... | |
207 | 204 |
return self.req.count() |
208 | 205 |
|
209 | 206 |
def add_table(self, *argv): |
210 |
|
|
211 | 207 |
""" |
212 | 208 |
Ajoute une ou plusieurs tables/élément d'une table à |
213 | 209 |
la requête. |
... | ... | |
225 | 221 |
self.table.append(i) |
226 | 222 |
|
227 | 223 |
def add_join(self, *argv): |
228 |
|
|
229 | 224 |
""" |
230 | 225 |
Ajoute une ou plusieurs jointures à |
231 | 226 |
la requête. |
... | ... | |
243 | 238 |
self.join.append(i) |
244 | 239 |
|
245 | 240 |
def add_outer_join(self, *argv): |
246 |
|
|
247 | 241 |
""" |
248 | 242 |
Ajoute une ou plusieurs jointures externes à |
249 | 243 |
la requête. |
... | ... | |
261 | 255 |
self.outerjoin.append(i) |
262 | 256 |
|
263 | 257 |
def add_filter(self, *argv): |
264 |
|
|
265 | 258 |
""" |
266 | 259 |
Ajoute un ou plusieurs filtres à la requête. |
267 | 260 |
|
... | ... | |
278 | 271 |
self.filter.append(i) |
279 | 272 |
|
280 | 273 |
def add_group_by(self, *argv): |
281 |
|
|
282 | 274 |
""" |
283 | 275 |
Ajoute un ou plusieurs groupements à la requête. |
284 | 276 |
|
... | ... | |
300 | 292 |
self.groupby.append(i) |
301 | 293 |
|
302 | 294 |
def add_order_by(self, *argv): |
303 |
|
|
304 | 295 |
""" |
305 | 296 |
Ajoute un ou plusieurs orders à la requête. |
306 | 297 |
|
... | ... | |
317 | 308 |
self.orderby.append(i) |
318 | 309 |
|
319 | 310 |
def format_events_status(self, event): |
320 |
|
|
321 | 311 |
""" |
322 | 312 |
Suivant l'état de l'événement, retourne la classe à appliquer |
323 | 313 |
à l'image indiquant si l'événement est pris en compte ou non, |
... | ... | |
429 | 419 |
self.idevents = ids |
430 | 420 |
|
431 | 421 |
def format_history(self): |
432 |
|
|
433 | 422 |
""" |
434 | 423 |
Formate les historiques correspondant aux événements sélectionnés |
435 | 424 |
pour un affichage simple du résultat par Genshi. |
... | ... | |
478 | 467 |
self.hist = hists |
479 | 468 |
|
480 | 469 |
def generate_tmpl_context(self): |
481 |
|
|
482 | 470 |
""" |
483 | 471 |
Génère et peuple la variable tmpl_context avec les Dialogs et |
484 | 472 |
formulaires nécessaire au fonctionnement de Vigiboard |
vigiboard/tests/functional/test_search_form_service.py | ||
---|---|---|
24 | 24 |
name=u'foo', |
25 | 25 |
) |
26 | 26 |
DBSession.add(hostgroup) |
27 |
DBSession.flush() |
|
28 | 27 |
|
29 | 28 |
host = Host( |
30 | 29 |
name=u'bar', |
... | ... | |
97 | 96 |
# à un groupe d'hôtes pour lesquels l'utilisateur |
98 | 97 |
# a les permissions. |
99 | 98 |
hostgroup = insert_deps()[0] |
99 |
print "Adding permission for 'manager' on host group '%s'" % \ |
|
100 |
hostgroup.name |
|
100 | 101 |
manage = Permission.by_permission_name(u'manage') |
101 | 102 |
manage.hostgroups.append(hostgroup) |
102 | 103 |
DBSession.flush() |
... | ... | |
127 | 128 |
# Le service est rattaché à un groupe de services |
128 | 129 |
# pour lesquel l'utilisateur a les permissions. |
129 | 130 |
servicegroup = insert_deps()[1] |
131 |
print "Adding permission for 'manager' on service group '%s'" % \ |
|
132 |
servicegroup.name |
|
130 | 133 |
manage = Permission.by_permission_name(u'manage') |
131 | 134 |
manage.servicegroups.append(servicegroup) |
132 | 135 |
DBSession.flush() |
Also available in: Unified diff