Project

General

Profile

Revision d577a6b7

IDd577a6b7add81e1892df18899cbf2abf329ea519
Parent 3ba83d8b
Child 118f2261

Added by Francois POIROTTE over 14 years ago

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

View differences:

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