Revision 24182db6
[#1418] Filtrage sur la date.
Améliore le formulaire de filtrage concernant les dates :
- Un exemple de date au format attendu est donnée en exemple via un
placeholder pour les navigateurs supportant cette fonctionnalité.
- Il est également disponible au survol du champ par la souris.
- Le format a été rendu plus laxiste : une date sans heure peut être
saisie (ex : "25/12/2015" au lieu de "25/12/2015 00:00:00".
Change-Id: I192e5841c04b1b993d1d31dd197956783adfef91
Refs: #1418.
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/1685
Tested-by: Build system <qa@vigilo-dev.si.c-s.fr>
Reviewed-by: Thomas BURGUIERE <thomas.burguiere@c-s.fr>
vigiboard/controllers/plugins/date.py | ||
---|---|---|
31 | 31 |
from vigiboard.controllers.plugins import VigiboardRequestPlugin, ITEMS |
32 | 32 |
from vigiboard.lib import dateformat |
33 | 33 |
|
34 |
|
|
35 |
class ExampleDateFormat(object): |
|
36 |
""" |
|
37 |
Une classe permettant d'obtenir un exemple de date |
|
38 |
correspondant au format de la locale de l'utilisateur. |
|
39 |
""" |
|
40 |
def __str__(self): |
|
41 |
""" |
|
42 |
Retourne l'heure courante au format attendu, |
|
43 |
encodée en UTF-8. |
|
44 |
|
|
45 |
@return: Heure courante au format attendu (en UTF-8). |
|
46 |
@rtype: C{str} |
|
47 |
""" |
|
48 |
return unicode(self).encode('utf-8') |
|
49 |
|
|
50 |
def __unicode__(self): |
|
51 |
""" |
|
52 |
Retourne l'heure courante au format attendu. |
|
53 |
|
|
54 |
@return: Heure courante au format attendu. |
|
55 |
@rtype: C{unicode} |
|
56 |
""" |
|
57 |
format = dateformat.get_date_format() |
|
58 |
date = datetime.strftime(datetime.now(), format).decode('utf-8') |
|
59 |
return _('Eg. %(date)s') % {'date': date} |
|
60 |
|
|
61 |
|
|
34 | 62 |
class PluginDate(VigiboardRequestPlugin): |
35 | 63 |
"""Plugin pour l'ajout d'une colonne Date.""" |
36 | 64 |
def get_search_fields(self): |
... | ... | |
44 | 72 |
validator=dateformat.DateFormatConverter(if_missing=None), |
45 | 73 |
date_format=dateformat.get_date_format, |
46 | 74 |
calendar_lang=dateformat.get_calendar_lang, |
75 |
attrs={ |
|
76 |
# Affiche un exemple de date au survol |
|
77 |
# et en tant qu'indication (placeholder). |
|
78 |
'title': ExampleDateFormat(), |
|
79 |
'placeholder': ExampleDateFormat() |
|
80 |
}, |
|
47 | 81 |
), |
48 | 82 |
twf.CalendarDateTimePicker( |
49 | 83 |
'to_date', |
... | ... | |
53 | 87 |
validator=dateformat.DateFormatConverter(if_missing=None), |
54 | 88 |
date_format=dateformat.get_date_format, |
55 | 89 |
calendar_lang=dateformat.get_calendar_lang, |
90 |
attrs={ |
|
91 |
# Affiche un exemple de date au survol |
|
92 |
# et en tant qu'indication (placeholder). |
|
93 |
'title': ExampleDateFormat(), |
|
94 |
'placeholder': ExampleDateFormat() |
|
95 |
}, |
|
56 | 96 |
), |
57 | 97 |
] |
58 | 98 |
|
Also available in: Unified diff