def add_reservation(start, end, reservation): day = start.day used_days[day] = True end += timedelta(microseconds=1) start = sedate.to_timezone(start, timezone=timezone) end = sedate.to_timezone(end, timezone=timezone) start = utils.localize_date(start, time_only=True) end = utils.localize_date(end, time_only=True) context = resources[utils.string_uuid(reservation.resource)] reservation_lists = report[day][utils.string_uuid( reservation.resource )] reservation_lists[reservation.status].append( dict( start=start, end=end, email=reservation.email, data=reservation.data, timespans=json_timespans(start, end), id=reservation.id, token=reservation.token, quota=utils.get_reservation_quota_statement(reservation.quota), resource=context, ) )
def reservation_data(self): """ Prepares data to be shown in the my reservation's table """ reservations = [] for reservation in self.reservations(): resource = utils.get_resource_by_uuid(reservation.resource) if resource is None: log.warn('Invalid UUID %s' % str(reservation.resource)) continue resource = resource.getObject() data = {} data['title'] = utils.get_resource_title(resource) timespans = [] for start, end in reservation.timespans(): timespans.append(u'◆ ' + utils.display_date(start, end)) data['time'] = '<br />'.join(timespans) data['quota'] = utils.get_reservation_quota_statement( reservation.quota ) if reservation.quota > 1 else u'' data['url'] = resource.absolute_url() data['remove-url'] = ''.join(( resource.absolute_url(), '/your-reservations?remove=', reservation.token.hex )) reservations.append(data) return reservations
def add_reservation(start, end, reservation): day = start.day used_days[day] = True end += timedelta(microseconds=1) start, end = start.strftime("%H:%M"), end.strftime("%H:%M") context = resources[utils.string_uuid(reservation.resource)] if reservation.status == u"approved": rightside_urls = [(_(u"Delete"), reservation_urls.revoke_all_url(reservation.token, context))] elif reservation.status == u"pending": rightside_urls = [ (_(u"Approve"), reservation_urls.approve_all_url(reservation.token, context)), (_(u"Deny"), reservation_urls.deny_all_url(reservation.token, context)), ] else: raise NotImplementedError reservation_lists = report[day][utils.string_uuid(reservation.resource)] reservation_lists[reservation.status].append( dict( start=start, end=end, email=reservation.email, data=reservation.data, timespans=json_timespans(start, end), rightside_urls=rightside_urls, token=reservation.token, quota=utils.get_reservation_quota_statement(reservation.quota), resource=context, ) )
def add_reservation(start, end, reservation): day = start.day used_days[day] = True end += timedelta(microseconds=1) start = modules.calendar.to_timezone(start, timezone=timezone) end = modules.calendar.to_timezone(end, timezone=timezone) start = utils.localize_date(start, time_only=True) end = utils.localize_date(end, time_only=True) context = resources[utils.string_uuid(reservation.resource)] reservation_lists = report[day][utils.string_uuid( reservation.resource )] reservation_lists[reservation.status].append( dict( start=start, end=end, email=reservation.email, data=reservation.data, timespans=json_timespans(start, end), id=reservation.id, token=reservation.token, quota=utils.get_reservation_quota_statement(reservation.quota), resource=context, ) )
def add_reservation(start, end, reservation): day = start.day used_days[day] = True end += timedelta(microseconds=1) start, end = start.strftime('%H:%M'), end.strftime('%H:%M') context = resources[utils.string_uuid(reservation.resource)] if reservation.status == u'approved': rightside_urls = [( _(u'Delete'), reservation_urls.revoke_all_url(reservation.token, context) )] elif reservation.status == u'pending': rightside_urls = [ ( _(u'Approve'), reservation_urls.approve_all_url( reservation.token, context ) ), ( _(u'Deny'), reservation_urls.deny_all_url(reservation.token, context) ), ] else: raise NotImplementedError reservation_lists = report[day][utils.string_uuid( reservation.resource )] reservation_lists[reservation.status].append( dict( start=start, end=end, email=reservation.email, data=reservation.data, timespans=json_timespans(start, end), rightside_urls=rightside_urls, token=reservation.token, quota=utils.get_reservation_quota_statement(reservation.quota), resource=context ) )
def build_your_reservations( self, reservations ): """ Prepares the given reservations to be shown in the your-reservations macro. """ result = [] for reservation in reservations: resource = utils.get_resource_by_uuid(reservation.resource) if resource is None: log.warn('Invalid UUID %s' % str(reservation.resource)) continue resource = resource.getObject() data = {} data['token'] = reservation.token data['title'] = utils.get_resource_title(resource) timespans = [] for start, end in reservation.timespans(): timespans.append(utils.display_date(start, end)) data['time'] = '<ul class="dense"><li>{}</li></ul>'.format( '</li><li>'.join(timespans) ) data['quota'] = utils.get_reservation_quota_statement( reservation.quota ) if reservation.quota > 1 else u'' data['url'] = resource.absolute_url() data['remove-url'] = ''.join(( resource.absolute_url(), '/your-reservations?remove=', reservation.token.hex )) result.append(data) return result
def build_your_reservations(self, reservations): """ Prepares the given reservations to be shown in the your-reservations macro. """ result = [] for reservation in reservations: resource = utils.get_resource_by_uuid(reservation.resource) if resource is None: log.warn('Invalid UUID %s' % str(reservation.resource)) continue resource = resource.getObject() data = {} data['token'] = reservation.token data['title'] = utils.get_resource_title(resource) timespans = [] for start, end in reservation.timespans(): timespans.append(utils.display_date(start, end)) data['time'] = '<ul class="dense"><li>{}</li></ul>'.format( '</li><li>'.join(timespans)) data['quota'] = utils.get_reservation_quota_statement( reservation.quota) if reservation.quota > 1 else u'' data['url'] = resource.absolute_url() data['remove-url'] = ''.join( (resource.absolute_url(), '/your-reservations?remove=', reservation.token.hex)) result.append(data) return result