本文整理匯總了Python中server.models.User.get_by_id方法的典型用法代碼示例。如果您正苦於以下問題:Python User.get_by_id方法的具體用法?Python User.get_by_id怎麽用?Python User.get_by_id使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類server.models.User
的用法示例。
在下文中一共展示了User.get_by_id方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: assignment_single_queue
# 需要導入模塊: from server.models import User [as 別名]
# 或者: from server.models.User import get_by_id [as 別名]
def assignment_single_queue(cid, aid, uid):
courses, current_course = get_courses(cid)
assignment = Assignment.query.filter_by(id=aid, course_id=cid).one_or_none()
if not Assignment.can(assignment, current_user, 'grade'):
flash('Insufficient permissions', 'error')
return abort(401)
assigned_grader = User.get_by_id(uid)
if not Assignment.can(assignment, assigned_grader, 'grade'):
return abort(404)
page = request.args.get('page', 1, type=int)
tasks_query = GradingTask.query.filter_by(assignment=assignment,
grader_id=uid)
queue = (tasks_query.options(db.joinedload('assignment'))
.order_by(GradingTask.score_id.asc())
.order_by(GradingTask.created.asc())
.paginate(page=page, per_page=20))
remaining = tasks_query.filter_by(score_id=None).count()
percent_left = (1-(remaining/max(1, queue.total))) * 100
return render_template('staff/grading/queue.html', courses=courses,
current_course=current_course,
assignment=assignment, grader=assigned_grader,
queue=queue, remaining=remaining,
percent_left=percent_left)
示例2: assign_grading
# 需要導入模塊: from server.models import User [as 別名]
# 或者: from server.models.User import get_by_id [as 別名]
def assign_grading(cid, aid):
courses, current_course = get_courses(cid)
assign = Assignment.query.filter_by(id=aid, course_id=cid).one_or_none()
if not assign or not Assignment.can(assign, current_user, 'grade'):
flash('Cannot access assignment', 'error')
return abort(404)
form = forms.CreateTaskForm()
course_staff = sorted(current_course.get_staff(), key=lambda x: x.role)
details = lambda e: "{0} - ({1})".format(e.user.email, e.role)
form.staff.choices = [(utils.encode_id(e.user_id), details(e))
for e in course_staff]
if not form.staff.data:
# Select all by default
form.staff.default = [u[0] for u in form.staff.choices]
form.process()
if form.validate_on_submit():
# TODO: Use worker job for this (this is query intensive)
selected_users = []
for hash_id in form.staff.data:
user = User.get_by_id(utils.decode_id(hash_id))
if user and user.is_enrolled(cid, roles=STAFF_ROLES):
selected_users.append(user)
# Available backups:
students, backups, no_submissions = assign.course_submissions()
tasks = GradingTask.create_staff_tasks(backups, selected_users, aid, cid,
form.kind.data, form.only_unassigned.data)
num_with_submissions = len(students) - len(no_submissions)
flash(("Created {0} tasks ({1} students) for {2} staff."
.format(len(tasks), num_with_submissions, len(selected_users))),
"success")
return redirect(url_for('.assignment', cid=cid, aid=aid))
# Return template with options for who has to grade.
return render_template('staff/grading/assign_tasks.html',
current_course=current_course, assignment=assign,
form=form)
示例3: load_user
# 需要導入模塊: from server.models import User [as 別名]
# 或者: from server.models.User import get_by_id [as 別名]
def load_user(userid):
return User.get_by_id(userid)