Changeset 12609
- Timestamp:
- 13 Feb 2015, 06:31:37 (10 years ago)
- Location:
- main/waeup.kofa/trunk/src/waeup/kofa
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_move.py
r12590 r12609 26 26 27 27 class MoveObjectsInFaculties(StudentsFullSetup): 28 29 def test_move_department(self): 30 self.assertEqual( 31 self.app['faculties']['fac1']['dep1'].certificates['CERT1'], 32 self.certificate) 33 department = self.app['faculties']['fac1']['dep1'] 34 faculty = self.app['faculties']['fac1'] 35 department.moveDepartment('fac1', 'newdep') 36 37 # New department is created and old department is removed 38 self.assertEqual( 39 [key for key in self.app['faculties']['fac1']], 40 ['newdep']) 41 42 # All subobjects have been moved too 43 self.assertEqual( 44 self.app['faculties']['fac1']['newdep'].courses['COURSE1'], 45 self.course) 46 self.assertEqual( 47 self.app['faculties']['fac1']['newdep'].certificates['CERT1'], 48 self.certificate) 49 self.assertEqual( 50 [key for key in self.app['faculties']['fac1'][ 51 'newdep'].certificates['CERT1'].keys()], 52 [u'COURSE1_100']) 53 54 # We can still find the certificate in the catalog 55 cat = queryUtility(ICatalog, name='certificates_catalog') 56 results = cat.searchResults(code=('CERT1','CERT1')) 57 results = [x for x in results] 58 assert len(results) == 1 59 assert results[0] is self.certificate 60 61 # We can still find the course in the catalog 62 cat = queryUtility(ICatalog, name='courses_catalog') 63 results = cat.searchResults(code=('COURSE1','COURSE1')) 64 results = [x for x in results] # 65 assert len(results) == 1 66 assert results[0] is self.course 67 # We can still find the certificatecourse in the catalog 68 cat = queryUtility(ICatalog, name='certcourses_catalog') 69 results = cat.searchResults(course_code=('COURSE1','COURSE1')) 70 results = [x for x in results] 71 assert len(results) == 1 72 assert results[0] is self.app['faculties']['fac1'][ 73 'newdep'].certificates['CERT1']['COURSE1_100'] 74 75 # We can find the student studying in the new department 76 cat = queryUtility(ICatalog, name='students_catalog') 77 results = cat.searchResults(depcode=('newdep','newdep')) 78 results = [x for x in results] # Turn results generator into list 79 assert len(results) == 1 80 assert results[0] is self.app['students'][self.student_id] 81 logfile = os.path.join( 82 self.app['datacenter'].storage, 'logs', 'students.log') 83 logcontent = open(logfile).read() 84 self.assertTrue('INFO - system - K1000000 - Department moved' 85 in logcontent) 86 28 87 29 88 def test_move_certificate(self): … … 70 129 self.assertTrue('INFO - system - K1000000 - Certificate moved' 71 130 in logcontent) 72 -
main/waeup.kofa/trunk/src/waeup/kofa/university/department.py
r11891 r12609 20 20 import grok 21 21 import zope.location.location 22 from zope.event import notify 23 from zope.catalog.interfaces import ICatalog 22 24 from zope.component.interfaces import IFactory 23 25 from zope.interface import implementedBy … … 94 96 return longtitle(self) 95 97 98 def moveDepartment(self, facname, depname): 99 """ Move department to new department named depname in 100 faculty named facname. 101 102 """ 103 self.moved = True 104 fac = grok.getSite()['faculties'][facname] 105 oldcode = self.code 106 fac[depname] = self 107 del self.__parent__[oldcode] 108 fac[depname].code = depname 109 #self.__parent__._p_changed = True 110 cat = getUtility(ICatalog, name='students_catalog') 111 results = cat.searchResults(depcode=(oldcode, oldcode)) 112 for student in results: 113 notify(grok.ObjectModifiedEvent(student)) 114 student.__parent__.logger.info( 115 '%s - Department moved' % student.__name__) 116 return 117 96 118 class DepartmentFactory(grok.GlobalUtility): 97 119 """A factory for department containers.
Note: See TracChangeset for help on using the changeset viewer.