Пример #1
0
    def post(self):
        args = self.req_parser.parse_args()
        event_id = args['event_id']
        user_id = g.current_user['id']

        event = db.session.query(Event).get(event_id)
        if not event:
            return EVENT_NOT_FOUND

        current_user = user_repository.get_by_id(user_id)
        if not current_user.is_event_admin(event_id):
            return FORBIDDEN

        users = user_repository.get_all_with_unsubmitted_response()
        for user in users:
            title = user.user_title
            firstname = user.firstname
            lastname = user.lastname
            event_name = event.name
            deadline = event.get_application_form().deadline.strftime('%A %-d %B %Y')
            
            subject = 'FINAL REMINDER to submit you application for {}'.format(event_name)
            body = NOT_SUBMITTED_EMAIL_BODY.format(title=title, firstname=firstname, lastname=lastname, event=event_name, deadline=deadline)
            
            send_mail(recipient=user.email, subject=subject, body_text=body)
        
        return {'unsubmitted_responses': len(users)}, 201
Пример #2
0
    def post(self):
        args = self.req_parser.parse_args()
        event_id = args['event_id']
        user_id = g.current_user['id']

        event = db.session.query(Event).get(event_id)
        if not event:
            return EVENT_NOT_FOUND

        current_user = user_repository.get_by_id(user_id)
        if not current_user.is_event_admin(event_id):
            return FORBIDDEN

        users = user_repository.get_all_with_unsubmitted_response()
        for user in users:
            organisation_name = event.organisation.name
            deadline = event.application_close.strftime('%A %-d %B %Y')

            email_user('application-not-submitted',
                       template_parameters=dict(
                           organisation_name=organisation_name,
                           deadline=deadline),
                       event=event,
                       user=user)

        return {'unsubmitted_responses': len(users)}, 201