def _process(self): form = SessionForm(obj=self.session, event=self.event) if form.validate_on_submit(): with track_location_changes(): update_session(self.session, form.data) return jsonify_data(html=_render_session_list(self.event)) return jsonify_form(form)
def _process(self): form = SessionProtectionForm(obj=FormDefaults(**self._get_defaults()), session=self.session, prefix='session-protection-') if form.validate_on_submit(): update_permissions(self.session, form) update_session(self.session, {'protection_mode': form.protection_mode.data}) return jsonify_data(flash=False, html=_render_session_list(self.event)) return jsonify_template('events/management/protection_dialog.html', form=form)
def _process(self): form = SessionProtectionForm(obj=FormDefaults(**self._get_defaults()), session=self.session, prefix='session-protection-') if form.validate_on_submit(): update_session(self.session, {'protection_mode': form.protection_mode.data}) if self.session.is_protected: update_object_principals(self.session, form.acl.data, read_access=True) update_object_principals(self.session, form.managers.data, full_access=True) update_object_principals(self.session, form.coordinators.data, role='coordinate') return jsonify_data(flash=False, html=_render_session_list(self.event)) return jsonify_form(form)
def _process(self): form = SessionProtectionForm(obj=FormDefaults(**self._get_defaults()), session=self.session, prefix='session-protection-') if form.validate_on_submit(): update_session(self.session, {'protection_mode': form.protection_mode.data}) if self.session.is_protected: update_object_principals(self.session, form.acl.data, read_access=True) update_object_principals(self.session, form.managers.data, full_access=True) update_object_principals(self.session, form.coordinators.data, permission='coordinate') return jsonify_data(flash=False, html=_render_session_list(self.event)) return jsonify_form(form)
def _process(self): form = MeetingSessionBlockForm(obj=FormDefaults(**self._get_form_defaults()), event=self.event, session_block=self.session_block) if form.validate_on_submit(): session_data = {k[8:]: v for k, v in form.data.iteritems() if k in form.session_fields} block_data = {k[6:]: v for k, v in form.data.iteritems() if k in form.block_fields} update_session(self.session, session_data) update_session_block(self.session_block, block_data) return jsonify_data(flash=False) self.commit = False return jsonify_template('events/forms/session_block_form.html', form=form, block=self.session_block)
def _process_PATCH(self): data = request.json updates = {} if set(data.viewkeys()) > {'colors'}: raise BadRequest if 'colors' in data: colors = ColorTuple(**data['colors']) if colors not in get_colors(): raise BadRequest updates['colors'] = colors update_session(self.session, updates) return jsonify()
def _process(self): form = None parent_session_block = self.entry.parent.object if self.entry.parent else None if self.entry.contribution: contrib = self.entry.contribution tt_entry_dt = self.entry.start_dt.astimezone(self.event_new.tzinfo) form = ContributionEntryForm(obj=FormDefaults(contrib, time=tt_entry_dt.time()), event=self.event_new, contrib=contrib, to_schedule=False, day=tt_entry_dt.date(), session_block=parent_session_block) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: with flash_if_unregistered(self.event_new, lambda: contrib.person_links): update_contribution(contrib, *get_field_values(form.data)) notifications = get_time_changes_notifications(changes, tzinfo=self.event_new.tzinfo, entry=self.entry) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), notifications=notifications) elif not form.is_submitted(): handle_legacy_description(form.description, contrib) return jsonify_template('events/contributions/forms/contribution.html', form=form, fields=form._display_fields) elif self.entry.break_: break_ = self.entry.break_ tt_entry_dt = self.entry.start_dt.astimezone(self.event_new.tzinfo) form = BreakEntryForm(obj=FormDefaults(break_, time=tt_entry_dt.time()), event=self.event_new, day=tt_entry_dt.date(), session_block=parent_session_block) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: update_break_entry(break_, form.data) notifications = get_time_changes_notifications(changes, tzinfo=self.event_new.tzinfo, entry=self.entry) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), notifications=notifications, flash=False) elif self.entry.session_block: if self.edit_session: session_ = self.entry.session_block.session form = SessionForm(obj=FormDefaults(session_), event=self.event_new) if form.validate_on_submit(): update_session(session_, form.data) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), flash=False) else: block = self.entry.session_block tt_entry_dt = self.entry.start_dt.astimezone(self.event_new.tzinfo) form = SessionBlockEntryForm(obj=FormDefaults(block, time=tt_entry_dt.time()), event=self.event_new, session_block=block, to_schedule=False, day=tt_entry_dt.date()) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: update_session_block(block, form.data) notifications = get_time_changes_notifications(changes, tzinfo=self.event_new.tzinfo, entry=self.entry) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), notifications=notifications, flash=False) self.commit = False return jsonify_form(form, fields=getattr(form, '_display_fields', None))
def _process(self): form = None parent_session_block = self.entry.parent.object if self.entry.parent else None if self.entry.contribution: contrib = self.entry.contribution tt_entry_dt = self.entry.start_dt.astimezone(self.event.tzinfo) form = ContributionEntryForm(obj=FormDefaults(contrib, time=tt_entry_dt.time()), event=self.event, contrib=contrib, to_schedule=False, day=tt_entry_dt.date(), session_block=parent_session_block) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: with flash_if_unregistered(self.event, lambda: contrib.person_links): update_contribution(contrib, *get_field_values(form.data)) notifications = get_time_changes_notifications(changes, tzinfo=self.event.tzinfo, entry=self.entry) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), notifications=notifications) elif not form.is_submitted(): handle_legacy_description(form.description, contrib) return jsonify_template('events/contributions/forms/contribution.html', form=form, fields=form._display_fields) elif self.entry.break_: break_ = self.entry.break_ tt_entry_dt = self.entry.start_dt.astimezone(self.event.tzinfo) form = BreakEntryForm(obj=FormDefaults(break_, time=tt_entry_dt.time()), event=self.event, day=tt_entry_dt.date(), session_block=parent_session_block) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: update_break_entry(break_, form.data) notifications = get_time_changes_notifications(changes, tzinfo=self.event.tzinfo, entry=self.entry) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), notifications=notifications, flash=False) elif self.entry.session_block: if self.edit_session: session_ = self.entry.session_block.session form = SessionForm(obj=FormDefaults(session_), event=self.event) if form.validate_on_submit(): update_session(session_, form.data) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), flash=False) else: block = self.entry.session_block tt_entry_dt = self.entry.start_dt.astimezone(self.event.tzinfo) form = SessionBlockEntryForm(obj=FormDefaults(block, time=tt_entry_dt.time()), event=self.event, session_block=block, to_schedule=False, day=tt_entry_dt.date()) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: update_session_block(block, form.data) notifications = get_time_changes_notifications(changes, tzinfo=self.event.tzinfo, entry=self.entry) return jsonify_data(update=serialize_entry_update(self.entry, session_=self.session), notifications=notifications, flash=False) self.commit = False return jsonify_form(form, fields=getattr(form, '_display_fields', None))
def _process_PATCH(self): data = request.json updates = {} if data.viewkeys() > {"colors"}: raise BadRequest if "colors" in data: colors = ColorTuple(**data["colors"]) if colors not in get_colors(): raise BadRequest updates["colors"] = colors update_session(self.session, updates) return jsonify()
def _process_PATCH(self): data = request.json updates = {} if set(data) - {'colors', 'type_id'}: raise BadRequest if 'colors' in data: colors = ColorTuple(**data['colors']) if colors not in get_colors(): raise BadRequest updates['colors'] = colors if 'type_id' in data: updates.update(self._get_session_type_updates(data['type_id'])) update_session(self.session, updates) return jsonify()
def _process(self): form = None parent_session_block = self.entry.parent.object if self.entry.parent else None if self.entry.contribution: contrib = self.entry.contribution tt_entry_dt = self.entry.start_dt.astimezone(self.event_new.tzinfo) form = ContributionEntryForm(obj=FormDefaults( contrib, time=tt_entry_dt.time()), event=self.event_new, contrib=contrib, to_schedule=False, day=tt_entry_dt.date(), session_block=parent_session_block) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: update_contribution(contrib, *_get_field_values(form.data)) notifications = get_time_changes_notifications( changes, tzinfo=self.event_new.tzinfo, entry=self.entry) return jsonify_data( entries=[serialize_entry_update(contrib.timetable_entry)], notifications=notifications, flash=False) return jsonify_template( 'events/contributions/forms/contribution.html', form=form, fields=form._display_fields) elif self.entry.break_: break_ = self.entry.break_ tt_entry_dt = self.entry.start_dt.astimezone(self.event_new.tzinfo) form = BreakEntryForm(obj=FormDefaults(break_, time=tt_entry_dt.time()), event=self.event_new, day=tt_entry_dt.date(), session_block=parent_session_block) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: update_break_entry(break_, form.data) notifications = get_time_changes_notifications( changes, tzinfo=self.event_new.tzinfo, entry=self.entry) return jsonify_data( entries=[serialize_entry_update(break_.timetable_entry)], notifications=notifications, flash=False) elif self.entry.session_block: if self.edit_session: session_ = self.entry.session_block.session form = SessionForm(obj=FormDefaults(session_), event=self.event_new) if form.validate_on_submit(): update_session(session_, form.data) return jsonify_data(entries=[ serialize_entry_update(x.timetable_entry) for x in session_.blocks ], flash=False) else: block = self.entry.session_block tt_entry_dt = self.entry.start_dt.astimezone( self.event_new.tzinfo) form = SessionBlockEntryForm(obj=FormDefaults( block, time=tt_entry_dt.time()), event=self.event_new, session_block=block, to_schedule=False, day=tt_entry_dt.date()) if form.validate_on_submit(): with track_time_changes(auto_extend=True, user=session.user) as changes: update_session_block(block, form.data) notifications = get_time_changes_notifications( changes, tzinfo=self.event_new.tzinfo, entry=self.entry) return jsonify_data(entries=[ serialize_entry_update(block.timetable_entry) ], notifications=notifications, flash=False) self.commit = False return jsonify_form(form, fields=getattr(form, '_display_fields', None))
def _process(self): form = SessionForm(obj=self.session, event=self.event_new) if form.validate_on_submit(): update_session(self.session, form.data) return jsonify_data(html=_render_session_list(self.event_new)) return jsonify_form(form)
def _process(self): form = SessionForm(obj=self.session, event=self.event) if form.validate_on_submit(): update_session(self.session, form.data) return jsonify_data(html=_render_session_list(self.event)) return jsonify_form(form)