Revision d577a6b7
Suppression de code commenté dans le plugin SHN de VigiBoard. Ce code vérifiait les permissions de l'utilisateur,
mais cette vérification est désormais faite dans le RootController de VigiBoard (évite d'avoir à la refaire dans chaque plugin).
Changement d'affichage pour le plugin SHN :
- si aucun SHN impacté : aucun texte n'est affiché dans la colonne,
- si un seul SHN impacté : son nom est directement affiché dans la colonne,
- sinon : affichage du nombre de SHN impactés et lien permettant de les afficher tous.
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@2113 b22e2e97-25c9-44ff-b637-2e5ceca36478
vigiboard/controllers/vigiboard_plugin/shn.py | ||
---|---|---|
35 | 35 |
).filter(CorrEvent.idcorrevent == aggregate.idcorrevent).first() |
36 | 36 |
|
37 | 37 |
if not supitem: |
38 |
count = 0
|
|
38 |
hls = None
|
|
39 | 39 |
else: |
40 |
count = supitem.impacted_hls(
|
|
41 |
HighLevelService.idservice
|
|
42 |
).count()
|
|
40 |
hls = supitem.impacted_hls(
|
|
41 |
HighLevelService.servicename
|
|
42 |
).distinct().all()
|
|
43 | 43 |
|
44 |
# Si aucun HLS n'est impacté, on n'affiche rien. |
|
45 |
if not hls: |
|
46 |
return '' |
|
47 |
|
|
48 |
# S'il n'y a qu'un seul HLS impacté, |
|
49 |
# on affiche directement son nom. |
|
50 |
if len(hls) == 1: |
|
51 |
return hls[0].servicename |
|
52 |
|
|
53 |
# Sinon, on affiche un lien permettant de récupérer |
|
54 |
# la liste de tous les HLS impactés. Le texte du lien |
|
55 |
# contient le nombre de HLS impactés. |
|
44 | 56 |
dico = { |
45 | 57 |
'baseurl': url('/'), |
46 | 58 |
'idcorrevent': aggregate.idcorrevent, |
47 |
'count': count,
|
|
59 |
'count': len(hls),
|
|
48 | 60 |
} |
49 | 61 |
|
50 | 62 |
# XXX Il faudrait échapper l'URL contenue dans baseurl |
... | ... | |
63 | 75 |
supitem = self.get_correvent_supitem(idcorrevent) |
64 | 76 |
|
65 | 77 |
if not supitem: |
66 |
# XXX On devrait afficher une erreur (avec tg.flash()). |
|
67 | 78 |
return [] |
68 | 79 |
|
69 | 80 |
services = supitem.impacted_hls( |
70 | 81 |
HighLevelService.servicename |
71 |
).order_by( |
|
82 |
).distinct().order_by(
|
|
72 | 83 |
HighLevelService.servicename.asc() |
73 | 84 |
).all() |
74 | 85 |
|
... | ... | |
85 | 96 |
(Event, Event.idsupitem == SupItem.idsupitem), |
86 | 97 |
(CorrEvent, CorrEvent.idcause == Event.idevent), |
87 | 98 |
).filter(CorrEvent.idcorrevent == idcorrevent).first() |
88 |
|
|
89 |
# # On détermine l'identité de l'utilisateur |
|
90 |
# username = request.environ['repoze.who.identity']['repoze.who.userid'] |
|
91 |
# user = User.by_user_name(username) |
|
92 |
# |
|
93 |
# # On liste les permissions dont dispose l'utilisateur |
|
94 |
# user_permissions = [] |
|
95 |
# for group in user.usergroups: |
|
96 |
# for permission in group.permissions: |
|
97 |
# user_permissions.append(permission) |
|
98 |
# |
|
99 |
# # On liste les permissions possibles pour l'item |
|
100 |
# supitem_permissions = [] |
|
101 |
# for group in supitem.groups: |
|
102 |
# for permission in group.permissions: |
|
103 |
# supitem_permissions.append(permission) |
|
104 |
# |
|
105 |
# # On vérifie que l'utilisateur dispose bien des |
|
106 |
# # permissions sur l'item en question avant de le retourner. |
|
107 |
# for user_permission in user_permissions : |
|
108 |
# for supitem_permission in supitem_permissions : |
|
109 |
# if user_permission.idpermission == \ |
|
110 |
# supitem_permission.idpermission: |
|
111 |
# return supitem |
|
112 |
# |
|
113 |
# # Dans le cas contraire on retourne None |
|
114 |
# return None |
|
115 |
|
|
116 | 99 |
return supitem |
117 | 100 |
|
Also available in: Unified diff