コード例 #1
0
def add_student(request):
    """添加学生基本档案"""
    form = AddStudentForm(request.POST or None)
    if form.is_valid():
        name = form.cleaned_data["name"]
        spell_name = form.cleaned_data.get("spell_name", None)
        print spell_name, bool(spell_name)
        if not spell_name:
            from tools import hzpy
            spell_name = hzpy.hz2py(name)
        try:
            max_samename_num = User.objects.filter(username__regex=r'^%s[0-9]+$' % spell_name).\
                    values_list("username", flat=True).order_by("-username")[0].split(spell_name)[-1]
        except IndexError,e:
            new_username = spell_name
        else:
            new_username_suffix = int(max_samename_num) + 1
            new_username =  "******" % (spell_name, new_username_suffix)
        email = "*****@*****.**" % new_username

        print "new_username", new_username
        print "spell_name", spell_name

        #TODO 创建之前,验证是不是录入同一个人了,通过身份证与编号惟一性来检验
        new_user = User.objects.create_user(new_username, email, password="******")

        #同一个单位组织人可以添加本单位教职工情况
        _form = form.save(commit=False)
        _form.user = new_user
        _form.spell_name = spell_name
        _form.identity_group = request.user.person.identity_group
        _form.identity = "School.Student"
        _form.school = request.user.person.get_identity_group()
        _form.save()
        #save many-to-many
        form.save_m2m()

        print new_user
        print name, new_username
コード例 #2
0
ファイル: views.py プロジェクト: hyliker/fenbica
def add_staff(request):
    """添加基本档案"""
    from staff.forms import AddStaffForm
    form = AddStaffForm(request.POST or None)
    if form.is_valid():
        name = form.cleaned_data["name"]
        from tools import hzpy
        username = hzpy.hz2py(name)
        #same_username_list = User.objects.filter(username__startswith=username).values_list("username", flat=True)
        #new_number_suffix = 2
        #for n in same_username_list:
            #name_suffix = n.split(username)[-1]
            #if name_suffix.isdigit() and int(name_suffix) >= new_number_suffix:
                #new_number_suffix = int(name_suffix) + 1
        try:
            max_samename_num = User.objects.filter(username__regex=r'^%s[0-9]+$' % username).\
                    values_list("username", flat=True).order_by("-username")[0].split(username)[-1]
        except IndexError,e:
            new_username_suffix = 2
        else:
            new_username_suffix = int(max_samename_num) + 1

        new_username =  "******" % (username, new_username_suffix)
        email = "*****@*****.**" % new_username
        #TODO 创建之前,验证是不是录入同一个人了,通过身份证与编号惟一性来检验
        new_user = User.objects.create_user(new_username, email, password="******")

        #同一个单位组织人可以添加本单位教职工情况
        _form = form.save(commit=False)
        _form.user = new_user
        _form.identity_group = request.user.person.identity_group
        _form.identity = "School.Staff"
        _form.school = request.user.person.get_identity_group()
        _form.save()

        print new_user
        print name, new_username