def _process(self): defaults = FormDefaults( content_review_questions=self.event_new.cfp. content_review_questions, layout_review_questions=self.event_new.cfp.layout_review_questions, **paper_reviewing_settings.get_all(self.event_new)) form = PaperReviewingSettingsForm(event=self.event_new, obj=defaults) if form.validate_on_submit(): data = form.data content_review_questions = data.pop('content_review_questions', None) layout_review_questions = data.pop('layout_review_questions', None) if content_review_questions is None: content_review_questions = self.event_new.cfp.content_review_questions if layout_review_questions is None: layout_review_questions = self.event_new.cfp.layout_review_questions self.event_new.paper_review_questions = content_review_questions + layout_review_questions email_settings = data.pop('email_settings') data.update(email_settings) paper_reviewing_settings.set_multi(self.event_new, data) flash(_("The reviewing settings were saved successfully"), 'success') logger.info("Paper reviewing settings of %r updated by %r", self.event_new, session.user) return jsonify_data() self.commit = False return jsonify_form(form)
def _process(self): form = PapersScheduleForm(obj=FormDefaults(**paper_reviewing_settings.get_all(self.event)), event=self.event) if form.validate_on_submit(): rescheduled = self.event.cfp.start_dt is not None schedule_cfp(self.event, **form.data) if rescheduled: flash(_("Call for papers has been rescheduled"), 'success') else: flash(_("Call for papers has been scheduled"), 'success') return jsonify_data(html=_render_paper_dashboard(self.event)) return jsonify_form(form)
def _process(self): defaults = FormDefaults(content_review_questions=self.event.cfp.content_review_questions, layout_review_questions=self.event.cfp.layout_review_questions, **paper_reviewing_settings.get_all(self.event)) form = PaperReviewingSettingsForm(event=self.event, obj=defaults, has_ratings=self.ratings_query.has_rows()) if form.validate_on_submit(): data = form.data data.update(data.pop('email_settings')) self._scale_ratings(data['scale_lower'], data['scale_upper']) paper_reviewing_settings.set_multi(self.event, data) flash(_('The reviewing settings were saved successfully'), 'success') logger.info('Paper reviewing settings of %r updated by %r', self.event, session.user) return jsonify_data() self.commit = False return jsonify_form(form)
def _process(self): has_ratings = (PaperReviewRating.query .join(PaperReviewRating.review) .join(PaperReview.revision) .join(PaperRevision._contribution) .join(PaperReviewRating.question) .filter(~Contribution.is_deleted, Contribution.event == self.event, PaperReviewQuestion.field_type == 'rating') .has_rows()) defaults = FormDefaults(content_review_questions=self.event.cfp.content_review_questions, layout_review_questions=self.event.cfp.layout_review_questions, **paper_reviewing_settings.get_all(self.event)) form = PaperReviewingSettingsForm(event=self.event, obj=defaults, has_ratings=has_ratings) if form.validate_on_submit(): data = form.data data.update(data.pop('email_settings')) paper_reviewing_settings.set_multi(self.event, data) flash(_("The reviewing settings were saved successfully"), 'success') logger.info("Paper reviewing settings of %r updated by %r", self.event, session.user) return jsonify_data() self.commit = False disabled_fields = form.RATING_FIELDS if has_ratings else () return jsonify_form(form, disabled_fields=disabled_fields)
def _process(self): defaults = FormDefaults(content_review_questions=self.event.cfp.content_review_questions, layout_review_questions=self.event.cfp.layout_review_questions, **paper_reviewing_settings.get_all(self.event)) form = PaperReviewingSettingsForm(event=self.event, obj=defaults) if form.validate_on_submit(): data = form.data content_review_questions = data.pop('content_review_questions', None) layout_review_questions = data.pop('layout_review_questions', None) if content_review_questions is None: content_review_questions = self.event.cfp.content_review_questions if layout_review_questions is None: layout_review_questions = self.event.cfp.layout_review_questions self.event.paper_review_questions = content_review_questions + layout_review_questions email_settings = data.pop('email_settings') data.update(email_settings) paper_reviewing_settings.set_multi(self.event, data) flash(_("The reviewing settings were saved successfully"), 'success') logger.info("Paper reviewing settings of %r updated by %r", self.event, session.user) return jsonify_data() self.commit = False return jsonify_form(form)