예제 #1
0
def query_dojo(request):
    m_all = Member.objects.all()
    dojo_dict = {}
    for m in m_all:
        if dojo_dict.has_key(m.dojo) is False:
            dojo_dict[m.dojo] = 0
        if m.place == '1st':
            score = 5
        elif m.place == '2nd':
            score = 3
        elif m.place == '3rd':
            score = 1
        else:
            score = 0
        dojo_dict[m.dojo] += score
    data_list = []
    for key, val in dojo_dict.iteritems():
        data_list.append({'dojo': key, 'score': val})
    global TOP5_LIST
    TOP5_LIST = []
    TOP5_LIST = data_list

    jsonSerializer = JSONSerializer()
    data = jsonSerializer.serialize({'aaData': data_list })

    return HttpResponse(data, mimetype="application/json")
예제 #2
0
def query_all(request):
    ip_addr = request.META['REMOTE_ADDR']
    m_all = Member.objects.all()
    jsonSerializer = JSONSerializer()
    data = jsonSerializer.serialize({'aaData': m_all})
    print "%s : query_all" % ip_addr

    return HttpResponse(data, mimetype="application/json")
예제 #3
0
def get_details(m):
    # Flexable json serializer
    jsonSerializer = JSONSerializer()

    phone = m.phone_set.all()
    addr = m.address_set.all()
    belt = m.belt_set.all()
    parent = m.parent_set.all()
    m_fee = m.membership_fee_set.all()
    tournament = m.tournament_set.all()
    usjf = m.usjf_membership_set.all()

    info = jsonSerializer.serialize(phone)
    phone = json.loads(info)
    info = jsonSerializer.serialize(addr)
    addr = json.loads(info)
    info = jsonSerializer.serialize(belt)
    belt = json.loads(info)
    info = jsonSerializer.serialize(parent)
    parent = json.loads(info)
    info = jsonSerializer.serialize(m_fee)
    m_fee = json.loads(info)
    info = jsonSerializer.serialize(tournament)
    tournament = json.loads(info)
    info = jsonSerializer.serialize(usjf)
    usjf = json.loads(info)

    bday = m.birthday

    data = {'phone': phone, 'addr': addr, 'belt': belt, 'parent': parent, 'm_fee': m_fee, 'tournament': tournament, 'usjf': usjf, 'bday': bday}
    return data
예제 #4
0
def query_completed(request):
    m_all = Member.objects.all()
    total_member = len(m_all)
    completed = 0
    for m in m_all:
        if len(m.place) > 0:
            completed += 1
    completed_percentage = float(completed) / float(total_member)
    completed_percentage = int( round(completed_percentage, 2) * 100 )
    not_completed_percentage = 100 - completed_percentage
    data_object = {'percent': [ ['Completed', completed_percentage], ['Not Completed', not_completed_percentage] ]}

    jsonSerializer = JSONSerializer()
    data = jsonSerializer.serialize(data_object)
    return HttpResponse(data, mimetype="application/json")
예제 #5
0
def query_top5(request):
    query_dojo(request)
    global TOP5_LIST
    dojo_list = TOP5_LIST
    dojo_list.sort(key=lambda item: item['score'], reverse=True)
    top5_list = dojo_list[:5]
    data_object = {'dojo': [], 'score': []}
    for o in top5_list:
        data_object['dojo'].append(o['dojo'])
        data_object['score'].append(o['score'])

    print data_object
    s = data_object['score']
    jsonSerializer = JSONSerializer()
    data = jsonSerializer.serialize({'dojo': data_object['dojo'], 'score': str(s)})
    return HttpResponse(data, mimetype="application/json")
예제 #6
0
def query_all(request):
    jsonSerializer = JSONSerializer()
    m_all = Member.objects.all()
    m_list = []
    for m in m_all:
        details = get_details(m)
        key_details = process_details(details)
        json_string = jsonSerializer.serialize(m)
        temp_dict = json.loads(json_string)
        for key, val in key_details.iteritems():
            temp_dict[key] = val
        m_list.append(temp_dict)

    data = jsonSerializer.serialize({'aaData': m_list})

    return HttpResponse(data, mimetype="application/json")
예제 #7
0
def gen_email_info(request):
    if request.method == 'POST':
        try: m = simplejson.loads(request.raw_post_data)
        except ValueError: return HttpResponse('Invalid Json String')
        try: id_list = m['members']
        except KeyError: return HttpResponse('Invalid Key')
        total_parent_emails = []
        total_member_emails = []
        for i in id_list:
            m = Member.objects.filter(pk=i)[0]
            if m.email != '':
                total_member_emails.append(m.email)
            total_parent_emails.extend(get_parent_email_without_name(m))

        # Flexable json serializer
        jsonSerializer = JSONSerializer()
        #FIXME: Cannot convert this object to json object in the index function, it's weird...
        parent_emails = ' ,'.join(total_parent_emails)
        member_emails = ' ,'.join(total_member_emails)
        d = {'parent_emails': parent_emails, 'member_emails': member_emails }
        data = jsonSerializer.serialize(d)
        return HttpResponse(data, mimetype="application/json")
    return HttpResponse('Invalid http method')