Exemple #1
0
def loginUser(form):
    emailLogin = form.get('email')
    passwordLogin = form.get('password')
    dbEmail = UserApi.getEmail(emailLogin)

    if dbEmail is None:
        return {
            "boolean": "false",
            "userId": None,
            "clearance": None,
            "msg": "Email klopt niet"
        }

    dbPassword = UserApi.getPassword(emailLogin)

    if dbPassword == passwordLogin:
        user = UserApi.getUserByEmail(emailLogin)
        Persister.loginUser(user)
        return {
            "boolean": "true",
            "userId": user.id,
            "clearance": user.clearance,
            "msg": "OK"
        }

    else:
        return {
            "boolean": "false",
            "userId": None,
            "clearance": None,
            "msg": "Wachtwoord klopt niet"
        }
Exemple #2
0
def searchEvent(searchString):
    found = Persister.searchEvent(searchString)
    result = []
    for eventName in found:
        event = found[eventName]
        leader = Persister.getLeader(event['leader'])
        photo = Persister.getProfilePhoto(event['leader'])
        createDate = event['created']
        created = createDate.strftime('%m/%d/%Y')
        begin = event['begin']
        beginDay = begin.strftime('%d')
        beginMonth = begin.strftime('%b')
        beginTime = begin.strftime('%H:%M')

        end = event['end']
        endDay = end.strftime('%d')
        endMonth = end.strftime('%b')
        endTime = end.strftime('%H:%M')

        participantList = []
        participants = Persister.getAllParticepants(event.id)
        if participants != 400:
            for participant in participants:
                person = Persister.getPerson(participant.person_id)
                name = person.firstname + " " + person.lastname
                participantInfo = {
                    "id": person.id,
                    "name": name,
                    "points": person.points
                }
                participantList.append(participantInfo)
        result.append({
            "id": event['id'],
            "name": event['name'],
            "begin": beginDay,
            "beginMonth": months[beginMonth],
            "end": endDay,
            "endMonth": months[endMonth],
            "endTime": endTime,
            "location": event['location'],
            "desc": event['desc'],
            "leader": leader,
            "cancel": event['cancel'],
            "img": event['img'],
            "qrCode": event['qr_code'],
            "created": created,
            "link": event['link'],
            "photo": photo,
            "subscribed": None,
            "participants": participantList
        })

    return result
Exemple #3
0
def subToEvent(eventId, personId):
	if not Persister.checkParticepant(eventId, personId):
		particepant = Particepant(
				person_id=personId,
				event_id=eventId,
				event_scanned=0
			)
		if Persister.persist_object(particepant) == 200:
			return ({"responseCode": 200, "msg": "Added particepant entry."})
		else:
			return ({"responseCode": 400, "msg": "Could not add entry due to db error."})
	return ({"responseCode": 400, "msg": "Could not add participant entry because either some of the given data did not match or the entry already exists."})
Exemple #4
0
def facebookLogin(form):
    emailLogin = form.get('email')
    dbEmail = UserApi.getEmail(emailLogin)

    if dbEmail is None:
        RegisterForm.registerFacebookUser(form)

    user = UserApi.getUserByEmail(emailLogin)
    if (Persister.loginUser(user)):
        if (user.clearance == 1):
            return {
                "responseCode": 200,
                "boolean": "true",
                "userId": user.id,
                "wordpresskey": user.wordpressKey,
                "clearance": user.clearance,
                "msg": "Ingelogd met facebook"
            }
        else:
            return {
                "responseCode": 200,
                "boolean": "true",
                "userId": user.id,
                "wordpresskey": None,
                "clearance": user.clearance,
                "msg": "Ingelogd met facebook"
            }
    else:
        return {
            "responseCode": 400,
            "boolean": "false",
            "userId": None,
            "clearance": None,
            "msg": "Kon niet inloggen met facebook"
        }
Exemple #5
0
def createEvent(name,begin,end,location,description,leader,img):
	size=6
	chars=string.ascii_uppercase + string.digits
	unHashed = ''.join(random.choice(chars) for _ in range(size))
	qr_code = pbkdf2_sha256.hash(unHashed)
	if(name == '' or
	   begin == '' or
	   end == '' or
	   location == '' or
	   description == '' or
	   leader== '' or
	   img==''):
		return 400
	event = Event(
			name=name,
			begin=begin,
			end=end,
			location=location,
			desc=description,
			leader=leader,
			cancel=0,
			img=img,
			qr_code=qr_code,
			created= datetime.datetime.now(),
			link= None
		)
	return Persister.persist_object(event)
Exemple #6
0
def getParticipantInfo(eventId):
    event = Persister.getEventById(eventId)
    participantList = []
    participants = Persister.getAllParticepants(event.id)
    if participants != 400:
        for participant in participants:
            person = Persister.getPerson(participant.person_id)
            name = person.firstname + " " + person.lastname
            participantInfo = {
                "id": person.id,
                "name": name,
                "points": person.points
            }
            participantList.append(participantInfo)
    sortedList = sorted(participantList, key=itemgetter('name'))

    return sortedList
Exemple #7
0
def unSubToEvent(eventId, personId):
    if Persister.checkParticepant(eventId, personId):
        print("particepant exists")
        particepant = Persister.getParticepant(eventId, personId)
        print(particepant)
        if Persister.remove_object(particepant) == 200:
            return ({"responseCode": 200, "msg": "Removed particepant entry."})
        else:
            return ({
                "responseCode": 500,
                "msg": "Could not remove entry due to db error."
            })
    return ({
        "responseCode":
        400,
        "msg":
        "Could not remove participant entry because either some of the given data did not match or the entry does not exists."
    })
Exemple #8
0
def getAllEvents():
    events = Persister.getAllEvents()
    if events != 400:
    	result = []
    	for event in events:
    	    leader = Persister.getLeader(event.leader)
    	    photo = Persister.getProfilePhoto(event.leader)
    	    createDate = event.created
    	    created = createDate.strftime('%m/%d/%Y')
    	    begin = event.begin
    	    beginDay = begin.strftime('%d')
    	    beginMonth = begin.strftime('%b')
	
    	    result.append({"id": event.id, "name": event.name, "begin": beginDay,"beginMonth": beginMonth,"end": event.end,
    	                   "location": event.location, "desc": event.desc, "leader": leader, "cancel": event.cancel, "img": event.img,"qrCode": event.qr_code,
    	                   "created": created,"link":event.link,"photo":photo })

    return result
Exemple #9
0
def searchEvent(searchString):
	found = Persister.searchEvent(searchString)
	result = []
	for eventName in found:
		event = found[eventName]
		leader = Persister.getLeader(event['leader'])
		photo = Persister.getProfilePhoto(event['leader'])
		createDate = event['created']
		created = createDate.strftime('%m/%d/%Y')
		begin = event['begin']
		beginDay = begin.strftime('%d')
		beginMonth = begin.strftime('%b')

		result.append({"id": event['id'], "name": event['name'], "begin": beginDay,"beginMonth": beginMonth,"end": event['end'],
    	               "location": event['location'], "desc": event['desc'], "leader": leader, "cancel": event['cancel'], "img": event['img'],"qrCode": event['qr_code'],
    	               "created": created,"link":event['link'],"photo":photo });

	return result
Exemple #10
0
def getUsers():
    users = Persister.getPersons()
    if users != 400:
        result = []
        for user in users:
            name = user.firstname + " " + user.lastname
            result.append({"id": user.id, "name": name, "email": user.email})

    return result
Exemple #11
0
def createNewsItemApp(title, content, img):
    if (title == '' or content == '' or img == ''):
        return 400
    item = Content(url=img,
                   title=title,
                   desc=content,
                   link=None,
                   created=datetime.datetime.now())
    return Persister.persist_object(item)
Exemple #12
0
def updateEvent(id, name, begin, end, location, description, leader, img):
    size = 6
    chars = string.ascii_uppercase + string.digits
    unHashed = ''.join(random.choice(chars) for _ in range(size))
    qr_code = pbkdf2_sha256.hash(unHashed)
    if (id == '' or name == '' or begin == '' or end == '' or location == ''
            or description == '' or leader == '' or img == ''):
        return 400
    return Persister.update_object(id, name, begin, end, location, description,
                                   leader, img, qr_code)
Exemple #13
0
def registerFacebookUser(form):
    person = Person(firstname=form.get('firstName'),
                    lastname=form.get('lastName'),
                    email=form.get('email'),
                    password='',
                    points=0,
                    clearance=0,
                    license=True,
                    authenticated=False)
    return Persister.persist_object(person)
Exemple #14
0
def getAllAdmins():
    admins = Persister.getAllAdmins()
    if admins != 400:
        result = []
        for admin in admins:
            result.append({
                "id": admin.id,
                "firstName": admin.firstname,
                "lastName": admin.lastname
            })

    return result
Exemple #15
0
def getAllEvents():
    events = Persister.getAllEvents()
    result = []
    if events != 400:
        for event in events:
            leader = Persister.getLeader(event.leader)
            if (leader == None):
                leader = ""
            photo = Persister.getProfilePhoto(event.leader)
            bio = Persister.getDescription(event.leader)
            createDate = event.created
            created = createDate.strftime('%m/%d/%Y')

            begin = event.begin
            beginDay = begin.strftime('%d')
            beginMonth = begin.strftime('%b')
            beginTime = begin.strftime('%H:%M')

            end = event.end
            endDay = end.strftime('%d')
            endMonth = end.strftime('%b')
            endTime = end.strftime('%H:%M')

            participantList = []
            participants = Persister.getAllParticepants(event.id)
            if participants != 400:
                for participant in participants:
                    person = Persister.getPerson(participant.person_id)
                    name = person.firstname + " " + person.lastname
                    participantInfo = {
                        "id": person.id,
                        "name": name,
                        "points": person.points
                    }
                    participantList.append(participantInfo)
            result.append({
                "id": event.id,
                "name": event.name,
                "begin": beginDay,
                "beginMonth": months[beginMonth],
                "beginTime": beginTime,
                "end": endDay,
                "endMonth": months[endMonth],
                "endTime": endTime,
                "location": event.location,
                "desc": event.desc,
                "leader": leader,
                "cancel": event.cancel,
                "img": event.img,
                "qrCode": event.qr_code,
                "created": created,
                "leaderDesc": bio,
                "link": event.link,
                "photo": photo,
                "subscribed": None,
                "participants": participantList
            })
    return result
Exemple #16
0
def searchNews(searchString):
    found = Persister.searchNews(searchString)
    result = []
    for newsName in found:
        news = found[newsName]

        result.append({
            "id": news['id'],
            "url": news['url'],
            'title': news['title'],
            'desc': news['desc'],
            'created': news['created']
        })
    return result
Exemple #17
0
def getAllNewsItems():
    news = Persister.getAllNewsItems()

    result = []
    if news != 400:
        for item in news:
            result.append({
                "id": item.id,
                "url": item.url,
                "title": item.title,
                "desc": item.desc,
                "created": item.created,
                "link": item.link
            })

    return result
Exemple #18
0
def checkSecCode(oldEmail, secCode):
    return Persister.checkSecCode(oldEmail, secCode)
Exemple #19
0
def getProfilePhoto(id):
    return Persister.getProfilePhoto(id)
Exemple #20
0
def addProfilePhoto(url):
    return Persister.addProfilePhoto(url, id)
Exemple #21
0
def resetStampCard(id):
    return Persister.resetStampCard(id)
Exemple #22
0
def substractPoint(id):
    return Persister.substractPoint(id)
Exemple #23
0
def addPoints(id):
    return Persister.addPoints(id)
Exemple #24
0
def checkPoints(id):
    return Persister.checkPoints(id)
Exemple #25
0
def changeUserEmail(oldEmail, newEmail):
    return Persister.changeUserEmail(oldEmail, newEmail)
Exemple #26
0
def changeEmail(id):
    return Persister.changeEmail(id)
Exemple #27
0
def changePassword(id, oldPassword, newPassword):
    return Persister.changePassword(id, oldPassword, newPassword)
Exemple #28
0
def getPerson(person_id):
    return Persister.getPerson(person_id)
Exemple #29
0
def deleteNewsItem(id):
    return Persister.remove_news(id)
Exemple #30
0
def saveNewPassword(temp, email):
    if Persister.checkEmailExistance(email):
        return Persister.savePassword(temp, email)  #change to hashed
    else:
        return 400