0001-schemas-add-an-absent_label-property-to-Dimension-38.patch
bijoe/schemas.py | ||
---|---|---|
21 | 21 |
import collections |
22 | 22 | |
23 | 23 |
from django.utils import six |
24 |
from django.utils.translation import ugettext_lazy as _ |
|
24 | 25 | |
25 | 26 |
from .relative_time import RelativeDate |
26 | 27 | |
... | ... | |
137 | 138 |
class Dimension(Base): |
138 | 139 |
__slots__ = ['name', 'label', 'type', 'join', 'value', 'value_label', |
139 | 140 |
'order_by', 'group_by', 'filter_in_join', 'filter', 'filter_value', |
140 |
'filter_needs_join', 'filter_expression'] |
|
141 |
'filter_needs_join', 'filter_expression', 'absent_label']
|
|
141 | 142 |
__types__ = { |
142 | 143 |
'name': str, |
143 | 144 |
'label': unicode, |
... | ... | |
153 | 154 |
'filter_in_join': bool, |
154 | 155 |
'filter_value': str, |
155 | 156 |
'filter_needs_join': bool, |
157 |
'absent_label': unicode, |
|
156 | 158 |
} |
157 | 159 | |
158 | 160 |
label = None |
... | ... | |
166 | 168 |
filter_expression = None |
167 | 169 |
filter_needs_join = True |
168 | 170 |
members_query = None |
171 |
absent_label = None |
|
172 | ||
173 |
def __init__(self, **kwargs): |
|
174 |
super(Dimension, self).__init__(**kwargs) |
|
175 |
if not self.absent_label: |
|
176 |
if self.type in ('integer', 'string'): |
|
177 |
self.absent_label = _('None') |
|
178 |
elif self.type in ('boolean',): |
|
179 |
self.absent_label = _('N/A') |
|
180 |
else: |
|
181 |
raise NotImplementedError('not absent label for type %r' % self.type) |
|
169 | 182 | |
170 | 183 |
@property |
171 | 184 |
def dimensions(self): |
172 |
- |