def create_single_event(klass, form, creator): """Creates a non-recurring Mongoengine and Google Calendar event from form data. :param form: The WTForms form. :type form: :class:`CreateEventForm` or a subclass. :param creator: The user that is currently logged in. :type creator: :class:`~app.models.User` :raises: :class:`GoogleCalendarAPIError` and it's subclasses :returns: Response from the Google Calendar API. :rtype: dict """ # Generate the event and date data event_and_date_data = DataBuilder.event_and_date_data_from_form( form, creator=creator) event_and_date_data = klass._remove_none_fields(event_and_date_data) event = Event(**event_and_date_data) event.save() # Return the Google Calendar response return gcal_client.create_event(event)
def create_single_event(cls, form, creator): """Creates a non-recurring Mongoengine and Google Calendar event from form data. :param form: The WTForms form. :type form: :class:`CreateEventForm` or a subclass. :param creator: The user that is currently logged in. :type creator: :class:`~app.models.User` :raises: :class:`GoogleCalendarAPIError` and it's subclasses :returns: Response from the Google Calendar API. :rtype: dict """ # Generate the event and date data event_and_date_data = DataBuilder.event_and_date_data_from_form( form, creator=creator ) event_and_date_data = cls._remove_none_fields(event_and_date_data) event = Event(**event_and_date_data) event.save() # Return the Google Calendar response return gcal_client.create_event(event)
def create_single_event(klass, form, creator): """""" # Generate the event and date data event_and_date_data = DataBuilder.event_and_date_data_from_form(form, creator=creator) event_and_date_data = klass._remove_none_fields(event_and_date_data) event = Event(**event_and_date_data) event.save() # Return the Google Calendar response return gcal_client.create_event(event)
def create_single_event(klass, form, creator): """""" # Generate the event and date data event_and_date_data = DataBuilder.event_and_date_data_from_form( form, creator=creator) event_and_date_data = klass._remove_none_fields(event_and_date_data) event = Event(**event_and_date_data) event.save() # Return the Google Calendar response return gcal_client.create_event(event)
def create_series(klass, form, creator): """""" event_data = DataBuilder.event_data_from_form(form, creator=creator) date_data = DataBuilder.date_data_from_form(form) # Make the parent series series = klass._make_series(form) # Update event_data with the parent series event_data['parent_series'] = series # Make the individual Event objects in the series while klass._more_events(series, date_data): ev = klass._make_event(event_data, date_data) series.events.append(ev) klass._increment_date_data(series, date_data) series.save() # Return the Google Calendar response return gcal_client.create_event(series.events[0])
def create_series(cls, form, creator): """Creates a recurring Mongoengine and Google Calendar event from form data. Creates both a :class:`EventSeries` and its associated :class:`Event` s. :param form: The WTForms form. :type form: :class:`CreateEventForm` or a subclass. :param creator: The user that is currently logged in. :type creator: :class:`~app.models.User` :raises: :class:`GoogleCalendarAPIError` and it's subclasses :returns: Response from the Google Calendar API. :rtype: dict """ event_data = DataBuilder.event_data_from_form(form, creator=creator) date_data = DataBuilder.date_data_from_form(form) # Make the parent series series = cls._make_series(form) # Update event_data with the parent series event_data['parent_series'] = series # Make the individual Event objects in the series while cls._more_events(series, date_data): ev = cls._make_event(event_data, date_data) series.events.append(ev) cls._increment_date_data(series, date_data) series.save() # Return the Google Calendar response return gcal_client.create_event(series.events[0])