Exemple #1
0
def skilled_list(request):
    try:
        params = extract_datatable_params(request)
        corp_id = request.GET.get('corp')
        skills = json.loads(request.GET.get("skills", ""))
    except KeyError:
        return HttpResponseBadRequest()

    if corp_id:
        try:
            members = Corporation.objects.get(corporationID=int(corp_id)).members.all()
        except Corporation.DoesNotExist:
            members = Corporation.objects.mine().members.all()
        except ValueError:
            # corp_id cannot be casted to int, we take all corps
            members = Member.objects.exclude(corp=None)
    else:
        members = Corporation.objects.mine().members.all()

    query = members
    for skill in skills:
        query &= members.filter(skills__eve_type_id=skill['id'], 
                                skills__level__gte=skill['lvl'])
    
    total_members,\
    filtered_members,\
    members = get_members(query=query.distinct(),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          sort_by=params.column,
                          asc=params.asc)
    
    return datatable_ajax_data(members, params.sEcho, total_members, filtered_members)
Exemple #2
0
def skilled_list(request):
    try:
        params = extract_datatable_params(request)
        corp_id = request.GET.get('corp')
        skills = json.loads(request.GET.get("skills", ""))
    except KeyError:
        return HttpResponseBadRequest()

    if corp_id:
        try:
            members = Corporation.objects.get(
                corporationID=int(corp_id)).members.all()
        except Corporation.DoesNotExist:
            members = Corporation.objects.mine().members.all()
        except ValueError:
            # corp_id cannot be casted to int, we take all corps
            members = Member.objects.exclude(corp=None)
    else:
        members = Corporation.objects.mine().members.all()

    query = members
    for skill in skills:
        query &= members.filter(skills__eve_type_id=skill['id'],
                                skills__level__gte=skill['lvl'])

    total_members,\
    filtered_members,\
    members = get_members(query=query.distinct(),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          sort_by=params.column,
                          asc=params.asc)

    return datatable_ajax_data(members, params.sEcho, total_members,
                               filtered_members)
Exemple #3
0
def unassociated_data(request):
    try:
        params = extract_datatable_params(request)
    except KeyError:
        return HttpResponseBadRequest()

    total_members,\
    filtered_members,\
    members = get_members(query=Corporation.objects.mine().members.filter(owner=None),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc)

    return datatable_ajax_data(members, params.sEcho, total_members, filtered_members)
Exemple #4
0
def unassociated_data(request):
    try:
        params = extract_datatable_params(request)
    except KeyError:
        return HttpResponseBadRequest()

    total_members,\
    filtered_members,\
    members = get_members(query=Corporation.objects.mine().members.filter(owner=None),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc)

    return datatable_ajax_data(members, params.sEcho, total_members,
                               filtered_members)
Exemple #5
0
def members_data(request, title_id):
    try:
        params = extract_datatable_params(request)
        title = get_object_or_404(Title, pk=int(title_id))
    except (KeyError, ValueError):
        return HttpResponseBadRequest()

    total_members,\
    filtered_members,\
    members = get_members(query=title.members.all(),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc)
    
    return datatable_ajax_data(members, params.sEcho, total_members, filtered_members)
Exemple #6
0
def members_data(request, title_id):
    try:
        params = extract_datatable_params(request)
        title = get_object_or_404(Title, pk=int(title_id))
    except (KeyError, ValueError):
        return HttpResponseBadRequest()

    total_members,\
    filtered_members,\
    members = get_members(query=title.members.all(),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc)

    return datatable_ajax_data(members, params.sEcho, total_members,
                               filtered_members)
Exemple #7
0
def members_data(request):
    try:
        params = extract_datatable_params(request)
        ships = request.GET.get('show_ships', 'all')
        corp_id = request.GET.get('corp')
    except KeyError:
        return HttpResponseBadRequest()

    if corp_id:
        try:
            query = Corporation.objects.get(
                corporationID=int(corp_id)).members.all()
        except Corporation.DoesNotExist:
            query = Corporation.objects.mine().members.all()
        except ValueError:
            # corp_id cannot be casted to int, we take all corps
            query = Member.objects.exclude(corp=None)
    else:
        query = Corporation.objects.mine().members.all()

    if ships == 'supers':
        query = query.filter(ship__in=SUPER_CAPITALS)

    total_members,\
    filtered_members,\
    members = get_members(query=query,
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc,
                          for_csv=params.format == 'csv')

    if params.format == 'csv':
        return datatable_csv_data(members, filename='members.csv')
    else:
        return datatable_ajax_data(members, params.sEcho, total_members,
                                   filtered_members)
Exemple #8
0
def members_data(request):
    try:
        params = extract_datatable_params(request)
        ships = request.GET.get('show_ships', 'all')
        corp_id = request.GET.get('corp')
    except KeyError:
        return HttpResponseBadRequest()
    
    if corp_id:
        try:
            query = Corporation.objects.get(corporationID=int(corp_id)).members.all()
        except Corporation.DoesNotExist:
            query = Corporation.objects.mine().members.all()
        except ValueError:
            # corp_id cannot be casted to int, we take all corps
            query = Member.objects.exclude(corp=None)
    else:
        query = Corporation.objects.mine().members.all()
    
    if ships == 'supers':
        query = query.filter(ship__in=SUPER_CAPITALS)
    
    total_members,\
    filtered_members,\
    members = get_members(query=query,
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc,
                          for_csv=params.format == 'csv')
    
    if params.format == 'csv':
        return datatable_csv_data(members, filename='members.csv')
    else:
        return datatable_ajax_data(members, params.sEcho, total_members, filtered_members)
Exemple #9
0
def player_details_data(request, player_id):
    try:
        params = extract_datatable_params(request)
    except KeyError:
        return HttpResponseBadRequest()

    player = get_object_or_404(User, id=int(player_id))

    total_members,\
    filtered_members,\
    members = get_members(query=Member.objects.filter(owner=player),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc)
    json_data = {
        "sEcho": params.sEcho,
        "iTotalRecords": total_members,
        "iTotalDisplayRecords": filtered_members,
        "aaData": members
    }

    return HttpResponse(json.dumps(json_data))
Exemple #10
0
def player_details_data(request, player_id):
    try:
        params = extract_datatable_params(request)
    except KeyError:
        return HttpResponseBadRequest()

    player = get_object_or_404(User, id=int(player_id))

    total_members,\
    filtered_members,\
    members = get_members(query=Member.objects.filter(owner=player),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc)
    json_data = {
        "sEcho" : params.sEcho,
        "iTotalRecords" : total_members,
        "iTotalDisplayRecords" : filtered_members,
        "aaData" : members
    }

    return HttpResponse(json.dumps(json_data))
Exemple #11
0
        'role_types' : RoleType.objects.all(),
        'role' : role,
        'ajax_url': '/hr/roles/%d/data/' % role.id,
        'direct_member_count' : role.members.count(),
        'total_member_count' : role.members_through_titles().count(),
        'columns': MEMBERS_COLUMNS,
        'datatables_defaults': DATATABLES_DEFAULTS,
    }
    return render_to_response("ecm/hr/roles/role_details.html", data, Ctx(request))

#------------------------------------------------------------------------------
@check_user_access()
@cache_page(3 * 60 * 60) # 3 hours cache
def role_data(request, role_id):
    try:
        params = extract_datatable_params(request)
        role = get_object_or_404(Role, pk=int(role_id))
    except (KeyError, ValueError), e:
        return HttpResponseBadRequest(str(e))

    total_members,\
    filtered_members,\
    members = get_members(query=role.members_through_titles(with_direct_roles=True),
                          first_id=params.first_id,
                          last_id=params.last_id,
                          search_str=params.search,
                          sort_by=params.column,
                          asc=params.asc)

    return datatable_ajax_data(members, params.sEcho, total_members, filtered_members)