def test_deletePage(self): pages = event.getPagesByOwner(user.getUser("test")) event.deletePage(pages[0]) self.assertIsNone(event.getPageById(pages[0].id)) self.assertEqual(len(event.getPagesByOwner(user.getUser("test"))), 1) pages = event.getPagesByOwner(user.getUser("username")) eventid = pages[0].events[0].id self.assertIsNotNone(event.getEventById(eventid)) event.deletePage(pages[0]) self.assertIsNone(event.getEventById(eventid))
def reEncryptReq(id): """Checks ownership and removes encryption key from session """ event = getEventById(id) if not event is None and event.owner.username == current_username(): del session["Passes"][str(id)] session.modified = True return ""
def create_or_edit(): """Create or update an event. If id is passed as a a query parameter then update the event corresponding to that query parameter. """ error = None if request.method == 'POST': id = request.form.get('id') id = int(id) if id else None # Edit or create the event based on whether we have an id and also # the type of event that we have. name = request.form.get('name') owner = getUser(current_username()).id event_type = EventType(int(request.form.get('event_type'))) description = request.form['description'] startTime = momentToPyDatetime( request.form['start_time'] ) if event_type == EventType.EVENT or event_type == EventType.REMINDER else None endTime = momentToPyDatetime( request.form['end_time'] ) if event_type == EventType.EVENT else None password = request.form[ 'event_password'] if event_type == event_type.ENCRYPTED else None if id: editEvent(id, name=name, owner=owner, event_type=event_type, description=description, start_time=startTime, end_time=endTime, password=password) else: createEvent(name=name, owner=owner, event_type=event_type, description=description, start_time=startTime, end_time=endTime, password=password) return redirect(url_for('events.index')) # Get an event if we are editing an event id = request.args.get('id') event = None if id: event = getEventById(int(id)) if event.event_type == EventType.ENCRYPTED and not checkCachedEncrypted( event): #If this encrypted event hasn't had its password entered already, then send back to event page return redirect(url_for('events.index')) return render_template('events_create.html', event=event, username=current_username(), EventType=EventType, error=error, checkCachedEncrypted=checkCachedEncrypted)
def decryptReq(id): """Checks ownership and uses provided password to decrypt message """ event = getEventById(id) if not event is None and event.owner.username == current_username( ) and not request.form['event_password'] is None: description = decrypt(event.description, request.form['event_password']) res = {} res["sucess"] = not description is None if res["sucess"]: session['Passes'][str(id)] = request.form['event_password'] session.modified = True res['data'] = description return jsonify(res)
def test_findById(self): event0 = event.createEvent("quick Note", 1, event.EventType.NOTE) self.assertEqual(event0, event.getEventById(event0.id))