Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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
     )
Exemplo n.º 5
0
 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)