Example #1
0
def create_student(form, request, school=None,group_id=None,name='',batch=False):
    """
    * *form:* 学生的 *form*
    * *request:* 当次访问的 ``request``对象
    * *school:* 角色所在学校
    """
    student = None
    try:
        password = form.cleaned_data['password']
    except:
        password = 123456
  
    try:
        username = form.cleaned_data['username']
    except:
        username = None
            
    if not school:
        try:
            school_id = request.POST['school']
            school = get_object_or_404(School,pk=school_id)
        except:
            school = None
    if batch:
        user = create_user(username=username,password=password,batch=batch)
    else:
        user = School.userObjects.create_user(username=username,password=password)
    user.first_name = user.username
    user.save()
    
    f = StarFigure()
    f.user = user
    f.save()
    
    student = Student()
    student.user = user
    student.creator = request.user
    
    if name:
        student.name = name
    else:
        realname = request.POST.get('realname','')
        if realname:
            student.name = realname
        else:
            student.name = user.first_name or user.username
    student.school = school if school else get_schools(user)
    if group_id:
        student.group_id = group_id
    student.save()
    return student
Example #2
0
def create_teacher(form, request, school=None,batch=False):
    """
    * *form:* 老师的 *form*
    * *request:* 当次访问的 ``request``对象
    * *school:* 角色所在学校
    """
    try:
        password = form.cleaned_data['password']
    except:
        password = 123456
    try:
        username = form.cleaned_data['username']
    except:
        username = None
    try:
        school_id = request.POST['school']
        school = get_object_or_404(School,pk=school_id)
    except:
        school = school if school else None
#     raise
    if batch:
        user = create_user(username=username,password=password,batch=batch)
    else:
        user = School.userObjects.create_user(username=username,password=password)
    
    user.first_name = user.username
    user.save()
    
    f = StarFigure()
    f.user = user
    f.save()
    
    teacher = Teacher()
    teacher.user = user
    teacher.creator = request.user
    try:
        name = request.POST['realname']
    except:
        name = ''
    if name:
        teacher.name = name
    else:
        teacher.name = user.first_name or user.username
    teacher.school = school or get_schools(user)[0]
    teacher.save()
    set_teacher_default_access(teacher)
    return teacher