def like(request, category_english_name=None): ''' 点赞 ''' plan_id = request.GET.get('plan_id') if not plan_id: messages = u"传入参数有误" return spec_json(status='errors', messages=messages) plan = get_object_or_404(Plan, pk=plan_id) author = get_user(request) #获取当前的用户 if author not in plan.like_persons.all(): plan.like_persons.add(author) plan.like_count = len(plan.like_persons.all()) else: plan.like_persons.remove(author) plan.like_count = len(plan.like_persons.all()) plan.save() like_persons = plan.like_persons.all() like_persons_list = [{ "szu_name": person.szu_name, "szu_no": person.szu_no } for person in like_persons] return render_json({ 'status': 'success', 'like_persons': like_persons_list })
def draw(request,category_english_name,id): ''' 用户抽奖,该id为抽奖名单id ''' lottery_list = get_object_or_404(LotteryList,pk=id,is_on=True) start_time_interval = datetime.date.today() - lottery_list.start_date end_time_interval = datetime.date.today()-lottery_list.end_date if start_time_interval.total_seconds()<0: messages=u"还没到抽奖时间哦,敬请期待" return spec_json(status='errors', messages=messages) if end_time_interval.total_seconds()>0: messages=u"抽奖已经结束,感谢你的参与" return spec_json(status='errors', messages=messages) user =get_user(request) if lottery_list.lottery.count() == 0: messages = u"对不起,没有抽奖名单" return spec_json(status='errors', messages=messages) lottery_list_person = [lottery.person for lottery in lottery_list.lottery.all()] if user not in lottery_list_person: messages = u"对不起,你没有资格抽奖" return spec_json(status='errors', messages=messages) lotterys = lottery_list.lottery.filter(person=user,result=0) if not lotterys.exists(): messages = u"对不起,你已经抽过奖了" return spec_json(status='errors', messages=messages) lottery = lotterys[0] lottery.result = random.randint(1,10000000) lottery.save() return render_json({"status":"success","lottery_result":lottery.result,"redirect_url":reverse('summer_plans:list',args=(category_english_name,))})
def delete_plan_record(request,category_english_name,id): plan_record = get_object_or_404(PlanRecord,pk=id) if plan_record.plan.author.szu_no != request.session.get("szu_no"): messages = u"你没有权限" return spec_json(status='errors', messages=messages) plan_record.delete() return render_json({"status":"success","redirect_url":reverse('summer_plans:list',args=(category_english_name,))})
def delete(request, category_english_name, id): author = get_user(request) plan = get_object_or_404(Plan, author=author, pk=id) plan.deleted = True plan.save() return render_json({ "status": "success", "redirect_url": reverse('summer_plans:list', args=(category_english_name, )) })
def update_plan_record(request,category_english_name,id): plan_record = get_object_or_404(PlanRecord,pk=id) if plan_record.plan.author.szu_no != request.session.get("szu_no"): messages = u"你没有权限" return spec_json(status='errors', messages=messages) form = PlanRecordForm(request.POST,instance=plan_record) if not form.is_valid(): messages = form.errors.values() return spec_json(status='errors', messages=messages) form.save() return render_json({"status":"success","redirect_url":reverse('summer_plans:list',args=(category_english_name,))})
def add_plan_record(request,category_english_name,id): #此id是关联的plan的id plan_category = get_object_or_404(PlanCategory,english_name=category_english_name) plan = get_object_or_404(Plan,category=plan_category,pk=id) form = PlanRecordForm(request.POST) if plan.author.szu_no != request.session.get("szu_no"): messages = u"你没有权限" return spec_json(status='errors', messages=messages) if not form.is_valid(): messages = form.errors.values() return spec_json(status='errors', messages=messages) plan_record = form.save(commit=False) plan_record.plan = plan plan_record.save() return render_json({"status":"success","redirect_url":reverse('summer_plans:list',args=(category_english_name,))})
def post(self, request): if Register.objects.filter(stu_ID=request.session['szu_no']).exists(): messages = u"您已经成功报名过,不能重复报名,如需更改信息,请联系学子天地工作人员" return spec_json(status='errors', messages=messages) form = Register_Form(request.POST) if not form.is_valid(): messages = form.errors.values() return spec_json(status='errors', messages=messages) register = form.save(commit=False) register.name = request.session['szu_name'] register.gender = request.session['szu_sex'] register.college = request.session['szu_org_name'] register.stu_ID = request.session['szu_no'] register.grade = request.session['szu_no'][:4] register.save() return render_json({"status": "success", "name": register.name})
def post(self, request): if Register.objects.filter(stu_ID=request.session['szu_no']).exists(): messages = u"您已经成功报名过,不能重复报名,如需更改信息,请联系学子天地工作人员" return spec_json(status='errors', messages=messages) form = Register_Form(request.POST) if not form.is_valid(): messages = form.errors.values() return spec_json(status='errors', messages=messages) register = form.save(commit=False) register.name=request.session['szu_name'] register.gender=transfer_sex(request.session['szu_sex']) register.college=request.session['szu_org_name'] register.stu_ID=request.session['szu_no'] register.grade=request.session['szu_no'][:4] register.save() return render_json({"status":"success","name":register.name})
def post(self, request, category_english_name=None): form = PlanForm(request.POST) if not form.is_valid(): messages = form.errors.values() return spec_json(status='errors', messages=messages) if User.objects.filter(szu_no=request.session['szu_no'], email=None).exclude().exists(): #用户存在,但是没有email if not form.cleaned_data['email']: return spec_json(status='errors', messages=u"email必填") author = get_object_or_404(User, szu_no=request.session['szu_no']) author.email = form.cleaned_data['email'] author.save() elif User.objects.filter(szu_no=request.session['szu_no']).exclude( email=None).exists(): #用户存在,有email author = get_object_or_404(User, szu_no=request.session['szu_no']) author.email = form.cleaned_data['email'] if form.cleaned_data[ 'email'] else author.email author.save() else: #用户不存在 if not form.cleaned_data['email']: return spec_json(status='errors', messages=u"email必填") author = User( szu_no=request.session['szu_no'], szu_name=request.session['szu_name'], szu_ic=request.session['szu_ic'], szu_org_name=request.session['szu_org_name'], szu_sex=request.session['szu_sex'], email=form.cleaned_data['email'], avatar_color=get_avator_color(request), ) author.save() plan_category = get_object_or_404(PlanCategory, english_name=category_english_name) plan = form.save(commit=False) plan.category = plan_category plan.author = author plan.save() return render_json({ "status": "success", "redirect_url": reverse('summer_plans:list', args=(category_english_name, )) })
def like(request,category_english_name=None): ''' 点赞 ''' plan_id = request.GET.get('plan_id') if not plan_id: messages=u"传入参数有误" return spec_json(status='errors',messages=messages) plan = get_object_or_404(Plan,pk=plan_id) author = get_user(request) #获取当前的用户 if author not in plan.like_persons.all(): plan.like_persons.add(author) plan.like_count = len(plan.like_persons.all()) else: plan.like_persons.remove(author) plan.like_count = len(plan.like_persons.all()) plan.save() like_persons = plan.like_persons.all() like_persons_list=[ {"szu_name":person.szu_name,"szu_no":person.szu_no} for person in like_persons] return render_json({'status':'success','like_persons':like_persons_list})
def post(self,request,category_english_name=None): form = PlanForm(request.POST) if not form.is_valid(): messages = form.errors.values() return spec_json(status='errors', messages=messages) if User.objects.filter(szu_no=request.session['szu_no'],email=None).exclude().exists(): #用户存在,但是没有email if not form.cleaned_data['email']: return spec_json(status='errors', messages=u"email必填") author = get_object_or_404(User,szu_no=request.session['szu_no']) author.email = form.cleaned_data['email'] author.save() elif User.objects.filter(szu_no=request.session['szu_no']).exclude(email=None).exists(): #用户存在,有email author = get_object_or_404(User,szu_no=request.session['szu_no']) author.email = form.cleaned_data['email'] if form.cleaned_data['email'] else author.email author.save() else: #用户不存在 if not form.cleaned_data['email']: return spec_json(status='errors', messages=u"email必填") author = User(szu_no=request.session['szu_no'], szu_name=request.session['szu_name'], szu_ic=request.session['szu_ic'], szu_org_name=request.session['szu_org_name'], szu_sex=request.session['szu_sex'], email=form.cleaned_data['email'], avatar_color=get_avator_color(request), ) author.save() plan_category = get_object_or_404(PlanCategory,english_name=category_english_name) plan = form.save(commit=False) plan.category = plan_category plan.author = author plan.save() return render_json({"status":"success","redirect_url":reverse('summer_plans:list',args=(category_english_name,))})
def delete(request,category_english_name,id): author = get_user(request) plan = get_object_or_404(Plan, author=author,pk=id) plan.deleted = True plan.save() return render_json({"status":"success","redirect_url":reverse('summer_plans:list',args=(category_english_name,))})