Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

vigiboard / vigiboard / controllers / vigiboard_plugin / __init__.py @ 3d0d254c

History | View | Annotate | Download (1.75 KB)

1
# -*- coding: utf-8 -*-
2
# vim:set expandtab tabstop=4 shiftwidth=4: 
3
"""
4
Generic plugin
5
"""
6

    
7
from pylons.i18n import ugettext as _
8

    
9
class VigiboardRequestPlugin(object):
10

    
11
    """
12
    Classe dont les plugins utilisé dans VigiboardRequest doivent étendre.
13
    """
14

    
15
    def __init__ (self, table = None, join = None, outerjoin = None,
16
            filters = None, groupby = None, orderby = None, name = '',
17
            style = None, object_name = ""):
18

    
19
        self.table = table
20
        self.join = join
21
        self.outerjoin = outerjoin
22
        self.filter = filters
23
        self.orderby = orderby
24
        self.name = name
25
        self.groupby = groupby
26
        self.style = style
27
        self.object_name = object_name
28

    
29
    def __show__ (self, aggregate):
30

    
31
        """
32
        Permet d'éviter toutes erreurs d'affichage.
33
        C'est la fonction appelée par le formateur d'évènements.
34
        """
35

    
36
        show = self.show(aggregate)
37

    
38
        if show != None:
39
            try:
40
                return str(show)
41
            except:
42
                return _('Error')
43

    
44
    def show(self, aggregate):
45

    
46
        """
47
        Fonction qui affichera par défaut une chaîne de
48
        caractères vide dans la colonne attribuée au plugin.
49

50
        En général, les plugins devront redéfinir cette fonction
51
        pour afficher ce qu'ils souhaitent.
52
        """
53

    
54
        return ''
55

    
56
    def context(self, context):
57

    
58
        """
59
        Fonction permettant de rajouter du context à la page d'évènements,
60
        comme par exemple un css ou une fonction Javascript
61
        """
62

    
63
        pass
64
 
65
    
66
    def controller(self):
67

    
68
        """
69
        Fonction permettant de rajouter un pseudo controller pour le plugin.
70
        Ceci permet par exemple de faire de appels json
71
        """
72

    
73
        pass