--- a/app/projrev/models.py Thu Aug 06 18:49:06 2009 +0530
+++ b/app/projrev/models.py Mon Aug 10 16:38:13 2009 +0530
@@ -12,50 +12,697 @@
from django.contrib.auth.models import User
+def sort_dict(d):
+ """Function to sort dictionary elements.
+ """
+
+ items = [(v, k) for k, v in d.items()]
+ items.sort()
+ return [(k, v) for v, k in items]
+
+
class Project(models.Model):
"""Model class for NME funded projects.
"""
- LINE_ITEM_CHOICES = [('ME', 'Mechanical'),
- ('CE', 'Chemical'),
- ('EE', 'Electrical'),
- ('AE', 'Aero Space'),
- ('CS', 'Computer Science'),
- ('IT', 'Information Technology'),
- ]
+ LINE_ITEM_CHOICES = {
+ "NP": "NPTEL phase II / III",
+ "PG": "PG Classes",
+ "UG": "UG Classes",
+ "VC": "Video content digitization, conversion, chunking and dubbing CEC / IGNOU / NCERT / SIET / OTHERS",
+ "PE": "Provision of e-books and e-journals free to the learners",
+ "SQ": "Standardisation of quality assurance of contents & certification / automation of certification",
+ "DS": "Developing suitable pedagogical methods for various classes, intellectual calibers and research in e-learning",
+ "DL": "Development of language converter and translation tool kit",
+ "DR": "Development and realization of Virtual Reality Laboratories and supporting facilities for e-learning",
+ "DC": "Development of Certification & Testing Modules for Virtual Technological Universities & creation of VTU, multi media research and international programmes",
+ "ED": "Experimentation and Development of ultra low cost access devices for wider coverage of learners & their field trials",
+ "TT": "Talk to a teacher to provide a substitute for coaching for the economically poor students",
+ "DH": "Development of software controlled hardware programming for robotics other crucial areas",
+ "AD": "Adaptation & deployment of open source simulation packages equivalent to MATLAB, ORCAD etc.",
+ "DU": "Development of unified ERP system for Educational Institutions",
+ "PT": "Publicity & training of motivators & trainers to ensure full utilization of the systems by institutions & students. Teacher Empowerment 'B'",
+ "CC": "Conversion of available content in various regional languages",
+ "DV": "Development of Vocational Educational modules and use of haptic devices for education & training",
+ }
+
+ STATE_CHOICES = {
+ "AN": "Andaman & Nicobar",
+ "DN": "Dadra and Nagar Haveli",
+ "DL": "Delhi",
+ "WB": "West Bengal",
+ "HR": "Haryana",
+ "HP": "Himachal Pradesh",
+ "UP": "Uttar Pradesh",
+ "JH": "Jharkhand",
+ "BR": "Bihar",
+ "JK": "Jammu & Kashmir",
+ "TN": "Tamil Nadu",
+ "LD": "Lakshadweep",
+ "NL": "Nagaland",
+ "PY": "Pondicherry",
+ "TR": "Tripura",
+ "PB": "Punjab",
+ "DD": "Daman & Diu",
+ "RJ": "Rajasthan",
+ "CH": "Chandigarh",
+ "CG": "Chattisgarh",
+ "AP": "Andhra Pradesh",
+ "AS": "Assam",
+ "AR": "Arunachal Pradesh",
+ "GA": "Goa",
+ "GJ": "Gujarat",
+ "KA": "Karnataka",
+ "UA": "Uttarakhand",
+ "ML": "Meghalaya",
+ "MN": "Manipur",
+ "MH": "Maharashtra",
+ "KL": "Kerala",
+ "SK": "Sikkim",
+ "MP": "Madhya Pradesh",
+ "OR": "Orissa",
+ "MZ": "Mizoram"
+ }
- STATE_CHOICES = [('MH', 'Maharashtra'),
- ('KA', 'Karnataka'),
- ('KL', 'Kerala'),
- ('TN', 'Tamil Nadu'),
- ('AP', 'Andra Pradesh'),
- ]
-
- DISTRICT_CHOICES = [('AD', 'Adilabad'),
- ('RT', 'Ratnagiri'),
- ('MU', 'Mumbai suburban'),
- ('PU', 'Pune'),
- ('PL', 'Palakkad'),
- ('BN', 'Bangalore Urban district'),
- ('CK', 'Chikmagalur District'),
- ]
+ DISTRICT_CHOICES = {
+ "JHES": "Purba Singhbhum",
+ "TNRA": "Ramanathapuram",
+ "PBAM": "Amritsar",
+ "ORMY": "Mayurbhanj",
+ "UPMG": "Maharajganj",
+ "ORML": "Malkangiri",
+ "MZAI": "Aizawl",
+ "NLKO": "Kohima",
+ "PBFR": "Faridkot",
+ "ARPA": "Papum Pare",
+ "SKES": "East Sikkim",
+ "UAPI": "Pithoragharh",
+ "MHNS": "Nashik",
+ "PBFI": "Firozpur",
+ "KAKD": "Kodagu",
+ "APRA": "Rangareddi",
+ "BRSO": "Sheohar",
+ "UPSV": "Shravasti",
+ "KAKL": "Kolar District",
+ "PYPO": "Puducherry",
+ "UPSU": "Sultanpur",
+ "UPSR": "Sant Ravidas Nagar",
+ "MHRT": "Ratnagiri",
+ "UPSN": "Siddharthnagar",
+ "PBHO": "Hoshiarpur",
+ "UPSJ": "Shahjahanpur",
+ "KAKP": "Koppal District",
+ "UPSI": "Sitapur",
+ "BRSP": "Sheikhpura",
+ "BRSR": "Saran",
+ "BRSU": "Supaul",
+ "BRST": "Sitamarhi",
+ "BRSW": "Siwan",
+ "UPSA": "Saharanpur",
+ "KADH": "Dharwad District",
+ "JHLO": "Lohardaga",
+ "ASSO": "Sonitpur",
+ "KADK": "Dakshina Kannada",
+ "ASSI": "Sibsagar",
+ "KADA": "Davanagere District",
+ "ORJP": "Jajapur (Jajpur)",
+ "ORJS": "Jagatsinghpur",
+ "UPMP": "Mainpuri",
+ "MHBU": "Buldhana",
+ "TNKR": "Karur",
+ "WBME": "Midnapore",
+ "UPUN": "Unnao",
+ "TNKC": "Kanchipuram",
+ "SKSS": "South Sikkim",
+ "MPUM": "Umaria",
+ "JKJA": "Jammu",
+ "MPUJ": "Ujjain",
+ "CGMA": "Mahasamund",
+ "GJPA": "Patan",
+ "UACL": "Chamoli",
+ "PYMA": "Mahe",
+ "GJPO": "Porbandar",
+ "GJPM": "Panchmahal",
+ "RJHA": "Hanumangarh",
+ "WBDD": "Dakshin Dinajpur",
+ "WBDA": "Darjeeling",
+ "HPUN": "Una",
+ "PBFT": "Fatehgarh Sahib",
+ "MHLA": "Latur",
+ "GJVD": "Vadodara",
+ "UPLK": "Lakhimpur Kheri",
+ "JHBO": "Bokaro",
+ "HRHI": "Hissar",
+ "WBJA": "Jalpaiguri",
+ "UPDE": "Deoria",
+ "MPRE": "Rewa",
+ "MPRG": "Rajgarh",
+ "MPRL": "Ratlam",
+ "ASLA": "Lakhimpur",
+ "MPRS": "Raisen",
+ "HPMA": "Mandi",
+ "PBMU": "Mukatsar",
+ "BRPA": "Patna",
+ "BRRO": "Rohtas",
+ "PBMA": "Mansa",
+ "BRPU": "Purnia",
+ "PBMO": "Moga",
+ "RJSR": "Sirohi",
+ "MHAH": "Ahmednagar",
+ "MHAK": "Akola",
+ "MHAM": "Amrawati",
+ "HRSN": "Sonepat",
+ "MHAU": "Aurangabad",
+ "ARTI": "Tirap",
+ "PBBA": "Bathinda",
+ "RJSK": "Sikar",
+ "KAUD": "Udupi District",
+ "RJSM": "Sawai Madhopur",
+ "RJAJ": "Ajmer",
+ "APVZ": "Vizianagaram",
+ "RJAL": "Alwar",
+ "MHWR": "Wardha",
+ "MHWS": "Washim",
+ "APVS": "Vishakhapatnam",
+ "KAHV": "Haveri District",
+ "KAHS": "Hassan District",
+ "MPGW": "Gwalior",
+ "MPGU": "Guna",
+ "JHPK": "Pakur",
+ "JHPL": "Palamu",
+ "UPEW": "Etawah",
+ "UPKU": "Kushinagar",
+ "UPKS": "Kaushambi",
+ "BRSH": "Saharsa",
+ "UPKD": "Kanpur Dehat",
+ "PBPA": "Patiala",
+ "UPKN": "Kanpur Nagar",
+ "BRSM": "Samastipur",
+ "UPVA": "Varanasi",
+ "UPKJ": "Kannauj",
+ "APCH": "Chittoor",
+ "HRRE": "Rewari",
+ "NLZU": "Zunheboto",
+ "BRBU": "Buxar",
+ "HRRO": "Rohtak",
+ "TNCH": "Chennai",
+ "BRBJ": "Bhojpur",
+ "UATG": "Tehri Garhwal",
+ "BRBG": "Bhagalpur",
+ "BRBE": "Begusarai",
+ "BRBA": "Banka",
+ "MHHI": "Hingoli",
+ "UPJP": "Jyotiba Phule Nagar",
+ "GJBR": "Bharuch",
+ "GJBV": "Bhavnagar",
+ "GJBK": "Banaskantha",
+ "TRST": "South Tripura",
+ "GANG": "North Goa",
+ "ORPU": "Puri",
+ "KACK": "Chikballapur District",
+ "UPSO": "Sonbhadra",
+ "HRMW": "Mewat",
+ "RJTO": "Tonk",
+ "NLDI": "Dimapur",
+ "HRMA": "Mahendragarh",
+ "UPSK": "Sant Kabir Nagar",
+ "MZCH": "Champhai",
+ "BRLA": "Lakhisarai",
+ "UPJH": "Jhansi",
+ "ARAJ": "Anjaw",
+ "UAUS": "Udham Singh Nagar",
+ "UPRB": "Rae Bareli",
+ "UAUT": "Uttarkashi",
+ "ASTI": "Tinsukia",
+ "KLKL": "Kollam",
+ "KLKN": "Kannur",
+ "KLKS": "Kasaragod",
+ "KLKT": "Kottayam",
+ "KLKZ": "Kozhikode",
+ "MHBI": "Beed",
+ "MPHA": "Harda",
+ "MHBH": "Bhandara",
+ "MHST": "Satara",
+ "MPHO": "Hoshangabad",
+ "MHSN": "Sangli",
+ "MHSO": "Solapur",
+ "ASBA": "Barpeta",
+ "KASH": "Shimoga District",
+ "MHSI": "Sindhudurg",
+ "ASBO": "Bongaigaon",
+ "MZLU": "Lunglei",
+ "MPCT": "Chhatarpur",
+ "BRKI": "Kishanganj",
+ "BRKH": "Khagaria",
+ "HPSO": "Solan",
+ "KLTV": "Thiruvananthapuram",
+ "BRKM": "Kaimur",
+ "HPSH": "Shimla",
+ "KLTS": "Thrissur",
+ "MNCC": "Churachandpur",
+ "ORBH": "Bhadrak",
+ "MZLA": "Lawngtlai",
+ "BRKT": "Katihar",
+ "ORJH": "Jharsuguda",
+ "MPCN": "Chhindwara",
+ "APCU": "Kadapa",
+ "ORBD": "Boudh (Bauda)",
+ "PYKA": "Karaikal",
+ "UPGZ": "Ghaziabad",
+ "UPGR": "Gorkakhpur",
+ "UPGP": "Ghazipur",
+ "GASG": "South Goa",
+ "JHCH": "Chatra",
+ "MHOS": "Osmanabad",
+ "UPGN": "Gonda",
+ "GJAH": "Ahmedabad",
+ "WBNA": "Nadia",
+ "GJAM": "Amreli District",
+ "GJAN": "Anand",
+ "JKBR": "Baramula",
+ "APGU": "Guntur",
+ "ASMA": "Marigaon",
+ "JKBD": "Badgam",
+ "WBUD": "Uttar Dinajpur",
+ "TNSI": "Sivagangai",
+ "TNSA": "Salem",
+ "MHDH": "Dhule",
+ "PBNS": "Nawan Shehar",
+ "PBGU": "Gurdaspur",
+ "ARWK": "West Kameng",
+ "RJPA": "Pali",
+ "UPAG": "Agra",
+ "WBBI": "Birbhum",
+ "RJPG": "Pratapgarh",
+ "JKPO": "Poonch",
+ "KLPL": "Palakkad",
+ "APPR": "Prakasam",
+ "KLPT": "Pathanamthitta",
+ "TNAY": "Ariyalur",
+ "JKPU": "Pulwama",
+ "RJBW": "Bhilwara",
+ "RJBN": "Banswara",
+ "AREL": "Lohit",
+ "RJBM": "Barmer",
+ "AREK": "East Kameng",
+ "RJBI": "Bikaner",
+ "ORCU": "Cuttack",
+ "RJBU": "Bundi",
+ "RJBR": "Baran",
+ "KLWA": "Wayanad",
+ "RJBP": "Bharatpur",
+ "MHYA": "Yavatmal",
+ "ORAN": "Angul",
+ "UPAU": "Auraiya",
+ "WBMA": "Malda",
+ "MPTI": "Tikamgarh",
+ "GJSN": "Surendranagar",
+ "APNE": "Nellore",
+ "GJSK": "Sabarkantha",
+ "APNI": "Nizamabad",
+ "DLSW": "South West Delhi",
+ "BRGA": "Gaya",
+ "DLSD": "South Delhi",
+ "GJST": "Surat",
+ "UPBD": "Badaun",
+ "ORSO": "Subarnapur (Sonepur)",
+ "JHGI": "Giridih",
+ "JHGO": "Godda",
+ "WBHR": "Howrah",
+ "TNTJ": "Thanjavur",
+ "TNTK": "Thoothukudi",
+ "JHGA": "Garhwa",
+ "TNTI": "Tirunelveli",
+ "TNTL": "Thiruvallur",
+ "ORSA": "Sambalpur",
+ "KLER": "Ernakulam",
+ "TNKK": "Kanyakumari",
+ "TNTP": "Tiruppur",
+ "TNTV": "Tiruvannamalai",
+ "WBMU": "Murshidabad",
+ "MHKO": "Kolhapur",
+ "ORSU": "Sundargarh (Sundergarh)",
+ "UPBG": "Bagpat",
+ "JHGU": "Gumla",
+ "SKNS": "North Sikkim",
+ "RJUD": "Udaipur",
+ "TRDH": "Dhalai",
+ "MLEG": "East Garo Hills",
+ "UPCD": "Chandauli",
+ "HRJH": "Jhajjar",
+ "HRJI": "Jind",
+ "MLSG": "South Garo Hills",
+ "DLCD": "Central Delhi",
+ "UPCT": "Chitrakoot",
+ "MNUK": "Ukhrul",
+ "DLED": "East Delhi",
+ "PBJA": "Jalandhar",
+ "CGRN": "Rajnandgaon",
+ "PYYA": "Yanam",
+ "KABG": "Belgaum District",
+ "KABD": "Bidar District",
+ "KABJ": "Bijapur District",
+ "KABK": "Bagalkot District",
+ "CGRG": "Raigarh",
+ "KABN": "Bangalore Urban district",
+ "KABL": "Bellary District",
+ "KABR": "Bangalore Rural District",
+ "UPPR": "Pratapgarh",
+ "CGRP": "Raipur",
+ "TNTC": "Tiruchirappalli",
+ "UPME": "Meerut",
+ "MLEK": "East Khasi Hills",
+ "DLWD": "West Delhi",
+ "UPMB": "Mau",
+ "UPMO": "Moradabad",
+ "UPMH": "Mahoba",
+ "KATU": "Tumkur District",
+ "MPKA": "Katni",
+ "UPMT": "Mathura",
+ "UPMU": "Muzaffarnagar",
+ "TNMA": "Madurai",
+ "JKLE": "Leh",
+ "APMA": "Mahbubnagar",
+ "ASCA": "Cachar",
+ "APME": "Medak",
+ "MHRG": "Raigad",
+ "MPBP": "Bhopal",
+ "MPBR": "Barwani",
+ "MNBI": "Bishnupur",
+ "GJVL": "Valsad",
+ "NLPH": "Phek",
+ "RJNA": "Nagaur",
+ "BRDA": "Darbhanga",
+ "MPBE": "Betul",
+ "MPBD": "Bhind",
+ "PBLU": "Ludhiana",
+ "MPBL": "Balaghat",
+ "MZKO": "Kolasib",
+ "APNA": "Nalgonda",
+ "HPBI": "Bilaspur",
+ "UPJU": "Jaunpur District",
+ "GJDG": "The Dangs",
+ "GJDA": "Dahod",
+ "WBHG": "Hooghly",
+ "NLWO": "Wokha",
+ "MPPA": "Panna",
+ "UPJL": "Jalaun",
+ "ASJO": "Jorhat",
+ "WBKO": "Kolkata",
+ "HPKU": "Kulu",
+ "HRSI": "Sirsa",
+ "MLJH": "Jaintia Hills",
+ "HPKI": "Kinnaur",
+ "UADD": "Dehradun",
+ "UACP": "Champawat",
+ "HPKA": "Kangra",
+ "TNPU": "Pudukkottai",
+ "JHKO": "Koderma",
+ "UPRA": "Rampur",
+ "TNPE": "Perambalur",
+ "HRAM": "Ambala",
+ "MHGO": "Gondiya",
+ "KLAL": "Alappuzha",
+ "MHGA": "Gadchiroli",
+ "KAMA": "Mandya District",
+ "BRMP": "Madhepura",
+ "BRMZ": "Muzaffarpur",
+ "BRMG": "Munger",
+ "JKSR": "Samba",
+ "BRMB": "Madhubani",
+ "KAMY": "Mysore District",
+ "RJGA": "Ganganagar",
+ "BRGO": "Gopalganj",
+ "ORDH": "Dhenkanal",
+ "MPEN": "Khandwa (East Nimar)",
+ "JHRA": "Ranchi",
+ "JHRM": "Ramgarh District",
+ "BRVA": "Vaishali",
+ "HPLS": "Lahaul and Spiti",
+ "GJKA": "Kutch",
+ "UARP": "Rudraprayag",
+ "GJKH": "Kheda",
+ "MPSI": "Sidhi",
+ "MPWN": "Khargone (West Nimar)",
+ "PBRU": "Rupnagar",
+ "MNSE": "Senapati",
+ "APAN": "Anantapur",
+ "NLTU": "Tuensang",
+ "CGJA": "Jashpur",
+ "ASGG": "Golaghat",
+ "CGJC": "Janjgir-Champa",
+ "APAD": "Adilabad",
+ "RJJW": "Jhalawar",
+ "UPMI": "Mirzapur",
+ "RJJS": "Jaisalmer",
+ "RJJP": "Jaipur",
+ "ASGP": "Goalpara",
+ "RJJL": "Jalore",
+ "RJJJ": "Juhnjhunun",
+ "HPHA": "Hamirpur",
+ "MPSR": "Sehore",
+ "TNTH": "Theni",
+ "MLWG": "West Garo Hills",
+ "CGDH": "Dhamtari",
+ "MHND": "Nanded",
+ "MHNG": "Nagpur",
+ "MLWK": "West Khasi Hills",
+ "CGDA": "Dantewada",
+ "HRFT": "Fatehabad",
+ "CGDU": "Durg",
+ "HRFR": "Faridabad",
+ "TNTR": "Thiruvarur",
+ "UPFI": "Firozabad",
+ "JKAN": "Anantnag",
+ "UPFT": "Fatehpur",
+ "ASNL": "Nalbari",
+ "APKA": "Karimnagar",
+ "HRPP": "Panipat",
+ "UPFR": "Farrukhabad",
+ "ASNG": "Nagaon",
+ "ASNC": "North Cachar Hills",
+ "UPFZ": "Faizabad",
+ "MNTH": "Thoubal",
+ "WBPN": "North 24 Parganas",
+ "TRWT": "West Tripura",
+ "MNTA": "Tamenglong",
+ "PBKA": "Kapurthala",
+ "RJDA": "Dausa",
+ "WBPS": "South 24 Parganas",
+ "UPPI": "Pilibhit",
+ "KLMA": "Malappuram",
+ "ARCH": "Changlang",
+ "WBPU": "Purulia",
+ "MHCH": "Chandrapur",
+ "KACJ": "Chamarajnagar District",
+ "ORKN": "Kandhamal",
+ "ORKO": "Koraput",
+ "ORKL": "Kalahandi",
+ "ORKJ": "Kendujhar (Keonjhar)",
+ "ORKH": "Khordha",
+ "NLMK": "Mokokchung",
+ "ORKP": "Kendrapara",
+ "NLMN": "Mon",
+ "KACT": "Chitradurga District",
+ "CGSU": "Surguja",
+ "MPNE": "Neemuch",
+ "TNNM": "Namakkal",
+ "MPNA": "Narsinghpur",
+ "TNNI": "The Nilgiris",
+ "TNNG": "Nagapattinam",
+ "APHY": "Hyderabad",
+ "UANA": "Nainital",
+ "APSR": "Srikakulam",
+ "RJCR": "Churu",
+ "RJCT": "Chittorgarh",
+ "MZMA": "Mamit",
+ "MHMC": "Mumbai City",
+ "UPET": "Etah",
+ "GJGA": "Gandhinagar",
+ "MHMU": "Mumbai suburban",
+ "WBKB": "Cooch Behar",
+ "HPCH": "Chamba",
+ "MPSG": "Sagar",
+ "HRPK": "Panchkula",
+ "ASKR": "Karimganj",
+ "MPSO": "Seoni",
+ "GJNV": "Navsari",
+ "MPSJ": "Shajapur",
+ "MPSH": "Shahdol",
+ "GJNR": "Narmada",
+ "MPSV": "Shivpuri",
+ "MPST": "Satna",
+ "ASKA": "Karbi Anglong",
+ "MPSP": "Sheopur",
+ "APEG": "East Godavari",
+ "HRPW": "Palwal",
+ "JKDO": "Doda",
+ "ASKK": "Kokrajhar",
+ "JHDU": "Dumka",
+ "ORRA": "Rayagada",
+ "JHDE": "Deoghar",
+ "MHJG": "Jalgaon",
+ "HRBH": "Bhiwani",
+ "TNDH": "Dharmapuri",
+ "JHDH": "Dhanbad",
+ "MHJN": "Jalna",
+ "UPBI": "Bijnor",
+ "UPBH": "Bahraich",
+ "UPBL": "Ballia",
+ "UPBN": "Banda District",
+ "HRKR": "Karnal",
+ "UPBB": "Barabanki",
+ "MZSE": "Serchhip",
+ "HRKU": "Kurukshetra",
+ "HRKT": "Kaithal",
+ "MNCD": "Chandel",
+ "MZSA": "Saiha",
+ "UPBP": "Balrampur",
+ "UPBS": "Basti",
+ "UPBR": "Bareilly",
+ "UPBU": "Bulandshahr",
+ "MLRB": "Ri-Bhoi",
+ "JKRA": "Rajauri",
+ "ORBR": "Bargarh (Baragarh)",
+ "BRNW": "Nawada",
+ "MHTH": "Thane",
+ "HPSI": "Sirmaur",
+ "RJDU": "Dungapur",
+ "APWA": "Warangal",
+ "ORBW": "Baleswar (Balasore)",
+ "TNER": "Erode",
+ "BRNL": "Nalanda",
+ "MPDE": "Dewas",
+ "KAGU": "Gulbarga District",
+ "TRNT": "North Tripura",
+ "KLID": "Idukki",
+ "MPDI": "Dindori",
+ "MPDH": "Dhar",
+ "KAGA": "Gadag District",
+ "MPDT": "Datia",
+ "JHSA": "Sahibganj",
+ "ORGP": "Gajapati",
+ "UAPG": "Pauri Garhwal",
+ "ORBL": "Bolangir (Balangir)",
+ "MPJH": "Jhabua",
+ "UPLA": "Lalitpur",
+ "MPJA": "Jabalpur",
+ "JKKR": "Kargil",
+ "JKKT": "Kathua",
+ "JKKU": "Kupwara",
+ "WBBN": "Bankura",
+ "KAUK": "Uttara Kannada",
+ "ASDI": "Dibrugarh",
+ "UPLU": "Lucknow",
+ "WBBR": "Bardhaman",
+ "ASDM": "Dhemaji",
+ "ASDA": "Darrang",
+ "ASDB": "Dhubri",
+ "HRYN": "Yamuna Nagar",
+ "BREC": "Purba Champaran",
+ "UABA": "Bageshwar",
+ "TNCU": "Cuddalore",
+ "MPMS": "Mandsaur",
+ "MPML": "Mandla",
+ "GJRA": "Rajkot",
+ "MPMO": "Morena",
+ "TNCO": "Coimbatore",
+ "GJJU": "Junagadh",
+ "TNVE": "Vellore",
+ "TNVL": "Villupuram",
+ "UPHR": "Hardoi",
+ "ORDE": "Debagarh (Deogarh)",
+ "HRGU": "Gurgaon",
+ "RJJO": "Jodhpur",
+ "UPAH": "Allahabad",
+ "UPAL": "Aligarh",
+ "UPAN": "Ambedkar Nagar",
+ "CGBI": "Bilaspur",
+ "APWG": "West Godavari",
+ "UPAZ": "Azamgarh",
+ "CGBA": "Bastar",
+ "ORNY": "Nayagarh",
+ "BRWC": "Pashchim Champaran",
+ "ORNU": "Nuapada",
+ "MNWI": "Imphal West",
+ "UAAL": "Almora",
+ "JHHA": "Hazaribagh",
+ "ORNB": "Nabarangpur",
+ "ARUD": "Dibang Valley",
+ "ARUB": "Upper Subansiri",
+ "RJRA": "Rajsamand",
+ "APKR": "Krishna",
+ "MHPU": "Pune",
+ "APKU": "Kurnool",
+ "MPIN": "Indore",
+ "ASHA": "Hailakandi",
+ "UPGB": "Gautam Buddha Nagar",
+ "MHPA": "Parbhani",
+ "KARA": "Raichur District",
+ "SKWS": "West Sikkim",
+ "APKH": "Khammam",
+ "KARM": "Ramanagara District",
+ "DLNO": "North Delhi",
+ "BRJE": "Jehanabad",
+ "BRJA": "Jamui",
+ "JHWS": "Pashchim Singhbhum",
+ "DLND": "New Delhi",
+ "DLNE": "North East Delhi",
+ "DLNW": "North West Delhi",
+ "RJDH": "Dholpur",
+ "TNDI": "Dindigul",
+ "JKUD": "Udhampur",
+ "GJJA": "Jamnagar",
+ "UPHM": "Hamirpur",
+ "PBSA": "Sangrur",
+ "MPVI": "Vidisha",
+ "ORGN": "Ganjam",
+ "MHNB": "Nandurbar",
+ "UPHT": "Mahamaya Nagar",
+ "BRAR": "Araria",
+ "JKBP": "Bandipore",
+ "CGKB": "Korba",
+ "BRAU": "Aurangabad",
+ "CGKK": "Kanker",
+ "CGKJ": "Koriya",
+ "CGKW": "Kawardha",
+ "UAHA": "Haridwar",
+ "GJMA": "Mehsana",
+ "RJKO": "Kota",
+ "MNEI": "Imphal East",
+ "RJKA": "Karauli",
+ "ARLB": "Lower Subansiri",
+ "MPDM": "Damoh"
+ }
# Field containing the Line Item to which the project belongs to.
line_item = models.CharField(max_length=256,
- choices=LINE_ITEM_CHOICES)
+ choices=tuple(LINE_ITEM_CHOICES))
+ line_item.help_text = 'Select from one of the Line Items.'
# Field containing the name of the institution working on the
# project.
institution = models.CharField(max_length=256)
+ institution.help_text = 'Give the full name of your institution.'
# Field containing the state to which the institution belongs to.
- state = models.CharField(max_length=256,
- choices=STATE_CHOICES)
+ state = models.CharField(
+ max_length=256,
+ choices=sorted(STATE_CHOICES.items(), key=lambda (k,v): (v,k)))
+ state.help_text = 'Select the state in which this project is taken up.'
# Field containing the district to which the institution belongs
# to in the state of India.
district = models.CharField(max_length=256,
- choices=DISTRICT_CHOICES)
+ choices=sort_dict(DISTRICT_CHOICES))
+ district.help_text = ('First select the state before selecting the district. '
+ 'Select the district of the state where this project is taken up.')
+
+ mobile_num = models.CharField(max_length=20)
+ mobile_num.help_text = 'Enter your mobile number.'
+
+ fax_num = models.CharField(max_length=20, null=True, blank=True)
+ fax_num.help_text = 'Enter your fax number with the code.'
# Field containing the autogenerated MICR code for the project.
micr_code = models.CharField(max_length=15, unique=True)
@@ -67,21 +714,22 @@
choices=[('new', 'New'), ('pilot', 'Pilot'),
('invalid', 'Invalid')])
+ last_updated_on = models.DateTimeField(auto_now=True)
+
@classmethod
def getLineItem(cls, code):
"""Get the State name from its code.
"""
- line_item_dict = dict(cls.LINE_ITEM_CHOICES)
- return line_item_dict[code]
+ return cls.LINE_ITEM_CHOICES[code]
@classmethod
def getLineItemCode(cls, name):
"""Get the Line Item code from its name.
"""
- for ln_code, ln_name in cls.LINE_ITEM_CHOICES:
- if ln_name == name:
+ for ln_code in cls.LINE_ITEM_CHOICES:
+ if cls.LINE_ITEM_CHOICES[ln_code] == name:
return ln_code
return None
@@ -91,16 +739,15 @@
"""Get the State code from its name.
"""
- state_dict = dict(cls.STATE_CHOICES)
- return state_dict[code]
+ return cls.STATE_CHOICES[code]
@classmethod
def getStateCode(cls, name):
"""Get the State code from its name.
"""
- for st_code, st_name in cls.STATE_CHOICES:
- if st_name == name:
+ for st_code in cls.STATE_CHOICES:
+ if cls.STATE_CHOICES[st_code] == name:
return st_code
return None
@@ -110,16 +757,15 @@
"""Get the District name from its code.
"""
- district_dict = dict(cls.DISTRICT_CHOICES)
- return district_dict[code]
+ return cls.DISTRICT_CHOICES[code]
@classmethod
def getDistrictCode(cls, name):
"""Get the District code from its name.
"""
- for dt_code, dt_name in cls.DISTRICT_CHOICES:
- if dt_name == name:
+ for dt_code in cls.DISTRICT_CHOICES:
+ if cls.DISTRICT_CHOICES[dt_code] == name:
return dt_code
return None
@@ -133,6 +779,7 @@
#: Field containing the Line Item to which the project belongs to.
document = models.FileField(upload_to='proposals/%Y/%m/%d')
+ document.help_text = 'Select the document path from your local file system.'
#: Field containing the date on which the document was submitted
submitted_on = models.DateTimeField(auto_now_add=True)
@@ -196,38 +843,48 @@
#: Field containing the comment entered along with the review.
comment = models.TextField()
+ comment.help_text = "Enter your review comment about this proposal."
#: Field representing the reference to the person who
#: did the review.
reviewer = models.ForeignKey(User, null=True)
#: Field containing the date and time of review of the proposal.
- reviewed_on = models.DateTimeField(auto_now_add=True)
+ reviewed_on = models.DateTimeField(auto_now=True)
#: Field containing the review value for this attribute.
attribute1 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute2 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute3 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute4 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute5 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute6 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute7 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute8 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
attribute9 = models.PositiveSmallIntegerField(
choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])
+ attribute1.verbose_name = ''
\ No newline at end of file