equal
deleted
inserted
replaced
20 self.color = color |
20 self.color = color |
21 self.column = column |
21 self.column = column |
22 self.lines = 1 |
22 self.lines = 1 |
23 |
23 |
24 MIN_COLS = 3 # minimum number of task columns for a single user |
24 MIN_COLS = 3 # minimum number of task columns for a single user |
|
25 ALL_USERS = object() |
25 |
26 |
26 class TimeTableView(AnyRsetView): |
27 class TimeTableView(AnyRsetView): |
27 id = 'timetable' |
28 id = 'timetable' |
28 title = _('timetable') |
29 title = _('timetable') |
29 __select__ = implements(ITimetableViews) |
30 __select__ = implements(ITimetableViews) |
135 self.w(u'<th class="ttdate"> </th>\n') |
136 self.w(u'<th class="ttdate"> </th>\n') |
136 columns = [] |
137 columns = [] |
137 for user, width in zip(users, widths): |
138 for user, width in zip(users, widths): |
138 self.w(u'<th colspan="%s">' % max(MIN_COLS, width)) |
139 self.w(u'<th colspan="%s">' % max(MIN_COLS, width)) |
139 if user is ALL_USERS: |
140 if user is ALL_USERS: |
140 self.w('*') |
141 self.w(u'*') |
141 else: |
142 else: |
142 user.view('oneline', w=self.w) |
143 user.view('oneline', w=self.w) |
143 self.w(u'</th>') |
144 self.w(u'</th>') |
144 self.w(u'</tr>\n') |
145 self.w(u'</tr>\n') |
145 return columns |
146 return columns |