Example #1
0
def view_master_plan_manage_kpi(request, master_plan_ref_no, kpi_year):
    master_plan = get_object_or_404(MasterPlan, ref_no=master_plan_ref_no)
    
    if not permission.access_obj(request.user, 'master_plan manage', master_plan):
        return access_denied(request)
    
    if kpi_year:
        year_number = int(kpi_year)
    else:
        year_number = utilities.master_plan_current_year_number()
    
    kpi_categories = []
    for dict in DomainKPI.objects.filter(master_plan=master_plan, year=year_number).values('category').distinct():
        try:
            kpi_category = DomainKPICategory.objects.get(pk=dict['category'])
        except DomainKPICategory.DoesNotExist:
            pass
        else:
            kpis = DomainKPI.objects.filter(master_plan=master_plan, year=year_number, category=kpi_category).order_by('ref_no')
            
            for kpi in kpis:
                kpi.removable = DomainKPISchedule.objects.filter(kpi=kpi).count() == 0
            
            kpi_category.kpis = kpis
            kpi_categories.append(kpi_category)
    
    print year_number
    no_category_kpis = DomainKPI.objects.filter(master_plan=master_plan, year=year_number, category=None)
    print no_category_kpis
    
    for kpi in no_category_kpis:
        kpi.removable = DomainKPISchedule.objects.filter(kpi=kpi).count() == 0
    
    return render_page_response(request, 'kpi', 'page_sector/manage_master_plan/manage_kpi.html', {'master_plan':master_plan, 'kpi_categories':kpi_categories, 'no_category_kpis':no_category_kpis, 'kpi_year':year_number})
Example #2
0
def view_program_reports(request, program_id, year_number):
    program = get_object_or_404(Program, id=program_id)

    if year_number:
        year_number = int(year_number) - 543
    else:
        year_number = utilities.master_plan_current_year_number()

    year_choices = []
    for i in range(1, -3, -1):
        year_choices.append(year_number + i)

    (start_date, end_date) = utilities.master_plan_year_span(year_number)

    if permission.access_obj(request.user, 'program report submission warning',
                             program):
        (submissions, late_submissions, rejected_submissions
         ) = report_functions.get_reports_for_program_reports_page(
             program, start_date, end_date, include_warning=True)
    else:
        (submissions, late_submissions, rejected_submissions
         ) = report_functions.get_reports_for_program_reports_page(
             program, start_date, end_date, include_warning=False)

    return render_page_response(
        request, 'reports', 'page_program/program_reports.html', {
            'program': program,
            'submissions': submissions,
            'late_submissions': late_submissions,
            'rejected_submissions': rejected_submissions,
            'start_date': start_date,
            'end_date': end_date,
            'year_number': year_number,
            'year_choices': year_choices
        })
Example #3
0
def view_sector_kpi(request, sector_ref_no):
    sector = get_object_or_404(Sector, ref_no=sector_ref_no)
    sector_master_plans = SectorMasterPlan.objects.filter(sector=sector)
    master_plans = []
    for sm in sector_master_plans:
        master_plans.append(sm.master_plan)
    quarter_year = utilities.master_plan_current_year_number()
    ctx = {'sector': sector, 'master_plans': master_plans, 'quarter_year': quarter_year}
    return render_page_response(request, 'kpi', 'page_sector/sector_kpi.html', ctx)
Example #4
0
def view_sector_kpi(request, sector_ref_no):
    sector = get_object_or_404(Sector, ref_no=sector_ref_no)
    sector_master_plans = SectorMasterPlan.objects.filter(sector=sector)
    master_plans = []
    for sm in sector_master_plans:
        master_plans.append(sm.master_plan)
    quarter_year = utilities.master_plan_current_year_number()
    ctx = {
        'sector': sector,
        'master_plans': master_plans,
        'quarter_year': quarter_year
    }
    return render_page_response(request, 'kpi', 'page_sector/sector_kpi.html',
                                ctx)
Example #5
0
def view_master_plan_manage_kpi(request, master_plan_ref_no, kpi_year):
    master_plan = get_object_or_404(MasterPlan, ref_no=master_plan_ref_no)

    if not permission.access_obj(request.user, 'master_plan manage',
                                 master_plan):
        return access_denied(request)

    if kpi_year:
        year_number = int(kpi_year)
    else:
        year_number = utilities.master_plan_current_year_number()

    kpi_categories = []
    for dict in DomainKPI.objects.filter(
            master_plan=master_plan,
            year=year_number).values('category').distinct():
        try:
            kpi_category = DomainKPICategory.objects.get(pk=dict['category'])
        except DomainKPICategory.DoesNotExist:
            pass
        else:
            kpis = DomainKPI.objects.filter(
                master_plan=master_plan,
                year=year_number,
                category=kpi_category).order_by('ref_no')

            for kpi in kpis:
                kpi.removable = DomainKPISchedule.objects.filter(
                    kpi=kpi).count() == 0

            kpi_category.kpis = kpis
            kpi_categories.append(kpi_category)

    print year_number
    no_category_kpis = DomainKPI.objects.filter(master_plan=master_plan,
                                                year=year_number,
                                                category=None)
    print no_category_kpis

    for kpi in no_category_kpis:
        kpi.removable = DomainKPISchedule.objects.filter(kpi=kpi).count() == 0

    return render_page_response(
        request, 'kpi', 'page_sector/manage_master_plan/manage_kpi.html', {
            'master_plan': master_plan,
            'kpi_categories': kpi_categories,
            'no_category_kpis': no_category_kpis,
            'kpi_year': year_number
        })
Example #6
0
def view_master_plan_kpi(request, master_plan_ref_no):
    master_plan = get_object_or_404(MasterPlan, ref_no=master_plan_ref_no)
    quarter_year = utilities.master_plan_current_year_number()
    
    plans = Plan.objects.filter(master_plan=master_plan)
    for plan in plans:
        programs = Program.objects.filter(plan=plan).order_by('ref_no')
        for program in programs:
            kpi_schedules = {}
            kpi_schedules['1'] = DomainKPISchedule.objects.filter(program=program, quarter=1, quarter_year=quarter_year).order_by('kpi__ref_no')
            kpi_schedules['2'] = DomainKPISchedule.objects.filter(program=program, quarter=2, quarter_year=quarter_year).order_by('kpi__ref_no')
            kpi_schedules['3'] = DomainKPISchedule.objects.filter(program=program, quarter=3, quarter_year=quarter_year).order_by('kpi__ref_no')
            kpi_schedules['4'] = DomainKPISchedule.objects.filter(program=program, quarter=4, quarter_year=quarter_year).order_by('kpi__ref_no')
            program.kpi_schedules = kpi_schedules
            
        plan.programs = programs

    return render_page_response(request, 'kpi', 'page_sector/master_plan_kpi.html', {'master_plan':master_plan, 'plans':plans, 'quarter_year':quarter_year})
Example #7
0
def view_program_reports(request, program_id, year_number):
    program = get_object_or_404(Program, id=program_id)
    
    if year_number:
        year_number = int(year_number) - 543
    else:
        year_number = utilities.master_plan_current_year_number()
    
    year_choices = []
    for i in range(1, -3, -1):
        year_choices.append(year_number + i)
    
    (start_date, end_date) = utilities.master_plan_year_span(year_number)
    
    if permission.access_obj(request.user, 'program report submission warning', program):
        (submissions, late_submissions, rejected_submissions) = report_functions.get_reports_for_program_reports_page(program, start_date, end_date, include_warning=True)
    else:
        (submissions, late_submissions, rejected_submissions) = report_functions.get_reports_for_program_reports_page(program, start_date, end_date, include_warning=False)
    
    return render_page_response(request, 'reports', 'page_program/program_reports.html', {'program':program, 'submissions':submissions, 'late_submissions':late_submissions, 'rejected_submissions':rejected_submissions, 'start_date':start_date, 'end_date':end_date, 'year_number':year_number, 'year_choices':year_choices})
Example #8
0
def view_sector_kpi(request, sector_ref_no):
    sector = get_object_or_404(Sector, ref_no=sector_ref_no)
    sector_master_plans = SectorMasterPlan.objects.filter(sector=sector)
    quarter_year = utilities.master_plan_current_year_number()
    
    master_plans = []
    for smp in sector_master_plans:
        master_plan = smp.master_plan
        plans = Plan.objects.filter(master_plan=smp.master_plan)
        for plan in plans:
            programs = Program.objects.filter(plan=plan).order_by('ref_no')
            for program in programs:
                kpi_schedules = {}
                kpi_schedules['1'] = DomainKPISchedule.objects.filter(program=program, quarter=1, quarter_year=quarter_year).order_by('kpi__ref_no')
                kpi_schedules['2'] = DomainKPISchedule.objects.filter(program=program, quarter=2, quarter_year=quarter_year).order_by('kpi__ref_no')
                kpi_schedules['3'] = DomainKPISchedule.objects.filter(program=program, quarter=3, quarter_year=quarter_year).order_by('kpi__ref_no')
                kpi_schedules['4'] = DomainKPISchedule.objects.filter(program=program, quarter=4, quarter_year=quarter_year).order_by('kpi__ref_no')
                program.kpi_schedules = kpi_schedules
                
            plan.programs = programs
        master_plan.plans = plans
        master_plans.append(master_plan)
    
    return render_page_response(request, 'kpi', 'page_sector/sector_kpi.html', {'sector':sector, 'master_plans':master_plans, 'quarter_year':quarter_year})
Example #9
0
def view_master_plan_kpi(request, master_plan_ref_no):
    master_plan = get_object_or_404(MasterPlan, ref_no=master_plan_ref_no)
    quarter_year = utilities.master_plan_current_year_number()
    ctx = {'master_plan': master_plan, 'quarter_year': quarter_year}
    return render_page_response(request, 'kpi', 'page_sector/master_plan_kpi.html', ctx)
Example #10
0
def view_master_plan_kpi(request, master_plan_ref_no):
    master_plan = get_object_or_404(MasterPlan, ref_no=master_plan_ref_no)
    quarter_year = utilities.master_plan_current_year_number()
    ctx = {'master_plan': master_plan, 'quarter_year': quarter_year}
    return render_page_response(request, 'kpi',
                                'page_sector/master_plan_kpi.html', ctx)