def account_detail(request, return_to=None, extra_context={}): # We edit current user's MUAccount account = get_object_or_404(MUAccount, owner=request.user) # but if we're inside a MUAccount, we only allow editing that muaccount. if getattr(request, 'muaccount', account) <> account: return HttpResponseForbidden() if return_to is None: return_to = reverse('muaccounts.views.account_detail') if 'domain' in request.POST: form = MUAccountForm(request.POST, request.FILES, instance=account) if form.is_valid(): form.save() return HttpResponseRedirect(return_to) else: form = MUAccountForm(instance=account) if 'user' in request.POST: uform = AddUserForm(request.POST, muaccount=account) if uform.is_valid(): account.add_member(uform.cleaned_data['user']) return HttpResponseRedirect(return_to) else: uform = AddUserForm() ctx = dict(object=account, form=form, add_user_form=uform) ctx.update(extra_context) return direct_to_template( request, template='muaccounts/account_detail.html', extra_context=ctx)
def user_add(request): if request.method == 'POST': form = AddUserForm(request.POST) if form.is_valid(): user = form.save(commit=False) user.set_password(form.cleaned_data.get('password')) form.save() return render(request, 'response_con.html', {'msg': u'创建成功'}) return render(request, 'response_con.html', {'msg': form.errors}) elif request.method == "GET": form = AddUserForm() return render(request, 'accounts/user_add.html', locals())
def EditUser(request, users_id): try: obj_list = EmployeeUser.objects.get(id=users_id) if request.method == 'POST': form = AddUserForm(request.POST, instance=obj_list) if form.is_valid(): form.save() return HttpResponseRedirect('/users/') else: form = AddUserForm(instance=obj_list) return render(request, 'include/employee/edituser.html', {'form': form}) except EmployeeUser.DoesNotExist: raise PermissionDenied
def AddUser(request): if request.method == 'GET': form = AddUserForm return render_to_response('include/employee/adduser.html', RequestContext(request, {'form': form})) else: form = AddUserForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/users/') else: form = AddUserForm return render(request, 'include/employee/adduser.html', {'form': form})
def user_add(request): temp_name = "accounts/accounts-header.html" if request.method == 'POST': form = AddUserForm(request.POST) if form.is_valid(): user = form.save(commit=False) user.set_password(form.cleaned_data['password']) form.save() return HttpResponseRedirect(reverse('user_list')) else: form = AddUserForm() kwargs = { 'form': form, 'request': request, 'temp_name': temp_name, } return render(request, 'accounts/user_add.html', kwargs)
def user_add(request): if request.method == 'POST': form = AddUserForm(request.POST) if form.is_valid(): user = form.save(commit=False) # 扩展user字段后,密码会变成明文密码,需要转储 user.set_password(form.cleaned_data['password']) # user.objects.filter(id=user.id).update(password=user.password) #使用update保存,或者直接save保存 form.save() messages.success(request, '注册成功') return HttpResponseRedirect(reverse('login')) else: form = AddUserForm() kwargs = { 'form': form, 'request': request, } return render(request, 'accounts/register.html', kwargs)
def entity_add_user(request, entity_id): entity = get_object_or_404(Entity, pk=entity_id) if request.POST: form = AddUserForm(request.POST) if form.is_valid(): #Lookup or create user, add to entity email = form.cleaned_data['email'] form.cleaned_data['username'] = email[:30] del form.cleaned_data['email'] user, created = User.objects.get_or_create(email=email, defaults=form.cleaned_data) if created: reset_form = PasswordResetForm({'email':user.email}) reset_form.is_valid() reset_form.save(email_template_name="registration/new_account.html", subject=_("Account created on %s")) assign('change_entity', user, entity) return HttpResponseRedirect(reverse('show_user',args=[user.pk])) else: form = AddUserForm() return render_to_response('scorecard_processor/entity/add_user.html', {'object':entity,'form':form}, RequestContext(request))
def add_user(request,template_name='form1.html'): adduserForm = AddUserForm(request.POST or None) if request.method == 'POST': if adduserForm.is_valid(): password = adduserForm.save_user() messages.success(request,'User successfully added') messages.success(request,password) return HttpResponseRedirect(reverse('club_main')) if request.user.get_profile().typ == 'Admin': adduserForm.fields['typ'].choices = [('Admin','Admin'),('Core','Core'),('Convener','Convener'),('Coordinator','Coordinator')] elif request.user.get_profile().typ == 'Core': adduserForm.fields['typ'].choices = [('Convener','Convener'),('Coordinator','Coordinator')] elif request.user.get_profile().typ == 'Convener': adduserForm.fields['typ'].choices = [('Coordinator','Coordinator')] return_url = reverse('add_user') to_return={ 'form' : adduserForm, 'title' : "Add User", 'return_url' : return_url, 'button' : 'Add', } return render(request,template_name,to_return)
def user_add(request): temp_name = "accounts/accounts-header.html" if request.method == 'POST': form = AddUserForm(request.POST) print dir(form) print form.errors if form.is_valid(): print form.errors user = form.save(commit=False) user.set_password(form.cleaned_data['password']) form.save() return redirect(('user_list')) else: form = AddUserForm() args = { 'form':form, 'request':request, 'temp_name':temp_name } return render(request, 'accounts/user_add.html', args)
def userRegistrationProc(request): if request.method == 'POST':# 当提交表单时 form = AddUserForm(request.POST) # form 包含提交的数据 if form.is_valid():# 如果提交的数据合法 authcode1=str(uuid.uuid1()).replace('-','') username1 =str( form.cleaned_data['userid']) password1 = str( form.cleaned_data['password']) password2 = str( form.cleaned_data['check_password']) email1 = str( form.cleaned_data['email']) #print authcode1+" "+username1+" "+password1+" "+email1 if usernameExist(username1) > 0 : return HttpResponse('The username already exist! <a href="/">Click to register again.</a>') if emailExist(email1) > 0 : return HttpResponse('The email already exist! <a href="/">Click to register again.</a>') if password1==password2: oneUser = user(authcode=authcode1,userid=username1,password=md5(password1),email=email1,userstorage=0) oneUser.save() return HttpResponse('Register ok! <a href="/">Click to back.</a>') else : return HttpResponse('Error: The two password are different! <a href="/">Click to register again.</a>') else: return HttpResponse('Error: Can\'t register! <a href="/">Click to register again.</a>')
def UserMain(request): rolename = utils.get_rolename_by_username(request.user) return_dict = {'rolename':rolename, 'username':request.user, 'windowname':'None'} #add user adduserform = AddUserForm() return_dict['addUserForm'] = adduserform edituserform = EditUserForm() return_dict['editUserForm'] = edituserform if request.method == "POST": if request.POST.get('formtype') == 'add': adduserform = AddUserForm(request.POST) if adduserform.is_valid(): if User.objects.filter(username=adduserform.fields.get('username')).count() == 0: user = User.objects.create_user(adduserform.fields.get('username'), adduserform.fields.get('email'),\ adduserform.fields.get('password')) user.save() userrole_list = UserRole.objects.filter(username=adduserform.fields.get('username')) if userrole_list.count() != 0: userrole_list.delete() userrole = UserRole(username=user.username, rolename=adduserform.fields.get('rolename'),\ domain=adduserform.fields.get('domain'),realname=adduserform.fields.get('realname')) userrole.save() return_dict['windowname'] = 'successwindow' return_dict['windowmessage'] = u'增加用户成功' else: return_dict['windowname'] = 'errorwindow' return_dict['windowmessage'] = u'用户名已存在,请更换用户名' else: return_dict['windowname'] = 'errorwindow' return_dict['windowmessage'] = adduserform.error_message if request.POST.get('formtype') == 'edit': edituserform = EditUserForm(request.POST) if edituserform.is_valid(): user = User.objects.get(username=edituserform.fields.get('username')) userrole = UserRole.objects.get(username=edituserform.fields.get('username')) user.email = edituserform.fields.get('email') userrole.rolename, userrole.domain, userrole.realname = \ edituserform.fields.get('rolename'),edituserform.fields.get('domain'),edituserform.fields.get('realname') user.save() userrole.save() return_dict['windowname'] = 'successwindow' return_dict['windowmessage'] = u'修改用户属性成功' else: return_dict['windowname'] = 'errorwindow' return_dict['windowmessage'] = edituserform.error_message if request.POST.get('formtype') == 'delete': deleteusername = request.POST.get('username','') print 'deleteusername:'******'windowname'] = 'errorwindow' return_dict['windowmessage'] = u'不能删除自己' User.objects.filter(username=deleteusername).delete() UserRole.objects.filter(username=deleteusername).delete() return_dict['windowname'] = 'successwindow' return_dict['windowmessage'] = u'删除用户成功' #list user users = User.objects.all() userinfos = [] for user in users: userinfos.append(UserInfo(user)) paginator = Paginator(userinfos, 25) try: page = request.GET.get('page','1') userinfos = paginator.page(page) except PageNotAnInteger: userinfos = paginator.page(1) except EmptyPage: userinfos = paginator.page(paginator.num_pages) except Exception: userinfos = paginator.page(1) return_dict['userlist'] = userinfos print userinfos.number return render_to_response('UserManage/user.html',return_dict, RequestContext(request))
def register(request,form_registration=None,college_name=None): #logged in user cannot register, but just in case dajax = Dajax() college = None new_coll = False if not college_name is None: try: college=College.objects.filter(name=str(college_name))[0] new_coll = True except: #impossible scenario!! dajax.script("$.bootstrapGrowl('You must have entered your college first!', {type:'danger',delay:10000});") dajax.script('$("#gif_registration").hide();$("#form_registration_submit").show()') return dajax.json() if request.user.is_authenticated(): msg_login = '******' % request.user.username dajax.script('$.bootstrapGrowl("Hi %s" , {type:"danger",delay:10000} );'% msg_login ) dajax.script('$("#gif_registration").hide();$("#form_registration_submit").show()') return dajax.json() if request.method=="POST" and (form_registration !=None or not college_name is None): form = AddUserForm(deserialize_form(form_registration)) if form.is_valid(): #TODO: if we change college to be a compulsory, then this must be changed dajax.remove_css_class('#form_registration input', 'error') data = form.cleaned_data new_user = User(first_name=data['first_name'],last_name=data['last_name'], username=data['username'], email=data['email']) new_user.set_password(data['password']) new_user.save() new_user.is_active = True new_user.save() x = 1400000 + new_user.id salt = sha.new(str(random.random())).hexdigest()[:5] activation_key = sha.new(salt + new_user.username).hexdigest() if college is None: userprofile = UserProfile(user=new_user,activation_key=activation_key,gender=data['gender'],age=data['age'],branch=data['branch'],mobile_number=data['mobile_number'],college=data['college'],college_roll=data['college_roll'],shaastra_id= ("SHA" + str(x)),key_expires = timezone.now()+datetime.timedelta(2)) else: userprofile = UserProfile(user=new_user,activation_key=activation_key,gender=data['gender'],age=data['age'],branch=data['branch'],mobile_number=data['mobile_number'],college=college,college_roll=data['college_roll'],shaastra_id= ("SHA" + str(x)),key_expires = timezone.now()+datetime.timedelta(2)) userprofile.save() #mail_template = get_template('email/activate.html') #body = mail_template.render( Context( { # 'username':new_user.username, # 'activationkey':userprofile.activation_key, # 'SITE_URL':settings.SITE_URL, # 'shaastra_id':userprofile.shaastra_id, # })) #TODO: empty the entire form!! #dajax.script("$('#form_registration').val('');")\ #dajax.script("$('#form_registration #id_email').val('');\ # $('#form_registration #id_password').val('');\ # $('#form_registration #id_password_again').val('');\ # $('#form_registration #id_mobile_number').val('');") #if settings.SEND_EMAILS: #subject, from_email, to = 'Your new Shaastra2014 account confirmation', '*****@*****.**', [new_user.email,] #html_content = body #text_content = strip_tags(body) #msg = EmailMultiAlternatives(subject, text_content, from_email, to) #msg.attach_alternative(html_content, "text/html") #msg.send() #send_mail('Your new Shaastra2014 account confirmation', body,'*****@*****.**', [new_user.email,], fail_silently=False) #msg='Hi, A mail has been sent to the mail id you provided. Please activate your account within 48 hours. Please also check your spam folder' msg = 'Successfully Registered ! <br /> Welcome !' # dajax.script('$(".modal-header").find(".close").click();') dajax.script('$.bootstrapGrowl("%s" , {type:"success",delay:20000} );'% msg ) dajax.script('$("#gif_registration").hide();$("#form_registration_submit").show();$("#login").modal("hide")') dajax.script('$("#form_registration #id_college_roll").attr("readonly", false);$("#form_registration #id_college_roll").val("");') return dajax.json() else: errdict=dict(form.errors) dajax.script('$.bootstrapGrowl("Oops : Following errors cropped up when you tried to register !", {type:"danger",timeout:50000} );') for error in form.errors: if str(errdict[error][0])!='This field is required.': dajax.script('$.bootstrapGrowl(" %s" , {type:"error",delay:20000} );'% str(errdict[error][0])) dajax.script("$('#form_registration #id_password').val('');") dajax.script("$('#form_registration #id_password_again').val('');") for error in form.errors: dajax.add_css_class('#form_registration #id_%s' % error, 'error') dajax.script('$("#gif_registration").hide();$("#form_registration_submit").show()') return dajax.json() if request.method == 'GET': form_registration = AddUserForm() dajax.script('$("#gif_registration").hide();$("#form_registration_submit").show()') return dajax.json() form_registration=AddUserForm() dajax.script('$("#gif_registration").hide();$("#form_registration_submit").show()') return dajax.json()