Example #1
0
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
    })
Example #2
0
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,))})
Example #3
0
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,))})
Example #4
0
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, ))
    })
Example #5
0
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,))})
Example #6
0
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,))})
Example #7
0
 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})
Example #8
0
 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})
Example #9
0
 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, ))
     })
Example #10
0
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})
Example #11
0
 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,))})
Example #12
0
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,))})