def _process(self): is_invited = request.args.get('invited') == '1' abstract_form_class = make_abstract_form(self.event, session.user, notification_option=True, management=self.management, invited=is_invited) cloned_fields = self.clone_fields( self.abstract) if self.abstract else {} form = abstract_form_class(event=self.event, management=self.management, invited=is_invited, **cloned_fields) if is_invited: del form.submitted_contrib_type del form.attachments del form.send_notifications del form.person_links if form.validate_on_submit(): data = form.data submitter = None if is_invited: if form.users_with_no_account.data == 'existing': submitter = data['submitter'] else: submitter = User(first_name=data['first_name'], last_name=data['last_name'], email=data['email'], is_pending=True) db.session.add(submitter) db.session.flush() data.pop('first_name') data.pop('last_name') data.pop('email') data.pop('users_with_no_account') data.pop('submitter') send_notifications = data.pop('send_notifications', is_invited) abstract = create_abstract(self.event, *get_field_values(data), send_notifications=send_notifications, submitter=submitter, is_invited=is_invited) flash( _("Abstract '{}' created successfully").format(abstract.title), 'success') tpl_components = self.list_generator.render_list(abstract) if tpl_components.get('hide_abstract'): self.list_generator.flash_info_message(abstract) return jsonify_data(**tpl_components) return jsonify_form( form, back=_('Cancel'), disabled_until_change=(not self.abstract or is_invited), form_header_kwargs={'action': request.relative_url})
def _process(self): abstract_form_class = make_abstract_form(self.event, session.user, management=self.management) form = abstract_form_class(event=self.event) if form.validate_on_submit(): abstract = create_abstract(self.event, *get_field_values(form.data), send_notifications=True) flash(_("Your abstract '{}' has been successfully submitted. It is registered with the number " "#{}. You will be notified by email with the submission details.") .format(abstract.title, abstract.friendly_id), 'success') return jsonify_data(flash=False, redirect=url_for('.call_for_abstracts', self.event)) return jsonify_template('events/abstracts/display/submission.html', event=self.event, form=form)
def _process(self): abstract_form_class = make_abstract_form(self.event_new, notification_option=True, management=self.management) form = abstract_form_class(event=self.event_new) if form.validate_on_submit(): data = form.data send_notifications = data.pop('send_notifications') abstract = create_abstract(self.event_new, *get_field_values(data), send_notifications=send_notifications) flash(_("Abstract '{}' created successfully").format(abstract.title), 'success') tpl_components = self.list_generator.render_list(abstract) if tpl_components.get('hide_abstract'): self.list_generator.flash_info_message(abstract) return jsonify_data(**tpl_components) return jsonify_form(form, back=_("Cancel"), form_header_kwargs={'action': request.relative_url})