def post(self): # get the post data data = request.get_json(force=True) data['user_id'] = session.get('user_id') data['user'] = User(data).filter_by_email() # check if user already exists errors = validate_user_details(data) if len(errors) > 0: response_object = {'errors': errors} return make_response(jsonify(response_object)), 404 try: user = User(data).save() auth_token = encode_auth_token(user.get('user_id'), user.get('username')).decode() response_object = { 'message': 'Successfully registered.', 'auth_token': auth_token } return make_response(jsonify(response_object)), 201 except Exception as e: print(e) response_object = { 'error': 'Some error occurred. Please try again.' } return make_response(jsonify(response_object)), 401
def view(lessonid): """Route to display all users and their options""" try: lesson = Lesson.get(Lesson.id == lessonid) except: flash('Id not found', 'error') return redirect(url_for('auth_bp.profile')) # Get all users in lesson query = LessonStudent.select().where(LessonStudent.lesson_id == lesson.id) data = [] semsters = set() for ls in query: user_options = UserOption.select().where((UserOption.user == ls.student_id.user_id) & (UserOption.agreed == True)) user_options_list = [uo.option.name for uo in user_options if uo.option.lesson.id == lesson.id] if len(user_options_list) < 1: continue user = User.get(User.user_id == ls.student_id.user_id) data.append({'name': user.first_name + " " + user.last_name, 'email': user.email, 'options': user_options_list, 'semester': ls.semester, 'year': ls.year}) semsters.add((ls.year, ls.semester)) print(sorted(semsters)) return render_template('search/listing.html', lesson=lesson, users=data, semesters=sorted(semsters))
def view_team(team_id): team = Team.get(team_id) users_by_team = Membership.get_users_by_team(team_id) team_members = [] authorized = False role = False for membership in users_by_team: membership_data = membership.val() user = User.get(membership_data['user_id']) member = { "id": user.id, "name": user.name, "role": membership_data['role'], "membership_id": membership.key() } team_members.append(member) if current_user.id == user.id: authorized = True role = membership_data['role'] if not authorized: abort(401, "You don't have access to that team") title = 'View Team {}'.format(team.name) return render_template('teams/view_team.html', title=title, team=team, team_members=team_members, role=role)
def test_edit_profile(user): user.edit('tester 2', '*****@*****.**', 'QA Tester') user = User.get(user.id) meta = user.get_meta() assert user.name == 'tester 2' assert user.email == '*****@*****.**' assert meta.get('job_title') == 'QA Tester'
def attend(cls, user_id, lesson_ids): """Class method to create LessonStudent objects for every lesson a user wants to attend""" users_school = User.get(User.user_id == user_id).school_id for lesson_id in lesson_ids: lesson = Lesson.get(Lesson.id == lesson_id) if lesson.school_id != users_school: raise ValueError( "Lesson id {} does not corrospond to the same school as the user" .format(lesson.school_id)) for lesson_id in lesson_ids: semester = Semester.current_semester() LessonStudent.create(student_id=user_id, lesson_id=lesson_id, semester=semester.value, year=datetime.now().year)
def test_user_get_function(self): test_list = [ dict( username='******', password='******', email='*****@*****.**', name='TaeminKim', ), dict( username='******', password='******', email='*****@*****.**', name='Kevin', ), dict( username='******', password='******', email='*****@*****.**', name='Min', ), dict( username='******', password='******', email='*****@*****.**', name='Le', ), dict( username='******', password='******', email='*****@*****.**', name='flatcoke', ), ] for i in test_list: user = User(i['username'], i['name'], i['email'], i['password']) db.session.add(user) db.session.commit() result = User.get(user.id) self.assertIsInstance(result, User) self.assertEqual(result.username, i['username']) self.assertEqual(result.name, i['name']) self.assertNotEqual(result.password, i['password'])
from app.auth.models import School, Permission, UserPermission, User schools = School.select() for school in schools: Permission.get_or_create(name='lecture_admin', description="Can create lectures", school=school.school_id) Permission.get_or_create(name='discussion_admin', description="Can create discussions", school=school.school_id) su, created = Permission.get_or_create(name='super_user', description="Is a superuser", school=school.school_id) Permission.get_or_create(name='lesson_admin', description="Can crate lessons", school=school.school_id) has_superuser = False if UserPermission.select().where( UserPermission.permission == su.id).exists(): has_superuser = True if not has_superuser: try: u = User.get(school_id=school.school_id) UserPermission.create(user=u.user_id, permission=su.id) except Exception as e: print(school.name) print(e)
def load_user(user_id): return User.get(user_id)
def load_user(user_id): """Returns a User matching the supplied user_id or None for Flask-Login""" try: return User.get(User.user_id == user_id) except DoesNotExist: return None