示例#1
0
def ajax_get_level_num(request):
    sdicts = {}
    sdicts["result"] = 0
    
    LEVEL_1_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, level=enum_question.LEVEL_CRITICAL).count()
    LEVEL_2_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, level=enum_question.LEVEL_NORMAL).count()
    LEVEL_3_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, level=enum_question.LEVEL_SLIGHT).count()
    
    sdicts["data"] = [[enum_question.QUESTION_LEVEL_CHOICES[0][1], LEVEL_1_num],
                  [enum_question.QUESTION_LEVEL_CHOICES[1][1], LEVEL_2_num],
                  [enum_question.QUESTION_LEVEL_CHOICES[2][1], LEVEL_3_num]]
    sdicts["result"] = 1
    return HttpResponse(json.dumps(sdicts, ensure_ascii=False))
示例#2
0
def ajax_get_type_num(request):
    sdicts = {}
    sdicts["result"] = 0
    
    TYPE_1_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, qtype=enum_question.TYPE_1).count()
    TYPE_2_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, qtype=enum_question.TYPE_2).count()
    TYPE_3_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, qtype=enum_question.TYPE_3).count()
    TYPE_4_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, qtype=enum_question.TYPE_4).count()
    sdicts["data"] = [[enum_question.QUESTION_TYPE_CHOICES[0][1], TYPE_1_num],
                      [enum_question.QUESTION_TYPE_CHOICES[1][1], TYPE_2_num],
                      [enum_question.QUESTION_TYPE_CHOICES[2][1], TYPE_3_num],
                      [enum_question.QUESTION_TYPE_CHOICES[3][1], TYPE_4_num]]
    sdicts["result"] = 1
    return HttpResponse(json.dumps(sdicts, ensure_ascii=False))
示例#3
0
def index(request):
    #    guid = request.GET.get('VerifyId')
    #    if not guid:
    #        return HttpResponseRedirect(LOGIN_URL)
    #    data = {'action':'checkguid1','Guid':guid}
    #    req = urllib2.Request(ACCOUNT_AUTH_URL)
    #
    #    params = urllib.urlencode(data)
    #    response = urllib2.urlopen(req, params)
    #    jsonText = response.read()
    #    return_dict = json.loads(jsonText)
    #
    #    if not return_dict:
    #        return HttpResponseRedirect(LOGIN_URL)
    #
    #    username = return_dict.get('sAccount')
    #    name = return_dict.get('sUserName')
    #    uid= return_dict.get('iUserID')
    #
    #    #user
    #    u = _user.get_or_create_user_by_params(username=username)[0]
    #    u.set_password(username)
    #    u.first_name=name
    #    u.save()
    #
    #    user = authenticate(username=u.username, password=u.username)
    #    jlogin(request, user)

    user = request.user
    #products_list
    product_add, user_type = get_product_add(user)

    today = datetime.date.today()
    QUESTION_STATUS_CHOICES = enum_question.QUESTION_STATUS_CHOICES
    QUESTION_LEVEL_CHOICES = enum_question.QUESTION_LEVEL_CHOICES
    QUESTION_TYPE_CHOICES = enum_question.QUESTION_TYPE_CHOICES
    table_fields = [
        u'No', u'所属业务', u'标题', u'录入人', u'状态', u'级别', u'类型', u'发现时间', u'录入时间',
        u'操作'
    ]
    ajax_url = u'/question/list/'

    products = _question.get_products_by_params()
    total = _question.get_questions_by_params().count()
    close_num = _question.get_questions_by_params(
        status=enum_question.STATUS_CLOSE).count()
    open_num = total - close_num
    return locals()
示例#4
0
def ajax_get_summarize(request):
    sdicts = {}
    sdicts["result"] = 0
    
    today = datetime.datetime.today()
    total = _question.get_questions_by_params().count()
    close_num = _question.get_questions_by_params(status=enum_question.STATUS_CLOSE).count()
    open_num = total-close_num
    
    sdicts["username"] = request.user.username
    sdicts["year"] = today.year
    sdicts["month"] = today.month
    sdicts["day"] = today.day
    sdicts["total"] = total
    sdicts["open_num"] = open_num
    sdicts["close_num"] = close_num
    sdicts["result"] = 1
    return HttpResponse(json.dumps(sdicts, ensure_ascii=False))
示例#5
0
def index(request):
#    guid = request.GET.get('VerifyId')
#    if not guid:
#        return HttpResponseRedirect(LOGIN_URL)
#    data = {'action':'checkguid1','Guid':guid}
#    req = urllib2.Request(ACCOUNT_AUTH_URL)
#
#    params = urllib.urlencode(data)
#    response = urllib2.urlopen(req, params)
#    jsonText = response.read()
#    return_dict = json.loads(jsonText)
#    
#    if not return_dict:
#        return HttpResponseRedirect(LOGIN_URL)
#    
#    username = return_dict.get('sAccount')
#    name = return_dict.get('sUserName')
#    uid= return_dict.get('iUserID')
#        
#    #user
#    u = _user.get_or_create_user_by_params(username=username)[0]
#    u.set_password(username)
#    u.first_name=name
#    u.save()
#    
#    user = authenticate(username=u.username, password=u.username)
#    jlogin(request, user)
    
    user = request.user
    #products_list
    product_add,user_type = get_product_add(user)
        
    today = datetime.date.today()
    QUESTION_STATUS_CHOICES = enum_question.QUESTION_STATUS_CHOICES
    QUESTION_LEVEL_CHOICES = enum_question.QUESTION_LEVEL_CHOICES
    QUESTION_TYPE_CHOICES = enum_question.QUESTION_TYPE_CHOICES
    table_fields = [u'No', u'所属业务', u'标题', u'录入人', u'状态', u'级别', u'类型', u'发现时间', u'录入时间', u'操作']
    ajax_url = u'/question/list/'
    
    products = _question.get_products_by_params()
    total = _question.get_questions_by_params().count()
    close_num = _question.get_questions_by_params(status=enum_question.STATUS_CLOSE).count()
    open_num = total-close_num
    return locals()
示例#6
0
def ajax_get_question_title(request):
    sdicts = {}
    sdicts["result"] = 0
    
    title_list = []
    title = request.GET.get('title','')
    if title:
        questions = _question.get_questions_by_params(title__icontains=title)
        title_list = list(set([question.title for question in questions ])) if questions else []
    sdicts["title_list"] = title_list
    sdicts["result"] = 1
    return HttpResponse(json.dumps(sdicts, ensure_ascii=False))
示例#7
0
def ajax_get_question_describe(request):
    sdicts = {}
    sdicts["result"] = 0
    
    describe_list = []
    
    describe = request.GET.get('describe','')
    if describe:
        questions = _question.get_questions_by_params(describe__icontains=describe)
        describe_list = list(set([question.describe for question in questions ])) if questions else []
    sdicts["describe_list"] = describe_list
    sdicts["result"] = 1
    return HttpResponse(json.dumps(sdicts, ensure_ascii=False))
示例#8
0
def ajax_get_product_num(request):
    sdicts = {}
    sdicts["result"] = 0
    
    product_num_list = []
    product_list = _question.get_products_by_params()
    for product in product_list:
        product_num = _question.get_questions_by_params(status=enum_question.STATUS_OPEN, product=product).count()
        product_num_list.append((product_num, product.name))
    
    product_num_list.sort(reverse=True)
    sdicts["data"] = product_num_list
    sdicts["result"] = 1
    return HttpResponse(json.dumps(sdicts, ensure_ascii=False))
示例#9
0
def question_list(request):
    user = request.user
    product_add,user_type = get_product_add(user)
    
    product_id = request.GET.get('product_id')
    qtime_from = request.GET.get('qtime_from','').strip()
    qtime_to = request.GET.get('qtime_to','').strip()
    created_from = request.GET.get('created_from','').strip()
    created_to = request.GET.get('created_to','').strip()
    status = request.GET.get('status')
    level = request.GET.get('level')
    qtype = request.GET.get('qtype')
    title = request.GET.get('title','').strip()
    describe = request.GET.get('describe','').strip()
    create_user = request.GET.get('create_user','').strip()
    
    iDisplayLength = int(request.GET.get('iDisplayLength'))
    iDisplayStart = int(request.GET.get('iDisplayStart'))
    sEcho = int(request.GET.get('sEcho'))
    iSortCol_0 = int(request.GET.get('iSortCol_0'))
    sSortDir_0 = request.GET.get('sSortDir_0')
    order_list = ['id', 'product__name', 'title', 'create_user__username', 'status','level', 'qtype', 'qtime', 'created', None]
    order_item = order_list[iSortCol_0]
    
    questions = _question.get_questions_by_params()

    if product_id:
        product = _question.get_product_by_params(id=product_id)
        questions = questions.filter(product=product)
        
    one_day = datetime.timedelta(days=1)
    if qtime_from:
        questions = questions.filter(qtime__gte = qtime_from)
    if qtime_to:
        qtime_to = datetime.datetime.strptime(qtime_to,'%Y-%m-%d %H:%M')
        questions = questions.filter(qtime__lte = (qtime_to+one_day))
    
    if created_from:
        questions = questions.filter(created__gte = created_from)
    if created_to:
        created_to = datetime.datetime.strptime(created_to,'%Y-%m-%d %H:%M')
        questions = questions.filter(created__lte = (created_to+one_day))
    
    if status:
        questions = questions.filter(status = status)
    if level:
        questions = questions.filter(level = level)
    if qtype:
        questions = questions.filter(qtype = qtype)
    if title:
        questions = questions.filter(title__icontains = title)
    if describe:
        questions = questions.filter(describe__icontains = describe)
    if create_user:
        questions = questions.filter(create_user__username__icontains = create_user)
        
    if order_item:
        if sSortDir_0 == "desc":
            order_item = '-%s' % order_item
        questions = questions.order_by(order_item)
    else:
        questions = questions.order_by('-id')
    
    #第一个参数表示需要分页的对象,可为list、tuple、QuerySet,只要它有count()或者__len__()函数
    #第二个参数为每页显示记录数
    p = Paginator(questions, iDisplayLength)
    total = p.count #总数
    page_range = p.page_range #页数list
    page = p.page(page_range[iDisplayStart / iDisplayLength])
    object_list = page.object_list
    
    sdicts = {}
    sdicts["sEcho"] = sEcho
    sdicts["iTotalRecords"] = total
    sdicts["iTotalDisplayRecords"] = total
    sdicts["aaData"] = []
    for obj in object_list:
        #封装数组,按照列数填入对应的值
        qtime = datetime.datetime.strftime(obj.qtime,'%Y-%m-%d %H:%M:%S') if obj.qtime else ""
        created = datetime.datetime.strftime(obj.created,'%Y-%m-%d %H:%M:%S') if obj.created else ""
        
        if user_type == 2 and obj.product.name in product_add:
            operation = u'<a href="javascript:void(0);" onclick="question_edit(%s);" >跟进</a>'%obj.id
        else:
            operation = u'<a href="javascript:void(0);" onclick="question_view(%s);" >查看</a>'%obj.id
        data = [obj.id, obj.product.name, obj.title, obj.create_user.username, obj.get_status_display(), obj.get_level_display(), obj.get_qtype_display(), qtime, created, operation]
        sdicts["aaData"].append(data)
    return HttpResponse(json.dumps(sdicts, ensure_ascii=False))