Changeset 11952 for main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba
- Timestamp:
- 13 Nov 2014, 16:03:08 (10 years ago)
- Location:
- main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba
- Files:
-
- 51 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/app.py
r11949 r11952 25 25 from waeup.ikoba.mandates.container import MandatesContainer 26 26 from waeup.ikoba.interfaces import ( 27 I University, IIkobaPluggable, IObjectUpgradeEvent, IJobManager,27 IInstitution, IIkobaPluggable, IObjectUpgradeEvent, IJobManager, 28 28 VIRT_JOBS_CONTAINER_NAME) 29 29 from waeup.ikoba.userscontainer import UsersContainer … … 32 32 from waeup.ikoba.configuration import ConfigurationContainer 33 33 34 class University(grok.Application, grok.Container, Logger):35 """A university.34 class Institution(grok.Application, grok.Container, Logger): 35 """A institution. 36 36 """ 37 grok.implements(I University)37 grok.implements(IInstitution) 38 38 39 39 # Setup authentication for this app. Note: this is only … … 44 44 45 45 def __init__(self, *args, **kw): 46 super( University, self).__init__(*args, **kw)46 super(Institution, self).__init__(*args, **kw) 47 47 self.setup() 48 48 return … … 85 85 self.logger.info('Plugin update finished.') 86 86 return 87 attrs_to_fields( University)87 attrs_to_fields(Institution) 88 88 89 89 class ObjectUpgradeEvent(ObjectEvent): … … 92 92 grok.implements(IObjectUpgradeEvent) 93 93 94 @grok.subscribe( University, grok.IObjectAddedEvent)95 def handle_ university_added(app, event):96 """If a universityis added, a message is logged.94 @grok.subscribe(Institution, grok.IObjectAddedEvent) 95 def handle_institution_added(app, event): 96 """If a institution is added, a message is logged. 97 97 """ 98 app.logger.info(' University`%s` added.' % getattr(app, '__name__', None))98 app.logger.info('Institution `%s` added.' % getattr(app, '__name__', None)) 99 99 return -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/app.txt
r11949 r11952 7 7 .. module:: waeup.ikoba.app 8 8 9 .. class:: University9 .. class:: Institution 10 10 11 11 The main Ikoba application object is given with 12 :class:` University`. It provides the main containers as faculties,12 :class:`Institution`. It provides the main containers as faculties, 13 13 hostels, etc. 14 14 15 15 .. attribute:: name 16 16 17 A string. The name of a university.17 A string. The name of a institution. 18 18 19 19 .. attribute:: faculties 20 20 21 21 An arbitrary object containing "faculties". In the case of 22 ` University` it is a container of type22 `Institution` it is a container of type 23 23 `waeup.ikoba.interfaces.IFacultiesContainer`. 24 24 25 25 26 Creating ` University` instances26 Creating `Institution` instances 27 27 =============================== 28 28 29 As :class:` University` instances make use of the Zope Component29 As :class:`Institution` instances make use of the Zope Component 30 30 Architecture (ZCA), we have to setup the basic component registries, 31 31 before we can create instances. We do this by simply grokking the … … 34 34 registries (this is done by the testlayer automatically). 35 35 36 Now we can import the :class:` University` class and create an36 Now we can import the :class:`Institution` class and create an 37 37 instance: 38 38 39 >>> from waeup.ikoba.app import University40 >>> my university = University()41 >>> my university42 <waeup.ikoba.app. Universityobject at 0x...>39 >>> from waeup.ikoba.app import Institution 40 >>> myinstitution = Institution() 41 >>> myinstitution 42 <waeup.ikoba.app.Institution object at 0x...> 43 43 44 Instances of ` University` comply with the interface45 `waeup.ikoba.interfaces.I University`:44 Instances of `Institution` comply with the interface 45 `waeup.ikoba.interfaces.IInstitution`: 46 46 47 47 >>> from zope.interface.verify import verifyClass 48 >>> from waeup.ikoba.interfaces import I University49 >>> verifyClass(I University, University)48 >>> from waeup.ikoba.interfaces import IInstitution 49 >>> verifyClass(IInstitution, Institution) 50 50 True 51 51 … … 53 53 interface: 54 54 55 >>> from waeup.ikoba.app import University56 >>> my university = University()57 >>> my university['configuration'].name58 u'Sample University'55 >>> from waeup.ikoba.app import Institution 56 >>> myinstitution = Institution() 57 >>> myinstitution['configuration'].name 58 u'Sample Institution' 59 59 60 >>> my university['users']60 >>> myinstitution['users'] 61 61 <waeup.ikoba.userscontainer.UsersContainer object at 0x...> 62 62 63 >>> my university['datacenter']63 >>> myinstitution['datacenter'] 64 64 <waeup.ikoba.datacenter.DataCenter object at 0x...> 65 65 66 >>> my university['configuration']66 >>> myinstitution['configuration'] 67 67 <waeup.ikoba.configuration.ConfigurationContainer object at 0x...> 68 68 … … 103 103 and setup a new Ikoba instance, we will get a message: 104 104 105 >>> from waeup.ikoba.app import University106 >>> site = University()105 >>> from waeup.ikoba.app import Institution 106 >>> site = Institution() 107 107 Setup was called for 108 <waeup.ikoba.app. Universityobject at 0x...>108 <waeup.ikoba.app.Institution object at 0x...> 109 109 110 Apparently the plugin can do with the Universityobject whatever it110 Apparently the plugin can do with the Institution object whatever it 111 111 likes. That's what plugins are for. -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/authentication.txt
r11949 r11952 11 11 12 12 >>> from zope.component.hooks import setSite # only needed in tests 13 >>> from waeup.ikoba.app import University13 >>> from waeup.ikoba.app import Institution 14 14 >>> root = getRootFolder() 15 >>> u = University()15 >>> u = Institution() 16 16 >>> root['app'] = u 17 17 >>> setSite(root['app']) # only needed in tests -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/batchprocessing.txt
r11949 r11952 21 21 Create a site: 22 22 23 >>> from waeup.ikoba.app import University24 >>> getRootFolder()['app'] = University()23 >>> from waeup.ikoba.app import Institution 24 >>> getRootFolder()['app'] = Institution() 25 25 >>> from zope.component.hooks import setSite 26 26 >>> setSite(getRootFolder()['app']) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.py
r11949 r11952 28 28 from waeup.ikoba.browser.interfaces import ( 29 29 IBreadcrumb, IBreadcrumbIgnorable, IBreadcrumbContainer, IIkobaObject, 30 I University, IUsersContainer, IDataCenter,30 IInstitution, IUsersContainer, IDataCenter, 31 31 ) 32 32 from waeup.ikoba.reports import IReportsContainer … … 86 86 return self.viewname 87 87 88 class UniversityBreadcrumb(Breadcrumb):89 """A breadcrumb for universityindex pages.90 """ 91 grok.context(I University)88 class InstitutionBreadcrumb(Breadcrumb): 89 """A breadcrumb for institution index pages. 90 """ 91 grok.context(IInstitution) 92 92 title = _(u'Home') 93 93 parent = None … … 97 97 98 98 Here we need a special `parent()` implementation, because the 99 parent object is not a real parent (the Universityobject has no99 parent object is not a real parent (the Institution object has no 100 100 valid parent in terms of breadcrumbs). Instead it is the 101 101 ``administration`` view of the same context the ``manage`` page 102 102 itself is bound to. 103 103 """ 104 grok.context(I University)104 grok.context(IInstitution) 105 105 grok.name('manage') 106 106 title = _(u'Portal Settings') … … 113 113 114 114 class AdministrationBreadcrumb(Breadcrumb): 115 """A breadcrumb for administration areas of Universityinstances.116 """ 117 grok.context(I University)115 """A breadcrumb for administration areas of Institution instances. 116 """ 117 grok.context(IInstitution) 118 118 grok.name('administration') 119 119 title = _(u'Administration') … … 158 158 title = _(u'Reports') 159 159 parent_viewname = 'administration' 160 target = None161 162 class ExportsBreadcrumb(Breadcrumb):163 """A breadcrumb for exports.164 """165 grok.context(IExportJobContainer)166 title = _(u'Student Data Exports')167 160 target = None 168 161 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.txt
r11949 r11952 9 9 =============================== 10 10 11 We create a universityto check the breadcrumb functionality.12 13 >>> from waeup.ikoba.app import University11 We create a institution to check the breadcrumb functionality. 12 13 >>> from waeup.ikoba.app import Institution 14 14 >>> root = getRootFolder() 15 >>> root['app'] = University()15 >>> root['app'] = Institution() 16 16 >>> app = root['app'] 17 17 … … 25 25 >>> blist1 = getBreadcrumbList(app, 'index') 26 26 >>> blist1 27 [<waeup.ikoba.browser.breadcrumbs. UniversityBreadcrumb object at 0x...>]27 [<waeup.ikoba.browser.breadcrumbs.InstitutionBreadcrumb object at 0x...>] 28 28 29 29 A slightly more extensive list for the datacenter: … … 32 32 >>> from pprint import pprint 33 33 >>> pprint(blist2) 34 [<waeup.ikoba.browser.breadcrumbs. UniversityBreadcrumb object at 0x...>,34 [<waeup.ikoba.browser.breadcrumbs.InstitutionBreadcrumb object at 0x...>, 35 35 <waeup.ikoba.browser.breadcrumbs.AdministrationBreadcrumb object at 0x...>, 36 36 <waeup.ikoba.browser.breadcrumbs.DataCenterBreadcrumb object at 0x...>] 37 37 38 We get a breadcrumb for university, administration area and data38 We get a breadcrumb for institution, administration area and data 39 39 center in that order. 40 40 … … 47 47 48 48 >>> pprint([(x.context, x.viewname) for x in blist2]) 49 [(<waeup.ikoba.app. Universityobject at 0x...>, 'index'),50 (<waeup.ikoba.app. Universityobject at 0x...>, 'administration'),49 [(<waeup.ikoba.app.Institution object at 0x...>, 'index'), 50 (<waeup.ikoba.app.Institution object at 0x...>, 'administration'), 51 51 (<waeup.ikoba.datacenter.DataCenter object at 0x...>, 'index')] 52 52 53 53 The administration area breadcrumb might be a surprise, as there is no 54 54 equivalent object in the ZODB. In fact the administration area is only 55 a certain view (the 'administration' view) on the universityobject.55 a certain view (the 'administration' view) on the institution object. 56 56 57 57 We will show below, how you can define breadcrumbs this way. … … 62 62 63 63 This way we can make sure, that there are different breadcrumb lists 64 generated for instance for the administration view of University64 generated for instance for the administration view of Institution 65 65 instances and the index view. While the first should look something 66 66 like:: … … 118 118 119 119 >>> pprint(mybccontainer.getList()) 120 [<...breadcrumbs. UniversityBreadcrumb object at 0x...>,120 [<...breadcrumbs.InstitutionBreadcrumb object at 0x...>, 121 121 <...breadcrumbs.AdministrationBreadcrumb object at 0x...>, 122 122 <...breadcrumbs.UsersContainerBreadcrumb object at 0x...>] … … 128 128 129 129 Now we can get breadcrumbs for contexts and view names. For example a 130 breadcrumb for the 'index' view of our Universityobject:130 breadcrumb for the 'index' view of our Institution object: 131 131 132 132 >>> from zope.component import getAdapter … … 134 134 >>> b1 = getAdapter(app, IBreadcrumb, 'index') 135 135 >>> b1 136 <waeup.ikoba.browser.breadcrumbs. UniversityBreadcrumb object at 0x...>136 <waeup.ikoba.browser.breadcrumbs.InstitutionBreadcrumb object at 0x...> 137 137 138 138 Breadcrumb objects provide a title: … … 168 168 169 169 >>> b2.parent 170 (<waeup.ikoba.app. Universityobject at 0x...>, 'administration')171 172 This result denotes a new context object (the Universityinstance we170 (<waeup.ikoba.app.Institution object at 0x...>, 'administration') 171 172 This result denotes a new context object (the Institution instance we 173 173 created above) and a view name ('administration'). 174 174 … … 188 188 As you can see, we get an AdministrationBreadcrumb, although the 189 189 context object, for which the breadcrumb was created is also the 190 Universityinstance as above:190 Institution instance as above: 191 191 192 192 >>> b3.context is b1.context … … 197 197 >>> context, viewname = b3.parent 198 198 >>> context, viewname 199 (<waeup.ikoba.app. Universityobject at 0x...>, 'index')199 (<waeup.ikoba.app.Institution object at 0x...>, 'index') 200 200 201 201 We create last breadcrumb: -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/browser.txt
r11949 r11952 4 4 Here we visit all parts of a Ikoba portal using a browser. 5 5 6 University 6 Institution 7 7 ========== 8 8 9 9 We can watch universities in the browser. 10 10 11 We create an universityobject and put into the ZODB root::11 We create an institution object and put into the ZODB root:: 12 12 13 13 >>> root = getRootFolder() … … 15 15 [] 16 16 17 >>> from waeup.ikoba.app import University18 >>> u = University()19 >>> root['my university'] = u17 >>> from waeup.ikoba.app import Institution 18 >>> u = Institution() 19 >>> root['myinstitution'] = u 20 20 >>> list(root) 21 [u'my university']21 [u'myinstitution'] 22 22 23 23 >>> from zope.component.hooks import setSite 24 >>> setSite(root['my university'])24 >>> setSite(root['myinstitution']) 25 25 26 26 To make sure, we can 'watch' pages, we first have to initialize out … … 30 30 >>> browser = Browser() 31 31 32 Let's get the default view of a university::33 34 >>> browser.open('http://localhost/my university')32 Let's get the default view of a institution:: 33 34 >>> browser.open('http://localhost/myinstitution') 35 35 >>> print browser.contents 36 36 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... … … 55 55 The contact form for anonymous users is called 'Enquiries':: 56 56 57 >>> browser.open('http://localhost/my university')57 >>> browser.open('http://localhost/myinstitution') 58 58 >>> browser.getLink('Enquiries').click() 59 59 >>> browser.getControl('Send').click() … … 74 74 Registered users with an email address can request a password change: 75 75 76 >>> root['my university']['users'].addUser('forgetful', 'secret',title='Bob Forgetful',76 >>> root['myinstitution']['users'].addUser('forgetful', 'secret',title='Bob Forgetful', 77 77 ... description='A forgetful user', email='aa@aa.ng') 78 >>> browser.open('http://localhost/my university/changepw')78 >>> browser.open('http://localhost/myinstitution/changepw') 79 79 >>> browser.getControl(name="form.identifier").value = 'forgetful' 80 80 >>> browser.getControl(name="form.email").value = 'aa@aa.ng' … … 91 91 We can then get an edit view of the configuration container:: 92 92 93 >>> browser.open('http://localhost/my university/configuration')94 >>> print browser.contents 95 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 96 ...<form action="http://localhost/my university/configuration/@@index"97 ... 98 99 The edit form contains the default value for the universityname::100 101 >>> 'Sample University' in browser.contents93 >>> browser.open('http://localhost/myinstitution/configuration') 94 >>> print browser.contents 95 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 96 ...<form action="http://localhost/myinstitution/configuration/@@index" 97 ... 98 99 The edit form contains the default value for the institution name:: 100 101 >>> 'Sample Institution' in browser.contents 102 102 True 103 103 … … 110 110 ... 111 111 112 >>> browser.open('http://localhost/my university/configuration')112 >>> browser.open('http://localhost/myinstitution/configuration') 113 113 >>> browser.getControl("Update plugins").click() 114 114 >>> print browser.contents … … 120 120 and is properly rendered on the frontpage of the portal: 121 121 122 >>> browser.open('http://localhost/my university')122 >>> browser.open('http://localhost/myinstitution') 123 123 >>> print browser.contents 124 124 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... … … 134 134 If we change to German so that the German part of frontpage.rst is rendered: 135 135 136 >>> browser.open('http://localhost/my university//@@change_language?lang=de')136 >>> browser.open('http://localhost/myinstitution//@@change_language?lang=de') 137 137 >>> print browser.contents 138 138 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... … … 147 147 Switch back to English: 148 148 149 >>> browser.open('http://localhost/my university//@@change_language?lang=en')149 >>> browser.open('http://localhost/myinstitution//@@change_language?lang=en') 150 150 151 151 … … 153 153 ============ 154 154 155 >>> browser.open('http://localhost/my university')155 >>> browser.open('http://localhost/myinstitution') 156 156 >>> browser.getLink('Portal Users').click() 157 157 >>> print browser.contents … … 187 187 manually by setting the roles attribute: 188 188 189 >>> print root['my university']['users']['bob'].roles189 >>> print root['myinstitution']['users']['bob'].roles 190 190 [] 191 >>> root['my university']['users']['bob'].roles = ['waeup.UsersManager']192 >>> print root['my university']['users']['bob'].roles191 >>> root['myinstitution']['users']['bob'].roles = ['waeup.UsersManager'] 192 >>> print root['myinstitution']['users']['bob'].roles 193 193 ['waeup.UsersManager'] 194 >>> browser.open('http://localhost/my university/users')194 >>> browser.open('http://localhost/myinstitution/users') 195 195 >>> print browser.contents 196 196 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... … … 200 200 Users can't be added twice: 201 201 202 >>> browser.open('http://localhost/my university/users/add')202 >>> browser.open('http://localhost/myinstitution/users/add') 203 203 >>> browser.getControl(name="form.name").value = 'bob' 204 204 >>> browser.getControl(name="form.title").value = 'Bob The User' … … 215 215 Users can be deleted: 216 216 217 >>> browser.open('http://localhost/my university/users')217 >>> browser.open('http://localhost/myinstitution/users') 218 218 >>> browser.getControl("Remove", index=0).click() 219 219 >>> 'User account bob successfully deleted' in browser.contents … … 227 227 Let's enter the contact form:: 228 228 229 >>> browser.open('http://localhost/my university/contactadmin')229 >>> browser.open('http://localhost/myinstitution/contactadmin') 230 230 >>> print browser.contents 231 231 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... … … 236 236 contact@waeup.org):: 237 237 238 >>> browser.open('http://localhost/my university/contactadmin')238 >>> browser.open('http://localhost/myinstitution/contactadmin') 239 239 >>> browser.getControl(name='form.body').value = "test message" 240 240 >>> browser.getControl('Send').click() … … 253 253 The data center helps us uploading files for later import or similar. 254 254 255 >>> browser.open('http://localhost/my university')255 >>> browser.open('http://localhost/myinstitution') 256 256 >>> browser.getLink('Data Center').click() 257 257 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/captcha.py
r11949 r11952 32 32 ICaptchaRequest, ICaptchaResponse, ICaptcha, ICaptchaConfig, 33 33 ICaptchaManager) 34 from waeup.ikoba.interfaces import I University34 from waeup.ikoba.interfaces import IInstitution 35 35 36 36 # … … 322 322 # A test page to see a captcha in action 323 323 grok.name('captcha') 324 grok.context(I University)324 grok.context(IInstitution) 325 325 grok.require('waeup.Public') 326 326 title = 'Captcha Test' -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/exceptions.py
r11949 r11952 64 64 """A page rendered when an object cannot be found. 65 65 66 XXX: This page won't work for objects above a w.k. University.66 XXX: This page won't work for objects above a w.k.Institution. 67 67 """ 68 68 grok.context(INotFound) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/interfaces.py
r11949 r11952 21 21 from zope.interface import Interface, Attribute 22 22 from waeup.ikoba.interfaces import ( 23 IIkobaObject, I University, IUsersContainer, IDataCenter, validate_email)23 IIkobaObject, IInstitution, IUsersContainer, IDataCenter, validate_email) 24 24 from waeup.ikoba.interfaces import MessageFactory as _ 25 25 … … 161 161 162 162 If no `headerline` is given, a default will be rendered (name 163 of university).163 of institution). 164 164 165 165 If no `title` is given, nothing will be rendered. -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/layout.py
r11949 r11952 220 220 #: An instance of the default theme to use for the site layout 221 221 stafftemp = grok.PageTemplateFile('templates/staffsitelayout.pt') 222 studenttemp = grok.PageTemplateFile('templates/studentsitelayout.pt')222 customertemp = grok.PageTemplateFile('templates/customersitelayout.pt') 223 223 224 224 @property … … 227 227 228 228 def getAppTitle(self): 229 return getattr(grok.getSite()['configuration'], 'name', u'Sample University')229 return getattr(grok.getSite()['configuration'], 'name', u'Sample Institution') 230 230 231 231 def getAppAcronym(self): … … 287 287 def render(self): 288 288 if self.isCustomer() or not self.isAuthenticated(): 289 return self. studenttemp.render(self)289 return self.customertemp.render(self) 290 290 return self.stafftemp.render(self) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pages.py
r11949 r11952 46 46 IkobaDisplayFormPage, NullValidator) 47 47 from waeup.ikoba.browser.interfaces import ( 48 I University, ICaptchaManager, IChangePassword)48 IInstitution, ICaptchaManager, IChangePassword) 49 49 from waeup.ikoba.browser.layout import jsaction, action, UtilityView 50 50 from waeup.ikoba.interfaces import MessageFactory as _ … … 268 268 self.flash(_('You logged in.')) 269 269 if self.request.principal.user_type == 'customer': 270 student = grok.getSite()['customerss'][270 customer = grok.getSite()['customers'][ 271 271 self.request.principal.id] 272 272 rel_link = '/customers/%s' % self.request.principal.id 273 if student.personal_data_expired:273 if customer.personal_data_expired: 274 274 rel_link = '/customerss/%s/edit_personal' % ( 275 275 self.request.principal.id) … … 325 325 class ContactAdminForm(IkobaForm): 326 326 grok.name('contactadmin') 327 #grok.context(I University)327 #grok.context(IInstitution) 328 328 grok.template('contactform') 329 329 grok.require('waeup.Authenticated') … … 405 405 406 406 # 407 # Universityrelated pages...407 # Institution related pages... 408 408 # 409 409 410 class UniversityPage(IkobaDisplayFormPage):411 """ The main universitypage.410 class InstitutionPage(IkobaDisplayFormPage): 411 """ The main institution page. 412 412 """ 413 413 grok.require('waeup.Public') 414 414 grok.name('index') 415 grok.context(I University)415 grok.context(IInstitution) 416 416 pnav = 0 417 417 label = '' … … 434 434 """ 435 435 grok.name('administration') 436 grok.context(I University)436 grok.context(IInstitution) 437 437 grok.require('waeup.managePortal') 438 438 label = _(u'Administration') … … 443 443 """ 444 444 grok.name('feed.rss') 445 grok.context(I University)445 grok.context(IInstitution) 446 446 grok.require('waeup.Public') 447 grok.template(' universityrss20feed')447 grok.template('institutionrss20feed') 448 448 449 449 name = 'General news feed' … … 457 457 @property 458 458 def title(self): 459 return getattr(grok.getSite(), 'name', u'Sample University')459 return getattr(grok.getSite(), 'name', u'Sample Institution') 460 460 461 461 @property … … 1568 1568 """Captcha'd page for all kind of users to request a password change. 1569 1569 """ 1570 grok.context(I University)1570 grok.context(IInstitution) 1571 1571 grok.name('changepw') 1572 1572 grok.require('waeup.Anonymous') … … 1589 1589 # email=(email,email)) 1590 1590 #for result in results: 1591 # if result. student_id == identifier or \1591 # if result.customer_id == identifier or \ 1592 1592 # result.reg_number == identifier or \ 1593 1593 # result.matric_number == identifier: -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pdf.py
r11949 r11952 710 710 doc, 'ikoba_headtitle', getattr( 711 711 site_config, 'name', 712 u'Sample University'))712 u'Sample Institution')) 713 713 canvas.setFont("Helvetica-Bold", 18) 714 714 if self.header_logo_left_path is not None: -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/customersitelayout.pt
r11949 r11952 3 3 <head> 4 4 <title i18n:translate=""> 5 WAeUP.Ikoba - Student ManagementSystem5 WAeUP.Ikoba - Application and Registration System 6 6 </title> 7 7 <!--base href="http://localhost:8080/app/@@page" -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterexportpage.pt
r11949 r11952 1 1 <p i18n:translate=""> 2 Here you can create CSV files from parts of portal data except student data.2 Here you can create CSV files from parts of portal data. 3 3 Please pick the type of objects you want to export from the 4 4 selection below. The file will be generated and then be -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/loginpage.pt
r11949 r11952 22 22 </p> 23 23 <p i18n:translate="login_trouble2" tal:condition="python:False"> 24 You don't have an account because you are a fresh student, or your studentrecord has just been created?25 Acquire a Password Activation Code (PWD) and inititialize your studentaccount24 You don't have an account because you are a new customer, or your customer record has just been created? 25 Acquire a Password Activation Code (PWD) and inititialize your customer account 26 26 <strong><a href ="setpassword"> here</a></strong>. 27 27 </p> 28 28 <p i18n:translate="login_trouble4"> 29 You don't have an account because you are a fresh student, or your studentrecord has just been created?30 Inititialize your studentaccount <strong><a href="requestpw"> here</a></strong>.29 You don't have an account because you are a new customer, or your customer record has just been created? 30 Inititialize your customer account <strong><a href="requestpw"> here</a></strong>. 31 31 </p> 32 <p i18n:translate="login_trouble3"> Or simply forgot your student id, application id orpassword? Then request a new password32 <p i18n:translate="login_trouble3"> Or simply forgot your customer id password? Then request a new password 33 33 <strong><a href="changepw"> here</a></strong>. 34 34 </p> -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/staffsitelayout.pt
r11949 r11952 5 5 <!-- Diazo element--> 6 6 <title i18n:translate=""> 7 WAeUP.Ikoba - Student ManagementSystem7 WAeUP.Ikoba - Application and Registration System 8 8 </title> 9 9 <!-- /Diazo element--> -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_async.py
r11949 r11952 8 8 from zope.security.interfaces import Unauthorized 9 9 from zope.testbrowser.testing import Browser 10 from waeup.ikoba.app import University10 from waeup.ikoba.app import Institution 11 11 from waeup.ikoba.async import AsyncJob, get_job_id 12 12 from waeup.ikoba.interfaces import IJobManager … … 29 29 self.storage = os.path.join(self.workdir, 'storage') 30 30 os.mkdir(self.storage) 31 app = University()31 app = Institution() 32 32 app['datacenter'].setStoragePath(self.storage) 33 33 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_permissions.py
r11949 r11952 31 31 from zope.security.interfaces import Unauthorized 32 32 from zope.testbrowser.testing import Browser 33 from waeup.ikoba.app import University33 from waeup.ikoba.app import Institution 34 34 from waeup.ikoba.testing import ( 35 35 FunctionalLayer, FunctionalTestCase, get_all_loggers, remove_new_loggers, … … 58 58 def setUp(self): 59 59 super(PermissionTest, self).setUp() 60 # Set up a complete universityto have every page available...61 app = University()60 # Set up a complete institution to have every page available... 61 app = Institution() 62 62 self.getRootFolder()['app'] = app 63 63 setSite(self.getRootFolder()['app']) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/viewlets.py
r11949 r11952 24 24 from zope.traversing.browser import absoluteURL 25 25 from waeup.ikoba.browser.pages import ( 26 UniversityPage, DatacenterPage,26 InstitutionPage, DatacenterPage, 27 27 UsersContainerPage, UserManageFormPage) 28 28 from waeup.ikoba.browser.interfaces import ( 29 IBreadcrumbContainer, I University, IUsersContainer)29 IBreadcrumbContainer, IInstitution, IUsersContainer) 30 30 from waeup.ikoba.interfaces import ( 31 31 IIkobaUtils, IIkobaObject, IIkobaXMLExporter, -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/frontpage.html
r11950 r11952 2 2 <br> 3 3 <p class="ikoba-content-desc"> 4 the Information and Registration Portal 5 for Schools, Colleges and Universities 4 the Online Application and Registration Portal 6 5 </p> 7 6 </h1> … … 55 54 <br> 56 55 <small> 57 dem Informations- und Registrierungs-Portal für Schulen und Universitäten56 dem Anmelde- und Registrierungs-Portal 58 57 </small> 59 58 </h1> -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/imagestorage.py
r11949 r11952 285 285 want to change this path -- it is dynamic. That means, if you call 286 286 the file store from 'within' a site, the root path will be located 287 inside this site (a :class:`waeup.ikoba. University` instance). If287 inside this site (a :class:`waeup.ikoba.Institution` instance). If 288 288 you call it from 'outside' a site some temporary dir (always the 289 289 same during lifetime of the file store instance) will be used. The -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/index.txt
r5328 r11952 20 20 accesscodes/api.txt 21 21 jambtables/api.txt 22 university/api.txt22 institution/api.txt 23 23 utils/api.txt 24 24 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/interfaces.py
r11949 r11952 288 288 """ 289 289 290 class I University(IIkobaObject):291 """Representation of a university.290 class IInstitution(IIkobaObject): 291 """Representation of an institution. 292 292 """ 293 293 … … 593 593 594 594 name = schema.TextLine( 595 title = _(u'Name of University'),596 default = _(u'Sample University'),595 title = _(u'Name of Institution'), 596 default = _(u'Sample Institution'), 597 597 required = True, 598 598 ) 599 599 600 600 acronym = schema.TextLine( 601 title = _(u'Abbreviated Title of University'),601 title = _(u'Abbreviated Title of Institution'), 602 602 default = u'WAeUP.Ikoba', 603 603 required = True, … … 796 796 Components implementing this interface are referred to as 797 797 'plugins'. They are normally called when a new 798 :class:`waeup.ikoba.app. University` instance is created.798 :class:`waeup.ikoba.app.Institution` instance is created. 799 799 800 800 Plugins can setup and update parts of the central site without the 801 site object (normally a :class:`waeup.ikoba.app. University` object)801 site object (normally a :class:`waeup.ikoba.app.Institution` object) 802 802 needing to know about that parts. The site simply collects all 803 803 available plugins, calls them and the plugins care for their … … 852 852 Utilities providing this interface are looked up when a Pluggable 853 853 Authentication Utility (PAU) for any 854 :class:`waeup.ikoba.app. University` instance is created and put854 :class:`waeup.ikoba.app.Institution` instance is created and put 855 855 into ZODB. 856 856 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/de/LC_MESSAGES/waeup.ikoba.po
r11949 r11952 1073 1073 1074 1074 #: waeup/ikoba/interfaces.py:595 1075 msgid "Name of University"1075 msgid "Name of Institution" 1076 1076 msgstr "Name der Universität" 1077 1077 1078 1078 #: waeup/ikoba/interfaces.py:596 1079 msgid "Sample University"1079 msgid "Sample Institution" 1080 1080 msgstr "Deomo-Universität" 1081 1081 1082 1082 #: waeup/ikoba/interfaces.py:601 1083 msgid "Abbreviated Title of University"1083 msgid "Abbreviated Title of Institution" 1084 1084 msgstr "Abkürzung" 1085 1085 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/en/LC_MESSAGES/waeup.ikoba.po
r11949 r11952 1004 1004 1005 1005 #: waeup/ikoba/interfaces.py:595 1006 msgid "Name of University"1006 msgid "Name of Institution" 1007 1007 msgstr "" 1008 1008 1009 1009 #: waeup/ikoba/interfaces.py:596 1010 msgid "Sample University"1010 msgid "Sample Institution" 1011 1011 msgstr "" 1012 1012 1013 1013 #: waeup/ikoba/interfaces.py:601 1014 msgid "Abbreviated Title of University"1014 msgid "Abbreviated Title of Institution" 1015 1015 msgstr "" 1016 1016 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/fr/LC_MESSAGES/waeup.ikoba.po
r11949 r11952 1076 1076 #: waeup/ikoba/interfaces.py:595 1077 1077 #, fuzzy 1078 msgid "Name of University"1078 msgid "Name of Institution" 1079 1079 msgstr "Nom du département" 1080 1080 1081 1081 #: waeup/ikoba/interfaces.py:596 1082 msgid "Sample University"1082 msgid "Sample Institution" 1083 1083 msgstr "" 1084 1084 1085 1085 #: waeup/ikoba/interfaces.py:601 1086 msgid "Abbreviated Title of University"1086 msgid "Abbreviated Title of Institution" 1087 1087 msgstr "" 1088 1088 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/ha/LC_MESSAGES/waeup.ikoba.po
r11949 r11952 1005 1005 1006 1006 #: waeup/ikoba/interfaces.py:595 1007 msgid "Name of University"1007 msgid "Name of Institution" 1008 1008 msgstr "" 1009 1009 1010 1010 #: waeup/ikoba/interfaces.py:596 1011 msgid "Sample University"1011 msgid "Sample Institution" 1012 1012 msgstr "" 1013 1013 1014 1014 #: waeup/ikoba/interfaces.py:601 1015 msgid "Abbreviated Title of University"1015 msgid "Abbreviated Title of Institution" 1016 1016 msgstr "" 1017 1017 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/ig/LC_MESSAGES/waeup.ikoba.po
r11949 r11952 1005 1005 1006 1006 #: waeup/ikoba/interfaces.py:595 1007 msgid "Name of University"1007 msgid "Name of Institution" 1008 1008 msgstr "" 1009 1009 1010 1010 #: waeup/ikoba/interfaces.py:596 1011 msgid "Sample University"1011 msgid "Sample Institution" 1012 1012 msgstr "" 1013 1013 1014 1014 #: waeup/ikoba/interfaces.py:601 1015 msgid "Abbreviated Title of University"1015 msgid "Abbreviated Title of Institution" 1016 1016 msgstr "" 1017 1017 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/waeup.ikoba.pot
r11949 r11952 1011 1011 1012 1012 #: waeup/ikoba/interfaces.py:595 1013 msgid "Name of University"1013 msgid "Name of Institution" 1014 1014 msgstr "" 1015 1015 1016 1016 #: waeup/ikoba/interfaces.py:596 1017 msgid "Sample University"1017 msgid "Sample Institution" 1018 1018 msgstr "" 1019 1019 1020 1020 #: waeup/ikoba/interfaces.py:601 1021 msgid "Abbreviated Title of University"1021 msgid "Abbreviated Title of Institution" 1022 1022 msgstr "" 1023 1023 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/yo/LC_MESSAGES/waeup.ikoba.po
r11949 r11952 1005 1005 1006 1006 #: waeup/ikoba/interfaces.py:595 1007 msgid "Name of University"1007 msgid "Name of Institution" 1008 1008 msgstr "" 1009 1009 1010 1010 #: waeup/ikoba/interfaces.py:596 1011 msgid "Sample University"1011 msgid "Sample Institution" 1012 1012 msgstr "" 1013 1013 1014 1014 #: waeup/ikoba/interfaces.py:601 1015 msgid "Abbreviated Title of University"1015 msgid "Abbreviated Title of Institution" 1016 1016 msgstr "" 1017 1017 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/mandates/browser.py
r11949 r11952 20 20 import grok 21 21 from waeup.ikoba.browser.layout import UtilityView 22 from waeup.ikoba.interfaces import I University22 from waeup.ikoba.interfaces import IInstitution 23 23 from waeup.ikoba.interfaces import MessageFactory as _ 24 24 … … 26 26 """View to execute mandate. 27 27 """ 28 grok.context(I University)28 grok.context(IInstitution) 29 29 grok.name('mandate') 30 30 grok.require('waeup.Public') -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/mandates/container.py
r11949 r11952 49 49 50 50 class MandatesPlugin(grok.GlobalUtility): 51 """A plugin that creates container for mandates inside a university.51 """A plugin that creates container for mandates inside a institution. 52 52 """ 53 53 grok.implements(IIkobaPluggable) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/mandates/tests.py
r11949 r11952 27 27 from zope.component import createObject 28 28 from zope.component.hooks import setSite, clearSite 29 from waeup.ikoba.app import University29 from waeup.ikoba.app import Institution 30 30 from waeup.ikoba.interfaces import IUserAccount 31 31 from waeup.ikoba.mandates.interfaces import ( … … 63 63 64 64 # Setup a sample site for each test 65 app = University()65 app = Institution() 66 66 self.dc_root = tempfile.mkdtemp() 67 67 app['datacenter'].setStoragePath(self.dc_root) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/payments/catalog.py
r11949 r11952 19 19 """ 20 20 import grok 21 from waeup.ikoba.interfaces import I University21 from waeup.ikoba.interfaces import IInstitution 22 22 from waeup.ikoba.payments.interfaces import IPayment 23 23 … … 25 25 """A catalog for all payments. 26 26 """ 27 grok.site(I University)27 grok.site(IInstitution) 28 28 grok.name('payments_catalog') 29 29 grok.context(IPayment) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/testing.py
r11949 r11952 126 126 maybe_grok, setUpZope, cleanUpZope, 127 127 ) 128 from waeup.ikoba.app import University128 from waeup.ikoba.app import Institution 129 129 130 130 class MyTestCase(unittest.TestCase): … … 148 148 149 149 def test_jambdata_in_site(self): 150 u = University()150 u = Institution() 151 151 self.assertTrue('jambdata' in u.keys()) 152 152 return -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_app.py
r11949 r11952 22 22 from zope.component.hooks import setSite 23 23 from zope.interface.verify import verifyClass, verifyObject 24 from waeup.ikoba.app import University24 from waeup.ikoba.app import Institution 25 25 from waeup.ikoba.interfaces import ( 26 I University, IJobManager, VIRT_JOBS_CONTAINER_NAME)26 IInstitution, IJobManager, VIRT_JOBS_CONTAINER_NAME) 27 27 from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase 28 28 29 class UniversityTests(FunctionalTestCase):29 class InstitutionTests(FunctionalTestCase): 30 30 31 31 layer = FunctionalLayer 32 32 33 33 def setUp(self): 34 super( UniversityTests, self).setUp()34 super(InstitutionTests, self).setUp() 35 35 self.workdir = tempfile.mkdtemp() 36 self.getRootFolder()['app'] = University()36 self.getRootFolder()['app'] = Institution() 37 37 self.app = self.getRootFolder()['app'] 38 38 return 39 39 40 40 def tearDown(self): 41 super( UniversityTests, self).tearDown()41 super(InstitutionTests, self).tearDown() 42 42 shutil.rmtree(self.workdir) 43 43 return 44 44 45 45 def test_ifaces(self): 46 university = University()47 assert verifyClass(I University, University)48 assert verifyObject(I University, university)46 institution = Institution() 47 assert verifyClass(IInstitution, Institution) 48 assert verifyObject(IInstitution, institution) 49 49 return 50 50 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_imagestorage.py
r11949 r11952 27 27 from zope.component.hooks import setSite 28 28 from zope.interface.verify import verifyClass, verifyObject 29 from waeup.ikoba.app import University29 from waeup.ikoba.app import Institution 30 30 from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase 31 31 from waeup.ikoba.imagestorage import ( … … 228 228 self.fd = open(self.samplefile, 'r') 229 229 self.fd2 = open(self.otherfile, 'r') 230 self.getRootFolder()['app'] = University()230 self.getRootFolder()['app'] = Institution() 231 231 self.app = self.getRootFolder()['app'] 232 232 self.app['datacenter'].setStoragePath(self.workdir) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_maintenance.py
r11949 r11952 9 9 from zope.component.hooks import setSite 10 10 from zope.interface import Interface, implements 11 from waeup.ikoba.app import University11 from waeup.ikoba.app import Institution 12 12 from waeup.ikoba.maintenance import update_catalog 13 13 from waeup.ikoba.testing import FunctionalTestCase, FunctionalLayer … … 41 41 super(UpdateCatalogTests, self).setUp() 42 42 # Setup a sample site for each test 43 app = University()43 app = Institution() 44 44 self.dc_root = tempfile.mkdtemp() 45 45 app['datacenter'].setStoragePath(self.dc_root) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_objecthistory.py
r11949 r11952 25 25 from zope.security.management import newInteraction, endInteraction 26 26 from zope.security.testing import Principal, Participation 27 from waeup.ikoba.app import University27 from waeup.ikoba.app import Institution 28 28 from waeup.ikoba.interfaces import IObjectHistory, IIkobaObject 29 29 from waeup.ikoba.testing import FunctionalTestCase, FunctionalLayer … … 43 43 44 44 # Prepopulate ZODB 45 app = University()45 app = Institution() 46 46 self.dc_root = tempfile.mkdtemp() 47 47 app['datacenter'].setStoragePath(self.dc_root) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_smtp.py
r11949 r11952 27 27 from zope.component.hooks import setSite 28 28 from zope.sendmail.interfaces import IMailDelivery 29 from waeup.ikoba.app import University29 from waeup.ikoba.app import Institution 30 30 from waeup.ikoba.interfaces import IMailService 31 31 from waeup.ikoba.smtp import ( … … 341 341 super(ExternalMailerTests, self).setUp() 342 342 # Setup a sample site for each test 343 app = University()343 app = Institution() 344 344 self.dc_root = tempfile.mkdtemp() 345 345 app['datacenter'].setStoragePath(self.dc_root) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/userscontainer.py
r11949 r11952 92 92 obj= object 93 93 path = '' 94 while obj.__class__.__name__ != ' University':94 while obj.__class__.__name__ != 'Institution': 95 95 path = '%s/' % obj.__name__ + path 96 96 obj = obj.__parent__ -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/userscontainer.txt
r11949 r11952 1 1 User container for the Ikoba 2 *************************** 2 **************************** 3 3 4 4 .. :doctest: -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/batching.txt
r11949 r11952 20 20 * accepts a single data type identified by an interface. 21 21 22 * knows about the places inside a site ( University) where to store,22 * knows about the places inside a site (Institution) where to store, 23 23 remove or update the data. 24 24 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/browser.py
r11949 r11952 25 25 from waeup.ikoba.interfaces import IObjectHistory 26 26 27 from waeup.ikoba.interfaces import I University27 from waeup.ikoba.interfaces import IInstitution 28 28 29 29 class ReindexPage(UtilityView, grok.View): … … 32 32 Reindexes a catalog. For managers only. 33 33 """ 34 grok.context(I University)34 grok.context(IInstitution) 35 35 grok.name('reindex') 36 36 grok.require('waeup.managePortal') -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/helpers.txt
r11949 r11952 185 185 ... <BLANKLINE> 186 186 ... <body> 187 ... <form action="http://localhost/my university/faculties/TF/add"187 ... <form action="http://localhost/myinstitution/faculties/TF/add" 188 188 ... method="post" class="edit-form" 189 189 ... enctype="multipart/form-data"> … … 194 194 ... """) 195 195 <BLANKLINE> 196 <form action="http://localhost/my university/faculties/TF/add"196 <form action="http://localhost/myinstitution/faculties/TF/add" 197 197 method="post" class="edit-form" 198 198 enctype="multipart/form-data"> -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/logger.py
r11949 r11952 67 67 68 68 The datacenter and its storage are created automatically when you 69 create a :class:`waeup.ikoba.app. University`. This also means that69 create a :class:`waeup.ikoba.app.Institution`. This also means that 70 70 logging with the `Logger` mix-in will work only inside so-called sites 71 (` University` instances put into ZODB are such `sites`).71 (`Institution` instances put into ZODB are such `sites`). 72 72 73 73 Other components in this module help to make everything work. … … 386 386 return 387 387 388 from waeup.ikoba.interfaces import I University389 @grok.subscribe(I University, grok.IObjectRemovedEvent)388 from waeup.ikoba.interfaces import IInstitution 389 @grok.subscribe(IInstitution, grok.IObjectRemovedEvent) 390 390 def handle_site_removed(obj, event): 391 391 collector = queryUtility(ILoggerCollector) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_batching.py
r11949 r11952 30 30 from zope.component.interfaces import IFactory 31 31 from zope.interface import Interface, implements, verify 32 from waeup.ikoba.app import University32 from waeup.ikoba.app import Institution 33 33 from waeup.ikoba.interfaces import ( 34 34 ICSVExporter, IBatchProcessor, IExportJobContainer, IJobManager, … … 137 137 138 138 # Setup a sample site for each test 139 app = University()139 app = Institution() 140 140 self.dc_root = tempfile.mkdtemp() 141 141 app['datacenter'].setStoragePath(self.dc_root) … … 597 597 def test_active_site(self): 598 598 # we get the datafinder if one is installed and site set 599 self.getRootFolder()['app'] = University()599 self.getRootFolder()['app'] = Institution() 600 600 finder = getUtility(IExportContainerFinder) 601 601 setSite(self.getRootFolder()['app']) … … 606 606 def test_broken_site(self): 607 607 # if the current site has no ExportContainer, we get None 608 self.getRootFolder()['app'] = University()608 self.getRootFolder()['app'] = Institution() 609 609 app = self.getRootFolder()['app'] 610 610 del app['datacenter'] # datacenter _is_ the export container -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_converters.py
r11949 r11952 32 32 Interface, implements, invariant, Invalid, implementedBy, verify) 33 33 34 from waeup.ikoba.app import University34 from waeup.ikoba.app import Institution 35 35 from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase 36 36 from waeup.ikoba.interfaces import ( … … 155 155 156 156 # Setup a sample site for each test 157 app = University()157 app = Institution() 158 158 self.dc_root = tempfile.mkdtemp() 159 159 app['datacenter'].setStoragePath(self.dc_root) -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_logger.py
r11949 r11952 25 25 from zope.component.hooks import setSite, clearSite 26 26 from zope.interface.verify import verifyClass, verifyObject 27 from waeup.ikoba.app import University27 from waeup.ikoba.app import Institution 28 28 from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase 29 29 … … 49 49 super(LoggersTests, self).setUp() 50 50 # Setup a sample site for each test 51 app = University()51 app = Institution() 52 52 self.dc_root = tempfile.mkdtemp() 53 53 self.dc_root2 = None … … 223 223 224 224 # Setup a sample site for each test 225 app = University()225 app = Institution() 226 226 self.dc_root = tempfile.mkdtemp() 227 227 app['datacenter'].setStoragePath(self.dc_root) … … 281 281 super(LoggerCollectorTests, self).setUp() 282 282 # Setup a sample site for each test 283 app = University()283 app = Institution() 284 284 self.dc_root = tempfile.mkdtemp() 285 285 app['datacenter'].setStoragePath(self.dc_root) … … 377 377 super(LogfileChangeTests, self).setUp() 378 378 # Setup a sample site for each test 379 app = University()379 app = Institution() 380 380 self.dc_root = tempfile.mkdtemp() 381 381 self.dc_root_new = None -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/utils.py
r11949 r11952 136 136 } 137 137 138 DISABLE_PAYMENT_GROUP_DICT = {139 'sf_all': 'School Fee - All Students',140 }141 142 138 APP_CATS_DICT = { 143 139 'basic': 'Basic Application', … … 267 263 268 264 ${b} 269 Student Registration and Information Portal of265 Application and Registration Portal of 270 266 ${c}. 271 267 -
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/webservices.py
r11949 r11952 20 20 from zope.component import getUtility 21 21 from zope.catalog.interfaces import ICatalog 22 from waeup.ikoba.interfaces import I University, application_sessions_vocab22 from waeup.ikoba.interfaces import IInstitution, application_sessions_vocab 23 23 24 24 class XMLRPCPermission(grok.Permission): … … 34 34 grok.permissions('waeup.xmlrpc',) 35 35 36 class UniversityXMLRPC(grok.XMLRPC):36 class InstitutionXMLRPC(grok.XMLRPC): 37 37 """XMLRPC webservices for Ikoba portals. 38 38 … … 40 40 but positional arguments only. 41 41 """ 42 grok.context(I University)42 grok.context(IInstitution) 43 43 44 44 @grok.require('waeup.Public')
Note: See TracChangeset for help on using the changeset viewer.