- Timestamp:
- 15 Aug 2007, 16:22:25 (17 years ago)
- Location:
- WAeUP_SRP/trunk
- Files:
-
- 7 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/trunk/Widgets.py
r2095 r2098 4 4 from types import * 5 5 from Globals import InitializeClass 6 from ZPublisher.HTTPRequest import FileUpload 6 7 ##from Products.CPSSchemas.Widget import CPSWidgetType 7 8 from Products.CMFCore.utils import getToolByName 8 9 from Products.CPSSchemas.BasicWidgets import CPSBooleanWidget, CPSWidget, CPSStringWidget, CPSEmailWidget,CPSImageWidget 10 from Products.CPSSchemas.BasicWidgets import CPSFileWidget 9 11 from Products.CPSSchemas.BasicWidgets import renderHtmlTag,CPSSelectWidget, CPSStringWidget 10 12 from Products.CPSSchemas.ExtendedWidgets import CPSDateTimeWidget 11 13 from Products.CPSSchemas.Widget import widgetRegistry 14 from Products.CPSUtil.file import PersistableFileUpload 15 from Products.CPSUtil.id import generateFileName 12 16 ##from Products.CPSSchemas.WidgetTypesTool import WidgetTypeRegistry 13 17 from DateTime.DateTime import DateTime … … 15 19 from Products.WAeUP_SRP.Students import getStudentByRegNo 16 20 from Products.WAeUP_SRP.Academics import makeCertificateCode 21 from Products.ExtFile.ExtFile import ExtFile 17 22 from re import compile 18 23 import logging … … 248 253 """WAeUP Session Widget.""" 249 254 meta_type = 'WAeUP Session Widget' 250 255 251 256 def _getSessions(self): 252 257 current_year = DateTime().year() … … 522 527 if datastructure[self.state_field]: 523 528 v = datastructure[self.state_field] + '_' + v 524 529 525 530 if self.is_required and not len(v): 526 531 datastructure.setError(widget_id, "lga required") … … 533 538 state = datastructure[self.state_field].lower() 534 539 lga = "_".join(datastructure[self.lga_field].lower().split()) 535 datamodel[self.fields[0]] = state + "_" + lga 540 datamodel[self.fields[0]] = state + "_" + lga 536 541 return 1 537 542 … … 705 710 mode = kw['mode'] 706 711 else: 707 mode = " xxxx"708 if not valid: 712 mode = "edit" 713 if not valid: 709 714 err = 'Invalid number' 710 715 elif self.reference == '': … … 1315 1320 """ Pume Pin Widget""" 1316 1321 meta_type = "Pume Pin Widget" 1317 1322 catalog = "applicants_catalog" 1323 1318 1324 def validate(self, datastructure, **kw): ###( 1319 1325 """Validate datastructure and update datamodel.""" … … 1323 1329 err = 0 1324 1330 mapping = {} 1331 1325 1332 prefix= self.prefix 1326 1333 if prefix.startswith('@'): … … 1333 1340 do = 1 1334 1341 s_id = str(self.portal_membership.getAuthenticatedMember()) 1335 import pdb;pdb.set_trace()1336 1342 if self.isStaff(): 1337 1343 do = 0 … … 1377 1383 break 1378 1384 if ok >= 1: 1379 #import pdb;pdb.set_trace()1380 1385 if self.isStudent(): 1381 1386 err = "This is only for Pume application." … … 1384 1389 else: 1385 1390 applicant = datastructure['record'] 1386 if not applicant.pin: 1391 if not applicant.pin: 1387 1392 s_logger.info('%s successfully used PIN %s' % (ref,pin_str)) 1388 1393 d = {} 1389 1394 d['reg_no'] = applicant.reg_no 1390 d['pin'] = n1391 self.new_students.modifyRecord(**d)1395 d['pin'] = pin_str 1396 getattr(self,self.catalog).modifyRecord(**d) 1392 1397 elif applicant.pin != pin_str: 1393 1398 s_logger.info('%s/%s repeatedly applied for PUME with different PIN %s' % (s_id,ref,pin_str)) … … 1408 1413 ###) 1409 1414 1415 def render(self, mode, datastructure, **kw): ###( 1416 """Render in mode from datastructure.""" 1417 render_method = 'widget_scratch_card_pin_render' 1418 meth = getattr(self, render_method, None) 1419 if meth is None: 1420 raise RuntimeError("Unknown Render Method %s for widget type %s" 1421 % (render_method, self.getId())) 1422 1423 # XXX AT: datastructure has to be set again here, in case we're in edit 1424 # or create mode, because a default value has to be provided. 1425 #import pdb;pdb.set_trace() 1426 datamodel = datastructure.getDataModel() 1427 v = datamodel[self.fields[0]] 1428 #import pdb;pdb.set_trace() 1429 if v and type(v) is StringType: 1430 try: 1431 p,b,n = v.split('-') 1432 v = ScratchCardPin(p,b,n) 1433 except ValueError: 1434 v = ScratchCardPin(self.prefix,'XXX',v) 1435 pass 1436 if v: 1437 prefix= '%s' % v.p 1438 b = '%s' % v.b 1439 n = '%s' % v.n 1440 else: 1441 prefix= self.prefix 1442 if prefix.startswith('@'): 1443 prefix= getattr(self,self.prefix[1:])() 1444 b = n = '' 1445 v = ScratchCardPin(prefix,b,n) 1446 widget_id = self.getWidgetId() 1447 datastructure[widget_id] = v 1448 datastructure[widget_id+'_p'] = prefix 1449 datastructure[widget_id+'_b'] = b 1450 datastructure[widget_id+'_n'] = n 1451 return meth(mode=mode, 1452 datastructure=datastructure, 1453 ) 1454 ###) 1455 1410 1456 InitializeClass(PumePinWidget) 1411 1457 widgetRegistry.register(PumePinWidget) … … 1430 1476 ###) 1431 1477 1478 class ExtFileWidget(CPSFileWidget): ###( 1479 """Photo widget.""" 1480 meta_type = 'Ext File Widget' 1481 1482 def getFileInfo(self, datastructure): ###( 1483 """Get the file info from the datastructure.""" 1484 widget_id = self.getWidgetId() 1485 fileupload = datastructure[widget_id] 1486 dm = datastructure.getDataModel() 1487 field_id = self.fields[0] 1488 if fileupload: 1489 import pdb; pdb.set_trace() 1490 empty_file = False 1491 session_file = isinstance(fileupload, PersistableFileUpload) 1492 current_filename = generateFileName(fileupload.filename) 1493 fileupload.seek(0, 2) # end of file 1494 size = fileupload.tell() 1495 fileupload.seek(0) 1496 file = dm[field_id] # last stored file 1497 if file is not None: 1498 last_modified = str(file._p_mtime or '') 1499 else: 1500 last_modified = '' 1501 else: 1502 empty_file = True 1503 session_file = False 1504 current_filename = '' 1505 size = 0 1506 last_modified = '' 1507 1508 # Find the URL for the file XXX Refactor this! 1509 1510 # get the adapter 1511 for adapter in dm._adapters: 1512 if adapter.getSchema().has_key(field_id): 1513 break # Note: 'adapter' is still the right one 1514 else: 1515 raise ValueError('No schema for field %r' % field_id) 1516 1517 # get the content_url from the adapter 1518 content_url = None 1519 ob = dm.getProxy() 1520 if ob is None: 1521 # non proxy case 1522 ob = dm.getObject() 1523 if ob is None: 1524 # Not stored in the ZODB. 1525 # StorageAdapters that do not store the object in 1526 # ZODB takes the entry_id instead of object. 1527 # Get the entry_id from the datamodel context(typically 1528 # a directory). 1529 id_field = getattr(dm.getContext(), 'id_field', None) 1530 if id_field: 1531 try: 1532 entry_id = datastructure[id_field] 1533 except KeyError: 1534 entry_id = None 1535 else: 1536 # No object passed, and no id_field 1537 entry_id = None 1538 if entry_id: 1539 # some adapters does not have _getContentUrl 1540 if getattr(adapter, '_getContentUrl', None) is not None: 1541 content_url = adapter._getContentUrl(entry_id, field_id) 1542 else: 1543 if hasattr(adapter,"_getContentUrl"): 1544 content_url = adapter._getContentUrl(ob, field_id, 1545 current_filename) 1546 else: 1547 content_url = None 1548 # get the mimetype 1549 registry = getToolByName(self, 'mimetypes_registry') 1550 mimetype = (registry.lookupExtension(current_filename.lower()) or 1551 registry.lookupExtension('file.bin')) 1552 1553 file_info = { 1554 'empty_file': empty_file, 1555 'session_file': session_file, 1556 'current_filename': current_filename, 1557 'size': size, 1558 'last_modified': last_modified, 1559 'content_url': content_url, 1560 'mimetype': mimetype, 1561 } 1562 1563 return file_info 1564 ###) 1565 1566 def prepare(self, datastructure, **kw): ###( 1567 """Prepare datastructure from datamodel.""" 1568 datamodel = datastructure.getDataModel() 1569 widget_id = self.getWidgetId() 1570 file_name = datamodel[self.fields[0]] 1571 if not file_name: 1572 file = None 1573 else: 1574 io = ExtFile(file) 1575 if filename is None: 1576 filename = ofsfile.title 1577 headers = {'content-type': ofsfile.content_type} 1578 fs = SimpleFieldStorage(io, filename, headers) 1579 FileUpload(fs) 1580 datastructure[widget_id] = file 1581 datastructure[widget_id + '_choice'] = '' 1582 if file is not None: 1583 title = file.title 1584 else: 1585 title = '' 1586 datastructure[widget_id + '_filename'] = title 1587 ###) 1588 1589 def validate(self, datastructure, **kw): 1590 """Update datamodel from user data in datastructure. 1591 """ 1592 datamodel = datastructure.getDataModel() 1593 field_id = self.fields[0] 1594 widget_id = self.getWidgetId() 1595 choice = datastructure[widget_id+'_choice'] 1596 store = False 1597 fileupload = None 1598 mimetype = None 1599 old_file = datamodel[field_id] 1600 if old_file is not None: 1601 old_filename = old_file.title 1602 else: 1603 old_filename = '' 1604 1605 if choice == 'delete': 1606 if self.is_required: 1607 return self.validateError('cpsschemas_err_required', {}, 1608 datastructure) 1609 datamodel[field_id] = None 1610 elif choice == 'keep': 1611 fileupload = datastructure[widget_id] 1612 if isinstance(fileupload, PersistableFileUpload): 1613 # Keeping something from the session means we 1614 # actually want to store it. 1615 store = True 1616 else: 1617 # Nothing to change, don't pollute datastructure 1618 # with something costly already stored, which therefore 1619 # doesn't need to be kept in the session. 1620 self.unprepare(datastructure) 1621 elif choice == 'change': 1622 fileupload = datastructure[widget_id] 1623 if not fileupload: 1624 return self.validateError('cpsschemas_err_file_empty', {}, 1625 datastructure) 1626 if not isinstance(fileupload, FileUpload): 1627 return self.validateError('cpsschemas_err_file', {}, 1628 datastructure) 1629 fileupload.seek(0, 2) # end of file 1630 size = fileupload.tell() 1631 if not size: 1632 return self.validateError('cpsschemas_err_file_empty', {}, 1633 datastructure) 1634 if self.size_max and size > self.size_max: 1635 max_size_str = self.getHumanReadableSize(self.size_max) 1636 err = 'cpsschemas_err_file_too_big ${max_size}' 1637 err_mapping = {'max_size': max_size_str} 1638 return self.validateError(err, err_mapping, datastructure) 1639 store = True 1640 1641 self.otherProcessing(choice, datastructure) 1642 1643 # Find filename 1644 if fileupload is not None: 1645 filename = self.getFileName(fileupload, datastructure, choice, 1646 old_filename) 1647 if filename != old_filename: 1648 registry = getToolByName(self, 'mimetypes_registry') 1649 mimetype = registry.lookupExtension(filename.lower()) 1650 if mimetype is not None: 1651 mimetype = str(mimetype) # normalize 1652 err, err_mapping = self.checkFileName(filename, mimetype) 1653 if err: 1654 return self.validateError(err, err_mapping, datastructure) 1655 elif datamodel[field_id] is not None: 1656 # FIXME: not correct in the case of change=='resize' (CPSPhotoWidget) 1657 filename = datamodel[field_id].title 1658 1659 # Set/update data 1660 import pdb;pdb.set_trace() 1661 if store: 1662 # Create file 1663 #file = ExtFile(filename, fileupload, datastructure) 1664 table_store = False 1665 if not hasattr(datamodel._adapters[0],'_getContentUrl'): 1666 table_store = True 1667 ref_id = datamodel.get('reg_no') 1668 id = "%s_%s" % (ref_id,field_id) 1669 self.tempExtFile = ExtFile(id, field_id) 1670 if table_store: 1671 datastructure[widget_id] = self.tempExtFile 1672 self.tempExtFile.manage_file_upload(fileupload,content_type=mimetype) 1673 else: 1674 self._setObject(id, self.tempExtFile) 1675 self._getOb(id).manage_file_upload(fileupload, content_type) 1676 # Fixup mimetype 1677 if mimetype and self.tempExtFile.content_type != mimetype: 1678 self.tempExtFile.content_type = mimetype 1679 # Store 1680 if not table_store: 1681 datamodel[field_id] = file 1682 elif datamodel[field_id] is not None: 1683 # Change filename 1684 if datamodel[field_id].title != filename: 1685 datamodel[field_id].title = filename 1686 1687 return True 1688 1689 1690 InitializeClass(ExtFileWidget) 1691 1692 widgetRegistry.register(ExtFileWidget) 1693 ###) 1694 1432 1695 1433 1696 ########### -
WAeUP_SRP/trunk/profiles/default/applicants_catalog.xml
r2094 r2098 36 36 <indexed_attr value="status"/> 37 37 </index> 38 <index name="registration_date" meta_type="DateIndex">39 <indexed_attr value="status"/>40 </index>41 <index name="firstname" meta_type="TextIndex">42 <indexed_attr value="firstname"/>43 </index>44 38 <index name="lastname" meta_type="TextIndex"> 45 39 <indexed_attr value="lastname"/> 46 40 </index> 47 <index name="faculty" meta_type="FieldIndex">48 <indexed_attr value="faculty"/>49 </index>50 <index name="department" meta_type="FieldIndex">51 <indexed_attr value="department"/>52 </index>53 <index name="course" meta_type="FieldIndex">54 <indexed_attr value="course"/>55 </index>56 41 </object> -
WAeUP_SRP/trunk/profiles/default/layouts/application.xml
r2095 r2098 2 2 <?xml-stylesheet type="text/xsl" href="layout.xsl"?> 3 3 <object name="application" meta_type="CPS Layout"> 4 <property name="layout_create_method">layout_enter_access_code</property> 5 <property name="layout_edit_method"></property> 6 <property name="layout_view_method"></property> 7 <property name="style_prefix">layout_application_</property> 8 <property name="flexible_widgets"/> 9 <property name="validate_values_expr"></property> 10 <widget name="course1" meta_type="String Widget"> 11 <property name="title">Course</property> 12 <property name="fields"> 13 <element value="course1"/> 14 </property> 15 <property name="label">Course 1</property> 16 <property name="label_edit">Course 1</property> 17 <property name="description"></property> 18 <property name="help"></property> 19 <property name="is_i18n">False</property> 20 <property name="widget_mode_expr"></property> 21 <property name="readonly_layout_modes"/> 22 <property name="hidden_layout_modes"/> 23 <property name="hidden_readonly_layout_modes"/> 24 </widget> 25 <widget name="course3" meta_type="String Widget"> 26 <property name="title">Course 3</property> 27 <property name="fields"> 28 <element value="course3"/> 29 </property> 30 <property name="label">Course 3</property> 31 <property name="label_edit">Course 3</property> 32 <property name="description"></property> 33 <property name="help"></property> 34 <property name="is_i18n">False</property> 35 <property name="widget_mode_expr"></property> 36 <property name="readonly_layout_modes"/> 37 <property name="hidden_layout_modes"/> 38 <property name="hidden_readonly_layout_modes"/> 39 </widget> 40 <widget name="course2" meta_type="String Widget"> 41 <property name="title">Course 2</property> 42 <property name="fields"> 43 <element value="course2"/> 44 </property> 45 <property name="label">Course 2</property> 46 <property name="label_edit">Course 2</property> 47 <property name="description"></property> 48 <property name="help"></property> 49 <property name="is_i18n">False</property> 50 <property name="widget_mode_expr"></property> 51 <property name="readonly_layout_modes"/> 52 <property name="hidden_layout_modes"/> 53 <property name="hidden_readonly_layout_modes"/> 54 </widget> 55 <widget name="date_of_birth" meta_type="Date Widget"> 56 <property name="title">Date of Birth</property> 57 <property name="fields"> 58 <element value="date_of_birth"/> 59 </property> 60 <property name="label">Date of Birth</property> 61 <property name="label_edit">Date of Birth</property> 62 <property name="description"></property> 63 <property name="help"></property> 64 <property name="is_i18n">False</property> 65 <property name="widget_mode_expr"></property> 66 <property name="readonly_layout_modes"/> 67 <property name="hidden_layout_modes"> 68 <element value="edit"/> 69 </property> 70 <property name="hidden_readonly_layout_modes"/> 71 </widget> 72 <widget name="department" meta_type="String Widget"> 73 <property name="title">Department</property> 74 <property name="fields"> 75 <element value="department"/> 76 </property> 77 <property name="label">Department</property> 78 <property name="label_edit">Department</property> 79 <property name="description"></property> 80 <property name="help"></property> 81 <property name="is_i18n">False</property> 82 <property name="widget_mode_expr"></property> 83 <property name="readonly_layout_modes"/> 84 <property name="hidden_layout_modes"/> 85 <property name="hidden_readonly_layout_modes"/> 86 </widget> 87 <widget name="email" meta_type="String Widget"> 88 <property name="title">Email</property> 89 <property name="fields"> 90 <element value="email"/> 91 </property> 92 <property name="label">Email</property> 93 <property name="label_edit">Email</property> 94 <property name="description"></property> 95 <property name="help"></property> 96 <property name="is_i18n">False</property> 97 <property name="widget_mode_expr"></property> 98 <property name="readonly_layout_modes"/> 99 <property name="hidden_layout_modes"/> 100 <property name="hidden_readonly_layout_modes"/> 101 </widget> 102 <widget name="entry_mode" meta_type="String Widget"> 103 <property name="title">Entry Mode</property> 104 <property name="fields"> 105 <element value="entry_mode"/> 106 </property> 107 <property name="label">Entry Mode</property> 108 <property name="label_edit">Entry Mode</property> 109 <property name="description"></property> 110 <property name="help"></property> 111 <property name="is_i18n">False</property> 112 <property name="widget_mode_expr"></property> 113 <property name="readonly_layout_modes"/> 114 <property name="hidden_layout_modes"/> 115 <property name="hidden_readonly_layout_modes"/> 116 </widget> 117 <widget name="faculty" meta_type="String Widget"> 118 <property name="title">Faculty</property> 119 <property name="fields"> 120 <element value="faculty"/> 121 </property> 122 <property name="label">Faculty</property> 123 <property name="label_edit">Faculty</property> 124 <property name="description"></property> 125 <property name="help"></property> 126 <property name="is_i18n">False</property> 127 <property name="widget_mode_expr"></property> 128 <property name="readonly_layout_modes"/> 129 <property name="hidden_layout_modes"/> 130 <property name="hidden_readonly_layout_modes"/> 131 </widget> 132 <widget name="firstname" meta_type="String Widget"> 133 <property name="title">Firstname</property> 134 <property name="fields"> 135 <element value="firstname"/> 136 </property> 137 <property name="label">Firstname</property> 138 <property name="label_edit">Firstname</property> 139 <property name="description"></property> 140 <property name="help"></property> 141 <property name="is_i18n">False</property> 142 <property name="widget_mode_expr"></property> 143 <property name="readonly_layout_modes"/> 144 <property name="hidden_layout_modes"/> 145 <property name="hidden_readonly_layout_modes"/> 146 </widget> 147 <widget name="agregate" meta_type="Int Widget"> 148 <property name="title">JAMB Agregate Score</property> 149 <property name="fields"> 150 <element value="agregate"/> 151 </property> 152 <property name="label">JAMB Agregate Score</property> 153 <property name="label_edit">JAMB Agregate Score</property> 154 <property name="description"></property> 155 <property name="help"></property> 156 <property name="is_i18n">False</property> 157 <property name="widget_mode_expr"></property> 158 <property name="readonly_layout_modes"/> 159 <property name="hidden_layout_modes"/> 160 <property name="hidden_readonly_layout_modes"/> 161 </widget> 162 <widget name="eng_score" meta_type="Int Widget"> 163 <property name="title">English Score</property> 164 <property name="fields"> 165 <element value="eng_score"/> 166 </property> 167 <property name="label">English Score</property> 168 <property name="label_edit">English Score</property> 169 <property name="description"></property> 170 <property name="help"></property> 171 <property name="is_i18n">False</property> 172 <property name="widget_mode_expr"></property> 173 <property name="readonly_layout_modes"/> 174 <property name="hidden_layout_modes"/> 175 <property name="hidden_readonly_layout_modes"/> 176 </widget> 177 <widget name="subj1" meta_type="String Widget"> 178 <property name="title">Subject 1</property> 179 <property name="fields"> 180 <element value="subj1"/> 181 </property> 182 <property name="label">Subject 1</property> 183 <property name="label_edit">Subject 1</property> 184 <property name="description"></property> 185 <property name="help"></property> 186 <property name="is_i18n">False</property> 187 <property name="widget_mode_expr"></property> 188 <property name="readonly_layout_modes"/> 189 <property name="hidden_layout_modes"/> 190 <property name="hidden_readonly_layout_modes"/> 191 </widget> 192 <widget name="subj1score" meta_type="Int Widget"> 193 <property name="title">Subject 1 Score</property> 194 <property name="fields"> 195 <element value="subj1score"/> 196 </property> 197 <property name="label">Subject 1 Score</property> 198 <property name="label_edit">Subject 1 Score</property> 199 <property name="description"></property> 200 <property name="help"></property> 201 <property name="is_i18n">False</property> 202 <property name="widget_mode_expr"></property> 203 <property name="readonly_layout_modes"/> 204 <property name="hidden_layout_modes"/> 205 <property name="hidden_readonly_layout_modes"/> 206 </widget> 207 <widget name="subj2" meta_type="String Widget"> 208 <property name="title">Subject 2</property> 209 <property name="fields"> 210 <element value="subj2"/> 211 </property> 212 <property name="label">Subject 2</property> 213 <property name="label_edit">Subject 2</property> 214 <property name="description"></property> 215 <property name="help"></property> 216 <property name="is_i18n">False</property> 217 <property name="widget_mode_expr"></property> 218 <property name="readonly_layout_modes"/> 219 <property name="hidden_layout_modes"/> 220 <property name="hidden_readonly_layout_modes"/> 221 </widget> 222 <widget name="subj2score" meta_type="Int Widget"> 223 <property name="title">Subject 2 Score</property> 224 <property name="fields"> 225 <element value="subj2score"/> 226 </property> 227 <property name="label">Subject 2 Score</property> 228 <property name="label_edit">Subject 2 Score</property> 229 <property name="description"></property> 230 <property name="help"></property> 231 <property name="is_i18n">False</property> 232 <property name="widget_mode_expr"></property> 233 <property name="readonly_layout_modes"/> 234 <property name="hidden_layout_modes"/> 235 <property name="hidden_readonly_layout_modes"/> 236 </widget> 237 <widget name="subj3" meta_type="String Widget"> 238 <property name="title">Subject 3</property> 239 <property name="fields"> 240 <element value="subj3"/> 241 </property> 242 <property name="label">Subject 3</property> 243 <property name="label_edit">Subject 3</property> 244 <property name="description"></property> 245 <property name="help"></property> 246 <property name="is_i18n">False</property> 247 <property name="widget_mode_expr"></property> 248 <property name="readonly_layout_modes"/> 249 <property name="hidden_layout_modes"/> 250 <property name="hidden_readonly_layout_modes"/> 251 </widget> 252 <widget name="subj3score" meta_type="Int Widget"> 253 <property name="title">Subject 3 Score</property> 254 <property name="fields"> 255 <element value="subj3score"/> 256 </property> 257 <property name="label">Subject 3 Score</property> 258 <property name="label_edit">Subject 3 Score</property> 259 <property name="description"></property> 260 <property name="help"></property> 261 <property name="is_i18n">False</property> 262 <property name="widget_mode_expr"></property> 263 <property name="readonly_layout_modes"/> 264 <property name="hidden_layout_modes"/> 265 <property name="hidden_readonly_layout_modes"/> 266 </widget> 267 <widget name="lastname" meta_type="String Widget"> 268 <property name="title">Lastname</property> 269 <property name="fields"> 270 <element value="lastname"/> 271 </property> 272 <property name="label">Lastname</property> 273 <property name="label_edit">Lastname</property> 274 <property name="description"></property> 275 <property name="help"></property> 276 <property name="is_i18n">False</property> 277 <property name="widget_mode_expr"></property> 278 <property name="readonly_layout_modes"/> 279 <property name="hidden_layout_modes"/> 280 <property name="hidden_readonly_layout_modes"/> 281 </widget> 282 <widget name="lga" meta_type="WAeUP LGA Widget"> 283 <property name="title">LGA</property> 284 <property name="fields"> 285 <element value="lga"/> 286 </property> 287 <property name="label">LGA</property> 288 <property name="label_edit">LGA</property> 289 <property name="description"></property> 290 <property name="help"></property> 291 <property name="is_i18n">False</property> 292 <property name="widget_mode_expr"></property> 293 <property name="readonly_layout_modes"/> 294 <property name="hidden_layout_modes"/> 295 <property name="hidden_readonly_layout_modes"/> 296 </widget> 297 <widget name="middlenames" meta_type="String Widget"> 298 <property name="title">Middlenames</property> 299 <property name="fields"> 300 <element value="middlenames"/> 301 </property> 302 <property name="label">Middlenames</property> 303 <property name="label_edit">Middlenames</property> 304 <property name="description"></property> 305 <property name="help"></property> 306 <property name="is_i18n">False</property> 307 <property name="widget_mode_expr"></property> 308 <property name="readonly_layout_modes"/> 309 <property name="hidden_layout_modes"/> 310 <property name="hidden_readonly_layout_modes"/> 311 </widget> 312 <widget name="phone" meta_type="String Widget"> 313 <property name="title">Phone</property> 314 <property name="fields"> 315 <element value="phone"/> 316 </property> 317 <property name="label">Phone</property> 318 <property name="label_edit">Phone</property> 319 <property name="description"></property> 320 <property name="help"></property> 321 <property name="is_i18n">False</property> 322 <property name="widget_mode_expr"></property> 323 <property name="readonly_layout_modes"/> 324 <property name="hidden_layout_modes"/> 325 <property name="hidden_readonly_layout_modes"/> 326 </widget> 327 <widget name="pin" meta_type="Pume Pin Widget"> 328 <property name="title">PIN</property> 329 <property name="fields"> 330 <element value="pin"/> 331 </property> 332 <property name="label">PIN</property> 333 <property name="label_edit">PIN</property> 334 <property name="description"></property> 335 <property name="help"></property> 336 <property name="is_i18n">False</property> 337 <property name="widget_mode_expr"></property> 338 <property name="readonly_layout_modes"/> 339 <property name="hidden_layout_modes"> 340 <element value="edit"/> 341 </property> 342 <property name="hidden_readonly_layout_modes"/> 343 <property name="prefix">APP</property> 344 <property name="reference">reg_no</property> 345 </widget> 346 <widget name="registration_date" meta_type="Date Widget"> 347 <property name="title">Registration Date</property> 348 <property name="fields"> 349 <element value="registration_date"/> 350 </property> 351 <property name="label">Registration Date</property> 352 <property name="label_edit">Registration Date</property> 353 <property name="description"></property> 354 <property name="help"></property> 355 <property name="is_i18n">False</property> 356 <property name="widget_mode_expr"></property> 357 <property name="readonly_layout_modes"/> 358 <property name="hidden_layout_modes"/> 359 <property name="hidden_readonly_layout_modes"/> 360 </widget> 361 <widget name="test_date" meta_type="Date Widget"> 362 <property name="title">Test Date</property> 363 <property name="fields"> 364 <element value="test_date"/> 365 </property> 366 <property name="label">Test Date</property> 367 <property name="label_edit">Test Date</property> 368 <property name="description"></property> 369 <property name="help"></property> 370 <property name="is_i18n">False</property> 371 <property name="widget_mode_expr"></property> 372 <property name="readonly_layout_modes"/> 373 <property name="hidden_layout_modes"/> 374 <property name="hidden_readonly_layout_modes"/> 375 </widget> 376 <widget name="reg_no" meta_type="JambRegNo Widget"> 377 <property name="title">JAMB Registration Number</property> 378 <property name="fields"> 379 <element value="reg_no"/> 380 </property> 381 <property name="label">JAMB Registration Number</property> 382 <property name="label_edit">JAMB Registration Number</property> 383 <property name="description"></property> 384 <property name="help"></property> 385 <property name="is_i18n">False</property> 386 <property name="widget_mode_expr"></property> 387 <property name="readonly_layout_modes"/> 388 <property name="hidden_layout_modes"/> 389 <property name="hidden_readonly_layout_modes"/> 390 <property name="display_width">13</property> 391 <property name="size_max">13</property> 392 <property name="reference">reg_no</property> 393 <property name="catalog">applicants_catalog</property> 394 </widget> 395 <widget name="score" meta_type="Int Widget"> 396 <property name="title">Score</property> 397 <property name="fields"> 398 <element value="score"/> 399 </property> 400 <property name="label">Score</property> 401 <property name="label_edit">Score</property> 402 <property name="description"></property> 403 <property name="help"></property> 404 <property name="is_i18n">False</property> 405 <property name="widget_mode_expr"></property> 406 <property name="readonly_layout_modes"/> 407 <property name="hidden_layout_modes"/> 408 <property name="hidden_readonly_layout_modes"/> 409 </widget> 410 <widget name="sex" meta_type="WAeUP Sex Widget"> 411 <property name="title">Sex</property> 412 <property name="fields"> 413 <element value="sex"/> 414 </property> 415 <property name="label">Score</property> 416 <property name="label_edit">Score</property> 417 <property name="description"></property> 418 <property name="help"></property> 419 <property name="is_i18n">False</property> 420 <property name="widget_mode_expr"></property> 421 <property name="readonly_layout_modes"/> 422 <property name="hidden_layout_modes"/> 423 <property name="hidden_readonly_layout_modes"/> 424 </widget> 425 <widget name="state" meta_type="WAeUP LGA Widget"> 426 <property name="title">State</property> 427 <property name="fields"> 428 <element value="lga"/> 429 </property> 430 <property name="label">State</property> 431 <property name="label_edit">State</property> 432 <property name="description"></property> 433 <property name="help"></property> 434 <property name="is_i18n">False</property> 435 <property name="widget_mode_expr"></property> 436 <property name="readonly_layout_modes"/> 437 <property name="hidden_layout_modes"/> 438 <property name="hidden_readonly_layout_modes"/> 439 </widget> 440 <widget name="status" meta_type="String Widget"> 441 <property name="title">Status</property> 442 <property name="fields"> 443 <element value="status"/> 444 </property> 445 <property name="label">Status</property> 446 <property name="label_edit">Status</property> 447 <property name="description"></property> 448 <property name="help"></property> 449 <property name="is_i18n">False</property> 450 <property name="widget_mode_expr"></property> 451 <property name="readonly_layout_modes"/> 452 <property name="hidden_layout_modes"/> 453 <property name="hidden_readonly_layout_modes"/> 454 </widget> 455 <widget name="verdict" meta_type="WAeUP Verdict Widget"> 456 <property name="title">Verdict</property> 457 <property name="fields"> 458 <element value="status"/> 459 </property> 460 <property name="label">Verdict</property> 461 <property name="label_edit">Verdict</property> 462 <property name="description"></property> 463 <property name="help"></property> 464 <property name="is_i18n">False</property> 465 <property name="widget_mode_expr"></property> 466 <property name="readonly_layout_modes"/> 467 <property name="hidden_layout_modes"/> 468 <property name="hidden_readonly_layout_modes"/> 469 </widget> 4 <property name="layout_create_method"></property> 5 <property name="layout_edit_method"></property> 6 <property name="layout_view_method"></property> 7 <property name="style_prefix">layout_apply_pume_</property> 8 <property name="flexible_widgets"/> 9 <property name="validate_values_expr"></property> 10 <widget name="course1" meta_type="String Widget"> 11 <property name="title">Course</property> 12 <property name="fields"> 13 <element value="course1"/> 14 </property> 15 <property name="label">Course 1</property> 16 <property name="label_edit">Course 1</property> 17 <property name="description"></property> 18 <property name="help"></property> 19 <property name="is_i18n">False</property> 20 <property name="widget_mode_expr"></property> 21 <property name="readonly_layout_modes"/> 22 <property name="hidden_layout_modes"/> 23 <property name="hidden_readonly_layout_modes"/> 24 <property name="css_class_expr">string:row</property> 25 </widget> 26 <widget name="course3" meta_type="String Widget"> 27 <property name="title">Course 3</property> 28 <property name="fields"> 29 <element value="course3"/> 30 </property> 31 <property name="label">Course 3</property> 32 <property name="label_edit">Course 3</property> 33 <property name="description"></property> 34 <property name="help"></property> 35 <property name="is_i18n">False</property> 36 <property name="widget_mode_expr"></property> 37 <property name="readonly_layout_modes"/> 38 <property name="hidden_layout_modes"/> 39 <property name="hidden_readonly_layout_modes"/> 40 <property name="css_class_expr">string:row</property> 41 </widget> 42 <widget name="course2" meta_type="String Widget"> 43 <property name="title">Course 2</property> 44 <property name="fields"> 45 <element value="course2"/> 46 </property> 47 <property name="label">Course 2</property> 48 <property name="label_edit">Course 2</property> 49 <property name="description"></property> 50 <property name="help"></property> 51 <property name="is_i18n">False</property> 52 <property name="widget_mode_expr"></property> 53 <property name="readonly_layout_modes"/> 54 <property name="hidden_layout_modes"/> 55 <property name="hidden_readonly_layout_modes"/> 56 <property name="css_class_expr">string:row</property> 57 </widget> 58 <widget name="date_of_birth" meta_type="DateTime Widget"> 59 <property name="title">Date of Birth</property> 60 <property name="fields"> 61 <element value="date_of_birth"/> 62 </property> 63 <property name="label">Date of Birth</property> 64 <property name="label_edit">Date of Birth</property> 65 <property name="description"></property> 66 <property name="help"></property> 67 <property name="is_i18n">False</property> 68 <property name="widget_mode_expr"></property> 69 <property name="readonly_layout_modes"/> 70 <property name="hidden_layout_modes"> 71 <element value="edit"/> 72 </property> 73 <property name="hidden_readonly_layout_modes"/> 74 <property name="css_class_expr">string:row</property> 75 </widget> 76 <widget name="department" meta_type="String Widget"> 77 <property name="title">Department</property> 78 <property name="fields"> 79 <element value="department"/> 80 </property> 81 <property name="label">Department</property> 82 <property name="label_edit">Department</property> 83 <property name="description"></property> 84 <property name="help"></property> 85 <property name="is_i18n">False</property> 86 <property name="widget_mode_expr"></property> 87 <property name="readonly_layout_modes"/> 88 <property name="hidden_layout_modes"/> 89 <property name="hidden_readonly_layout_modes"/> 90 <property name="css_class_expr">string:row</property> 91 </widget> 92 <widget name="email" meta_type="Email Widget"> 93 <property name="title">Email</property> 94 <property name="fields"> 95 <element value="email"/> 96 </property> 97 <property name="label">Email</property> 98 <property name="label_edit">Email</property> 99 <property name="description"></property> 100 <property name="help"></property> 101 <property name="is_i18n">False</property> 102 <property name="widget_mode_expr"></property> 103 <property name="readonly_layout_modes"/> 104 <property name="hidden_layout_modes"> 105 <element value="create"/> 106 </property> 107 <property name="hidden_readonly_layout_modes"/> 108 <property name="css_class_expr">string:row</property> 109 </widget> 110 <widget name="entry_mode" meta_type="String Widget"> 111 <property name="title">Entry Mode</property> 112 <property name="fields"> 113 <element value="entry_mode"/> 114 </property> 115 <property name="label">Entry Mode</property> 116 <property name="label_edit">Entry Mode</property> 117 <property name="description"></property> 118 <property name="help"></property> 119 <property name="is_i18n">False</property> 120 <property name="widget_mode_expr"></property> 121 <property name="readonly_layout_modes"/> 122 <property name="hidden_layout_modes"/> 123 <property name="hidden_readonly_layout_modes"/> 124 <property name="css_class_expr">string:row</property> 125 </widget> 126 <widget name="faculty" meta_type="String Widget"> 127 <property name="title">Faculty</property> 128 <property name="fields"> 129 <element value="faculty"/> 130 </property> 131 <property name="label">Faculty</property> 132 <property name="label_edit">Faculty</property> 133 <property name="description"></property> 134 <property name="help"></property> 135 <property name="is_i18n">False</property> 136 <property name="widget_mode_expr"></property> 137 <property name="readonly_layout_modes"/> 138 <property name="hidden_layout_modes"/> 139 <property name="hidden_readonly_layout_modes"/> 140 <property name="css_class_expr">string:row</property> 141 </widget> 142 <widget name="firstname" meta_type="String Widget"> 143 <property name="title">Firstname</property> 144 <property name="fields"> 145 <element value="firstname"/> 146 </property> 147 <property name="label">Firstname</property> 148 <property name="label_edit">Firstname</property> 149 <property name="description"></property> 150 <property name="help"></property> 151 <property name="is_i18n">False</property> 152 <property name="widget_mode_expr"></property> 153 <property name="readonly_layout_modes"/> 154 <property name="hidden_layout_modes"/> 155 <property name="hidden_readonly_layout_modes"/> 156 <property name="css_class_expr">string:row</property> 157 </widget> 158 <widget name="agregate" meta_type="Int Widget"> 159 <property name="title">JAMB Agregate Score</property> 160 <property name="fields"> 161 <element value="agregate"/> 162 </property> 163 <property name="label">JAMB Agregate Score</property> 164 <property name="label_edit">JAMB Agregate Score</property> 165 <property name="description"></property> 166 <property name="help"></property> 167 <property name="is_i18n">False</property> 168 <property name="widget_mode_expr"></property> 169 <property name="readonly_layout_modes"> 170 <element value="edit"/> 171 </property> 172 <property name="hidden_layout_modes"> 173 <element value="create"/> 174 </property> 175 <property name="hidden_readonly_layout_modes"/> 176 <property name="css_class_expr">string:row</property> 177 </widget> 178 <widget name="eng_score" meta_type="Int Widget"> 179 <property name="title">English Score</property> 180 <property name="fields"> 181 <element value="eng_score"/> 182 </property> 183 <property name="label">English: </property> 184 <property name="label_edit">English:</property> 185 <property name="description"></property> 186 <property name="help"></property> 187 <property name="is_i18n">False</property> 188 <property name="widget_mode_expr"></property> 189 <property name="readonly_layout_modes"> 190 <element value="edit"/> 191 </property> 192 <property name="hidden_layout_modes"> 193 <element value="create"/> 194 </property> 195 <property name="hidden_readonly_layout_modes"/> 196 <property name="css_class_expr">string:row</property> 197 </widget> 198 <widget name="subj1" meta_type="Select Widget"> 199 <property name="title">Subject 1</property> 200 <property name="fields"> 201 <element value="subj1"/> 202 </property> 203 <property name="label"></property> 204 <property name="label_edit"></property> 205 <property name="description"></property> 206 <property name="help"></property> 207 <property name="is_i18n">False</property> 208 <property name="widget_mode_expr"></property> 209 <property name="readonly_layout_modes"> 210 <element value="edit"/> 211 </property> 212 <property name="hidden_layout_modes"> 213 <element value="create"/> 214 </property> 215 <property name="hidden_readonly_layout_modes"/> 216 <property name="css_class_expr">string:row</property> 217 <property name="vocabulary">jamb_subjects</property> 218 </widget> 219 <widget name="subj1score" meta_type="Int Widget"> 220 <property name="title">Subject 1 Score</property> 221 <property name="fields"> 222 <element value="subj1score"/> 223 </property> 224 <property name="label"> : </property> 225 <property name="label_edit"> : </property> 226 <property name="description"></property> 227 <property name="help"></property> 228 <property name="is_i18n">False</property> 229 <property name="widget_mode_expr"></property> 230 <property name="readonly_layout_modes"> 231 <element value="edit"/> 232 </property> 233 <property name="hidden_layout_modes"> 234 <element value="create"/> 235 </property> 236 <property name="hidden_readonly_layout_modes"/> 237 <property name="css_class_expr">string:row</property> 238 </widget> 239 <widget name="subj2" meta_type="Select Widget"> 240 <property name="title">Subject 2</property> 241 <property name="fields"> 242 <element value="subj2"/> 243 </property> 244 <property name="label"></property> 245 <property name="label_edit"></property> 246 <property name="description"></property> 247 <property name="help"></property> 248 <property name="is_i18n">False</property> 249 <property name="widget_mode_expr"></property> 250 <property name="readonly_layout_modes"> 251 <element value="edit"/> 252 </property> 253 <property name="hidden_layout_modes"> 254 <element value="create"/> 255 </property> 256 <property name="hidden_readonly_layout_modes"/> 257 <property name="css_class_expr">string:row</property> 258 <property name="vocabulary">jamb_subjects</property> 259 </widget> 260 <widget name="subj2score" meta_type="Int Widget"> 261 <property name="title">Subject 2 Score</property> 262 <property name="fields"> 263 <element value="subj2score"/> 264 </property> 265 <property name="label"> : </property> 266 <property name="label_edit"> : </property> 267 <property name="description"></property> 268 <property name="help"></property> 269 <property name="is_i18n">False</property> 270 <property name="widget_mode_expr"></property> 271 <property name="readonly_layout_modes"> 272 <element value="edit"/> 273 </property> 274 <property name="hidden_layout_modes"> 275 <element value="create"/> 276 </property> 277 <property name="hidden_readonly_layout_modes"/> 278 <property name="css_class_expr">string:row</property> 279 </widget> 280 <widget name="subj3" meta_type="Select Widget"> 281 <property name="title">Subject 3</property> 282 <property name="fields"> 283 <element value="subj3"/> 284 </property> 285 <property name="label"></property> 286 <property name="label_edit"></property> 287 <property name="description"></property> 288 <property name="help"></property> 289 <property name="is_i18n">False</property> 290 <property name="widget_mode_expr"></property> 291 <property name="readonly_layout_modes"> 292 <element value="edit"/> 293 </property> 294 <property name="hidden_layout_modes"> 295 <element value="create"/> 296 </property> 297 <property name="hidden_readonly_layout_modes"/> 298 <property name="vocabulary">jamb_subjects</property> 299 <property name="css_class_expr">string:row</property> 300 </widget> 301 <widget name="subj3score" meta_type="Int Widget"> 302 <property name="title">Subject 3 Score</property> 303 <property name="fields"> 304 <element value="subj3score"/> 305 </property> 306 <property name="label"> : </property> 307 <property name="label_edit"> : </property> 308 <property name="description"></property> 309 <property name="help"></property> 310 <property name="is_i18n">False</property> 311 <property name="widget_mode_expr"></property> 312 <property name="readonly_layout_modes"> 313 <element value="edit"/> 314 </property> 315 <property name="hidden_layout_modes"> 316 <element value="create"/> 317 </property> 318 <property name="hidden_readonly_layout_modes"/> 319 <property name="css_class_expr">string:row</property> 320 </widget> 321 <widget name="lastname" meta_type="String Widget"> 322 <property name="title">Lastname</property> 323 <property name="fields"> 324 <element value="lastname"/> 325 </property> 326 <property name="label">Lastname</property> 327 <property name="label_edit">Lastname</property> 328 <property name="description"></property> 329 <property name="help"></property> 330 <property name="is_i18n">False</property> 331 <property name="widget_mode_expr"></property> 332 <property name="readonly_layout_modes"> 333 <element value="edit"/> 334 </property> 335 <property name="hidden_layout_modes"> 336 <element value="create"/> 337 </property> 338 <property name="hidden_readonly_layout_modes"/> 339 <property name="css_class_expr">string:row</property> 340 </widget> 341 <widget name="lga" meta_type="WAeUP LGA Widget"> 342 <property name="title">LGA</property> 343 <property name="fields"> 344 <element value="lga"/> 345 </property> 346 <property name="label">LGA</property> 347 <property name="label_edit">LGA</property> 348 <property name="description"></property> 349 <property name="help"></property> 350 <property name="is_i18n">False</property> 351 <property name="widget_mode_expr"></property> 352 <property name="readonly_layout_modes"/> 353 <property name="hidden_layout_modes"/> 354 <property name="hidden_readonly_layout_modes"/> 355 <property name="css_class_expr">string:row</property> 356 </widget> 357 <widget name="middlenames" meta_type="String Widget"> 358 <property name="title">Middlenames</property> 359 <property name="fields"> 360 <element value="middlenames"/> 361 </property> 362 <property name="label">Middlenames</property> 363 <property name="label_edit">Middlenames</property> 364 <property name="description"></property> 365 <property name="help"></property> 366 <property name="is_i18n">False</property> 367 <property name="widget_mode_expr"></property> 368 <property name="readonly_layout_modes"/> 369 <property name="hidden_layout_modes"/> 370 <property name="hidden_readonly_layout_modes"/> 371 <property name="css_class_expr">string:row</property> 372 </widget> 373 <widget name="passport" meta_type="Ext File Widget"> 374 <property name="title">Passport</property> 375 <property name="fields"> 376 <element value="passport"/> 377 </property> 378 <property name="is_required">True</property> 379 <property name="label">Passport</property> 380 <property name="label_edit">Passport</property> 381 <property name="readonly_layout_modes"/> 382 <property name="hidden_layout_modes"> 383 <element value="create"/> 384 </property> 385 <property name="hidden_readonly_layout_modes"/> 386 <property name="size_max">50000</property> 387 <property name="display_external_editor">False</property> 388 </widget> 389 <widget name="phone" meta_type="String Widget"> 390 <property name="title">Phone</property> 391 <property name="fields"> 392 <element value="phone"/> 393 </property> 394 <property name="label">Phone</property> 395 <property name="label_edit">Phone</property> 396 <property name="description"></property> 397 <property name="help"></property> 398 <property name="is_i18n">False</property> 399 <property name="widget_mode_expr"></property> 400 <property name="readonly_layout_modes"/> 401 <property name="hidden_layout_modes"> 402 <element value="create"/> 403 </property> 404 <property name="hidden_readonly_layout_modes"/> 405 <property name="css_class_expr">string:row</property> 406 </widget> 407 <widget name="pin" meta_type="Pume Pin Widget"> 408 <property name="title">PIN</property> 409 <property name="fields"> 410 <element value="pin"/> 411 </property> 412 <property name="label">PIN</property> 413 <property name="label_edit">PIN</property> 414 <property name="description"></property> 415 <property name="help"></property> 416 <property name="is_i18n">False</property> 417 <property name="widget_mode_expr"></property> 418 <property name="readonly_layout_modes"> 419 <element value="edit"/> 420 </property> 421 <property name="hidden_layout_modes"> 422 </property> 423 <property name="hidden_readonly_layout_modes"/> 424 <property name="css_class_expr">string:row</property> 425 <property name="prefix">APP</property> 426 <property name="reference">reg_no</property> 427 </widget> 428 <widget name="registration_date" meta_type="DateTime Widget"> 429 <property name="title">Registration Date</property> 430 <property name="fields"> 431 <element value="registration_date"/> 432 </property> 433 <property name="label">Registration Date</property> 434 <property name="label_edit">Registration Date</property> 435 <property name="description"></property> 436 <property name="help"></property> 437 <property name="is_i18n">False</property> 438 <property name="widget_mode_expr"></property> 439 <property name="readonly_layout_modes"> 440 <element value="edit"/> 441 </property> 442 <property name="hidden_layout_modes"/> 443 <property name="hidden_readonly_layout_modes"/> 444 <property name="css_class_expr">string:row</property> 445 </widget> 446 <widget name="testdate" meta_type="DateTime Widget"> 447 <property name="title">Test Date</property> 448 <property name="fields"> 449 <element value="testdate"/> 450 </property> 451 <property name="label">Test Date</property> 452 <property name="label_edit">Test Date</property> 453 <property name="description"></property> 454 <property name="help"></property> 455 <property name="is_i18n">False</property> 456 <property name="widget_mode_expr"></property> 457 <property name="readonly_layout_modes"/> 458 <property name="hidden_layout_modes"/> 459 <property name="hidden_readonly_layout_modes"/> 460 <property name="css_class_expr">string:row</property> 461 </widget> 462 <widget name="reg_no" meta_type="JambRegNo Widget"> 463 <property name="title">JAMB Registration Number</property> 464 <property name="fields"> 465 <element value="reg_no"/> 466 </property> 467 <property name="label">JAMB Registration Number</property> 468 <property name="label_edit">JAMB Registration Number</property> 469 <property name="description"></property> 470 <property name="help"></property> 471 <property name="is_i18n">False</property> 472 <property name="widget_mode_expr"></property> 473 <property name="readonly_layout_modes"> 474 <element value="edit"/> 475 </property> 476 <property name="hidden_layout_modes"/> 477 <property name="hidden_readonly_layout_modes"/> 478 <property name="css_class_expr">string:row</property> 479 <property name="display_width">13</property> 480 <property name="size_max">13</property> 481 <property name="reference">reg_no</property> 482 <property name="catalog">applicants_catalog</property> 483 </widget> 484 <widget name="score" meta_type="Int Widget"> 485 <property name="title">Score</property> 486 <property name="fields"> 487 <element value="score"/> 488 </property> 489 <property name="label">Score</property> 490 <property name="label_edit">Score</property> 491 <property name="description"></property> 492 <property name="help"></property> 493 <property name="is_i18n">False</property> 494 <property name="widget_mode_expr"></property> 495 <property name="readonly_layout_modes"/> 496 <property name="hidden_layout_modes"/> 497 <property name="hidden_readonly_layout_modes"/> 498 </widget> 499 <widget name="sex" meta_type="WAeUP Sex Widget"> 500 <property name="title">Sex</property> 501 <property name="fields"> 502 <element value="sex"/> 503 </property> 504 <property name="label">Score</property> 505 <property name="label_edit">Score</property> 506 <property name="description"></property> 507 <property name="help"></property> 508 <property name="is_i18n">False</property> 509 <property name="widget_mode_expr"></property> 510 <property name="readonly_layout_modes"/> 511 <property name="hidden_layout_modes"/> 512 <property name="hidden_readonly_layout_modes"/> 513 <property name="css_class_expr">string:row</property> 514 </widget> 515 <widget name="state" meta_type="WAeUP LGA Widget"> 516 <property name="title">State</property> 517 <property name="fields"> 518 <element value="lga"/> 519 </property> 520 <property name="label">State</property> 521 <property name="label_edit">State</property> 522 <property name="description"></property> 523 <property name="help"></property> 524 <property name="is_i18n">False</property> 525 <property name="widget_mode_expr"></property> 526 <property name="readonly_layout_modes"/> 527 <property name="hidden_layout_modes"/> 528 <property name="hidden_readonly_layout_modes"/> 529 <property name="css_class_expr">string:row</property> 530 </widget> 531 <widget name="status" meta_type="String Widget"> 532 <property name="title">Status</property> 533 <property name="fields"> 534 <element value="status"/> 535 </property> 536 <property name="label">Status</property> 537 <property name="label_edit">Status</property> 538 <property name="description"></property> 539 <property name="help"></property> 540 <property name="is_i18n">False</property> 541 <property name="widget_mode_expr"></property> 542 <property name="readonly_layout_modes"/> 543 <property name="hidden_layout_modes"/> 544 <property name="hidden_readonly_layout_modes"/> 545 <property name="css_class_expr">string:row</property> 546 </widget> 547 <widget name="verdict" meta_type="WAeUP Verdict Widget"> 548 <property name="title">Verdict</property> 549 <property name="fields"> 550 <element value="status"/> 551 </property> 552 <property name="label">Verdict</property> 553 <property name="label_edit">Verdict</property> 554 <property name="description"></property> 555 <property name="help"></property> 556 <property name="is_i18n">False</property> 557 <property name="widget_mode_expr"></property> 558 <property name="readonly_layout_modes"/> 559 <property name="hidden_layout_modes"/> 560 <property name="hidden_readonly_layout_modes"/> 561 <property name="css_class_expr">string:row</property> 562 </widget> 470 563 <table> 471 564 <row> 472 <cell name="reg_no"/> 473 </row> 474 <row> 475 <cell name="pin"/> 565 <cell name="reg_no" ncols="2"/> 566 </row> 567 <row> 568 <cell name="pin" ncols="2"/> 569 </row> 570 <row> 571 <cell name="lastname" ncols="2"/> 572 </row> 573 <row> 574 <cell name="email" ncols="2"/> 575 </row> 576 <row> 577 <cell name="phone" ncols="2"/> 578 </row> 579 <row> 580 <cell name="eng_score" ncols="2"/> 581 </row> 582 <row> 583 <cell name="subj1"/> 584 <cell name="subj1score"/> 585 </row> 586 <row> 587 <cell name="subj2"/> 588 <cell name="subj2score"/> 589 </row> 590 <row> 591 <cell name="subj3"/> 592 <cell name="subj3score"/> 593 </row> 594 <row> 595 <cell name="agregate" ncols="2"/> 476 596 </row> 477 597 </table> -
WAeUP_SRP/trunk/profiles/default/vocabularies.xml
r1989 r2098 8 8 <object name="csv_names" meta_type="CPS Method Vocabulary"/> 9 9 <object name="entry_modes" meta_type="CPS Vocabulary"/> 10 <object name="jamb_subjects" meta_type="CPS Vocabulary"/> 10 11 <object name="exam_subjects" meta_type="CPS Vocabulary"/> 11 12 <object name="exam_types" meta_type="CPS Vocabulary"/>
Note: See TracChangeset for help on using the changeset viewer.