def deleteCalendar(): if request.method == 'POST': r = request.get_json() name = r['name'] calendar = current_user.getCalendarByName(name) if calendar is not None: for event in calendar.getEvents(): PCM.deleteEvent(event.getID(), current_user.getID()) current_user.deleteCalendar(calendar) PCM.addToUpdateQueue(current_user.getID(), current_user, PCM.DBUpdate.DB_UPDATE_USER) return jsonify({"success": "True"}) return jsonify({"success": "False"})
def create_internship(): form = createInternship() title = "Internship" logo_link = "/" name = current_user.getID() c.execute('Select company from Sponsor where UserID = %s' % (name)) data = c.fetchall() for row in data: company = row[0] if form.validate_on_submit(): heading = form.heading.data body = form.body.data startDate = form.startDate.data endDate = form.endDate.data gpa = form.gpa.data pay = form.pay.data approved = 0 referral = form.referral.data postID = str(random.randrange(100000, 1000000)) c.execute('INSERT INTO Internship values("%s","%s","%s","%s","%s","%s","%s","%s","%s","%s")' % ( company, heading, body, startDate, endDate, gpa, pay, approved, referral, postID)) db.commit() return redirect(url_for('home')) return render_template('create_internship.html', form=form, title=title, logo_link=logo_link)
def getIntent(): r = request.get_json() textMsg = r['nlpText'] print(textMsg) SESSION_ID = current_user.getID( ) # needs to be replaced with the logged in users id session = sessionClient.session_path(DIALOGFLOW_PROJECT_ID, SESSION_ID) textInput = dialogflow_v2.types.TextInput( text=textMsg, language_code=DIALOGFLOW_LANGUAGE_CODE) queryInput = dialogflow_v2.types.QueryInput(text=textInput) response = sessionClient.detect_intent(session=session, query_input=queryInput) if response.query_result.intent.display_name == "Event scheduling" or response.query_result.intent.display_name == "Event Scheduling Shorthand": print( response.query_result.parameters.fields["date"].string_value + " " + response.query_result.parameters.fields["timeStart"].string_value + " " + response.query_result.parameters.fields["timeEnd"].string_value) return jsonify({ "date": response.query_result.parameters.fields["date"].string_value, "timeStart": response.query_result.parameters.fields["timeStart"].string_value, "timeEnd": response.query_result.parameters.fields["timeEnd"].string_value, "eventName": response.query_result.parameters.fields["eventName"].string_value })
def deleteEvent(): if request.method == 'POST': r = request.get_json() event = PCM.getEventByID(r['eventId']) if event is not None: PCM.deleteEvent(event.getID(), current_user.getID()) return jsonify({"success": "True"})
def editCalendar(): if request.method == 'POST': r = request.get_json() oldName = r['oldName'] name = r['name'] colour = r['colour'] oldCalendar = current_user.getCalendarByName(oldName) if oldCalendar is not None: current_user.changeCalendarName(oldCalendar, name) current_user.changeCalendarColour(oldCalendar, colour) PCM.addToUpdateQueue(current_user.getID(), current_user, PCM.DBUpdate.DB_UPDATE_USER) for event in oldCalendar.getEvents(): PCM.addToUpdateQueue(current_user.getID(), event, PCM.DBUpdate.DB_UPDATE_EVENT, oldCalendar) return jsonify({"success": "True"}) return jsonify({"success": "False"})
def addContact(): if request.method == 'POST': r = request.get_json() email = r['email'] name = r['name'] current_user.addContact(email, name) PCM.addToUpdateQueue(current_user.getID(), current_user, PCM.DBUpdate.DB_UPDATE_USER) return jsonify({"success": "True"})
def sendInvite(): if request.method == 'POST': r = request.get_json() eventID = r['eventID'] sender = current_user.getID() invitees = r['invitees'] PCM.sendInvite(eventID, sender, invitees) return jsonify({'success': 'true'}) return jsonify({'success': 'false'})
def createCalendar(): if request.method == 'POST': r = request.get_json() userId = current_user.getID() name = r['name'] colour = r['colour'] if (current_user.getCalendarByName(name) == None): newCalendar = Calendar(name, colour) current_user.addCalendar(newCalendar) PCM.addToUpdateQueue(userId, current_user, PCM.DBUpdate.DB_UPDATE_USER) return jsonify({"success": "True"}) return jsonify({"success": "False"})
def editEvent(): if request.method == 'POST': r = request.get_json() event = PCM.getEventByID(r['eventId']) if event is not None: if (event.getName() != r['name']): event.setName(r['name']) if event.getDescription() != r['desc']: event.setDescription(r['desc']) if event.getStartDateTime() != r['startDate']: if (len(r['startDate']) == 16): event.setStartDateTime(r['startDate']) print(event.getStartDateTime()) elif (len(r['startDate']) == 24): event.setStartDateTime(r['startDate'][:-8]) print(event.getStartDateTime()) if event.getEndDateTime() != r['endDate']: if (len(r['endDate']) == 16): event.setEndDateTime(r['endDate']) print(event.getEndDateTime()) elif (len(r['endDate']) == 24): event.setEndDateTime(r['endDate'][:-8]) print(event.getEndDateTime()) if event.getCategory() != r['category']: event.setCategory(r['category']) current_user.moveEvent(event, r['calendar']) PCM.addToUpdateQueue(current_user.getID(), event, PCM.DBUpdate.DB_UPDATE_EVENT, current_user.getCalendarByName(r['calendar'])) PCM.sendNotification(event.getID(), current_user.getID(), event.getInvitees(), Notification.NOTIF_EVENTCHANGE) print("edited") return jsonify({"success": "True"}) return jsonify({"success": "False"})
def respondToInvite(): if request.method == 'POST': r = request.get_json() print(r) eID = r['id'] resp = r["response"] if resp == "going": userResp = Calendar.INVITESTATUS_GOING pcmResp = Notification.NOTIF_INVITERESP_GOING elif resp == "decline": userResp = Calendar.INVITESTATUS_DECLINE pcmResp = Calendar.NOTIF_INVITERESP_DECLINE current_user.respondToInvite(PCM.getEventByID(eID), userResp) PCM.respondToInvite(eID, current_user.getID(), pcmResp) return jsonify({"success": "True"}) return jsonify({"success": "False"})
def createEvent(): if request.method == 'POST': r = request.get_json() userId = current_user.getID() name = r['name'] desc = r['desc'] if 'desc' in r.keys() else '' if (len(r['startDate']) == 16): startDate = (r['startDate']) print("START DATE 16") elif (len(r['startDate']) == 24): startDate = (r['startDate'][:-8]) print("START DATE 24") else: print("f****d") if (len(r['endDate']) == 16): endDate = (r['endDate']) elif (len(r['endDate']) == 24): endDate = (r['endDate'][:-8]) cal = current_user.getCalendarByName(r['calendar']) category = r['category'] if 'category' in r.keys() else None invitees = None if 'invitees' in r: invitees = r['invitees'].split() groups = None if 'groups' in r: groups = r['groups'] if (cal != None): event = PCM.addEvent(userID=userId, title=name, description=desc, startDateTime=startDate, endDateTime=endDate, calendarName=cal.getName(), category=category, inviteeEmails=invitees) cal.addEvent(event) eventId = event.getID() return jsonify({"success": "True"}) return jsonify({"success": "False"})
def submitApplication(): user = current_user.getID() sql = ('SELECT * FROM Student WHERE UserID=%s' % (user)) c.execute(sql) student_data = c.fetchall() applicationID = str(random.randrange(100000, 1000000)) for row in student_data: f_name = row[1] l_name = row[2] degree = row[6] gpa = row[7] phone = row[5] interest = row[12] availability = row[14] bio = row[13] postID = "2509" sql = ('INSERT INTO Applicants values("%s","%s","%s","%s","%s","%s","%s","%s","%s","%s")' % ( applicationID, f_name, l_name, degree, gpa, phone, interest, availability, bio, postID)) c.execute(sql) db.commit() return render_template('internships.html', user=user, id=id, data=data, form=form, logo_link=logo_link)
def logout(): PCM.logoutUser(current_user.getID()) logout_user() return jsonify({"success": "True"})