Example #1
0
def senate_race(request, cycle, state, term_class):
    race = get_object_or_404(District, cycle=cycle, state=state, term_class=term_class, office='S')
    title = race.race_name()
    candidates = Candidate_Overlay.objects.filter(district=race).filter(Q(total_receipts__gte=1000)|Q(total_expenditures__gte=1000)).exclude(not_seeking_reelection=True).order_by('-total_receipts')
    outside_spenders = Pac_Candidate.objects.filter(candidate__in=candidates, total_ind_exp__gte=5000).select_related('committee', 'candidate')
    candidate_list = [x.get('fec_id') for x in candidates.values('fec_id')]
    
    
    cycle_endpoints = get_cycle_endpoints(int(cycle))    
    recent_ies = SkedE.objects.filter(candidate_id_checked__in=candidate_list, expenditure_amount__gte=1000, superceded_by_amendment=False, expenditure_date_formatted__gte=cycle_endpoints['start'], expenditure_date_formatted__lte=cycle_endpoints['end'] ).select_related('candidate_checked').order_by('-expenditure_date_formatted')[:5]
    
    # figure out which cycles are available. The current one goes first, because it is being displayed.     
    cycle_values = District.objects.filter(state=state, term_class=term_class, office='S').exclude(cycle=cycle)
    cycle_list = [race] + list(cycle_values)
        
    return render_to_response('datapages/race_detail.html', 
        {
        'candidates':candidates,
        'title':title,
        'race':race,
        'outside_spenders':outside_spenders,
        'recent_ies':recent_ies,
        'cycle_list':cycle_list
        },
        context_instance=RequestContext(request)
    )
Example #2
0
def presidential_race(request):
    
    race = get_object_or_404(District, cycle=CURRENT_CYCLE, office='P')
    title = "2016 Presidential Candidates"
    candidates = Candidate_Overlay.objects.filter(district=race).filter(Q(total_receipts__gte=100000)|Q(total_expenditures__gte=100000)).exclude(not_seeking_reelection=True).order_by('-cash_on_hand')
    outside_spenders = Pac_Candidate.objects.filter(candidate__in=candidates, total_ind_exp__gte=100000).select_related('committee', 'candidate')
    candidate_list = [x.get('fec_id') for x in candidates.values('fec_id')]


    cycle_endpoints = get_cycle_endpoints(int(CURRENT_CYCLE))
    recent_ies = SkedE.objects.filter(candidate_id_checked__in=candidate_list, expenditure_amount__gte=10000, superceded_by_amendment=False, expenditure_date_formatted__gte=cycle_endpoints['start'], expenditure_date_formatted__lte=cycle_endpoints['end']).select_related('candidate_checked').order_by('-expenditure_date_formatted')[:5]

    committees = Committee_Overlay.objects.filter(curated_candidate__in=candidates)
    committee_ids = [x.get('fec_id') for x in committees.values('fec_id')]
    recent_filings = new_filing.objects.filter(fec_id__in=committee_ids, is_superceded=False).exclude(coverage_to_date__isnull=True).order_by('-coverage_to_date')[:5]


    # figure out which cycles are available. The current one goes first, because it is being displayed.     
    cycle_list = list_2016_only


    return render_to_response('datapages/presidential_race_detail.html', 
        {
        'candidates':candidates,
        'title':title,
        'race':race,
        'outside_spenders':outside_spenders,
        'recent_ies':recent_ies,
        'recent_filings':recent_filings,
        'cycle_list':cycle_list
        },
        context_instance=RequestContext(request)
    )
Example #3
0
def committee_cycle(request, cycle, committee_id):
    
    if not is_valid_four_digit_string_cycle(cycle):
        # should redirect, but for now:
        raise Http404
    
    cycle_endpoints = get_cycle_endpoints(int(cycle))
    
    committee_overlay = get_object_or_404(Committee_Overlay, fec_id=committee_id, cycle=int(cycle))

    title = committee_overlay.name + " (%s cycle )" % (cycle)
    
    report_list = Committee_Time_Summary.objects.filter(com_id=committee_id, coverage_from_date__gte=cycle_endpoints['start'], coverage_from_date__lte=cycle_endpoints['end']).order_by('-coverage_through_date')


    end_of_coverage_date = committee_overlay.cash_on_hand_date
    recent_report_list = None

    if end_of_coverage_date:
        relevant_date = max(end_of_coverage_date, cycle_endpoints['start'])
        recent_report_list = new_filing.objects.filter(fec_id=committee_id, coverage_from_date__gte=relevant_date, coverage_to_date__lte=cycle_endpoints['end'], form_type__in=['F5A', 'F5', 'F5N', 'F24', 'F24A', 'F24N', 'F6', 'F6A', 'F6N']).exclude(is_f5_quarterly=True).exclude(is_superceded=True)
    else:
        recent_report_list = new_filing.objects.filter(fec_id=committee_id, coverage_from_date__gte=cycle_endpoints['start'], coverage_to_date__lte=cycle_endpoints['end'],  form_type__in=['F5A', 'F5', 'F5N', 'F24', 'F24A', 'F24N', 'F6', 'F6A', 'F6N']).exclude(is_f5_quarterly=True).exclude(is_superceded=True)

    independent_spending = Pac_Candidate.objects.filter(committee=committee_overlay, total_ind_exp__gte=5000, cycle=cycle).select_related('candidate')

    recent_ies = None
    if committee_overlay.total_indy_expenditures > 5000:
        recent_ies = SkedE.objects.filter(filer_committee_id_number=committee_id, expenditure_amount__gte=5000, superceded_by_amendment=False, expenditure_date_formatted__gte=cycle_endpoints['start'], expenditure_date_formatted__lte=cycle_endpoints['end']).select_related('candidate_checked').order_by('-expenditure_date_formatted')[:10]


    # figure out which cycles are available. The current one goes first, because it is being displayed.     
    cycle_values = Committee_Overlay.objects.filter(fec_id=committee_id).exclude(cycle=cycle)
    cycle_list = [committee_overlay] + list(cycle_values)

    return render_to_response('datapages/committee_cycle.html',
        {
        'title':title,
        'report_list':report_list,
        'recent_report_list':recent_report_list,
        'committee':committee_overlay,
        'independent_spending':independent_spending,
        'recent_ies':recent_ies,
        'cycle_list':cycle_list,
        'cycle':cycle,
        }, 
        context_instance=RequestContext(request)
    )
Example #4
0
def house_race(request, cycle, state, district):
    race = get_object_or_404(District,
                             cycle=cycle,
                             state=state,
                             office_district=district,
                             office='H')
    title = race.race_name()
    candidates = Candidate_Overlay.objects.filter(district=race).filter(
        Q(total_receipts__gte=1000) | Q(total_expenditures__gte=1000)).exclude(
            not_seeking_reelection=True).order_by('-cash_on_hand')
    outside_spenders = Pac_Candidate.objects.filter(
        candidate__in=candidates,
        total_ind_exp__gte=5000).select_related('committee', 'candidate')
    candidate_list = [x.get('fec_id') for x in candidates.values('fec_id')]

    cycle_endpoints = get_cycle_endpoints(int(cycle))
    recent_ies = SkedE.objects.filter(
        candidate_id_checked__in=candidate_list,
        expenditure_amount__gte=1000,
        superceded_by_amendment=False,
        expenditure_date_formatted__gte=cycle_endpoints['start'],
        expenditure_date_formatted__lte=cycle_endpoints['end']).select_related(
            'candidate_checked').order_by('-expenditure_date_formatted')[:5]

    committees = Committee_Overlay.objects.filter(
        curated_candidate__in=candidates)
    committee_ids = [x.get('fec_id') for x in committees.values('fec_id')]
    recent_filings = new_filing.objects.filter(
        fec_id__in=committee_ids, is_superceded=False).exclude(
            coverage_to_date__isnull=True).order_by('-coverage_to_date')[:5]

    # figure out which cycles are available. The current one goes first, because it is being displayed.
    cycle_values = District.objects.filter(state=state,
                                           office_district=district,
                                           office='H').exclude(cycle=cycle)
    cycle_list = [race] + list(cycle_values)

    return render_to_response('datapages/race_detail.html', {
        'candidates': candidates,
        'title': title,
        'race': race,
        'outside_spenders': outside_spenders,
        'recent_ies': recent_ies,
        'recent_filings': recent_filings,
        'cycle_list': cycle_list
    },
                              context_instance=RequestContext(request))
Example #5
0
def candidate_cycle(request, slug, candidate_id, cycle):
    if not is_valid_four_digit_string_cycle(cycle):
        raise Http404
    
    # figure out which cycles are available. The current one goes first, because it is being displayed.     
    cycles = Candidate_Overlay.objects.filter(fec_id=candidate_id)
    
    candidate_overlay = None
    try:
        candidate_overlay = cycles.get(cycle=cycle)
    except Candidate_Overlay.DoesNotExist:
        if len(cycles) > 0:
            candidate_overlay = cycles.order_by('-cycle')[0]
            return redirect("/candidate/%s/%s/%s/" % (candidate_overlay.cycle, slug, candidate_id))
        else:
            raise Http404
    
    other_cycles = cycles.exclude(cycle=cycle)
    cycle_list = [candidate_overlay] + list(other_cycles)
    cycle_endpoints = get_cycle_endpoints(int(cycle))
        
    title = "%s (%s) (%s cycle)" % (candidate_overlay.name, candidate_overlay.party, cycle)

    authorized_committee_list = Authorized_Candidate_Committees.objects.filter(candidate_id=candidate_id, cycle=cycle)
    committee_list = [x.get('committee_id') for x in authorized_committee_list.values('committee_id')]

    report_list = Committee_Time_Summary.objects.filter(com_id__in=committee_list, coverage_from_date__gte=cycle_endpoints['start'], coverage_through_date__lte=cycle_endpoints['end']).order_by('-coverage_through_date')


    end_of_coverage_date = None
    recent_report_list = None
    if report_list:
        end_of_coverage_date = report_list[0].coverage_through_date


    recent_report_total = 0
    if end_of_coverage_date:
        recent_report_list = new_filing.objects.filter(fec_id__in=committee_list, coverage_from_date__gte=end_of_coverage_date, coverage_to_date__lte=cycle_endpoints['end'], form_type__in=['F6', 'F6A', 'F6N']).exclude(is_superceded=True)
        if recent_report_list:
            recent_report_total = recent_report_list.aggregate(spending_total=Sum('tot_raised'))['spending_total']

    else:
        recent_report_list = new_filing.objects.filter(fec_id__in=committee_list, coverage_from_date__gte=cycle_endpoints['start'], coverage_to_date__lte=cycle_endpoints['end'], form_type__in=['F6', 'F6A', 'F6N']).exclude(is_superceded=True)


    # are their outside groups who've spent for/against this candidate? 
    outside_spenders = Pac_Candidate.objects.filter(candidate=candidate_overlay, cycle=cycle,  total_ind_exp__gte=1000).select_related('committee')

    recent_ies = None
    if outside_spenders:
        recent_ies = SkedE.objects.filter(candidate_checked=candidate_overlay, expenditure_amount__gte=5000, superceded_by_amendment=False, expenditure_date_formatted__gte=cycle_endpoints['start'], expenditure_date_formatted__lte=cycle_endpoints['end'] ).select_related('candidate_checked').order_by('-expenditure_date_formatted')[:10]



    return render_to_response('datapages/candidate.html',
        {
        'title':title,
        'report_list':report_list,
        'candidate':candidate_overlay,
        'authorized_committee_list':authorized_committee_list,
        'outside_spenders':outside_spenders,
        'recent_report_list':recent_report_list,
        'recent_ies':recent_ies,
        'recent_report_total':recent_report_total,
        'cycle_list':cycle_list,
        'current_cycle':cycle
        }, 
        context_instance=RequestContext(request)
    )
Example #6
0
def candidate_cycle(request, slug, candidate_id, cycle):
    if not is_valid_four_digit_string_cycle(cycle):
        raise Http404

    # figure out which cycles are available. The current one goes first, because it is being displayed.
    cycles = Candidate_Overlay.objects.filter(fec_id=candidate_id)

    candidate_overlay = None
    try:
        candidate_overlay = cycles.get(cycle=cycle)
    except Candidate_Overlay.DoesNotExist:
        if len(cycles) > 0:
            candidate_overlay = cycles.order_by('-cycle')[0]
            return redirect("/candidate/%s/%s/%s/" %
                            (candidate_overlay.cycle, slug, candidate_id))
        else:
            raise Http404

    other_cycles = cycles.exclude(cycle=cycle)
    cycle_list = [candidate_overlay] + list(other_cycles)
    cycle_endpoints = get_cycle_endpoints(int(cycle))

    title = "%s (%s) (%s cycle)" % (candidate_overlay.name,
                                    candidate_overlay.party, cycle)

    authorized_committee_list = Authorized_Candidate_Committees.objects.filter(
        candidate_id=candidate_id, cycle=cycle)
    committee_list = [
        x.get('committee_id')
        for x in authorized_committee_list.values('committee_id')
    ]

    report_list = Committee_Time_Summary.objects.filter(
        com_id__in=committee_list,
        coverage_from_date__gte=cycle_endpoints['start'],
        coverage_through_date__lte=cycle_endpoints['end']).order_by(
            '-coverage_through_date')

    end_of_coverage_date = None
    recent_report_list = None
    if report_list:
        end_of_coverage_date = report_list[0].coverage_through_date

    recent_report_total = 0
    if end_of_coverage_date:
        recent_report_list = new_filing.objects.filter(
            fec_id__in=committee_list,
            coverage_from_date__gte=end_of_coverage_date,
            coverage_to_date__lte=cycle_endpoints['end'],
            form_type__in=['F6', 'F6A', 'F6N']).exclude(is_superceded=True)
        if recent_report_list:
            recent_report_total = recent_report_list.aggregate(
                spending_total=Sum('tot_raised'))['spending_total']

    else:
        recent_report_list = new_filing.objects.filter(
            fec_id__in=committee_list,
            coverage_from_date__gte=cycle_endpoints['start'],
            coverage_to_date__lte=cycle_endpoints['end'],
            form_type__in=['F6', 'F6A', 'F6N']).exclude(is_superceded=True)

    # are their outside groups who've spent for/against this candidate?
    outside_spenders = Pac_Candidate.objects.filter(
        candidate=candidate_overlay, cycle=cycle,
        total_ind_exp__gte=1000).select_related('committee')

    recent_ies = None
    if outside_spenders:
        recent_ies = SkedE.objects.filter(
            candidate_checked=candidate_overlay,
            expenditure_amount__gte=5000,
            superceded_by_amendment=False,
            expenditure_date_formatted__gte=cycle_endpoints['start'],
            expenditure_date_formatted__lte=cycle_endpoints['end']
        ).select_related('candidate_checked').order_by(
            '-expenditure_date_formatted')[:10]

    return render_to_response('datapages/candidate.html', {
        'title': title,
        'report_list': report_list,
        'candidate': candidate_overlay,
        'authorized_committee_list': authorized_committee_list,
        'outside_spenders': outside_spenders,
        'recent_report_list': recent_report_list,
        'recent_ies': recent_ies,
        'recent_report_total': recent_report_total,
        'cycle_list': cycle_list,
        'current_cycle': cycle
    },
                              context_instance=RequestContext(request))
Example #7
0
def committee_cycle(request, cycle, committee_id):

    if not is_valid_four_digit_string_cycle(cycle):
        # should redirect, but for now:
        raise Http404

    cycle_endpoints = get_cycle_endpoints(int(cycle))

    committee_overlay = get_object_or_404(Committee_Overlay,
                                          fec_id=committee_id,
                                          cycle=int(cycle))

    title = committee_overlay.name + " (%s cycle )" % (cycle)

    report_list = Committee_Time_Summary.objects.filter(
        com_id=committee_id,
        coverage_from_date__gte=cycle_endpoints['start'],
        coverage_from_date__lte=cycle_endpoints['end']).order_by(
            '-coverage_through_date')

    end_of_coverage_date = committee_overlay.cash_on_hand_date
    recent_report_list = None

    if end_of_coverage_date:
        relevant_date = max(end_of_coverage_date, cycle_endpoints['start'])
        recent_report_list = new_filing.objects.filter(
            fec_id=committee_id,
            coverage_from_date__gte=relevant_date,
            coverage_to_date__lte=cycle_endpoints['end'],
            form_type__in=[
                'F5A', 'F5', 'F5N', 'F24', 'F24A', 'F24N', 'F6', 'F6A', 'F6N'
            ]).exclude(is_f5_quarterly=True).exclude(is_superceded=True)
    else:
        recent_report_list = new_filing.objects.filter(
            fec_id=committee_id,
            coverage_from_date__gte=cycle_endpoints['start'],
            coverage_to_date__lte=cycle_endpoints['end'],
            form_type__in=[
                'F5A', 'F5', 'F5N', 'F24', 'F24A', 'F24N', 'F6', 'F6A', 'F6N'
            ]).exclude(is_f5_quarterly=True).exclude(is_superceded=True)

    independent_spending = Pac_Candidate.objects.filter(
        committee=committee_overlay, total_ind_exp__gte=5000,
        cycle=cycle).select_related('candidate')

    recent_ies = None
    if committee_overlay.total_indy_expenditures > 5000:
        recent_ies = SkedE.objects.filter(
            filer_committee_id_number=committee_id,
            expenditure_amount__gte=5000,
            superceded_by_amendment=False,
            expenditure_date_formatted__gte=cycle_endpoints['start'],
            expenditure_date_formatted__lte=cycle_endpoints['end']
        ).select_related('candidate_checked').order_by(
            '-expenditure_date_formatted')[:10]

    # figure out which cycles are available. The current one goes first, because it is being displayed.
    cycle_values = Committee_Overlay.objects.filter(
        fec_id=committee_id).exclude(cycle=cycle)
    cycle_list = [committee_overlay] + list(cycle_values)

    return render_to_response('datapages/committee_cycle.html', {
        'title': title,
        'report_list': report_list,
        'recent_report_list': recent_report_list,
        'committee': committee_overlay,
        'independent_spending': independent_spending,
        'recent_ies': recent_ies,
        'cycle_list': cycle_list,
        'cycle': cycle,
    },
                              context_instance=RequestContext(request))