## $Id: utils.py 13278 2015-10-02 09:34:41Z henrik $
##
## Copyright (C) 2012 Uli Fouquet & Henrik Bettermann
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##
"""Customize general helper utilities for Kofa.
"""
from kofacustom.nigeria.utils.utils import NigeriaKofaUtils

class CustomKofaUtils(NigeriaKofaUtils):
    """A collection of methods subject to customization.
    """

    SYSTEM_MAX_LOAD = {
        'swap-mem': None,
        'virt-mem': 80.0,
        'cpu-load': 100.0,
        }

    PREFERRED_LANGUAGES_DICT = {
        }

    APP_CATS_DICT = {
        'basic': 'Basic',
        'ndft': 'National Diploma Full-Time Programmes',
        'ndpt': 'National Diploma Part-Time Programmes',
        'ndwe': 'National Diploma Weekend Programmes',
        'hndft': 'Higher National Diploma Full-Time Programmes',
        'hndpt': 'Higher National Diploma Part-Time Programmes',
        'hndwe': 'Higher National Diploma Weekend Programmes',
        'pgd': 'Postgraduate Diploma Programmes',
        'rmd': 'Remedial Programmes',
        'no': 'no application',
        }

    STUDY_MODES_DICT = {
        'nd_ft': 'National Diploma Full-Time',
        'nd_pt': 'National Diploma Part-Time',
        'nd_we': 'National Diploma Weekend',
        'hnd_ft': 'Higher National Diploma Full-Time',
        'hnd_pt': 'Higher National Diploma Part-Time',
        'hnd_we': 'Higher National Diploma Weekend',
        'pgd_ft': 'Postgraduate Diploma Full-Time',
        'pgd_pt': 'Postgraduate Diploma Part-Time',
        'prend': 'Pre-ND',
        'rmd': 'Remedial',
        }

    PAYMENT_CATEGORIES = {
        'schoolfee': 'School Fee',
        'carryover1': '1 CarryOver',
        'carryover2': '2 CarryOvers',
        'carryover3': '3 CarryOvers',
        'clearance': 'Acceptance',
        'bed_allocation': 'Bed Allocation',
        'hostel_maintenance': 'Hostel Maintenance',
        'application': 'Application',
        'certificate': 'ND Certificate',
        'hnd_certificate': 'HND Certificate',
        'pgd_certificate': 'PGD Certificate',
        'state_result': 'ND Statement of Result',
        'hnd_state_result': 'HND Statement of Result',
        'pgd_state_result': 'PGD Statement of Result',
        'transcript_local': 'ND Transcript (local)',
        'hnd_transcript_local': 'HND Transcript (local)',
        'pgd_transcript_local': 'PGD Transcript (local)',
        'transcript_foreign': 'ND Transcript (foreign)',
        'hnd_transcript_foreign': 'HND Transcript (foreign)',
        'pgd_transcript_foreign': 'PGD Transcript (foreign)',
        'ver_result': 'Verification of Result',
        'change_course': 'Change of Course',
        'change_inst': 'Change of Institute',
        'jamb_reject': 'JAMB Rejection Form',
        'cert_of_cert': 'Certification of Certificate',
        'ref_let': 'Recommendation/Reference Letter',
        'proc_cert': 'Processing of Certificate by Proxy',
        'loss_idcard': 'Loss of ID Card (student)',
        'staff_loss_idcard': 'Loss of ID Card (staff)',
        'loss_examcard': 'Loss of Exam Card',
        'loss_result': 'Loss of Result',
        'loss_receipt': 'Loss of Receipt',
        'loss_clearance': 'Loss of Clearance',
        'conv_brochure': 'ND Convocation Brochure',
        'hnd_conv_brochure': 'HND Convocation Brochure',
        'pgd_conv_brochure': 'PGD Convocation Brochure',
        'log_book': 'Log Book',
        'jamb_regularization': 'Jamb Regularization',
        'utme_registration': 'UTME Registration',
        'utme_cbt': 'UTME CBT',
        'nysc_id_card': 'NYSC ID Card'
        }

    SELECTABLE_PAYMENT_CATEGORIES = {
        'schoolfee': 'School Fee',
        'carryover1': 'One CarryOver',
        'carryover2': 'Two CarryOvers',
        'carryover3': 'Three CarryOvers',
        'hostel_maintenance': 'Hostel Maintenance',
        'certificate': 'ND Certificate',
        'hnd_certificate': 'HND Certificate',
        'pgd_certificate': 'PGD Certificate',
        'state_result': 'ND Statement of Result',
        'hnd_state_result': 'HND Statement of Result',
        'pgd_state_result': 'PGD Statement of Result',
        'transcript_local': 'ND Transcript (local)',
        'hnd_transcript_local': 'HND Transcript (local)',
        'pgd_transcript_local': 'PGD Transcript (local)',
        'transcript_foreign': 'ND Transcript (foreign)',
        'hnd_transcript_foreign': 'HND Transcript (foreign)',
        'pgd_transcript_foreign': 'PGD Transcript (foreign)',
        'ver_result': 'Verification of Result',
        'change_course': 'Change of Course',
        'change_inst': 'Change of Institute',
        'jamb_reject': 'JAMB Rejection Form',
        'cert_of_cert': 'Certification of Certificate',
        'ref_let': 'Recommendation/Reference Letter',
        'proc_cert': 'Processing of Certificate by Proxy',
        'loss_idcard': 'Loss of ID Card (student)',
        'staff_loss_idcard': 'Loss of ID Card (staff)',
        'loss_examcard': 'Loss of Exam Card',
        'loss_result': 'Loss of Result',
        'loss_receipt': 'Loss of Receipt',
        'loss_clearance': 'Loss of Clearance',
        'conv_brochure': 'ND Convocation Brochure',
        'hnd_conv_brochure': 'HND Convocation Brochure',
        'pgd_conv_brochure': 'PGD Convocation Brochure',
        'log_book': 'Log Book',
        'jamb_regularization': 'Jamb Regularization',
        'utme_registration': 'UTME Registration',
        'utme_cbt': 'UTME CBT',
        'nysc_id_card': 'NYSC ID Card'
        }

    DISABLE_PAYMENT_GROUP_DICT = {
        'sf_all': 'School Fee - All Students',
        'sf_non_pg': 'School Fee - Non-PG Students',
        }

    SPECIAL_HANDLING_DICT = {
        'regular': 'Regular Hostel',
        'blocked': 'Blocked Hostel',
        'pg': 'Postgraduate Hostel',
        'iot': 'IOT Hostel'
        }

    SPECIAL_APP_DICT = {
        'certificate': 'ND Certificate',
        'hnd_certificate': 'HND Certificate',
        'pgd_certificate': 'PGD Certificate',
        'state_result': 'ND Statement of Result',
        'hnd_state_result': 'HND Statement of Result',
        'pgd_state_result': 'PGD Statement of Result',
        'transcript_local': 'ND Transcript (local)',
        'hnd_transcript_local': 'HND Transcript (local)',
        'pgd_transcript_local': 'PGD Transcript (local)',
        'transcript_foreign': 'ND Transcript (foreign)',
        'hnd_transcript_foreign': 'HND Transcript (foreign)',
        'pgd_transcript_foreign': 'PGD Transcript (foreign)',
        'ver_result': 'Verification of Result Payment',
        'change_course': 'Change of Course Payment',
        'change_inst': 'Change of Institute Payment',
        'jamb_reject': 'JAMB Rejection Form Payment',
        'cert_of_cert': 'Certification of Certificate Payment',
        'ref_let': 'Recommendation/Reference Letter Payment',
        'proc_cert': 'Processing of Certificate by Proxy Payment',
        'loss_idcard': 'Loss of ID Card (student)',
        'staff_loss_idcard': 'Loss of ID Card (staff)',
        'loss_examcard': 'Loss of Exam Card Payment',
        'loss_result': 'Loss of Result Payment',
        'loss_receipt': 'Loss of Receipt Payment',
        'loss_clearance': 'Loss of Clearance Payment',
        'conv_brochure': 'ND Convocation Brochure',
        'hnd_conv_brochure': 'HND Convocation Brochure',
        'pgd_conv_brochure': 'PGD Convocation Brochure',
        'log_book': 'Log Book',
        'jamb_regularization': 'Jamb Regularization',
        'utme_registration': 'UTME Registration',
        'utme_cbt': 'UTME CBT',
        'nysc_id_card': 'NYSC ID Card'
        }