Exemple #1
0
 def _process(self):
     form = CloneRepeatabilityForm()
     clone_calculator = get_clone_calculator(form.repeatability.data, self.event)
     try:
         dates, last_day_of_month = clone_calculator.calculate(request.form)
         if len(dates) > 100:
             raise ValueError(_("You can clone maximum of 100 times at once"))
     except ValueError as e:
         return jsonify(error={'message': e.message})
     return jsonify_data(count=len(dates), dates=dates, last_day_of_month=last_day_of_month, flash=False)
Exemple #2
0
 def _form_for_step(self, step, set_defaults=True):
     if step == 1:
         return CloneRepeatabilityForm()
     elif step == 2:
         return CloneContentsForm(self.event, set_defaults=set_defaults)
     elif step == 3:
         default_category = (self.event.category if self.event.category.can_create_events(session.user)
                             else None)
         return CloneCategorySelectForm(self.event, category=default_category)
     elif step == 4:
         return REPEAT_FORM_MAP[request.form['repeatability']](self.event, set_defaults=set_defaults)
     else:
         return None