svv/cal.py
changeset 40 30a0a0fa8c54
parent 39 4f331cfc76a4
child 41 36d029a47d37
equal deleted inserted replaced
39:4f331cfc76a4 40:30a0a0fa8c54
   159             # as vector into week
   159             # as vector into week
   160             leading = (start - min(week)).days
   160             leading = (start - min(week)).days
   161             length = (end - start).days + 1
   161             length = (end - start).days + 1
   162             trailing = (max(week) - end).days
   162             trailing = (max(week) - end).days
   163 
   163 
       
   164             # continues prev/next?
       
   165             prev = (start > order.event_start.date())
       
   166             next = (end < order.event_end.date())
       
   167 
   164             log.debug("Event %r from %r -> %r", order.event_name, start, end)
   168             log.debug("Event %r from %r -> %r", order.event_name, start, end)
   165 
   169 
   166             yield tags.tr(class_='week-data')(
   170             yield tags.tr(class_='week-data')(
   167                 [tags.td("")] * leading,
   171                 [tags.td("")] * leading,
   168                 tags.td(colspan=length, class_='event')(
   172                 tags.td(colspan=length, class_=(' '.join(cls for cls in (
   169                     tags.a(href=self.url_for(urls.OrderView, id=order.id))(order.event_name)
   173                     'event',
       
   174                     'continues-prev' if prev else None,
       
   175                     'continues-next' if next else None,
       
   176                 ) if cls)))(
       
   177                     tags.a(href=self.url_for(urls.OrderView, id=order.id))(
       
   178                         tags.div(class_='arrow-left')("") if prev else None,
       
   179                         order.event_name,
       
   180                         tags.div(class_='arrow-right')("") if next else None,
       
   181                     )
   170                 ),
   182                 ),
   171                 [tags.td("")] * trailing,
   183                 [tags.td("")] * trailing,
   172             )
   184             )
   173 
   185 
   174     def render_calendar (self, month) :
   186     def render_calendar (self, month) :