Changeset 7513 for main/waeup.sirp
- Timestamp:
- 25 Jan 2012, 17:47:23 (13 years ago)
- Location:
- main/waeup.sirp/trunk/src/waeup/sirp/students
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.sirp/trunk/src/waeup/sirp/students/batching.py
r7497 r7513 31 31 from zope.event import notify 32 32 from zope.catalog.interfaces import ICatalog 33 from hurry.workflow.interfaces import IWorkflowState 33 34 from waeup.sirp.interfaces import ( 34 35 IBatchProcessor, FatalCSVError, IObjectConverter, IUserAccount) … … 36 37 IStudent, IStudentStudyCourseImport, 37 38 IStudentUpdateByRegNo, IStudentUpdateByMatricNo) 39 from waeup.sirp.students.workflow import IMPORTABLE_STATES 38 40 from waeup.sirp.utils.batching import BatchProcessor 39 41 … … 58 60 def available_fields(self): 59 61 return sorted(list(set( 60 ['student_id','reg_number','matric_number','password'] + getFields( 62 ['student_id','reg_number','matric_number', 63 'password', 'reg_state'] + getFields( 61 64 self.iface).keys()))) 62 65 … … 144 147 if key == 'password': 145 148 IUserAccount(obj).setPassword(value) 149 elif key == 'reg_state': 150 IWorkflowState(obj).setState(value) 146 151 elif hasattr(obj, key): 147 152 setattr(obj, key, value) … … 177 182 errs, inv_errs, conv_dict = converter.fromStringDict( 178 183 row, self.factory_name) 184 if row.has_key('reg_state') and \ 185 row['reg_state'] is not None and \ 186 not row['reg_state'] in IMPORTABLE_STATES: 187 errs.append(('reg_state','not allowed')) 179 188 return errs, inv_errs, conv_dict 180 189 -
main/waeup.sirp/trunk/src/waeup/sirp/students/student.py
r7364 r7513 156 156 role_manager.assignRoleToPrincipal( 157 157 'waeup.local.StudentRecordOwner', student.student_id) 158 IWorkflowInfo(student).fireTransition('create') 158 if IWorkflowState(student).getState() is None: 159 IWorkflowInfo(student).fireTransition('create') 159 160 return 160 161 -
main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_student_data.csv
r7357 r7513 1 firstname,lastname,reg_number,date_of_birth,matric_number,email,phone 1 firstname,lastname,reg_number,date_of_birth,matric_number,email,phone,reg_state 2 2 Aaren,Pieri,1,1990-01-02,100000,aa@aa.ng,1234 3 Aaren,Finau,2,1990-01-03,100001,aa@aa.ng,1234 4 Aaren,Berson,3,1990-01-04,100002,aa@aa.ng,1234 3 Aaren,Finau,2,1990-01-03,100001,aa@aa.ng,1234,admitted 4 Aaren,Berson,3,1990-01-04,100002,aa@aa.ng,1234,cleared 5 John,Wolter,4,1990-01-04,100003,aa@aa.ng,1234,nonsense -
main/waeup.sirp/trunk/src/waeup/sirp/students/tests/sample_student_data_migration.csv
r7497 r7513 1 student_id,firstname,lastname,reg_number,date_of_birth,matric_number,email,phone,password 2 A123456,Aaren,Pieri,1,1990-01-02,100000,aa@aa.ng,1234,mypw1 3 B123456,Aaren,Finau,2,1990-01-03,100001,aa@aa.ng,1234,mypw1 4 C123456,Aaren,Berson,3,1990-01-04,100002,aa@aa.ng,1234,mypw1 1 student_id,firstname,lastname,reg_number,date_of_birth,matric_number,email,phone,password,reg_state 2 A123456,Aaren,Pieri,1,1990-01-02,100000,aa@aa.ng,1234,mypw1,school fee paid 3 B123456,Aaren,Finau,2,1990-01-03,100001,aa@aa.ng,1234,mypw1,cleared 4 C123456,Aaren,Berson,3,1990-01-04,100002,aa@aa.ng,1234,mypw1,admitted 5 D123456,John,Wolter,4,1990-01-04,100003,aa@aa.ng,1234,mypw1,nonsense -
main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_batching.py
r7357 r7513 162 162 num, num_warns, fin_file, fail_file = self.importer.doImport( 163 163 self.csv_file, STUDENT_HEADER_FIELDS) 164 self.assertEqual(num_warns, 0)164 self.assertEqual(num_warns,1) 165 165 assert len(self.app['students'].keys()) == 4 166 166 shutil.rmtree(os.path.dirname(fin_file)) … … 196 196 num, num_warns, fin_file, fail_file = self.importer.doImport( 197 197 self.csv_file_migration, STUDENT_HEADER_FIELDS_MIGRATION) 198 self.assertEqual(num_warns, 0)198 self.assertEqual(num_warns,1) 199 199 assert len(self.app['students'].keys()) == 4 200 200 self.assertTrue('A123456' in self.app['students'].keys()) 201 self.assertEqual(self.app['students']['A123456'].state,'school fee paid') 201 202 shutil.rmtree(os.path.dirname(fin_file)) 202 203 -
main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py
r7497 r7513 31 31 from zope.securitypolicy.interfaces import IPrincipalRoleManager 32 32 from zope.testbrowser.testing import Browser 33 from hurry.workflow.interfaces import IWorkflowInfo 33 from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState 34 34 from waeup.sirp.testing import FunctionalLayer, FunctionalTestCase 35 35 from waeup.sirp.app import University … … 769 769 prmlocal = IPrincipalRoleManager(department) 770 770 prmlocal.assignRoleToPrincipal('waeup.local.ClearanceOfficer', 'mrclear') 771 IWorkflowInfo(self.student).fireTransition('admit') 772 IWorkflowInfo(self.student).fireTransition('start_clearance') 771 IWorkflowState(self.student).setState('clearance started') 773 772 # Login as clearance officer 774 773 self.browser.open(self.login_path) … … 857 856 prmlocal = IPrincipalRoleManager(cert) 858 857 prmlocal.assignRoleToPrincipal('waeup.local.CourseAdviser100', 'mrsadvise') 859 IWorkflowInfo(self.student).fireTransition('admit') 860 IWorkflowInfo(self.student).fireTransition('start_clearance') 861 IWorkflowInfo(self.student).fireTransition('request_clearance') 862 IWorkflowInfo(self.student).fireTransition('clear') 863 IWorkflowInfo(self.student).fireTransition('pay_first_school_fee') 858 IWorkflowState(self.student).setState('school fee paid') 864 859 # Login as course adviser 865 860 self.browser.open(self.login_path) -
main/waeup.sirp/trunk/src/waeup/sirp/students/workflow.py
r7321 r7513 12 12 from waeup.sirp.students.interfaces import IStudent 13 13 from waeup.sirp.students.utils import set_returning_data 14 15 IMPORTABLE_STATES = (ADMITTED, CLEARANCE, REQUESTED, CLEARED, PAID, RETURNING, 16 REGISTERED, VALIDATED) 14 17 15 18 REGISTRATION_TRANSITIONS = (
Note: See TracChangeset for help on using the changeset viewer.