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)
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)
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)
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)
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)
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)
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))
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))
'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)