def update(self, event_id, service_id, data): data = self.validate(data, event_id, check_required=False) data_copy = data.copy() data_copy = self.fix_payload_post(event_id, data_copy) data = self._delete_fields(data) session = DataGetter.get_session( service_id) # session before any updates are made obj = ServiceDAO.update(self, event_id, service_id, data, validate=False) # session after update if 'state' in data: if data['state'] == 'pending' and session.state == 'draft': trigger_new_session_notifications(session.id, event_id=event_id) if (data['state'] == 'accepted' and session.state != 'accepted') \ or (data['state'] == 'rejected' and session.state != 'rejected') \ or (data['state'] == 'confirmed' and session.state != 'confirmed'): trigger_session_state_change_notifications(obj, event_id=event_id, state=data['state']) if session.start_time != obj.start_time or session.end_time != obj.end_time: trigger_session_schedule_change_notifications(obj, event_id) for f in ['track', 'microlocation', 'speakers', 'session_type']: if f in data_copy: setattr(obj, f, data_copy[f]) obj = save_db_model(obj, SessionModel.__name__, event_id) return obj
def update(self, event_id, service_id, data): data = self.validate(data, event_id, check_required=False) data_copy = data.copy() data_copy = self.fix_payload_post(event_id, data_copy) data = self._delete_fields(data) session = DataGetter.get_session(service_id) # session before any updates are made obj = ServiceDAO.update(self, event_id, service_id, data, validate=False) # session after update if 'state' in data: if data['state'] == 'pending' and session.state == 'draft': trigger_new_session_notifications(session.id, event_id=event_id) if (data['state'] == 'accepted' and session.state != 'accepted') \ or (data['state'] == 'rejected' and session.state != 'rejected') \ or (data['state'] == 'confirmed' and session.state != 'confirmed'): trigger_session_state_change_notifications(obj, event_id=event_id, state=data['state']) if session.start_time != obj.start_time or session.end_time != obj.end_time: trigger_session_schedule_change_notifications(obj, event_id) for f in ['track', 'microlocation', 'speakers', 'session_type']: if f in data_copy: setattr(obj, f, data_copy[f]) obj = save_db_model(obj, SessionModel.__name__, event_id) return obj
def session_accept_reject(session, event_id, state, send_email=True, message=None, subject=None): session.state = state session.submission_date = datetime.now() session.submission_modifier = login.current_user.email session.state_email_sent = False save_to_db(session, 'Session State Updated') if send_email: trigger_session_state_change_notifications(session, event_id, message=message, subject=subject) flash("The session has been %s" % state)
def send_emails_session(event_id, session_id): session = get_session_or_throw(session_id) message = request.form.get('message', None) if request.form else None subject = request.form.get('subject', None) if request.form else None trigger_session_state_change_notifications(session, event_id, message=message, subject=subject) return redirect(url_for('.index_view', event_id=event_id))
def session_accept_reject(session, event_id, state, send_email=True, message=None, subject=None): session.state = state session.submission_date = datetime.now() session.submission_modifier = login.current_user.email session.state_email_sent = False save_to_db(session, 'Session State Updated') if send_email: trigger_session_state_change_notifications(session, event_id, message=message, subject=subject) flash("The session has been %s" % state)
def send_emails_session(event_id, session_id): session = get_session_or_throw(session_id) trigger_session_state_change_notifications(session, event_id) return redirect(url_for('.index_view', event_id=event_id))
def send_emails_session(event_id, session_id): session = get_session_or_throw(session_id) trigger_session_state_change_notifications(session, event_id) return redirect(url_for('.index_view', event_id=event_id))
def send_emails_session(event_id, session_id): session = get_session_or_throw(session_id) message = request.form.get('message', None) if request.form else None subject = request.form.get('subject', None) if request.form else None trigger_session_state_change_notifications(session, event_id, message=message, subject=subject) return redirect(url_for('.index_view', event_id=event_id))