Project

General

Profile

Revision 398c727b

ID398c727b812e2aed13d762291d72d610a81b0d42
Parent 080abea3
Child 36afc80f

Added by Francois POIROTTE over 14 years ago

Turbogears: Déplacement du contrôleur d'auto-complétion dans le module vigilo.turbogears.
Vigiboard: Déplacement de la configuration du rafraichissement dans le fichier app_cfg.py.

git-svn-id: https://vigilo-dev.si.c-s.fr/svn@1611 b22e2e97-25c9-44ff-b637-2e5ceca36478

View differences:

vigiboard/config/app_cfg.py
15 15
"""
16 16

  
17 17
from vigilo.turbogears import VigiloAppConfig
18
from pylons.i18n import lazy_ugettext as l_
18 19

  
19 20
import vigiboard
20 21
from vigiboard import model
......
97 98
    ['shn', 'PluginSHN'],
98 99
]
99 100

  
101
base_config['vigiboard_refresh_times'] = (
102
    (0, l_('Never')),
103
    (30, l_('30 seconds')),
104
    (60, l_('1 minute')),
105
    (300, l_('5 minutes')),
106
    (600, l_('10 minutes')),
107
)
108

  
vigiboard/controllers/root.py
22 22
from vigiboard.widgets.edit_event import edit_event_status_options
23 23
from vigiboard.controllers.vigiboardrequest import VigiboardRequest
24 24
from vigiboard.controllers.vigiboard_controller import VigiboardRootController
25
from vigilo.turbogears.controllers.autocomplete import AutoCompleteController
25 26
from vigilo.models.functions import sql_escape_like
26 27
from vigilo.models.secondary_tables import HOST_GROUP_TABLE, \
27 28
                                            SERVICE_GROUP_TABLE
28 29
from vigilo.common.conf import settings
30
from vigiboard.lib.base import BaseController
29 31

  
30 32
__all__ = ('RootController', )
31 33

  
......
33 35
    """
34 36
    Le controller général de vigiboard
35 37
    """
36

  
37
    # XXX Mettre ça dans un fichier de configuration.
38
    refresh_times = (
39
        (0, l_('Never')),
40
        (30, l_('30 seconds')),
41
        (60, l_('1 minute')),
42
        (300, l_('5 minutes')),
43
        (600, l_('10 minutes')),
44
    )
38
    autocomplete = AutoCompleteController(BaseController)
45 39

  
46 40
    def process_form_errors(self, *argv, **kwargv):
47 41
        """
......
89 83

  
90 84
        username = request.environ['repoze.who.identity']['repoze.who.userid']
91 85
        user = User.by_user_name(username)
92
        
93
        # On récupère la langue de l'utilisateur
86

  
87
        # TODO: Utiliser le champ "language" du modèle pour cet utilisateur ?
88
        # On récupère la langue du navigateur de l'utilisateur
94 89
        lang = get_lang()
95 90
        if not lang:
96 91
            lang = settings['VIGILO_ALL_DEFAULT_LANGUAGE']
......
109 104
            'hostgroup': '',
110 105
            'servicegroup': '',
111 106
        }
107

  
112 108
        # Application des filtres si nécessaire
109
        if hostgroup:
110
            search['hostgroup'] = hostgroup
111
            hostgroup = sql_escape_like(hostgroup)
112
            aggregates.add_filter(HostGroup.name.ilike('%%%s%%' % hostgroup))
113

  
114
        if servicegroup:
115
            search['servicegroup'] = servicegroup
116
            servicegroup = sql_escape_like(servicegroup)
117
            aggregates.add_filter(ServiceGroup.name.ilike(
118
                '%%%s%%' % servicegroup))
119

  
113 120
        if host:
114 121
            search['host'] = host
115 122
            host = sql_escape_like(host)
......
182 189
            hist_error = False,
183 190
            plugin_context = aggregates.context_fct,
184 191
            search = search,
185
            refresh_times=self.refresh_times,
192
            refresh_times = config['vigiboard_refresh_times'],
186 193
        )
187 194
      
188 195
    @validate(validators={'idcorrevent': validators.Int(not_empty=True)},
......
312 319
                        'hostgroup': None,
313 320
                        'servicegroup': None,
314 321
                    },
315
                   refresh_times=self.refresh_times,
322
                   refresh_times=config['vigiboard_refresh_times'],
316 323
                )
317 324

  
318 325
    @validate(validators={'host': validators.NotEmpty(),
......
374 381
                        'hostgroup': None,
375 382
                        'servicegroup': None,
376 383
                    },
377
                    refresh_times=self.refresh_times,
384
                    refresh_times=config['vigiboard_refresh_times'],
378 385
                )
379 386

  
380 387
    @validate(validators={
......
506 513
        session.save()
507 514
        return dict(ret= 'ok')
508 515

  
509
    @expose('json')
510
    def autocomplete_host(self, value):
511
        value = sql_escape_like(value)
512
        hostnames = DBSession.query(
513
                        Host.name.distinct()).filter(
514
                        Host.name.ilike('%' + value + '%')).all()
515
        return dict(results=[h[0] for h in hostnames])
516

  
517
    @expose('json')
518
    def autocomplete_service(self, value):
519
        value = sql_escape_like(value)
520
        services = DBSession.query(
521
                        ServiceLowLevel.servicename.distinct()).filter(
522
                        ServiceLowLevel.servicename.ilike('%' + value + '%')).all()
523
        return dict(results=[s[0] for s in services])
524

  
525
    @expose('json')
526
    def autocomplete_hostgroup(self, value):
527
        value = sql_escape_like(value)
528
        hostnames = DBSession.query(
529
                        Host.name.distinct()).filter(
530
                        Host.name.ilike('%' + value + '%')).all()
531
        return dict(results=[h[0] for h in hostnames])
532

  
533
    @expose('json')
534
    def autocomplete_servicegroup(self, value):
535
        value = sql_escape_like(value)
536
        services = DBSession.query(
537
                        ServiceLowLevel.servicename.distinct()).filter(
538
                        ServiceLowLevel.servicename.ilike('%' + value + '%')).all()
539
        return dict(results=[s[0] for s in services])
540

  

Also available in: Unified diff