Exemple #1
0
 def send_confirm_email(self, user):
     tracking_code = email_service.confirm_email(user)
     log = EmailLog(user_id=user.id,
                    type="confirm_email",
                    tracking_code=tracking_code)
     db.session.add(log)
     db.session.commit()
Exemple #2
0
def forgot_password():
    request_data = request.get_json()
    email = request_data['email']
    user = User.query.filter(
        func.lower(User.email) == email.lower()).first_or_404()

    tracking_code = email_service.reset_email(user)
    log = EmailLog(user_id=user.id,
                   type="reset_email",
                   tracking_code=tracking_code)
    db.session.add(log)
    db.session.commit()
    return ''
def approval_request():
    request_data = request.get_json()
    user_id = request_data['user_id']
    resource_id = request_data['resource_id']
    resource = ThrivResource.query.filter_by(id=resource_id).first_or_404()

    # Get admins for the user's institution
    user = User.query.filter_by(id=user_id).first_or_404()
    admins = User.query.filter_by(role="Admin", institution_id=user.institution_id).all()

    # Send approval request email to each admin for the institution
    for admin in admins:
        tracking_code = email_service.approval_request_email(user, admin, resource)
        log = EmailLog(user_id=admin.id, type="approval_request", tracking_code=tracking_code)
        db.session.add(log)
        db.session.commit()

    # Send confirmation email to user
    confirm_tracking_code = email_service.approval_request_confirm_email(user, resource)
    confirm_log = EmailLog(user_id=user.id, type="approval_request_confirm", tracking_code=confirm_tracking_code)
    db.session.add(confirm_log)
    db.session.commit()

    return ''
def consult_request():
    request_data = request.get_json()
    user_id = request_data['user_id']
    user = User.query.filter_by(id=user_id).first_or_404()
    admins = User.query.filter_by(role="Admin",
                                  institution_id=user.institution_id).all()

    # Send consult request email to each admin for the institution
    for admin in admins:
        tracking_code = email_service.consult_email(user, admin, request_data)
        log = EmailLog(user_id=admin.id,
                       type="consult_request",
                       tracking_code=tracking_code)
        db.session.add(log)
        db.session.commit()

    return ''