## $Id: utils.py 11587 2014-04-11 17:05:33Z 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. """ import os import pytz from waeup.kofa.utils.utils import KofaUtils, sorted_phone_prefixes from kofacustom.nigeria.interfaces import MessageFactory as _ INT_PHONE_PREFIXES = [ (1, _('Nigeria'), '234'), (99, _('Germany'), '49'), (99, _('United States'), '1'), (99, _('Niger'), '227'), (99, _('Benin'), '229'), (99, _('Cameroon'), '237'), (99, _('United Kingdom'), '44'), (99, _('France'), '33'), ] class NigeriaKofaUtils(KofaUtils): """A collection of methods subject to customization. """ PORTAL_LANGUAGE = 'en' PREFERRED_LANGUAGES_DICT = { 'en':(1, u'English'), 'fr':(2, u'Français'), 'de':(3, u'Deutsch'), 'ha':(4, u'Hausa'), 'yo':(5, u'Yoruba'), 'ig':(6, u'Igbo'), } #: A function to return @classmethod def sorted_phone_prefixes(cls, data=INT_PHONE_PREFIXES, request=None): return sorted_phone_prefixes(data, request) EXAM_SUBJECTS_DICT = { 'accounts': 'Accounts', 'add_general_science': 'Add General Science', 'add_maths': 'Add Maths', 'adv_elect_install_maint': 'Adv. Electrical Installation and Maintenance', 'agricultural_science': 'Agricultural Science', 'applied_electricity': 'Applied Electricity', 'arabi': 'Arabic', 'arithmetics': 'Arithmetics', 'art': 'Art', 'auto_mechanics': 'Auto Mechanics', 'awaiting_results': 'Awaiting Results', 'basic_electricity': 'Basic Electricity', 'bible_knowledge': 'Bible Knowledge', 'biology': 'Biology', 'biology_alt_syl': 'Biology (Alt.Syl)', 'book_keeping': 'Book Keeping', 'building_construction': 'Building Construction', 'business_management': 'Business Management', 'business_construction_management': 'Business/Construction Management (Adv)', 'chemistry': 'Chemistry', 'chemistry_alt_syl': 'Chemistry (Alt.Syl)', 'christian_religious_studies': 'Christian Religious Studies', 'class_teaching': 'Class Teaching', 'clerical_office_duties': 'Clerical Office Duties', 'clothing_and_textiles': 'Clothing and Textiles', 'commerce': 'Commerce', 'economics': 'Economics', 'education': 'Education', 'efik': 'Efik', 'electronics': 'Electronics', 'elementary_surveying': 'Elementary Surveying', 'english_language': 'English Language', 'engineering_science': 'Engineering Science', 'financial_accounting': 'Financial Accounting', 'food_and_nutrition': 'Food and Nutrition', 'french': 'French', 'further_mathematics': 'Further Mathematics', 'general_science': 'General Science', 'geography': 'Geography', 'german': 'German', 'government': 'Government', 'hausa': 'Hausa', 'hausa_literature': 'Hausa Literature', 'health_science': 'Health Science', 'history': 'History', 'home_management': 'Home Management', 'human_biology': 'Human Biology', 'industrial_electrical_installation': 'Industrial Elect Installation (Adv)', 'intergrated_science': 'Intergrated Science', 'islamic_studies': 'Islamic Studies', 'literature_in_english': 'Literature in English', 'literature_in_nigerian_languages': 'Literature in Nigerian Languages', 'igbo': 'Igbo', 'igbo_literature': 'Igbo Literature', 'yoruba': 'Yoruba', 'yoruba_literature': 'Yoruba Literature', 'management_in_living': 'Management in Living', 'mathematics': 'Mathematics', 'metalwork': 'Metalwork', 'music': 'Music', 'nigerian_language': 'Nigerian Language', 'office_practice': 'Office Practice', 'physical_education': 'Physical Education', 'physical_health_education': 'Physical and Health Education', 'physics': 'Physics', 'physics_alt_syl': 'Physics (Alt.Syl)', 'principles_and_practice_of_education': 'Principles and Practice of Education', 'principles_of_cost_accounting': 'Principles of Cost Accounting', 'rural_science': 'Rural Science', 'science': 'Science', 'secretarial_duties': 'Secretarial Duties', 'shorthand': 'Shorthand', 'sierra_leone_studies': 'Sierra Leone Studies', 'sierra_leone_languages': 'Sierra Leone Languages', 'social_studies': 'Social Studies', 'statistics': 'Statistics', 'teaching_practice': 'Teaching Practice', 'technical_drawing': 'Technical Drawing', 'typewriting': 'Typewriting', 'visual_art': 'Visual Art', 'woodwork': 'Woodwork', 'winding_elect_machines': 'Winding of Elect Machines and Elect Eng Sc', 'first_written': 'First Written', 'second_written': 'Second Written', 'pract_tests': 'Practical Tests', } EXAM_GRADES = ( ('A1', 'Excellent (A1)'), ('A2', 'Very Good (A2)'), ('A3', 'Good (A3)'), ('B2', 'Very Good (B2)'), ('B3', 'Good (B3)'), ('C4', 'Credit (C4)'), ('C5', 'Credit (C5)'), ('C6', 'Credit (C6)'), ('A', 'Pass (A)'), ('B', 'Pass (B)'), ('C', 'Pass (C)'), ('U', 'Pass (U)'), ('D7', 'Pass (D7)'), ('P7', 'Pass (P7)'), ('P8', 'Pass (P8)'), ('E8', 'Pass (E8)'), ('F9', 'Fail (F9)'), ('Aa', 'A (a)'), ('Bb', 'B (b)'), ('Cc', 'C (c)'), ('Dd', 'D (d)'), ('Ee', 'E (e)'), ('Ff', 'F (f)'), ('Gg', 'G (g)'), ('credit-1', 'Credit-1'), ('credit-2', 'Credit-2'), ('dist', 'Distinction'), ('pass', 'Pass'), ('AR', 'Awaiting Results'), ) INST_TYPES_DICT = { 'none': '', 'faculty': 'Faculty of', 'department': 'Department of', 'school': 'School of', 'office': 'Office for', 'centre': 'Centre for', 'institute': 'Institute of', 'school_for': 'School for', 'college': 'College of', 'directorate': 'Directorate of', } STUDY_MODES_DICT = { 'ume_ft': 'UME Full Time', 'ug_ft': 'Undergraduate Full Time', 'ug_pt': 'Undergraduate Part Time', 'dp_pt': 'Diploma Part Time', 'ct_ft': 'Certificate Full Time', 'dp_ft': 'Diploma Full Time', 'de_ft': 'Direct Entry Full Time', 'de_pt': 'Direct Entry Part Time', 'nd_ft': 'National Diploma Full Time', 'nd_pt': 'National Diploma Part Time', 'hnd_ft': 'Higher National Diploma Full Time', 'hnd_pt': 'Higher National Diploma Part Time', 'pg_ft': 'Postgraduate Full Time', 'pg_pt': 'Postgraduate Part Time', 'pgd_ft': 'Postgraduate Diploma Full Time', 'pgd_pt': 'Postgraduate Diploma Part Time', 'special_pg_pt': 'Special Postgraduate Part Time', 'nce_ft': 'NCE Full Time', 'nce_pt': 'NCE Part Time', 'ug_sw': 'Undergraduate Sandwich', 'nce_sw': 'NCE Sandwich', 'jm_ft': 'Joint Matriculation Full Time', 'ph_ft': 'Post Higher Education Full Time', 'transfer_pt': 'Transfer Part Time', 'transfer_ft': 'Transfer Full Time', 'ct_pt': 'Certificate Part Time', 'rmd_ft': 'Remedial with deficiencies', 'rm_ft': 'Remedial', 'transfer': 'Transfer', 'prence': 'Pre-NCE', 'prend': 'Pre-ND', 'pce': 'PCE', 'pd_ft': 'Professional Diploma in Education', 'found': 'Foundation', 'no': 'no application', } APP_CATS_DICT = { 'basic': 'PUTME, PUDE, PCE, PRENCE', 'no': 'No Application', 'pg_ft': 'Postgraduate Full-Time', 'pg_pt': 'Postgraduate Part-Time', 'sandwich': 'Sandwich', 'cest': 'Part-Time, Diploma, Certificate', } @property def tzinfo(self): return pytz.timezone('Africa/Lagos')