Beispiel #1
0
def me(request):
    user_id = request.user_id
    profile = user_tools.get_user_profile_by_user_id(user_id=user_id,
                                                     need_default=False)
    if not profile:
        log.error('Cant find user profile by user_id: %s when me' % user_id)
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    user_info_map = user_tools.get_userinfomap(profile)
    if profile.real_name == '':
        page_data = {
            'user_info_map': json.dumps(user_info_map),
            'jsapi': jsapi_sign(request),
            'info': json.dumps({'title': '完善资料'})
        }
        template = get_template('user/edit_userinfo.html')
        return HttpResponse(template.render(page_data, request))

    vip_display = 'block' if user_info_map['vip'] else 'none'
    page_data = {
        'vip_display': vip_display,
        'user_info_map': json.dumps(user_info_map),
        'jsapi': jsapi_sign(request)
    }
    template = get_template('user/me.html')
    return HttpResponse(template.render(page_data, request))
Beispiel #2
0
def fabu_list(request):
    user_id = get_userid_by_openid(request.openid)
    if not user_id:
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    profile = get_user_profile_by_user_id(user_id=user_id, need_default=False)
    if not profile:
        logging.error('Cant find user profile by user_id: %s when fabu_list' % user_id)
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    job_from_point = convert.str_to_int(request.GET.get('from', '0'), 0)  # 有from时,则为翻页,无时,则为首页
    number_limit = convert.str_to_int(request.GET.get('limit', '10'), 10)  # 异常情况下,或者不传的情况下,默认为10
    jobs = Job.objects.filter(user_id=user_id).order_by('-id')[job_from_point:number_limit + job_from_point]

    job_list = []
    for my_job in jobs:
        city = my_job.city + " " + my_job.district
        job = {'city': city, 'company_name': my_job.company_name, 'job_title': my_job.job_title,
               'education': my_job.education, 'work_experience': my_job.work_experience, 'salary': my_job.salary,
               'create_time': convert.format_time(my_job.create_time), 'username': profile.real_name, 'portrait': profile.portrait}
        job_list.append(job)

    if job_from_point == 0:  # 首页,需要返回页面
        template = get_template('user/fabu_list.html')
        return HttpResponse(template.render({'job_list': json.dumps(job_list)}, request))
    else:  # 加载下一页,ajax请求
        return HttpResponse(json.dumps(job_list), content_type='application/json')
Beispiel #3
0
def post_userinfo(request):
    user_id = request.user_id
    profile = user_tools.get_user_profile_by_user_id(user_id=user_id,
                                                     need_default=False)
    if not profile:
        return HttpResponse("十分抱歉,获取用户信息失败,请联系客服人员")

    user_bind = Bind.objects.filter(user_id=user_id)[:1]
    if not user_bind:
        return HttpResponse("十分抱歉,您还没有任何绑定方式")

    profile.real_name = html.escape(request.POST.get('real_name'))[:20]
    profile.company_name = html.escape(request.POST.get('company_name'))[:30]
    profile.title = html.escape(request.POST.get('title'))[:30]
    profile.desc = html.escape(request.POST.get('jianli'))[:150]
    user_addr = html.escape(request.POST.get('user_addr')).split(' ')
    if len(user_addr) > 1:
        profile.province = user_addr[0][:20]
        profile.city = user_addr[1][:20]
        if len(user_addr) == 3:
            profile.district = user_addr[2][:20]

    profile.save()

    user_bind[0].phone_number = html.escape(request.POST.get('phone'))[:20]
    user_bind[0].save()
    return HttpResponseRedirect('/user/me')
Beispiel #4
0
def ajax_toggle_job(request):
    user_id = request.user_id
    is_valid = request.POST.get('is_valid')
    job_uuid = request.POST.get('job_uuid', '')

    profile = user_tools.get_user_profile_by_user_id(user_id=user_id,
                                                     need_default=False)
    if not profile:
        log.error(
            'Cant find user profile by user_id: %s when ajax_toggle_job' %
            user_id)
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    job_details = Job.objects.filter(uuid=job_uuid)
    data = {'status': "error"}
    if job_details:
        job_detail = job_details[0]
        if is_valid == '1':  # 有效改为无效
            data['status'] = "ok"
            data['valid'] = '0'
            job_detail.is_valid = False
            job_detail.save()

            vip_jobs = VipJobList.objects.filter(job_id=job_detail.id)[:1]
            if vip_jobs:  # 如果关闭的这个job是vip_job
                # 取最近一条有效的job插到vip_job里面去
                recent_jobs = Job.objects.filter(
                    user_id=user_id, is_valid=True).order_by("-id")[:1]
                if recent_jobs:
                    vip_jobs[0].job_id = recent_jobs[0].id
                    vip_jobs[0].save()
                else:  # 没有最近发布的有效的job了,删vip_job
                    vip_jobs[0].delete()

        else:  # 无效改为有效
            data['status'] = "ok"
            data['valid'] = '1'
            job_detail.is_valid = True
            job_detail.save()

            vip_jobs = VipJobList.objects.filter(user_id=user_id)[:1]
            if vip_jobs:  # 如果存在vip_job,则修改job_id
                # 取最近一条有效的job插到vip_job里面去
                recent_jobs = Job.objects.filter(
                    user_id=user_id, is_valid=True).order_by("-id")[:1]
                vip_jobs[0].job_id = recent_jobs[0].id  # 这里肯定可以取到recent_jobs
                vip_jobs[0].save()
            elif profile.vip:  # 没有则插入
                vip_job = VipJobList(job_id=job_detail.id, user_id=user_id)
                vip_job.save()

    else:
        log.error("uid(%s) try to get not exsit job(%s), maybe attack" %
                  (user_id, job_uuid))

    return HttpResponse(json.dumps(data), content_type='application/json')
Beispiel #5
0
def fabu_detail(request):
    user_id = request.user_id

    user_info_map = {}
    job_uuid = request.GET.get('job_uuid', '')
    job_detail = Job.objects.filter(uuid=job_uuid)[0]

    if job_detail:
        if user_id != job_detail.user_id:
            return HttpResponseRedirect("/job/get_job?job_uuid=" + job_uuid)

        profile = user_tools.get_user_profile_by_user_id(user_id=user_id,
                                                         need_default=True)

        page_data = model_to_dict(job_detail,
                                  exclude=[
                                      'id',
                                      'user_id',
                                      'create_time',
                                      'update_time',
                                  ])
        page_data['job_addr'] = job_detail.city + " " + job_detail.district
        page_data['job_city'] = job_detail.city
        page_data['portrait'] = profile.portrait
        page_data['username'] = user_tools.get_user_name(profile)
        page_data['user_company'] = profile.company_name
        page_data['user_uuid'] = profile.uuid
        page_data['user_title_count'] = profile.pub_valid_job_cnt
        user_info_map[page_data['uuid']] = user_tools.get_userinfomap(profile)

    else:
        log.error("uid(%s) try to get not exsit job(%s), maybe attack" %
                  (user_id, job_uuid))
        return HttpResponse("十分抱歉,获取职位信息失败,请重试。重试失败请联系客服人员")

    page_data['vip_display'] = 'block' if profile.vip else 'none'
    page_data['user_info_map'] = json.dumps(user_info_map)
    page_data['jsapi'] = jsapi_sign(request)

    page_data['post_success'] = 0
    page_data['last_share_uuid'] = '00000000000000000000000000000000'
    page_data = user_tools.get_isbind_and_isedit(None, request, page_data)

    template = get_template('user/fabu_detail.html')
    return HttpResponse(template.render(page_data, request))
Beispiel #6
0
def post_userinfo(request):
    user_id = get_userid_by_openid(request.openid)
    if not user_id:
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    profile = get_user_profile_by_user_id(user_id=user_id, need_default=False)
    if not profile:
        logging.error('Cant find user profile by user_id: %s when post_userinfo' % user_id)
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    profile.real_name = request.POST.get('real_name')
    profile.company_name = request.POST.get('company_name')
    profile.title = request.POST.get('title')
    profile.desc = request.POST.get('jianli')
    profile.city = request.POST.get('city')
    profile.save()

    return HttpResponseRedirect('/user/me')
Beispiel #7
0
def edit_userinfo(request):
    user_id = get_userid_by_openid(request.openid)
    if not user_id:
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    profile = get_user_profile_by_user_id(user_id=user_id, need_default=False)
    if not profile:
        logging.error('Cant find user profile by user_id: %s when edit_userinfo' % user_id)
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    info = {'title': '编辑资料', 'tint': '真实信息,有利于相互信任!'}
    info['real_name'] = profile.real_name
    info['company_name'] = profile.company_name
    info['user_title'] = profile.title
    info['desc'] = profile.desc
    info['city'] = profile.city

    template = get_template('user/edit_userinfo.html')
    return HttpResponse(template.render({'info': json.dumps(info)}, request))
Beispiel #8
0
def me(request):
    user_id = get_userid_by_openid(request.openid)
    if not user_id:
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    profile = get_user_profile_by_user_id(user_id=user_id, need_default=False)
    if not profile:
        logging.error('Cant find user profile by user_id: %s when me' % user_id)
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")
    
    if profile.real_name == '':
        info = {'title': '完善资料', 'tint': '请先完善您的资料吧!'}
        template = get_template('user/edit_userinfo.html')
        return HttpResponse(template.render({'info': json.dumps(info)}, request))

    user = {'nick': profile.real_name, 'portrait': profile.portrait, 'user_company': profile.company_name,
            'user_title': profile.title, 'user_city': profile.city, 'user_desc': profile.desc}

    template = get_template('user/me.html')
    return HttpResponse(template.render({'user': json.dumps(user)}, request))
Beispiel #9
0
def edit_userinfo(request):
    user_id = request.user_id
    profile = user_tools.get_user_profile_by_user_id(user_id=user_id,
                                                     need_default=False)
    if not profile:
        log.error('Cant find user profile by user_id: %s when edit_userinfo' %
                  user_id)
        return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    info = {'title': '编辑信息'}

    user_bind = Bind.objects.filter(user_id=user_id)[:1]
    if not user_bind:
        return HttpResponse("十分抱歉,您还没有任何绑定方式")

    page_data = {
        'phone_number': user_bind[0].phone_number,
        'user_info_map': json.dumps(user_tools.get_userinfomap(profile)),
        'jsapi': jsapi_sign(request),
        'info': json.dumps(info)
    }

    template = get_template('user/edit_userinfo.html')
    return HttpResponse(template.render(page_data, request))
Beispiel #10
0
def fabu_list(request):
    user_id = request.user_id
    user_uuid = request.GET.get('user_uuid', '')
    if user_uuid:  # 查某人的所有职位
        profile = Profile.objects.filter(uuid=user_uuid)[:1]
        if profile:
            profile = profile[0]
            if profile.id == user_id:
                page_title = "我的发布"
            else:
                page_title = "他的发布"
            user_id = profile.id
        else:
            log.error('Cant find user profile by user_id: %s when fabu_list' %
                      user_id)
            return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")
    else:  # 查自己发过的所有职位
        profile = user_tools.get_user_profile_by_user_id(user_id=user_id,
                                                         need_default=False)
        page_title = "我的发布"
        if not profile:
            log.error('Cant find user profile by user_id: %s when fabu_list' %
                      user_id)
            return HttpResponse("十分抱歉,获取用户信息失败,请重试。重试失败请联系客服人员")

    job_from_point = convert.str_to_int(request.GET.get('from', '0'),
                                        0)  # 有from时,则为翻页,无时,则为首页
    number_limit = convert.str_to_int(request.GET.get('limit', '10'),
                                      10)  # 异常情况下,或者不传的情况下,默认为10

    jobs = Job.objects.filter(
        user_id=user_id).order_by('-id')[job_from_point:number_limit +
                                         job_from_point]
    own_job_list = []
    user_info_map = {}
    for my_job in jobs:
        job_addr = my_job.city + " " + my_job.district
        job = {
            'job_uuid': my_job.uuid,
            'job_city': my_job.city,
            'job_addr': job_addr,
            'company_name': my_job.company_name,
            'job_title': my_job.job_title,
            'education': my_job.education,
            'work_experience': my_job.work_experience,
            'salary': my_job.salary,
            'create_time': convert.format_time(my_job.create_time),
            'username': user_tools.get_user_name(profile),
            'portrait': profile.portrait,
            'user_company': profile.company_name
        }
        own_job_list.append(job)
        user_info_map[my_job.uuid] = user_tools.get_userinfomap(profile)

    vip_display = 'block' if user_tools.get_userinfomap(
        profile)['vip'] else 'none'
    if job_from_point == 0:  # 首页,需要返回页面
        page_data = {
            'vip_display': vip_display,
            'own_job_list': json.dumps(own_job_list),
            'vip_job_list': json.dumps([]),
            'user_info_map': json.dumps(user_info_map),
            'jsapi': jsapi_sign(request),
            'page_title': page_title,
            "user_uuid": user_uuid
        }
        page_data = user_tools.get_isbind_and_isedit(None, request, page_data)
        template = get_template('user/fabu_list.html')
        return HttpResponse(template.render(page_data, request))
    else:  # 加载下一页,ajax请求
        page_data = {
            'own_job_list': own_job_list,
            'vip_job_list': json.dumps([]),
            'user_info_map': user_info_map
        }
        return HttpResponse(json.dumps(page_data),
                            content_type='application/json')