示例#1
0
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"})
示例#2
0
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)
示例#3
0
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
        })
示例#4
0
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"})
示例#5
0
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"})
示例#6
0
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"})
示例#7
0
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'})
示例#8
0
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"})
示例#9
0
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"})
示例#10
0
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"})
示例#11
0
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"})
示例#12
0
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)
示例#13
0
def logout():
    PCM.logoutUser(current_user.getID())
    logout_user()
    return jsonify({"success": "True"})