Пример #1
0
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)
Пример #2
0
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())
Пример #3
0
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
Пример #4
0
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})
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
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))
Пример #9
0
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)
Пример #10
0
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)
Пример #11
0
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>')
Пример #12
0
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()