def send_request(new_user, committee): invite = and_(Invitations.user_name == new_user.id, Invitations.committee_id == committee.id, Invitations.isInvite == False) if Invitations.query.filter(invite).first() is not None: return Response.RequestExists invitation = Invitations(user_name=new_user.id, committee=committee, committee_id=committee.id, isInvite=False) try: db.session.add(invitation) db.session.commit() email = {} email["title"] = "Great news, " + new_user.id + " wants to join!" email["sender"] = ("SG TigerTracker", "*****@*****.**") email["recipients"] = [committee.head + "@rit.edu"] email["subtype"] = "related" email["html"] = render_template('committee_request.html', user_name=new_user.id, committee_head=committee.head, committee_name=committee.title, time_stamp=time.time(), request_url=app.config['CLIENT_URL'] + str(invitation.id)) if not app.config['TESTING']: send_email(email) return Response.RequestSent except Exception as e: db.session.rollback() return Response.RequestError
def send_invite(new_user, committee): invite = and_(Invitations.user_name == new_user, Invitations.committee_id == committee.id, Invitations.isInvite == True) if Invitations.query.filter(invite).first() is not None: return Response.InviteExists invitation = Invitations(user_name=new_user, committee=committee, committee_id=committee.id, charge_id=None, isInvite=True) try: db.session.add(invitation) db.session.commit() email = {} email["title"] = "You're Invited" email["sender"] = ("SG TigerTracker", "*****@*****.**") email["recipients"] = [new_user + "@rit.edu"] email["subtype"] = "related" email["html"] = render_template('committee_invitation.html', user_name=new_user, committee_name=committee.title, committee_head=committee.head, time_stamp=time.time(), app_url=app.config['CLIENT_URL'] + str(invitation.id)) if not app.config['TESTING']: send_email(email) return Response.InviteSent except Exception as e: db.session.rollback() return Response.InviteError
def send_close_request(user, committee, chargeID): admins = db.session.query(Users).filter(Users.is_admin == True).all() admin_emails = [] for user in admins: admin_emails.append(user.id + "@rit.edu") invite = and_(Invitations.user_name == committee.head, Invitations.committee_id == committee.id, Invitations.isInvite == False) invitation = Invitations(user_name=user.id, committee=committee, committee_id=committee.id, charge_id=chargeID, isInvite=False) try: db.session.add(invitation) db.session.commit() email = {} email["title"] = "Close Charge Request" email["sender"] = ("SG TigerTracker", "*****@*****.**") email["recipients"] = admin_emails email["subtype"] = "related" email["html"] = render_template('close_charge_request.html', user_name=committee.head, charge_name=chargeID, time_stamp=time.time(), request_url=app.config['CLIENT_URL'] + str(invitation.id)) if not app.config['TESTING']: send_email(email) return Response.RequestSent except Exception as e: db.session.rollback() return Response.RequestError