Example #1
0
def profile_edit(request, id):
    user = User.objects.get(id=id)
    if Profile.objects.filter(user_id=id).exists():
        profile = Profile.objects.get(user_id=id)
    else:
        profile = Profile.objects.create(user=user)

    if request.method == 'POST':
        if request.user != user:
            return HttpResponse("你没有权限修改此用户信息。")
        profile_form = ProfileForm(request.POST, request.FILES)
        if profile_form.is_valid():
            # 取得清洗后的合法数据
            profile_cd = profile_form.cleaned_data
            profile.title = profile_cd['title']
            profile.website = profile_cd['website']
            profile.bio = profile_cd['bio']
            if 'avatar' in request.FILES:
                profile.avatar = profile_cd["avatar"]
            profile.save()
            # 带参数的 redirect()
            return redirect("userprofile:profile_detail", id=id)
        else:
            return HttpResponse("注册表单输入有误。请重新输入~")
    else:
        if request.user != user:
            return profile_detail(request, id)
        profile_form = ProfileForm()
        context = {
            'profile_form': profile_form,
            'profile': profile,
            'user': user
        }
        return render(request, 'userprofile/profile_edit.html', context)
Example #2
0
def profile_edit(request, id):
    user = User.objects.get(id=id)
    # user_id是OneToOneField自动生成的字段
    profile = Profile.objects.get(user_id=id)

    if request.method == 'POST':
        # 验证修改数据者是否为本人
        if request.user != user:
            return HttpResponse("你没有权限修改次用户信息")

        # 上传的文件保存在 request.FILES 中,通过参数传递给表单类
        profile_form = ProfileForm(request.POST, request.FILES)
        if profile_form.is_valid():
            # 取得清洗后的合法数据
            profile_cleaned_data = profile_form.cleaned_data
            profile.phone = profile_cleaned_data['phone']
            profile.bio = profile_cleaned_data['bio']
            if 'avatar' in request.FILES:
                profile.avatar = profile_cleaned_data['avatar']
            profile.save()
            return redirect("userprofile:edit", id=id)

        else:
            return HttpResponse("注册表单输入有误,请重新输入")

    elif request.method == "GET":
        profile_form = ProfileForm()
        context = {
            'profile_form': profile_form,
            'profile': profile,
            'user': user
        }
        return render(request, 'userprofile/edit.html', context)
    else:
        return HttpResponse("请使用GET或POST请求数据")
Example #3
0
def profile_edit(request, user_id):
    user = User.objects.get(id=user_id)
    # user_id 是 OneToOneField 自动生成的字段
    profile = Profile.objects.get(user_id=user_id)

    if request.method == "POST":
        if request.user != user:
            return HttpResponse("你没有权限修改此用户信息")

        profile_form = ProfileForm(request.POST, request.FILES)
        if profile_form.is_valid():
            profile_cd = profile_form.cleaned_data
            profile.phone = profile_cd["phone"]
            profile.bio = profile_cd["bio"]
            if 'avatar' in request.FILES:
                profile.avatar = profile_cd["avatar"]
            profile.save()
            return redirect("userprofile:edit", user_id=user_id)
        else:
            return HttpResponse("注册表单信息有误,请重新输入")
    elif request.method == 'GET':
        profile_form = ProfileForm()
        context = {
            'profile_form': profile_form,
            "profile": profile,
            'user': user
        }
        return render(request, 'userprofile/edit.html', context)
    else:
        return HttpResponse("请使用GET或POST请求数据")
Example #4
0
def edit_profile(request):
    context = RequestContext(request)

    try:
        user_profile = UserProfile.objects.get(user=request.user)
    except UserProfile.DoesNotExist:
        user_profile = UserProfile(user=request.user)

    if request.method == 'POST':
        edit_form = ProfileForm(request.POST)
        if edit_form.is_valid():
            data = edit_form.cleaned_data

            user_profile.full_name = data['full_name']
            user_profile.bio = data['bio']
            user_profile.save()

            return HttpResponseRedirect(
                reverse('userprofile.views.profile',
                        args=(),
                        kwargs={'username': request.user.username}))
        else:
            print edit_form.errors
    else:
        edit_form = ProfileForm({
            'full_name': user_profile.full_name,
            'bio': user_profile.bio
        })

    context_dict = {
        'edit_form': edit_form
    }

    return render_to_response('userprofile/edit.html', context_dict, context)
Example #5
0
def edit_profile(request):
    context = RequestContext(request)

    try:
        user_profile = UserProfile.objects.get(user=request.user)
    except UserProfile.DoesNotExist:
        user_profile = UserProfile(user=request.user)

    if request.method == 'POST':
        edit_form = ProfileForm(request.POST)
        if edit_form.is_valid():
            data = edit_form.cleaned_data

            user_profile.full_name = data['full_name']
            user_profile.bio = data['bio']
            user_profile.save()

            return HttpResponseRedirect(
                reverse('userprofile.views.profile',
                        args=(),
                        kwargs={'username': request.user.username}))
        else:
            print edit_form.errors
    else:
        edit_form = ProfileForm({
            'full_name': user_profile.full_name,
            'bio': user_profile.bio
        })

    context_dict = {'edit_form': edit_form}

    return render_to_response('userprofile/edit.html', context_dict, context)
Example #6
0
def personal(request):
    """
    Personal data of the user profile
    """
    profile, created = Profile.objects.get_or_create(user=request.user)

    if request.method == "POST":
        old_profile = copy.copy(profile)
        form = ProfileForm(request.POST, instance=profile)
        if form.is_valid():
            form.save()
            messages.success(request, _("Your profile information has been updated successfully."), fail_silently=True)
            signal_responses = signals.post_signal.send(sender=personal, request=request, form=form, extra={'old_profile':old_profile})
            last_response = signals.last_response(signal_responses)
            if last_response:
                return last_response
    else:
        form = ProfileForm(instance=profile)

    template = "userprofile/profile/personal.html"
    data = { 'section': 'personal', 'sections': SECTIONS, 'GOOGLE_MAPS_API_KEY': GOOGLE_MAPS_API_KEY,
             'form': form, }

    signals.context_signal.send(sender=personal, request=request, context=data)
    return render_to_response(template, data, context_instance=RequestContext(request))
Example #7
0
def personal(request):
    """
    Personal data of the user profile
    """
    profile, created = Profile.objects.get_or_create(user=request.user)

    if request.method == "POST":
        old_profile = copy.copy(profile)
        form = ProfileForm(request.POST, instance=profile)
        if form.is_valid():
            form.save()
            request.user.message_set.create(message=_("Your profile information has been updated successfully."))
            signal_responses = signals.post_signal.send(
                sender=personal, request=request, form=form, extra={"old_profile": old_profile}
            )
            last_reponse = signals.last_response(signal_responses)
            if last_reponse:
                return last_response
    else:
        form = ProfileForm(instance=profile)

    template = "userprofile/profile/personal.html"
    data = {"section": "personal", "GOOGLE_MAPS_API_KEY": GOOGLE_MAPS_API_KEY, "form": form}
    signals.context_signal.send(sender=personal, request=request, context=data)
    return render_to_response(template, data, context_instance=RequestContext(request))
Example #8
0
def editProfile_investor(request):
	p = request.user.myprofile
	if p.role == UserRole.objects.get(pk=1):
		return HttpResponseRedirect(reverse('mainsite:editProfile_company'))
	ip, created = InvestorProfile.objects.get_or_create(investor=request.user)
	if request.method == 'POST':
		profile_form = ProfileForm(request.POST, instance=p)
		ip_form = InvestorForm(request.POST, instance=ip)
		if profile_form.is_valid():
			profile = profile_form.save(commit=False)
			profile.isProfilecreated = True
			profile.save()
			p = profile
			#profile_form.save_m2m()
			messages.success(request, 'Your profile is successfullly updated.')
		if ip_form.is_valid():
			new_ip = ip_form.save(commit=False)
			new_ip.name = p.fullname
			new_ip.country = p.country
			new_ip.state = p.state
			new_ip.save()
			ip_form.save_m2m()
		return HttpResponseRedirect(reverse('mainsite:dashboard_investor'))
	else:
		profile_form = ProfileForm(instance=p)
		ip_form =  InvestorForm(instance=ip)
	context = {'profile_form':profile_form,'ip_form':ip_form}
	return render(request,'mainsite/editProfile_investor.html',context)
Example #9
0
def editProfile_company(request):
	p = request.user.myprofile
	if p.role == UserRole.objects.get(pk=2):
		return HttpResponseRedirect(reverse('mainsite:editProfile_investor'))
	if p.goal is None:
		return HttpResponseRedirect('/goal/')
	elif p.goal == bizGoal.objects.get(pk=1):
		cp, created = CompanyProfile_seekFund.objects.get_or_create(company=request.user)
		ftag = 1
	else:
		cp, created = CompanyProfile_sale.objects.get_or_create(company=request.user)
		ftag = 2
	#filesFormSet = formset_factory()
	cp.name = p.fullname
	if request.method == 'POST':
		profile_form = ProfileForm(request.POST, instance=p)
		#fileform = FileForm(request.POST,request.FILE)
		#ffs = filesFormSet(request.POST,request.FILE)
		if ftag == 1:
			cp_form = cpSeekFundForm(request.POST,instance=cp)
		else:
			cp_form = cpSaleForm(request.POST,instance=cp)
		if profile_form.is_valid():
			profile = profile_form.save(commit=False)
			profile.isProfilecreated = True
			profile.save()
			p = profile
			#profile_form.save_m2m()
			messages.success(request, 'Your profile is successfullly updated.')
		if cp_form.is_valid():
			companyprofile = cp_form.save(commit=False)
			companyprofile.goal = p.goal
			companyprofile.created_at = p.created_at
			companyprofile.name = p.fullname
			companyprofile.country = p.country
			companyprofile.state = p.state
			companyprofile.save()
			cp_form.save_m2m()
			for afile in request.FILES.getlist('documents'):
				if ftag == 1:
					cf = CompanyFile_seek()
				else:
					cf = CompanyFile_sale()
				cf.companyprofile = companyprofile
				cf.file = afile
				cf.save()
		return HttpResponseRedirect(reverse('mainsite:dashboard'))
		#return HttpResponseRedirect(reverse('mainsite:editProfile_company')) 
	else:
		profile_form = ProfileForm(instance=p)
		if ftag == 1:
			cp_form = cpSeekFundForm(instance=cp)
			documents = CompanyFile_seek.objects.filter(companyprofile=cp)
		else:
			cp_form = cpSaleForm(instance=cp)
			documents = CompanyFile_sale.objects.filter(companyprofile=cp)
	context = {'profile_form':profile_form,'cp_form':cp_form,'ftag':ftag,'documents':documents}
	return render(request,'mainsite/editprofile_company.html',context)
Example #10
0
    def test_fields(self):
        """ Tests all desired fields are present on the form. """

        form = ProfileForm()

        for field in PROFILE_FIELDS:
            self.assertIn(field, form.fields)
Example #11
0
def profile_edit(request, id):
    user = User.objects.get(id=id)

    # 旧教程代码
    # profile = Profile.objects.get(user_id=id)
    # 新教程代码: 获取 Profile
    if Profile.objects.filter(user_id=id).exists():
        # user_id 是 OneToOneField 自动生成的字段
        profile = Profile.objects.get(user_id=id)
    else:
        profile = Profile.objects.create(user=user)

    if request.method == 'POST':
        # 验证修改数据者,是否为用户本人
        if request.user != user:
            return HttpResponse("你没有权限修改此用户信息。")

        # 上传的文件保存在 request.FILES 中,通过参数传递给表单类
        profile_form = ProfileForm(request.POST, request.FILES)

        if profile_form.is_valid():
            # 取得清洗后的合法数据
            profile_cd = profile_form.cleaned_data

            profile.phone = profile_cd['phone']
            profile.bio = profile_cd['bio']

            # 如果 request.FILES 存在文件,则保存
            if 'avatar' in request.FILES:
                profile.avatar = profile_cd["avatar"]

            profile.save()
            # 带参数的 redirect()
            return redirect("userprofile:edit", id=id)
        else:
            return HttpResponse("注册表单输入有误。请重新输入~")

    elif request.method == 'GET':
        profile_form = ProfileForm()
        context = {
            'profile_form': profile_form,
            'profile': profile,
            'user': user
        }
        return render(request, 'userprofile/edit.html', context)
    else:
        return HttpResponse("请使用GET或POST请求数据")
Example #12
0
def personal(request):
    """
    Personal data of the user profile
    """
    profile, created = Profile.objects.get_or_create(user=request.user)

    if request.method == "POST":
        form = ProfileForm(request.POST, instance=profile)
        if form.is_valid():
            form.save()
            messages.add_message(request, messages.SUCCESS,
                                 'Personal data set')
            return redirect('/accounts/profile')
        else:
            messages.add_message(request, messages.ERROR,
                                 'Personal data not set. Form is not valid.')
    else:
        form = ProfileForm(instance=profile)

    template = "userprofile/profile/personal.html"
    data = {
        'section': 'personal',
        'GOOGLE_MAPS_API_KEY': GOOGLE_MAPS_API_KEY,
        'form': form,
    }
    return render_to_response(template,
                              data,
                              context_instance=RequestContext(request))
Example #13
0
def personal(request):
    """
    Personal data of the user profile
    """
    profile, created = Profile.objects.get_or_create(user=request.user)

    if request.method == "POST":
        form = ProfileForm(request.POST, request.FILES, instance=profile)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse("profile_edit_personal_done"))
    else:
        form = ProfileForm(instance=profile)

    template = "userprofile/profile/personal.html"
    data = { 'section': 'personal', 'GOOGLE_MAPS_API_KEY': GOOGLE_MAPS_API_KEY,
             'form': form, }
    return render_to_response(template, data, context_instance=RequestContext(request))
Example #14
0
def profile_edit(request, id):
    user = User.objects.get(id=id)
    # user_id是 OneToOneField自动生成的字段
    # Profile已经存在就获取它,不存在则创建一个新的
    if Profile.objects.filter(user_id=id).exists():
        profile = Profile.objects.get(user_id=id)
    else:
        profile = Profile.objects.create(user=user)

    if request.method == 'POST':
        # 验证是否是本人
        if request.user != user:
            return HttpResponse("你没有权限修改该用户信息!")

        profile_form = ProfileForm(request.POST, request.FILES)
        if profile_form.is_valid():
            # 取得清洗后的合法数据
            profile_cd = profile_form.cleaned_data
            profile.phone = profile_cd.get('phone')
            profile.bio = profile_cd.get('bio')
            # 对文件的特殊处理
            if 'avatar' in request.FILES:
                profile.avatar = profile_cd.get('avatar')
            profile.save()
            # 带参数的redirect()
            return redirect('userprofile:edit', id=id)
        else:
            return HttpResponse('注册表单输入有误,请重新输入')

    elif request.method == 'GET':
        profile_form = ProfileForm()
        '''
        实际上GET方法中不需要将profile_form这个表单对象传递到模板中去,
        因为模板中已经用Bootstrap写好了表单,所以profile_form并没有用到
        '''
        context = {
            'profile_form': profile_form,
            'profile': profile,
            'user': user,
        }
        return render(request, 'userprofile/edit.html', context)
    else:
        return HttpResponse("请使用GET/POST请求")
Example #15
0
def profile_edit(request, id):
    user = User.objects.get(id=id)

    # (修改前)
    # user_id 是 OneToOneField 自动生成的字段
    # profile = Profile.objects.get(user_id=id)

    # (修改后)
    # Profile已经存在了就获取它,如果不存在就创建一个新的
    if Profile.objects.filter(user_id=id).exists():
        profile = Profile.objects.get(user_id=id)
    else:
        profile = Profile.objects.create(user=user)

    if request.method == "POST":
        # 验证修改数据者,是否为用户本人
        if request.user != user:
            return HttpResponse("你没有权限修改此用户信息。")

        profile_form = ProfileForm(request.POST, request.FILES)

        if profile_form.is_valid():
            # 取得清洗后的合法数据
            profile_cd = profile_form.cleaned_data
            profile.phone = profile_cd['phone']
            profile.bio = profile_cd['bio']

            # 如果 request.FILES 存在文件,则保存
            if 'avatar' in request.FILES:
                profile.avatar = profile_cd['avatar']

            profile.save()
            # 带参数的 redirect()
            return redirect('userprofile:edit', id=id)
        else:
            return HttpResponse("注册表单输入有误。请重新输入~")
    elif request.method == "GET":
        profile_form = ProfileForm()
        context = {'profile_form': profile_form, 'profile': profile, 'user': user}
        return render(request, 'userprofile/edit.html', context)
    else:
        return HttpResponse("请使用GET或POST请求数据")
Example #16
0
def editProfile(request):
	# tflag = "edit"
	# print request.user.id
	# A boolean value for telling the template whether the registration was successful.
	# Set to False initially. Code changes value to True when registration succeeds.
	# added = False
	p = request.user.myprofile
	if request.method == 'POST':
		profile_form = ProfileForm(request.POST,instance=p)
		if profile_form.is_valid():
			profile = profile_form.save()
			# pro.post_by = request.user
			profile.save()
			# added = True
			messages.success(request, 'Your profile is successfullly updated.')
		return HttpResponseRedirect(reverse('myaccount:editProfile'))
	else:
		profile_form = ProfileForm(instance=p)
	context = {'profile_form':profile_form}
	return render(request, 'myaccount/editprofile.html', context)
def personal(request):
    """
    Personal data of the user profile
    """
    profile, created = Profile.objects.get_or_create(user=request.user)

    if request.method == "POST":
        form = ProfileForm(request.POST, instance=profile)
        if form.is_valid():
            form.save()
            messages.add_message(request, messages.SUCCESS, 'Personal data set')
            return redirect('/accounts/profile')
        else:
            messages.add_message(request, messages.ERROR, 'Personal data not set. Form is not valid.')
    else:
        form = ProfileForm(instance=profile)

    template = "userprofile/profile/personal.html"
    data = { 'section': 'personal', 'GOOGLE_MAPS_API_KEY': GOOGLE_MAPS_API_KEY,
             'form': form, }
    return render_to_response(template, data, context_instance=RequestContext(request))
Example #18
0
	def post(self,request):
		print request.POST['dob']
		form1=ProfileForm(request.POST)
		form2=GMapLocationForm(request.POST)
		if form1.is_valid() and form2.is_valid():
			#obj, created = ProfileDetails.objects.get_or_create(name=tname)
			try:
				prof=request.user.profiledetails
				loc=prof.location
			except:
				loc=GMapLocation()
				prof=ProfileDetails(user=request.user)

			GMapLocationForm(request.POST,instance=loc).save()
			prof.location=loc
			frm_prof=ProfileForm(request.POST,instance=prof)
			obj=frm_prof.save()
			messages.add_message(request, messages.SUCCESS, 'Updated Profile Successfully.')
			return HttpResponseRedirect(reverse('user_profile'))
		d=dict(first_form=form1,second_form=form2)
		return render(request,'userprofile/updateprofile.html',d)
Example #19
0
 def get(self, request, *args, **kwargs):
     user = User.objects.get(pk=request.user.pk)
     personelform = PersonalInfoForm(request.POST or None, instance=user)
     profileform = ProfileForm(request.POST or None,
                               instance=user.user_profile)
     context = {
         'profileform': profileform,
         'personalform': personelform,
         'email': user.email,
         'username': user.username,
     }
     return render(request, self.template_name, context)
Example #20
0
 def post(self, request, *args, **kwargs):
     user = User.objects.get(pk=request.user.pk)
     personelform = PersonalInfoForm(request.POST or None, instance=user)
     profileform = ProfileForm(request.POST or None,
                               instance=user.user_profile)
     if profileform.is_valid():
         profileform.save()
         messages.success(request,
                          'Profile Info Updated',
                          extra_tags='alert alert-success')
         return HttpResponseRedirect("profile/myprofile?profile=ok")
     elif personelform.is_valid():
         personelform.save()
         messages.success(request,
                          'Personal Info Updated',
                          extra_tags='alert alert-success')
         return HttpResponseRedirect("profile/myprofile?personal=ok")
     else:
         messages.error(request,
                        "Form error",
                        extra_tags='alert alert-danger')
         return HttpResponseRedirect("profile/myprofile")
Example #21
0
def profile_edit(request, id):
    user = User.objects.get(id=id)
    # user_id 是 OneToOneField 自动生成的字段
    profile = Profile.objects.get(user_id=id)




    if request.method == 'POST':
        # 验证修改数据者,是否为用户本人
        if request.user != user:
            return HttpResponse("你没有权限修改此用户信息。")

        # profile_form = ProfileForm(data=request.POST,request.FILES)
        profile_form = ProfileForm(request.POST, request.FILES)
        if profile_form.is_valid():
            # 取得清洗后的合法数据
            profile_cd = profile_form.cleaned_data
            profile.phone = profile_cd['phone']
            profile.bio = profile_cd['bio']

            if 'avatar' in request.FILES:
                profile.avatar = profile_cd["avatar"]
                print(request.FILES)

            profile.save()

            # 带参数的 redirect()
            return redirect("userprofile:edit", id=id)
        else:
            return HttpResponse("注册表单输入有误。请重新输入~")

    elif request.method == 'GET':
        profile_form = ProfileForm()
        context = { 'profile_form': profile_form, 'profile': profile, 'user': user }
        return render(request, 'edit.html', context)
    else:
        return HttpResponse("请使用GET或POST请求数据")
def profile_edit(request, id):
    user = User.objects.get(id=id)  # 根据ID获取用户所有信息
    # user_id 是 OneToOneField 自动生成的字段
    if Profile.objects.filter(user_id=id).exists():  # 判断是否为不为空
        # user_id 是 OneToOneField 自动生成的字段
        profile = Profile.objects.get(user_id=id)  # 如果不为空就获取user_id
    else:
        profile = Profile.objects.create(user=user)  # 如果为空就创建这个user

    if request.method == 'POST':  # 如果有提交数据
        if request.user != user:  # 验证修改数据者,是否为用户本人
            return HttpResponse("你没有权限修改此用户信息。")
        profile_form = ProfileForm(
            request.POST, request.FILES)  # 如果是本人,就将提交的数据生成formHTML表单并赋值
        if profile_form.is_valid():  # 是否合法
            # 取得清洗后的合法数据
            profile_cd = profile_form.cleaned_data  # cleaned_data 读取表单返回的值
            profile.phone = profile_cd['phone']  # 取出phone对应值
            profile.bio = profile_cd['bio']  # 取出bIo对应值
            if 'avatar' in request.FILES:
                profile.avatar = profile_cd['avatar']
                print('profile.avatar:', profile.avatar)
            profile.save()  # 保存到数据库
            return redirect("userprofile:edit", id=id)  # 跳转到edit页面,注意携带参数传递
        else:
            return HttpResponse("注册表单输入有误。请重新输入~")

    elif request.method == 'GET':
        profile_form = ProfileForm()
        context = {
            'profile_form': profile_form,  # 未提交数据,就生成HTML表单
            'profile':
            profile,  # 未提交数据,就取出profile表中user_id对应的用户的phone,bio之类的信息
            'user': user,  # 为提交数据就取出user表中的所有内容
        }
        return render(request, 'userprofile/edit.html', context=context)
    else:
        return HttpResponse("请使用GET或POST请求数据")
Example #23
0
def profile_edit(request,pk):
    user = get_object_or_404(User,pk=pk)
    # user_id是一对一生成的关联字段
    if Profile.objects.filter(user_id=pk).exists():
        profile = Profile.objects.get(user_id=pk)
    else:
        profile = Profile.objects.create(user=user)

    if request.method == 'POST':
        # 验证修改数据者,是否为本人
        if request.user != user:
            return HttpResponse('您没有权限修改此用户的信息')
        # 本人,取到前端提交的编辑后的用户信息
        profile_form = ProfileForm(request.POST,request.FILES)
        # 验证提交的信息是否合法
        if profile_form.is_valid():
            # 合法
            profile_list = profile_form.cleaned_data
            profile.phone = profile_list['phone']
            profile.desc = profile_list['desc']
            # 如果request.FIELS存在文件,则保存
            if 'avatar' in request.FILES:
                profile.avatar = profile_list['avatar']

            profile.save()

            # 保存到数据库后,重定向到编辑页面
            return redirect('userprofile:edit',pk=pk)
        else:
            # 不合法
            return HttpResponse('注册表单输入有误,请重新输入')
    elif request.method == 'GET':
        return render(request,'userprofile/edit.html',{
            'profile':profile,
            'user':user,
        })
    else:
        return HttpResponse('请使用GET或POST请求数据')
Example #24
0
def userDetailEntry(request):
    if request.method == "POST":
        form = ProfileForm(request.POST)
        if form.is_valid():
            if not Profile.objects.filter(user=request.user).exists():
                new_save = form.save(commit=False)
                new_save.user = request.user
                new_save.save()
            else:
                form = ProfileForm(
                    request.POST,
                    Profile.objects.filter(user=request.user).get()
                )
            return HttpResponseRedirect(reverse('home'))
        else:
            return render(request,
                          'userprofile/userdetailentry.html',
                          {'form': form, 'error': "form wasn't valid"})
    else:
        form = ProfileForm
        return render(request,
                      'userprofile/userdetailentry.html',
                      {'form': form, 'error': ''})
Example #25
0
def profile_edit(request, id):
    user = User.objects.get(id=id)
    # user_id 是 OneToOneField 自动生成的字段
    # profile = Profile.objects.get(user_id=id)
    if Profile.objects.filter(user_id=id).exists():
        profile = Profile.objects.get(user_id=id)
    else:
        profile = Profile.objects.create(user=user)

    if request.method == "POST":
        # 验证修改数据者,是否为用户本人
        if request.user != user:
            return HttpResponse('你没有权限修改此用户信息~')

        # 上传的文件保存在 request.FILES 中,通过参数传递给表单类
        profile_form = ProfileForm(data=request.POST, files=request.FILES)
        if profile_form.is_valid():
            profile_cd = profile_form.cleaned_data
            profile.phone = profile_cd['phone_number']
            profile.bio = profile_cd['bio']
            # 如果 request.FILES 存在文件,则保存
            if 'avatar' in request.FILES:
                profile.avatar = profile_cd['avatar']
            profile.save()
            return redirect('userprofile:profile_edit', id=id)
        else:
            return HttpResponse('注册表单输入有误。请重新输入~')
    elif request.method == "GET":
        profile_form = ProfileForm()
        context = {
            'profile_form': profile_form,
            'profile': profile,
            'user': user,
        }
        return render(request, 'userprofile/edit.html', context)
    else:
        return HttpResponse('请使用GET或POST请求数据~')
Example #26
0
def edit_profile(request):
    user = request.user
    form = ProfileForm(instance=user)

    if request.method == "POST":
        form = ProfileForm(request.POST, request.FILES, instance=user)
        if form.is_valid():
            form.save()
            return redirect('profile_settings')

    context_dict = {'form': form}

    return render(request, 'userprofile/update_profile.html', context_dict)
Example #27
0
def profile(request):
    args = {}
    if request.POST:
        try:
            form = ProfileForm(request.POST, instance=request.user.profile)
        except:
            args['error'] = "Błąd"

        if form.is_valid():
            form.save()
    else:
        user = request.user
        profile_ = user.profile
        form = ProfileForm(instance=profile_)

    args['title'] = "Profil"
    args.update(csrf(request))
    args['form'] = form

    return render(request, "profile.html", args)
Example #28
0
def personal(request):
    """
    Personal data of the user profile
    """
    profile, created = Profile.objects.get_or_create(user=request.user)

    if request.method == "POST":
        old_profile = copy.copy(profile)
        form = ProfileForm(request.POST, instance=profile)
        if form.is_valid():
            form.save()
            messages.success(
                request,
                _("Your profile information has been updated successfully."),
                fail_silently=True)
            signal_responses = signals.post_signal.send(
                sender=personal,
                request=request,
                form=form,
                extra={'old_profile': old_profile})
            last_response = signals.last_response(signal_responses)
            if last_response:
                return last_response
    else:
        form = ProfileForm(instance=profile)

    template = "userprofile/profile/personal.html"
    data = {
        'section': 'personal',
        'GOOGLE_MAPS_API_KEY': GOOGLE_MAPS_API_KEY,
        'form': form,
    }
    signals.context_signal.send(sender=personal, request=request, context=data)
    return render_to_response(template,
                              data,
                              context_instance=RequestContext(request))
Example #29
0
def personal(request):
    """
    Personal data of the user profile
    """
    profile, created = Profile.objects.get_or_create(user=request.user)
    resumes = Resume.objects.all().filter(user=request.user)

    if request.method == "POST":
        form = ProfileForm(request.POST, request.FILES, instance=profile)
        if form.is_valid():
            new_profile = form.save(commit=False)
	    # new_profile.resume_text = handle_uploaded_resume(request.FILES['resume'])
	    new_profile.save()
	    form.save_m2m()
            return HttpResponseRedirect(reverse("profile_edit_personal_done"))
    else:
        form = ProfileForm(instance=profile)

    template = "userprofile/profile/personal.html"
    data = { 'section': 'personal', 'GOOGLE_MAPS_API_KEY': GOOGLE_MAPS_API_KEY,
             'form': form, 'resumes': resumes, }
    return render_to_response(template, data, context_instance=RequestContext(request))
Example #30
0
def addinfo(request):
    if request.method == "POST":
        user_form = UserForm(request.POST, instance=request.user)
        profile_form = ProfileForm(request.POST, instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            profileform = profile_form.save(commit=False)
            profileform.addinfoflag = True
            profileform.save()
            user_form.save()

            #return redirect('home')# HttpResponseRedirect can accept a model, view, or url as it's "to" argument. So it is a little more flexible in what it can "redirect" to.
            return HttpResponseRedirect(reverse('home'))
    else:
        user_form = UserForm()
        profile_form = ProfileForm()
        #else:
        #raise PermissionDenied

    return render(request, 'profile/profile_form.html', {
        'user_form': user_form,
        'profile_form': profile_form
    })
Example #31
0
 def test_profile_form_date_of_birth_field_label(self):
     form = ProfileForm()
     self.assertTrue(form.fields['date_of_birth'].label == None or form.fields['date_of_birth'].label == 'Date of birth')
Example #32
0
 def test_profile_form_valid(self):
     form = ProfileForm(data={'user': '******', 'date_of_birth': '2018-05-18', 'photo': ''})
     self.assertTrue(form.is_valid())
Example #33
0
 def test_profile_form_photo_field_label(self):
     form = ProfileForm()
     self.assertTrue(form.fields['photo'].label == None or form.fields['photo'].label == 'Image')