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" }
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
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."})
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" }
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)
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
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." })
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
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
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
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)
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)
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)
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
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
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
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
def checkSecCode(oldEmail, secCode): return Persister.checkSecCode(oldEmail, secCode)
def getProfilePhoto(id): return Persister.getProfilePhoto(id)
def addProfilePhoto(url): return Persister.addProfilePhoto(url, id)
def resetStampCard(id): return Persister.resetStampCard(id)
def substractPoint(id): return Persister.substractPoint(id)
def addPoints(id): return Persister.addPoints(id)
def checkPoints(id): return Persister.checkPoints(id)
def changeUserEmail(oldEmail, newEmail): return Persister.changeUserEmail(oldEmail, newEmail)
def changeEmail(id): return Persister.changeEmail(id)
def changePassword(id, oldPassword, newPassword): return Persister.changePassword(id, oldPassword, newPassword)
def getPerson(person_id): return Persister.getPerson(person_id)
def deleteNewsItem(id): return Persister.remove_news(id)
def saveNewPassword(temp, email): if Persister.checkEmailExistance(email): return Persister.savePassword(temp, email) #change to hashed else: return 400