def _process_form(self, form, **kwargs): saved = False if form.validate_on_submit(): note = EventNote.get_or_create(self.object) is_new = note.id is None or note.is_deleted is_restored = is_new and note.is_deleted # TODO: get render mode from form data once it can be selected note.create_revision(RenderMode.html, form.source.data, session.user) is_changed = attrs_changed(note, 'current_revision') db.session.add(note) db.session.flush() if is_new: if is_restored: signals.event.notes.note_restored.send(note) else: signals.event.notes.note_added.send(note) logger.info('Note %s created by %s', note, session.user) self.event.log(EventLogRealm.participants, LogKind.positive, 'Minutes', 'Added minutes', session.user, data=note.link_event_log_data) elif is_changed: signals.event.notes.note_modified.send(note) logger.info('Note %s modified by %s', note, session.user) self.event.log(EventLogRealm.participants, LogKind.change, 'Minutes', 'Updated minutes', session.user, data=note.link_event_log_data) saved = is_new or is_changed return jsonify_template('events/notes/edit_note.html', form=form, object_type=self.object_type, object=self.object, saved=saved, **kwargs)
def _process(self): defaults = FormDefaults(self.chatroom) for name in EditChatroomForm.event_specific_fields: defaults[name] = getattr(self.event_chatroom, name) form = EditChatroomForm(obj=defaults) if form.validate_on_submit(): form.populate_obj(self.event_chatroom, fields=form.event_specific_fields) form.populate_obj(self.chatroom, skip=form.event_specific_fields) self.chatroom.modified_dt = now_utc() if attrs_changed(self.chatroom, 'name', 'description', 'password'): update_room(self.chatroom) notify_modified(self.chatroom, self.event, session.user) flash(_('Chatroom updated'), 'success') self.event.log(EventLogRealm.management, EventLogKind.change, 'Chat', 'Chatroom updated: {}'.format(self.chatroom.name), session.user) return jsonify_data(flash=False) return jsonify_template('manage_event_edit.html', render_plugin_template, form=form, event=self.event, event_chatroom=self.event_chatroom)
def _process(self): defaults = FormDefaults(self.chatroom) for name in EditChatroomForm.event_specific_fields: defaults[name] = getattr(self.event_chatroom, name) form = EditChatroomForm(obj=defaults) if form.validate_on_submit(): form.populate_obj(self.event_chatroom, fields=form.event_specific_fields) form.populate_obj(self.chatroom, skip=form.event_specific_fields) self.chatroom.modified_dt = now_utc() if attrs_changed(self.chatroom, 'name', 'description', 'password'): update_room(self.chatroom) notify_modified(self.chatroom, self.event, session.user) flash(_('Chatroom updated'), 'success') self.event.log(EventLogRealm.management, EventLogKind.change, 'Chat', 'Chatroom updated: {}'.format(self.chatroom.name), session.user) return redirect(url_for_plugin('.manage_rooms', self.event)) return WPChatEventMgmt.render_template('manage_event_edit.html', self._conf, form=form, event_chatroom=self.event_chatroom, event=self.event)
def _process_form(self, form, **kwargs): saved = False if form.validate_on_submit(): note = EventNote.get_or_create(self.object) is_new = note.id is None or note.is_deleted # TODO: get render mode from form data once it can be selected note.create_revision(RenderMode.html, form.source.data, session.user) is_changed = attrs_changed(note, "current_revision") db.session.add(note) db.session.flush() if is_new: signals.event.notes.note_added.send(note) logger.info("Note {} created by {}".format(note, session.user)) self.event.log( EventLogRealm.participants, EventLogKind.positive, "Minutes", "Added minutes", session.user, data=note.link_event_log_data, ) elif is_changed: signals.event.notes.note_modified.send(note) logger.info("Note {} modified by {}".format(note, session.user)) self.event.log( EventLogRealm.participants, EventLogKind.change, "Minutes", "Updated minutes", session.user, data=note.link_event_log_data, ) saved = is_new or is_changed return jsonify_template( "events/notes/edit_note.html", form=form, object_type=self.object_type, object=self.object, saved=saved, **kwargs )
def _process_form(self, form, **kwargs): if form.validate_on_submit(): note = EventNote.get_or_create(self.object) is_new = note.id is None or note.is_deleted # TODO: get render mode from form data once it can be selected note.create_revision(RenderMode.html, form.source.data, session.user) is_changed = attrs_changed(note, 'current_revision') db.session.add(note) db.session.flush() if is_new: signals.event.notes.note_added.send(note) logger.info('Note {} created by {}'.format(note, session.user)) self.event.log(EventLogRealm.participants, EventLogKind.positive, 'Minutes', 'Added minutes to {} {}'.format(self.object_type, self.object.getTitle()), session.user) elif is_changed: signals.event.notes.note_modified.send(note) logger.info('Note {} modified by {}'.format(note, session.user)) self.event.log(EventLogRealm.participants, EventLogKind.change, 'Minutes', 'Updated minutes for {} {}'.format(self.object_type, self.object.getTitle()), session.user) return jsonify_data(flash=False) return jsonify_template('events/notes/edit_note.html', form=form, object_type=self.object_type, object=self.object, **kwargs)