def check_participation(id): """ Ajax handler for registered user """ # g.user.is_anonymous() callback = request.args.get('callback', 'callback') response = {'response': 'ok', 'msg': 'registered'} event = Event.query.get_or_404(id) if g.user.is_anonymous(): response = {'response': 'err', 'txt': 'not_registered'} elif g.user in event.participants: response = {'response': 'err', 'txt': 'already_registered'} else: response = {'response': 'ok', 'txt': {'first': g.user.first_name, 'last': g.user.last_name}} http_response = Response(content_type='text/javascript') http_response.data = "{}({})".format(callback, json_dumps(response)) return http_response
def attend(id): callback = request.args.get('callback', 'callback') http_response = Response(content_type='text/javascript') response = {'response': 'ok', 'txt': 'You were saved as an event attendee'} event = Event.get(id) if g.user.is_anonymous(): try: data = participant.check(request.args.to_dict()) data.update({'password': '******', 'roles': ['user']}) u = User.create(**data) event.participants.append(u) db.session.commit() except t.DataError as e: response = {'response': 'err', 'txt': e.as_dict()} else: event.participants.append(g.user) db.session.commit() http_response.data = "{}({})".format(callback, json_dumps(response)) return http_response