def table(self, day=None): filter = dict(request.GET) if len(c.scheduled_dates) == 0: return render('/schedule/no_schedule_available.mako') c.display_date = None available_days = {} for scheduled_date in c.scheduled_dates: available_days[scheduled_date.strftime('%A').lower()] = scheduled_date if day in available_days: c.display_date = available_days[day] if c.display_date is None: if date.today() in c.scheduled_dates: c.display_date = date.today() else: c.display_date = c.scheduled_dates[0] c.time_slots = TimeSlot.find_by_date(c.display_date) c.primary_times = {} for time_slot in TimeSlot.find_by_date(c.display_date, primary=True): c.primary_times[time_slot.start_time] = time_slot event_type = EventType.find_by_name('presentation') c.locations = Location.find_scheduled_by_date_and_type(c.display_date, event_type) event_type = EventType.find_by_name('mini-conf') c.locations = c.locations + Location.find_scheduled_by_date_and_type(c.display_date, event_type) c.schedule_collection = Schedule.find_by_date(c.display_date) c.time_increment = timedelta(minutes=5) c.programme = OrderedDict() for time_slot in c.time_slots: time = time_slot.start_time while time < time_slot.end_time: c.programme[time] = {} time = time + c.time_increment for schedule in c.schedule_collection: exclusive_event = schedule.time_slot.exclusive_event() time = schedule.time_slot.start_time if exclusive_event: c.programme[time]['exclusive'] = exclusive_event else: c.programme[time][schedule.location] = schedule if filter.has_key('raw'): return render('/schedule/table_raw.mako') else: return render('/schedule/table.mako')
def _delete(self, id): c.time_slot = TimeSlot.find_by_id(id) meta.Session.delete(c.time_slot) meta.Session.commit() h.flash("Time Slot has been deleted.") redirect_to('index')
def new(self): c.signed_in_person = h.signed_in_person() c.events = Event.find_all() c.schedule = Schedule.find_all() c.time_slot = TimeSlot.find_all() if not c.signed_in_person.registration: return render('/vote/no_rego.mako') c.votes = Vote.find_by_rego(c.signed_in_person.registration.id) defaults = { 'vote.vote_value': 1 } args = request.GET eventid = args.get('eventid',0) revoke = args.get('revoke',0) c.eventid = eventid if int(eventid) != 0 and c.votes.count() < 4 and revoke == 0: c.vote = Vote() c.vote.rego_id = c.signed_in_person.registration.id c.vote.vote_value = 1 c.vote.event_id = eventid meta.Session.add(c.vote) meta.Session.commit() if int(eventid) != 0 and int(revoke) != 0: c.vote = Vote.find_by_event_rego(eventid,c.signed_in_person.registration.id) meta.Session.delete(c.vote) meta.Session.commit() redirect_to('new') form = render('/vote/new.mako') return htmlfill.render(form, defaults)
def table(self, day=None): if len(c.scheduled_dates) == 0: return render('/schedule/no_schedule_available.mako') c.display_date = None available_days = {} for scheduled_date in c.scheduled_dates: available_days[scheduled_date.strftime('%A').lower()] = scheduled_date if day in available_days: c.display_date = available_days[day] if c.display_date is None: if date.today() in c.scheduled_dates: c.display_date = date.today() else: c.display_date = c.scheduled_dates[0] c.time_slots = TimeSlot.find_by_date(c.display_date) c.primary_times = {} for time_slot in TimeSlot.find_by_date(c.display_date, primary=True): c.primary_times[time_slot.start_time] = time_slot event_type = EventType.find_by_name('presentation') c.locations = Location.find_scheduled_by_date_and_type(c.display_date, event_type) c.schedule_collection = Schedule.find_by_date(c.display_date) c.time_increment = timedelta(minutes=5) c.programme = OrderedDict() for time_slot in c.time_slots: time = time_slot.start_time while time < time_slot.end_time: c.programme[time] = {} time = time + c.time_increment for schedule in c.schedule_collection: exclusive_event = schedule.time_slot.exclusive_event() time = schedule.time_slot.start_time if exclusive_event: c.programme[time]['exclusive'] = exclusive_event else: c.programme[time][schedule.location] = schedule return render('/schedule/table.mako')
def delete(self, id): """Delete the time_slot GET will return a form asking for approval. POST requests will delete the item. """ c.time_slot = TimeSlot.find_by_id(id) return render('/time_slot/confirm_delete.mako')
def new(self): c.time_slots = TimeSlot.find_all() c.locations = Location.find_all() c.events = Event.find_all() form = render('/schedule/new.mako') object = { 'schedule': self.form_result } defaults = NewScheduleSchema().from_python(object) return htmlfill.render(form, defaults)
def edit(self, id): c.time_slot = TimeSlot.find_by_id(id) defaults = h.object_to_defaults(c.time_slot, 'time_slot') defaults['time_slot.start_date'] = c.time_slot.start_time.strftime('%d/%m/%y') defaults['time_slot.start_time'] = c.time_slot.start_time.strftime('%H:%M:%S') defaults['time_slot.end_date'] = c.time_slot.end_time.strftime('%d/%m/%y') defaults['time_slot.end_time'] = c.time_slot.end_time.strftime('%H:%M:%S') form = render('/time_slot/edit.mako') return htmlfill.render(form, defaults)
def __before__(self, **kwargs): if h.signed_in_person(): c.can_edit = h.signed_in_person().has_role('organiser') else: c.can_edit = False c.subsubmenu = [] c.subsubmenu.append([ '/programme/sunday', 'Sunday' ]) c.scheduled_dates = TimeSlot.find_scheduled_dates() for scheduled_date in c.scheduled_dates: c.subsubmenu.append(['/programme/schedule/' + scheduled_date.strftime('%A').lower(), scheduled_date.strftime('%A')]) c.subsubmenu.append([ '/programme/open_day', 'Saturday' ])
def _edit(self, id): time_slot = TimeSlot.find_by_id(id) for key in self.form_result['time_slot']: setattr(time_slot, key, self.form_result['time_slot'][key]) results = self.form_result['time_slot'] time_slot.start_time=datetime.combine(results['start_date'], results['start_time']) time_slot.end_time=datetime.combine(results['end_date'], results['end_time']) # update the objects with the validated form data meta.Session.commit() h.flash("The Time Slot has been updated successfully.") redirect_to(action='index', id=None)
def edit(self, id): c.time_slots = TimeSlot.find_all() c.locations = Location.find_all() c.events = Event.find_all() c.schedule = Schedule.find_by_id(id) defaults = h.object_to_defaults(c.schedule, 'schedule') defaults['schedule.time_slot'] = c.schedule.time_slot_id defaults['schedule.location'] = c.schedule.location_id defaults['schedule.event'] = c.schedule.event_id form = render('/schedule/edit.mako') return htmlfill.render(form, defaults)
def _new(self): results = self.form_result['time_slot'] results['start_time'] = datetime.combine(results['start_date'], results['start_time']) results['end_time'] = datetime.combine(results['end_date'], results['end_time']) del results['start_date'] del results['end_date'] c.time_slot = TimeSlot(**results) meta.Session.add(c.time_slot) meta.Session.commit() h.flash("Time Slot created") redirect_to(action='index')
def edit(self, id): c.time_slot = TimeSlot.find_by_id(id) defaults = h.object_to_defaults(c.time_slot, 'time_slot') defaults['time_slot.start_date'] = c.time_slot.start_time.strftime( '%d/%m/%y') defaults['time_slot.start_time'] = c.time_slot.start_time.strftime( '%H:%M:%S') defaults['time_slot.end_date'] = c.time_slot.end_time.strftime( '%d/%m/%y') defaults['time_slot.end_time'] = c.time_slot.end_time.strftime( '%H:%M:%S') form = render('/time_slot/edit.mako') return htmlfill.render(form, defaults)
def _edit(self, id): time_slot = TimeSlot.find_by_id(id) for key in self.form_result['time_slot']: setattr(time_slot, key, self.form_result['time_slot'][key]) results = self.form_result['time_slot'] time_slot.start_time = datetime.combine(results['start_date'], results['start_time']) time_slot.end_time = datetime.combine(results['end_date'], results['end_time']) # update the objects with the validated form data meta.Session.commit() h.flash("The Time Slot has been updated successfully.") redirect_to(action='index', id=None)
def index(self): c.time_slot_collection = TimeSlot.find_all() return render('/time_slot/list.mako')
def view(self, id): c.time_slot = TimeSlot.find_by_id(id) return render('/time_slot/view.mako')