vigiboard / vigiboard / controllers / plugins / __init__.py @ c94dc931
History | View | Annotate | Download (2.96 KB)
1 | 19e88cb8 | Thomas ANDREJAK | # -*- coding: utf-8 -*-
|
---|---|---|---|
2 | a77de887 | Francois POIROTTE | # vim:set expandtab tabstop=4 shiftwidth=4:
|
3 | c94dc931 | Francois POIROTTE | # Copyright (C) 2007-2020 CS-SI
|
4 | 9b8d9497 | Francois POIROTTE | # License: GNU GPL v2 <http://www.gnu.org/licenses/gpl-2.0.html>
|
5 | a77de887 | Francois POIROTTE | |
6 | b8500d1a | Thomas ANDREJAK | """
|
7 | 4dd2035e | Francois POIROTTE | Module complémentaire générique.
|
8 | b8500d1a | Thomas ANDREJAK | """
|
9 | |||
10 | 86662bc9 | Francois POIROTTE | # État lorsque les plugins sont appelés avec les sous-requêtes.
|
11 | INNER = 0
|
||
12 | # État lorsque les plugins sont appelés lorsque "items" est défini.
|
||
13 | ITEMS = 1
|
||
14 | |||
15 | 19e88cb8 | Thomas ANDREJAK | |
16 | class VigiboardRequestPlugin(object): |
||
17 | """
|
||
18 | 4dd2035e | Francois POIROTTE | Classe que les plugins de VigiBoard doivent étendre.
|
19 | 19e88cb8 | Thomas ANDREJAK | """
|
20 | |||
21 | cf3c2494 | Vincent QUEMENER | def get_bulk_data(self, events_ids): |
22 | 19e88cb8 | Thomas ANDREJAK | """
|
23 | cf3c2494 | Vincent QUEMENER | Cette méthode est appelée par le L{RootController} : elle
|
24 | retourne toutes les données affichées par le plugin dans le
|
||
25 | tableau des évènements de la page principale de VigiBoard.
|
||
26 | 19e88cb8 | Thomas ANDREJAK |
|
27 | 15b98053 | Francois POIROTTE | Cette méthode DEVRAIT être surchargée dans les classes dérivées.
|
28 | 19e88cb8 | Thomas ANDREJAK |
|
29 | 8b2edebe | Aurelien BOMPARD | @param events_ids: Liste des identifiants des C{CorrEvent} affichés
|
30 | cf3c2494 | Vincent QUEMENER | sur la page.
|
31 | 8b2edebe | Aurelien BOMPARD | @type events_ids: C{List} of C{int}
|
32 | cf3c2494 | Vincent QUEMENER | @return: Dictionnaire associant à chaque identifiant
|
33 | d'évènement les données à afficher par le plugin.
|
||
34 | @rtype: C{dict}
|
||
35 | """
|
||
36 | pass
|
||
37 | |||
38 | def get_json_data(self, idcorrevent, *args, **kwargs): |
||
39 | """
|
||
40 | Cette méthode est appelée par le template du plugin via
|
||
41 | la méthode get_plugin_json_data du L{RootController} de VigiBoard.
|
||
42 |
|
||
43 | Cette méthode DEVRAIT être surchargée dans les classes dérivées
|
||
44 | si le plugin en question doit avoir recours à une requête JSON.
|
||
45 |
|
||
46 | e181e86c | Francois POIROTTE | @param idcorrevent: Identifiant du C{CorrEvent} à interroger.
|
47 | cf3c2494 | Vincent QUEMENER | @type idcorrevent: C{int}
|
48 | df25ac35 | Francois POIROTTE | @return: Dictionnaire contenant la ou les valeur(s) correspondantes.
|
49 | cf3c2494 | Vincent QUEMENER | @rtype: C{dict}
|
50 | 8ad24667 | Thomas ANDREJAK | """
|
51 | pass
|
||
52 | 07b62a01 | Francois POIROTTE | |
53 | def get_generated_columns_count(self): |
||
54 | """
|
||
55 | Cette méthode renvoie le nombre de colonnes ajoutées dans le tableau
|
||
56 | des événements par ce plugin. Par défaut, on suppose que chaque plugin
|
||
57 | n'ajoute qu'une seule colonne au tableau.
|
||
58 |
|
||
59 | Cette méthode PEUT être surchargée dans les classes dérivées.
|
||
60 |
|
||
61 | @return: Nombre de colonnes ajoutées par ce plugin.
|
||
62 | @rtype: C{int}
|
||
63 | """
|
||
64 | return 1 |
||
65 | 27140946 | Francois POIROTTE | |
66 | a2fa6a5b | Francois POIROTTE | def get_data(self, event): |
67 | return {}
|
||
68 | |||
69 | 27140946 | Francois POIROTTE | def get_search_fields(self): |
70 | return []
|
||
71 | |||
72 | 5a845c93 | Vincent QUEMENER | def get_sort_criterion(self, query, column): |
73 | """
|
||
74 | Cette méthode renvoie le critère à utiliser par SQLAlchemy pour trier
|
||
75 | la requête alimentant le tableau des événements.
|
||
76 |
|
||
77 | Cette méthode DEVRAIT être surchargée dans les classes dérivées
|
||
78 | si le plugin en question implémente un tri.
|
||
79 |
|
||
80 | @param query: La requête VigiBoard servant à alimenter le tableau des
|
||
81 | événements.
|
||
82 | @type query: L{VigiboardRequest}
|
||
83 | @param column: La colonne sur laquelle l'utilisateur souhaite opérer le
|
||
84 | tri.
|
||
85 | @type column: C{str}
|
||
86 | """
|
||
87 | pass
|
||
88 | |||
89 | 8b2edebe | Aurelien BOMPARD | def handle_search_fields(self, query, search, state, subqueries): |
90 | 27140946 | Francois POIROTTE | pass |