Changeset 17737 for main/kofacustom.udss/trunk/src/kofacustom/udss
- Timestamp:
- 16 Apr 2024, 06:29:43 (8 months ago)
- Location:
- main/kofacustom.udss/trunk/src/kofacustom/udss
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
main/kofacustom.udss/trunk/src/kofacustom/udss/locales/en/LC_MESSAGES/waeup.kofa.po
r17712 r17737 6 6 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n" 7 7 "Language-Team: \n" 8 "Language: en\n" 8 9 "MIME-Version: 1.0\n" 9 10 "Content-Type: text/plain; charset=iso-8859-1\n" 10 11 "Content-Transfer-Encoding: 8bit\n" 12 "X-Generator: Poedit 3.2.2\n" 11 13 12 14 msgid "Academics" 13 msgstr "Classes" 15 msgstr "School Structure" 16 17 msgid "Academic Section" 18 msgstr "School Structure" 19 20 msgid "Manage academic section" 21 msgstr "Manage school structure" 22 23 msgid "Search academic section" 24 msgstr "Search school structure" 25 26 msgid "Faculties" 27 msgstr "Schools" 14 28 15 29 msgid "Name of faculty" 16 msgstr "Name of class"30 msgstr "Name of school" 17 31 18 32 msgid "The code chosen already exists in this faculty." 19 msgstr "The code chosen already exists in this class."33 msgstr "The code chosen already exists in this school." 20 34 21 35 msgid "Manage faculty" 22 msgstr "Manage class"36 msgstr "Manage school" 23 37 24 38 msgid "Add faculty" 25 msgstr "Add class"39 msgstr "Add school" 26 40 27 41 msgid "Faculty ${a} added." 28 msgstr " Class${a} added."42 msgstr "School ${a} added." 29 43 30 44 msgid "Faculty Code" 31 msgstr " ClassCode"45 msgstr "School Code" 32 46 33 47 msgid "Faculty:" 34 msgstr " Class:"48 msgstr "School:" 35 49 36 50 msgid "Faculty Processor" 37 msgstr " Faculty (Class)Processor"51 msgstr "School Processor" 38 52 39 53 msgid "Faculty Officer 1" 40 msgstr " ClassOfficer 1"54 msgstr "School Officer 1" 41 55 42 56 msgid "Faculty Officer 2" 43 msgstr "Class Officer 2" 44 45 msgid "Departments" 46 msgstr "Arms" 47 48 msgid "Department" 49 msgstr "Arm" 50 51 msgid "Add department" 52 msgstr "Add arm" 53 54 msgid "Manage department" 55 msgstr "Manage arm" 56 57 msgid "'All students, who requested clearance in this department, will be cleared. Are you sure?'" 58 msgstr "'All students, who requested clearance in this arm, will be cleared. Are you sure?'" 59 60 msgid "in department" 61 msgstr "in arm" 62 63 msgid "Name of department" 64 msgstr "Name of arm" 65 66 msgid "Department ${a} added." 67 msgstr "Arm ${a} added." 68 69 msgid "Department Code" 70 msgstr "Arm Code" 71 72 msgid "Department:" 73 msgstr "Arm:" 74 75 msgid "Department Processor" 76 msgstr "Department (Arm) Processor" 77 78 msgid "Department Officer 1" 79 msgstr "Arm Officer 1" 80 81 msgid "Department Officer 2" 82 msgstr "Arm Officer 2" 83 84 msgid "Department Officer 3" 85 msgstr "Arm Officer 3" 86 87 msgid "Department Officer 4" 88 msgstr "Arm Officer 4" 57 msgstr "School Officer 2" 58 59 #: waeup/kofa/browser/templates/certificatecoursepage.pt:26 60 msgid "Level:" 61 msgstr "" 62 63 #: waeup/kofa/browser/viewlets.py:1093 64 msgid "Course Levels" 65 msgstr "" 66 67 #: waeup/kofa/browser/viewlets.py:1101 68 #: waeup/kofa/students/browser_templates/studycoursemanagepage.pt:12 69 msgid "Study Levels" 70 msgstr "" 71 72 #: waeup/kofa/students/batching.py:607 73 msgid "StudentStudyLevel Processor" 74 msgstr "" 75 76 #: waeup/kofa/students/browser.py:1226 waeup/kofa/students/browser.py:1300 77 msgid "Remove selected levels" 78 msgstr "" 79 80 #: waeup/kofa/students/browser.py:1227 waeup/kofa/students/browser.py:1273 81 msgid "Add study level" 82 msgstr "" 83 84 #: waeup/kofa/students/browser.py:1252 85 msgid "Current level not available for certificate." 86 msgstr "" 87 88 #: waeup/kofa/students/browser.py:1278 89 msgid "You must select a session for the level." 90 msgstr "" 91 92 #: waeup/kofa/students/browser.py:1283 93 msgid "Level zero must not be assigned a session." 94 msgstr "" 95 96 #: waeup/kofa/students/browser.py:1294 97 msgid "Study level has been added." 98 msgstr "" 99 100 #: waeup/kofa/students/browser.py:1296 waeup/kofa/students/browser.py:3245 101 msgid "This level exists." 102 msgstr "" 103 104 #: waeup/kofa/students/browser.py:1306 105 msgid "No study level selected." 106 msgstr "" 107 108 #: waeup/kofa/students/browser.py:1725 109 msgid "Current level does not match certificate levels." 110 msgstr "" 111 112 #: waeup/kofa/students/browser.py:1811 113 msgid "Level Data" 114 msgstr "" 115 116 #: waeup/kofa/students/browser.py:1832 117 msgid "Level Courses" 118 msgstr "" 119 120 #. Default: "" 121 #: waeup/kofa/students/browser.py:1982 122 msgid "Edit transcript remark of level ${a}" 123 msgstr "" 124 125 #: waeup/kofa/students/browser.py:2009 waeup/kofa/students/browser.py:2035 126 msgid "This is not the student's current level." 127 msgstr "" 128 129 #: waeup/kofa/students/browser.py:2080 130 msgid "This is not your current level." 131 msgstr "" 132 133 #. Default: "" 134 #: waeup/kofa/students/browser.py:3218 135 msgid "Add current level ${a}" 136 msgstr "" 137 138 msgid "Current Level" 139 msgstr "" 140 141 #: waeup/kofa/students/browser.py:3737 142 msgid "at any level" 143 msgstr "" 144 145 msgid "Level" 146 msgstr "" 147 148 #: waeup/kofa/students/browser.py:4293 149 msgid "All Levels" 150 msgstr "" 151 152 #: waeup/kofa/students/browser_templates/exportconfig.pt:113 153 msgid "Course Ticket Level" 154 msgstr "" 155 156 #: waeup/kofa/students/browser_templates/reverttransfer.pt:4 157 msgid "" 158 "Student transfers can be reverted one after the other. When reverting a " 159 "transfer, the active study course will be entirely removed including all " 160 "containing course lists (study levels) and the previous study course will be " 161 "reactivated." 162 msgstr "" 163 164 #: waeup/kofa/students/browser_templates/studycoursemanagepage.pt:40 165 #: waeup/kofa/students/browser_templates/studycoursepage.pt:69 166 #: waeup/kofa/students/browser_templates/studycoursemanagepage.pt:41 167 #: waeup/kofa/students/browser_templates/studycoursepage.pt:70 168 msgid "Level Title" 169 msgstr "" 170 171 #: waeup/kofa/students/browser_templates/studycoursepage.pt:64 172 msgid "Study Levels (Course Lists)" 173 msgstr "" 174 175 #: waeup/kofa/students/browser_templates/studycoursepage.pt:83 176 msgid "There are no levels registered yet." 177 msgstr "" 178 179 #: waeup/kofa/students/browser_templates/studyleveladdpage.pt:4 180 msgid "" 181 "In Kofa a study level is a container for courses, which means it can list " 182 "the courses taken by the student at a certain level. The container also " 183 "stores and provides the information when and by whom the course list was " 184 "validated, in which session the level was taken and which verdict the " 185 "student finally obtained." 186 msgstr "" 187 188 #: waeup/kofa/students/browser_templates/studylevelmanagepage.pt:7 189 #: waeup/kofa/students/browser_templates/studylevelremarkpage.pt:7 190 msgid "Study Level Data" 191 msgstr "" 192 193 #: waeup/kofa/students/export.py:476 194 msgid "Student Study Levels (Data Backup)" 195 msgstr "" 196 197 #: waeup/kofa/students/export.py:499 198 msgid "First Course Student Study Levels (Data Backup)" 199 msgstr "" 200 201 #: waeup/kofa/students/export.py:510 202 msgid "Second Course Student Study Levels (Data Backup)" 203 msgstr "" 204 205 #: waeup/kofa/students/export.py:943 206 msgid "Study Levels Overview" 207 msgstr "" 208 209 #: waeup/kofa/students/interfaces.py:770 210 #: waeup/kofa/students/browser_templates/exportconfig_course.pt:23 211 #: waeup/kofa/students/browser_templates/exportconfig.pt:99 212 msgid "Level Session" 213 msgstr "" 214 215 #: waeup/kofa/students/interfaces.py:858 waeup/kofa/students/interfaces.py:901 216 #: waeup/kofa/students/interfaces.py:924 217 msgid "Payment Level" 218 msgstr "" 219 220 #: waeup/kofa/students/reports/browser_templates/levelreportgeneratorpage.pt:2 221 msgid "" 222 "Please pick the certificate, session and level for which the report should " 223 "be generated. The report will be processed and then made available for you " 224 "to view/download." 225 msgstr "" 226 227 #: waeup/kofa/students/reports/level_report.py:134 228 #: waeup/kofa/students/reports/level_report.py:292 229 msgid "Level Report" 230 msgstr "" 231 232 #: waeup/kofa/students/reports/level_report.py:318 233 msgid "Create level report" 234 msgstr "" 235 236 #: waeup/kofa/students/reports/session_results_presentation.py:180 237 msgid "all levels" 238 msgstr "" 239 240 #: waeup/kofa/students/utils.py:218 241 msgid "Current Level:" 242 msgstr "" 243 244 #: waeup/kofa/students/utils.py:765 245 msgid "Course has already been passed at previous level." 246 msgstr "" 247 248 #. Default: "" 249 #: waeup/kofa/students/vocabularies.py:107 250 #: waeup/kofa/students/vocabularies.py:115 251 msgid "Error: wrong level id ${value}" 252 msgstr "" 253 254 #: waeup/kofa/students/vocabularies.py:110 255 msgid "Level Zero" 256 msgstr "" 257 258 #. Default: "" 259 #: waeup/kofa/students/vocabularies.py:120 260 #: waeup/kofa/students/vocabularies.py:123 261 msgid "Error: level id ${value} out of range" 262 msgstr "" 263 264 #: waeup/kofa/university/interfaces.py:265 265 msgid "Start Level" 266 msgstr "" 267 268 #: waeup/kofa/university/interfaces.py:272 269 msgid "End Level" 270 msgstr "" 271 272 #: waeup/kofa/university/interfaces.py:339 273 #: waeup/kofa/university/interfaces.py:341 274 msgid "Start level and end level must correspond." 275 msgstr "" 276 277 #: waeup/kofa/university/interfaces.py:343 278 #: waeup/kofa/university/interfaces.py:346 279 msgid "Study mode, start level and end level must correspond." 280 msgstr "" 281 282 #: waeup/kofa/university/vocabularies.py:41 283 msgid "Postgraduate Level" 284 msgstr "" 285 286 #: waeup/kofa/university/vocabularies.py:42 287 msgid "Modules Level" 288 msgstr "" 89 289 90 290 msgid "Pre-Studies" … … 121 321 msgstr "Child Base Data" 122 322 123 msgid "I confirm that the Passport Photograph uploaded on this form is a true picture of me." 124 msgstr "I confirm that the Passport Photograph uploaded on this form is a true picture of the child." 323 msgid "" 324 "I confirm that the Passport Photograph uploaded on this form is a true " 325 "picture of me." 326 msgstr "" 327 "I confirm that the Passport Photograph uploaded on this form is a true " 328 "picture of the child." -
main/kofacustom.udss/trunk/src/kofacustom/udss/students/browser.py
r17689 r17737 21 21 from zope.component import getUtility 22 22 from zope.security import checkPermission 23 from zope.formlib.textwidgets import BytesDisplayWidget 23 24 from hurry.workflow.interfaces import IWorkflowInfo 24 25 from waeup.kofa.interfaces import REQUESTED, IExtFileStore, IKofaUtils … … 27 28 from waeup.kofa.browser.layout import action, jsaction 28 29 from waeup.kofa.students.browser import ( 29 StudyLevelEditFormPage, StudyLevelDisplayFormPage, 30 StudentBasePDFFormPage, ExportPDFCourseRegistrationSlip, 31 CourseTicketDisplayFormPage, StudentTriggerTransitionFormPage, 32 PaymentsManageFormPage, msave, emit_lock_message) 30 StudentPersonalDisplayFormPage, 31 StudentPersonalManageFormPage, 32 StudentPersonalEditFormPage, 33 StudentClearanceDisplayFormPage, 34 StudentClearanceManageFormPage, 35 StudentClearanceEditFormPage, 36 ExportPDFClearanceSlip, 37 StudyLevelEditFormPage, 38 StudyLevelDisplayFormPage, 39 StudentBasePDFFormPage, 40 ExportPDFCourseRegistrationSlip, 41 CourseTicketDisplayFormPage, 42 StudentTriggerTransitionFormPage, 43 PaymentsManageFormPage, 44 msave, emit_lock_message) 33 45 from waeup.kofa.students.interfaces import IStudentsUtils, ICourseTicket 34 46 from waeup.kofa.students.workflow import FORBIDDEN_POSTGRAD_TRANS … … 39 51 NigeriaOnlinePaymentAddFormPage, 40 52 NigeriaExportPDFPaymentSlip, 41 NigeriaExportPDFClearanceSlip,42 53 ) 43 54 44 55 from kofacustom.udss.students.interfaces import ( 45 ICustomStudentOnlinePayment, ICustomStudentStudyCourse, 46 ICustomStudentStudyLevel) 56 ICustomStudentOnlinePayment, 57 ICustomStudentStudyCourse, 58 ICustomStudentStudyLevel, 59 ICustomStudentPersonal, 60 ICustomStudentClearance) 47 61 from kofacustom.udss.interfaces import MessageFactory as _ 48 62 … … 55 69 def manage_payments_allowed(self): 56 70 return checkPermission('waeup.manageStudent', self.context) 71 72 class CustomStudentPersonalDisplayFormPage(StudentPersonalDisplayFormPage): 73 """ Page to display student personal data 74 """ 75 form_fields = grok.AutoFields(ICustomStudentPersonal) 76 form_fields['perm_address'].custom_widget = BytesDisplayWidget 77 form_fields['mother_res_address'].custom_widget = BytesDisplayWidget 78 form_fields['father_res_address'].custom_widget = BytesDisplayWidget 79 form_fields['sponsor_res_address'].custom_widget = BytesDisplayWidget 80 form_fields[ 81 'personal_updated'].custom_widget = FriendlyDatetimeDisplayWidget('le') 82 83 class CustomStudentPersonalEditFormPage(StudentPersonalEditFormPage): 84 """ Page to edit personal data 85 """ 86 form_fields = grok.AutoFields(ICustomStudentPersonal).omit('personal_updated') 87 88 class CustomStudentPersonalManageFormPage(StudentPersonalManageFormPage): 89 """ Page to edit personal data 90 """ 91 form_fields = grok.AutoFields(ICustomStudentPersonal) 92 form_fields['personal_updated'].for_display = True 93 form_fields[ 94 'personal_updated'].custom_widget = FriendlyDatetimeDisplayWidget('le') 95 96 class CustomStudentClearanceDisplayFormPage(StudentClearanceDisplayFormPage): 97 """ Page to display student clearance data 98 """ 99 100 @property 101 def form_fields(self): 102 form_fields = grok.AutoFields( 103 ICustomStudentClearance).omit('clearance_locked') 104 if not getattr(self.context, 'officer_comment'): 105 form_fields = form_fields.omit('officer_comment') 106 else: 107 form_fields['officer_comment'].custom_widget = BytesDisplayWidget 108 return form_fields 109 110 class CustomExportPDFClearanceSlip(ExportPDFClearanceSlip): 111 """Deliver a PDF slip of the context. 112 """ 113 omit_fields = ('password', 'suspended', 'suspended_comment', 114 'phone', 'adm_code', 'email', 'date_of_birth', 'current_level', 115 'flash_notice') 116 117 @property 118 def form_fields(self): 119 form_fields = grok.AutoFields( 120 ICustomStudentClearance).omit('clearance_locked') 121 if not getattr(self.context, 'officer_comment'): 122 form_fields = form_fields.omit('officer_comment') 123 return form_fields 124 125 class CustomStudentClearanceManageFormPage(StudentClearanceManageFormPage): 126 """ Page to edit student clearance data 127 """ 128 129 @property 130 def form_fields(self): 131 form_fields = grok.AutoFields( 132 ICustomStudentClearance).omit('clr_code') 133 return form_fields 134 135 class CustomStudentClearanceEditFormPage(StudentClearanceEditFormPage): 136 """ View to edit student clearance data by student 137 """ 138 139 @property 140 def form_fields(self): 141 form_fields = grok.AutoFields(ICustomStudentClearance).omit( 142 'clearance_locked', 'clr_code', 'officer_comment', 143 'physical_clearance_date') 144 return form_fields -
main/kofacustom.udss/trunk/src/kofacustom/udss/students/interfaces.py
r17689 r17737 18 18 19 19 from zope import schema 20 from waeup.kofa.interfaces import SimpleKofaVocabulary, academic_sessions_vocab 20 21 from waeup.kofa.students.vocabularies import StudyLevelSource 22 from waeup.kofa.students.interfaces import IStudentPersonal, IUGStudentClearance 21 23 from kofacustom.nigeria.students.interfaces import ( 22 24 INigeriaStudentBase, INigeriaUGStudentClearance, INigeriaPGStudentClearance, … … 33 35 """ 34 36 35 class ICustomStudentPersonal(I NigeriaStudentPersonal):37 class ICustomStudentPersonal(IStudentPersonal): 36 38 """Student personal data. 37 39 38 40 """ 39 41 40 class ICustomUGStudentClearance(INigeriaUGStudentClearance): 42 religion = schema.Choice( 43 title = u'Religion', 44 default = 'no_say', 45 required = False, 46 vocabulary = SimpleKofaVocabulary( 47 (_('Muslim'), 'muslim'), 48 (_('Christian'), 'christian'), 49 (_('Others'), 'others'), 50 (_('Prefer not to say'), 'no_say'),) 51 ) 52 53 disabled = schema.Bool( 54 title = u'Disabled', 55 default = False, 56 required = False, 57 ) 58 59 father_firstname = schema.TextLine( 60 title = _(u'First Name of Father'), 61 required = False, 62 ) 63 father_middlename = schema.TextLine( 64 title = _(u'Middle Name of Father'), 65 required = False, 66 ) 67 father_lastname = schema.TextLine( 68 title = _(u'Last Name (Surname) of Father'), 69 required = False, 70 ) 71 father_status = schema.TextLine( 72 title = _(u'Father\'s Status and Rank'), 73 required = False, 74 ) 75 father_employer = schema.TextLine( 76 title = _(u'Father\'s Employer'), 77 required = False, 78 ) 79 father_res_address = schema.Text( 80 title = _(u'Father\'s Residential Address'), 81 required = False, 82 ) 83 father_contact_address = schema.Text( 84 title = _(u'Father\'s Contact Address (incl. P.O. Box)'), 85 required = False, 86 ) 87 mother_firstname = schema.TextLine( 88 title = _(u'First Name of Mother'), 89 required = False, 90 ) 91 mother_middlename = schema.TextLine( 92 title = _(u'Middle Name of Mother'), 93 required = False, 94 ) 95 mother_lastname = schema.TextLine( 96 title = _(u'Last Name (Surname) of Mother'), 97 required = False, 98 ) 99 mother_status = schema.TextLine( 100 title = _(u'Mother\'s Status and Rank'), 101 required = False, 102 ) 103 mother_employer = schema.TextLine( 104 title = _(u'Mother\'s Employer'), 105 required = False, 106 ) 107 mother_res_address = schema.Text( 108 title = _(u'Mother\'s Residential Address'), 109 required = False, 110 ) 111 mother_contact_address = schema.Text( 112 title = _(u'Mother\'s Contact Address (incl. P.O. Box)'), 113 required = False, 114 ) 115 sponsor_firstname = schema.TextLine( 116 title = _(u'First Name of sponsor'), 117 required = False, 118 ) 119 sponsor_middlename = schema.TextLine( 120 title = _(u'Middle Name of Sponsor'), 121 required = False, 122 ) 123 sponsor_lastname = schema.TextLine( 124 title = _(u'Last Name (Surname) of Sponsor'), 125 required = False, 126 ) 127 sponsor_status = schema.TextLine( 128 title = _(u'Sponsor\'s Status and Rank'), 129 required = False, 130 ) 131 sponsor_employer = schema.TextLine( 132 title = _(u'Sponsor\'s Employer'), 133 required = False, 134 ) 135 sponsor_res_address = schema.Text( 136 title = _(u'Sponsor\'s Residential Address'), 137 required = False, 138 ) 139 sponsor_contact_address = schema.Text( 140 title = _(u'Sponsor\'s Contact Address (incl. P.O. Box)'), 141 required = False, 142 ) 143 144 class ICustomStudentClearance(IUGStudentClearance): 41 145 """Representation of ug student clearance data. 42 146 43 147 """ 44 148 45 class ICustomPGStudentClearance(INigeriaPGStudentClearance): 46 """Representation of pg student clearance data. 47 48 """ 49 50 51 class ICustomStudent(ICustomStudentBase,ICustomUGStudentClearance, 52 ICustomPGStudentClearance,ICustomStudentPersonal): 149 class ICustomStudent(ICustomStudentBase,ICustomStudentClearance, 150 ICustomStudentPersonal): 53 151 """Representation of a student. 54 152
Note: See TracChangeset for help on using the changeset viewer.