示例#1
0
def user_add(request,):
    from base.forms import UserAddForm as UserForm

    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            user = User.objects.create_user( form.cleaned_data['username'], form.cleaned_data['email'], form.cleaned_data['password'] )

            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            user.email = form.cleaned_data['email']
            user.is_staff = True
            user.is_active = True
            user.is_superuser = False

            user.save()

            for group in form.cleaned_data['groups']:
                user.groups.add(group)
                
            return HttpResponseRedirect( reverse('user_list'))
        else:
            return render_to_response('user_form.html', {'form':form}, context_instance=RequestContext(request))
        
    form = UserForm()
    return render_to_response('user_form.html', {'form':form}, context_instance=RequestContext(request))
示例#2
0
def user_edit(request, username):
    from base.forms import UserEditForm as UserForm
    user = get_object_or_404(User, username=username)

    if request.method == 'POST':
        form = UserForm(request.POST, instance=user)
        if form.is_valid():
            user = form.save(commit=False) 

            if form.cleaned_data['password']:
                user.set_password( form.cleaned_data['password'] )
            user.save()

            form.save_m2m()

            return HttpResponseRedirect( reverse('user_list'))
        else:
            return render_to_response('user_form.html', {'form':form, 'user_id' : user.id }, context_instance=RequestContext(request))
        
    # set initial so that the password doesnt display anything and so that groups are checked by default
    form = UserForm(instance=user, initial={'password':'', 'groups':[grp['id'] for grp in user.groups.all().values('id')]})
    return render_to_response('user_form.html', {'form':form, 'user_id' : user.id }, context_instance=RequestContext(request))