Ignore:
Timestamp:
13 Nov 2014, 16:54:17 (10 years ago)
Author:
Henrik Bettermann
Message:

Remove tools.

rename institution company.

Remove some apis from docs.

Location:
main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba
Files:
46 edited
2 moved

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/app.py

    r11952 r11954  
    2525from waeup.ikoba.mandates.container import MandatesContainer
    2626from waeup.ikoba.interfaces import (
    27     IInstitution, IIkobaPluggable, IObjectUpgradeEvent, IJobManager,
     27    ICompany, IIkobaPluggable, IObjectUpgradeEvent, IJobManager,
    2828    VIRT_JOBS_CONTAINER_NAME)
    2929from waeup.ikoba.userscontainer import UsersContainer
     
    3232from waeup.ikoba.configuration import ConfigurationContainer
    3333
    34 class Institution(grok.Application, grok.Container, Logger):
    35     """A institution.
     34class Company(grok.Application, grok.Container, Logger):
     35    """A company.
    3636    """
    37     grok.implements(IInstitution)
     37    grok.implements(ICompany)
    3838
    3939    # Setup authentication for this app. Note: this is only
     
    4444
    4545    def __init__(self, *args, **kw):
    46         super(Institution, self).__init__(*args, **kw)
     46        super(Company, self).__init__(*args, **kw)
    4747        self.setup()
    4848        return
     
    8585        self.logger.info('Plugin update finished.')
    8686        return
    87 attrs_to_fields(Institution)
     87attrs_to_fields(Company)
    8888
    8989class ObjectUpgradeEvent(ObjectEvent):
     
    9292    grok.implements(IObjectUpgradeEvent)
    9393
    94 @grok.subscribe(Institution, grok.IObjectAddedEvent)
    95 def handle_institution_added(app, event):
    96     """If a institution is added, a message is logged.
     94@grok.subscribe(Company, grok.IObjectAddedEvent)
     95def handle_company_added(app, event):
     96    """If a company is added, a message is logged.
    9797    """
    98     app.logger.info('Institution `%s` added.' % getattr(app, '__name__', None))
     98    app.logger.info('Company `%s` added.' % getattr(app, '__name__', None))
    9999    return
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/app.txt

    r11952 r11954  
    77.. module:: waeup.ikoba.app
    88
    9 .. class:: Institution
     9.. class:: Company
    1010
    1111  The main Ikoba application object is given with
    12   :class:`Institution`. It provides the main containers as faculties,
     12  :class:`Company`. It provides the main containers as faculties,
    1313  hostels, etc.
    1414
    1515  .. attribute:: name
    1616
    17      A string. The name of a institution.
     17     A string. The name of a company.
    1818
    1919  .. attribute:: faculties
    2020
    2121     An arbitrary object containing "faculties". In the case of
    22      `Institution` it is a container of type
     22     `Company` it is a container of type
    2323     `waeup.ikoba.interfaces.IFacultiesContainer`.
    2424
    2525
    26 Creating `Institution` instances
     26Creating `Company` instances
    2727===============================
    2828
    29 As :class:`Institution` instances make use of the Zope Component
     29As :class:`Company` instances make use of the Zope Component
    3030Architecture (ZCA), we have to setup the basic component registries,
    3131before we can create instances. We do this by simply grokking the
     
    3434registries (this is done by the testlayer automatically).
    3535
    36 Now we can import the :class:`Institution` class and create an
     36Now we can import the :class:`Company` class and create an
    3737instance:
    3838
    39     >>> from waeup.ikoba.app import Institution
    40     >>> myinstitution = Institution()
    41     >>> myinstitution
    42     <waeup.ikoba.app.Institution object at 0x...>
     39    >>> from waeup.ikoba.app import Company
     40    >>> mycompany = Company()
     41    >>> mycompany
     42    <waeup.ikoba.app.Company object at 0x...>
    4343
    44 Instances of `Institution` comply with the interface
    45 `waeup.ikoba.interfaces.IInstitution`:
     44Instances of `Company` comply with the interface
     45`waeup.ikoba.interfaces.ICompany`:
    4646
    4747    >>> from zope.interface.verify import verifyClass
    48     >>> from waeup.ikoba.interfaces import IInstitution
    49     >>> verifyClass(IInstitution, Institution)
     48    >>> from waeup.ikoba.interfaces import ICompany
     49    >>> verifyClass(ICompany, Company)
    5050    True
    5151
     
    5353interface:
    5454
    55     >>> from waeup.ikoba.app import Institution
    56     >>> myinstitution = Institution()
    57     >>> myinstitution['configuration'].name
    58     u'Sample Institution'
     55    >>> from waeup.ikoba.app import Company
     56    >>> mycompany = Company()
     57    >>> mycompany['configuration'].name
     58    u'Sample Company'
    5959
    60   >>> myinstitution['users']
     60  >>> mycompany['users']
    6161  <waeup.ikoba.userscontainer.UsersContainer object at 0x...>
    6262
    63   >>> myinstitution['datacenter']
     63  >>> mycompany['datacenter']
    6464  <waeup.ikoba.datacenter.DataCenter object at 0x...>
    6565
    66   >>> myinstitution['configuration']
     66  >>> mycompany['configuration']
    6767  <waeup.ikoba.configuration.ConfigurationContainer object at 0x...>
    6868
     
    103103and setup a new Ikoba instance, we will get a message:
    104104
    105    >>> from waeup.ikoba.app import Institution
    106    >>> site = Institution()
     105   >>> from waeup.ikoba.app import Company
     106   >>> site = Company()
    107107   Setup was called for
    108    <waeup.ikoba.app.Institution object at 0x...>
     108   <waeup.ikoba.app.Company object at 0x...>
    109109
    110 Apparently the plugin can do with the Institution object whatever it
     110Apparently the plugin can do with the Company object whatever it
    111111likes. That's what plugins are for.
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/authentication.txt

    r11952 r11954  
    1111
    1212  >>> from zope.component.hooks import setSite # only needed in tests
    13   >>> from waeup.ikoba.app import Institution
     13  >>> from waeup.ikoba.app import Company
    1414  >>> root = getRootFolder()
    15   >>> u = Institution()
     15  >>> u = Company()
    1616  >>> root['app'] = u
    1717  >>> setSite(root['app'])                     # only needed in tests
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/batchprocessing.txt

    r11952 r11954  
    2121Create a site:
    2222
    23     >>> from waeup.ikoba.app import Institution
    24     >>> getRootFolder()['app'] = Institution()
     23    >>> from waeup.ikoba.app import Company
     24    >>> getRootFolder()['app'] = Company()
    2525    >>> from zope.component.hooks import setSite
    2626    >>> setSite(getRootFolder()['app'])
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.py

    r11952 r11954  
    2828from waeup.ikoba.browser.interfaces import (
    2929    IBreadcrumb, IBreadcrumbIgnorable, IBreadcrumbContainer, IIkobaObject,
    30     IInstitution, IUsersContainer, IDataCenter,
     30    ICompany, IUsersContainer, IDataCenter,
    3131    )
    3232from waeup.ikoba.reports import IReportsContainer
     
    8686        return self.viewname
    8787
    88 class InstitutionBreadcrumb(Breadcrumb):
    89     """A breadcrumb for institution index pages.
    90     """
    91     grok.context(IInstitution)
     88class CompanyBreadcrumb(Breadcrumb):
     89    """A breadcrumb for company index pages.
     90    """
     91    grok.context(ICompany)
    9292    title = _(u'Home')
    9393    parent = None
     
    9797
    9898    Here we need a special `parent()` implementation, because the
    99     parent object is not a real parent (the Institution object has no
     99    parent object is not a real parent (the Company object has no
    100100    valid parent in terms of breadcrumbs). Instead it is the
    101101    ``administration`` view of the same context the ``manage`` page
    102102    itself is bound to.
    103103    """
    104     grok.context(IInstitution)
     104    grok.context(ICompany)
    105105    grok.name('manage')
    106106    title = _(u'Portal Settings')
     
    113113
    114114class AdministrationBreadcrumb(Breadcrumb):
    115     """A breadcrumb for administration areas of Institution instances.
    116     """
    117     grok.context(IInstitution)
     115    """A breadcrumb for administration areas of Company instances.
     116    """
     117    grok.context(ICompany)
    118118    grok.name('administration')
    119119    title = _(u'Administration')
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.txt

    r11952 r11954  
    99===============================
    1010
    11 We create a institution to check the breadcrumb functionality.
    12 
    13     >>> from waeup.ikoba.app import Institution
     11We create a company to check the breadcrumb functionality.
     12
     13    >>> from waeup.ikoba.app import Company
    1414    >>> root = getRootFolder()
    15     >>> root['app'] = Institution()
     15    >>> root['app'] = Company()
    1616    >>> app = root['app']
    1717
     
    2525    >>> blist1 = getBreadcrumbList(app, 'index')
    2626    >>> blist1
    27     [<waeup.ikoba.browser.breadcrumbs.InstitutionBreadcrumb object at 0x...>]
     27    [<waeup.ikoba.browser.breadcrumbs.CompanyBreadcrumb object at 0x...>]
    2828
    2929A slightly more extensive list for the datacenter:
     
    3232    >>> from pprint import pprint
    3333    >>> pprint(blist2)
    34     [<waeup.ikoba.browser.breadcrumbs.InstitutionBreadcrumb object at 0x...>,
     34    [<waeup.ikoba.browser.breadcrumbs.CompanyBreadcrumb object at 0x...>,
    3535     <waeup.ikoba.browser.breadcrumbs.AdministrationBreadcrumb object at 0x...>,
    3636     <waeup.ikoba.browser.breadcrumbs.DataCenterBreadcrumb object at 0x...>]
    3737
    38 We get a breadcrumb for institution, administration area and data
     38We get a breadcrumb for company, administration area and data
    3939center in that order.
    4040
     
    4747
    4848     >>> pprint([(x.context, x.viewname) for x in blist2])
    49      [(<waeup.ikoba.app.Institution object at 0x...>, 'index'),
    50       (<waeup.ikoba.app.Institution object at 0x...>, 'administration'),
     49     [(<waeup.ikoba.app.Company object at 0x...>, 'index'),
     50      (<waeup.ikoba.app.Company object at 0x...>, 'administration'),
    5151      (<waeup.ikoba.datacenter.DataCenter object at 0x...>, 'index')]
    5252
    5353The administration area breadcrumb might be a surprise, as there is no
    5454equivalent object in the ZODB. In fact the administration area is only
    55 a certain view (the 'administration' view) on the institution object.
     55a certain view (the 'administration' view) on the company object.
    5656
    5757We will show below, how you can define breadcrumbs this way.
     
    6262
    6363This way we can make sure, that there are different breadcrumb lists
    64 generated for instance for the administration view of Institution
     64generated for instance for the administration view of Company
    6565instances and the index view. While the first should look something
    6666like::
     
    118118
    119119    >>> pprint(mybccontainer.getList())
    120     [<...breadcrumbs.InstitutionBreadcrumb object at 0x...>,
     120    [<...breadcrumbs.CompanyBreadcrumb object at 0x...>,
    121121     <...breadcrumbs.AdministrationBreadcrumb object at 0x...>,
    122122     <...breadcrumbs.UsersContainerBreadcrumb object at 0x...>]
     
    128128
    129129Now we can get breadcrumbs for contexts and view names. For example a
    130 breadcrumb for the 'index' view of our Institution object:
     130breadcrumb for the 'index' view of our Company object:
    131131
    132132    >>> from zope.component import getAdapter
     
    134134    >>> b1 = getAdapter(app, IBreadcrumb, 'index')
    135135    >>> b1
    136     <waeup.ikoba.browser.breadcrumbs.InstitutionBreadcrumb object at 0x...>
     136    <waeup.ikoba.browser.breadcrumbs.CompanyBreadcrumb object at 0x...>
    137137
    138138Breadcrumb objects provide a title:
     
    168168
    169169    >>> b2.parent
    170     (<waeup.ikoba.app.Institution object at 0x...>, 'administration')
    171 
    172 This result denotes a new context object (the Institution instance we
     170    (<waeup.ikoba.app.Company object at 0x...>, 'administration')
     171
     172This result denotes a new context object (the Company instance we
    173173created above) and a view name ('administration').
    174174
     
    188188As you can see, we get an AdministrationBreadcrumb, although the
    189189context object, for which the breadcrumb was created is also the
    190 Institution instance as above:
     190Company instance as above:
    191191
    192192    >>> b3.context is b1.context
     
    197197    >>> context, viewname = b3.parent
    198198    >>> context, viewname
    199     (<waeup.ikoba.app.Institution object at 0x...>, 'index')
     199    (<waeup.ikoba.app.Company object at 0x...>, 'index')
    200200
    201201We create last breadcrumb:
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/browser.txt

    r11952 r11954  
    44Here we visit all parts of a Ikoba portal using a browser.
    55
    6 Institution
     6Company
    77==========
    88
    99We can watch universities in the browser.
    1010
    11 We create an institution object and put into the ZODB root::
     11We create an company object and put into the ZODB root::
    1212
    1313  >>> root = getRootFolder()
     
    1515  []
    1616
    17   >>> from waeup.ikoba.app import Institution
    18   >>> u = Institution()
    19   >>> root['myinstitution'] = u
     17  >>> from waeup.ikoba.app import Company
     18  >>> u = Company()
     19  >>> root['mycompany'] = u
    2020  >>> list(root)
    21   [u'myinstitution']
     21  [u'mycompany']
    2222
    2323  >>> from zope.component.hooks import setSite
    24   >>> setSite(root['myinstitution'])
     24  >>> setSite(root['mycompany'])
    2525
    2626To make sure, we can 'watch' pages, we first have to initialize out
     
    3030  >>> browser = Browser()
    3131
    32 Let's get the default view of a institution::
    33 
    34   >>> browser.open('http://localhost/myinstitution')
     32Let's get the default view of a company::
     33
     34  >>> browser.open('http://localhost/mycompany')
    3535  >>> print browser.contents
    3636  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
     
    5555The contact form for anonymous users is called 'Enquiries'::
    5656
    57   >>> browser.open('http://localhost/myinstitution')
     57  >>> browser.open('http://localhost/mycompany')
    5858  >>> browser.getLink('Enquiries').click()
    5959  >>> browser.getControl('Send').click()
     
    7474Registered users with an email address can request a password change:
    7575
    76   >>> root['myinstitution']['users'].addUser('forgetful', 'secret',title='Bob Forgetful',
     76  >>> root['mycompany']['users'].addUser('forgetful', 'secret',title='Bob Forgetful',
    7777  ...                               description='A forgetful user', email='aa@aa.ng')
    78   >>> browser.open('http://localhost/myinstitution/changepw')
     78  >>> browser.open('http://localhost/mycompany/changepw')
    7979  >>> browser.getControl(name="form.identifier").value = 'forgetful'
    8080  >>> browser.getControl(name="form.email").value = 'aa@aa.ng'
     
    9191We can then get an edit view of the configuration container::
    9292
    93   >>> 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
     93  >>> browser.open('http://localhost/mycompany/configuration')
     94  >>> print browser.contents
     95  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
     96  ...<form action="http://localhost/mycompany/configuration/@@index"
     97  ...
     98
     99The edit form contains the default value for the company name::
     100
     101  >>> 'Sample Company' in browser.contents
    102102  True
    103103
     
    110110  ...
    111111
    112   >>> browser.open('http://localhost/myinstitution/configuration')
     112  >>> browser.open('http://localhost/mycompany/configuration')
    113113  >>> browser.getControl("Update plugins").click()
    114114  >>> print browser.contents
     
    120120and is properly rendered on the frontpage of the portal:
    121121
    122   >>> browser.open('http://localhost/myinstitution')
     122  >>> browser.open('http://localhost/mycompany')
    123123  >>> print browser.contents
    124124  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
     
    134134If we change to German so that the German part of frontpage.rst is rendered:
    135135
    136   >>> browser.open('http://localhost/myinstitution//@@change_language?lang=de')
     136  >>> browser.open('http://localhost/mycompany//@@change_language?lang=de')
    137137  >>> print browser.contents
    138138  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
     
    147147Switch back to English:
    148148
    149   >>> browser.open('http://localhost/myinstitution//@@change_language?lang=en')
     149  >>> browser.open('http://localhost/mycompany//@@change_language?lang=en')
    150150
    151151
     
    153153============
    154154
    155   >>> browser.open('http://localhost/myinstitution')
     155  >>> browser.open('http://localhost/mycompany')
    156156  >>> browser.getLink('Portal Users').click()
    157157  >>> print browser.contents
     
    187187manually by setting the roles attribute:
    188188
    189   >>> print root['myinstitution']['users']['bob'].roles
     189  >>> print root['mycompany']['users']['bob'].roles
    190190  []
    191   >>> root['myinstitution']['users']['bob'].roles = ['waeup.UsersManager']
    192   >>> print root['myinstitution']['users']['bob'].roles
     191  >>> root['mycompany']['users']['bob'].roles = ['waeup.UsersManager']
     192  >>> print root['mycompany']['users']['bob'].roles
    193193  ['waeup.UsersManager']
    194   >>> browser.open('http://localhost/myinstitution/users')
     194  >>> browser.open('http://localhost/mycompany/users')
    195195  >>> print browser.contents
    196196  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
     
    200200Users can't be added twice:
    201201
    202   >>> browser.open('http://localhost/myinstitution/users/add')
     202  >>> browser.open('http://localhost/mycompany/users/add')
    203203  >>> browser.getControl(name="form.name").value = 'bob'
    204204  >>> browser.getControl(name="form.title").value = 'Bob The User'
     
    215215Users can be deleted:
    216216
    217   >>> browser.open('http://localhost/myinstitution/users')
     217  >>> browser.open('http://localhost/mycompany/users')
    218218  >>> browser.getControl("Remove", index=0).click()
    219219  >>> 'User account bob successfully deleted' in browser.contents
     
    227227Let's enter the contact form::
    228228
    229   >>> browser.open('http://localhost/myinstitution/contactadmin')
     229  >>> browser.open('http://localhost/mycompany/contactadmin')
    230230  >>> print browser.contents
    231231  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
     
    236236contact@waeup.org)::
    237237
    238   >>> browser.open('http://localhost/myinstitution/contactadmin')
     238  >>> browser.open('http://localhost/mycompany/contactadmin')
    239239  >>> browser.getControl(name='form.body').value = "test message"
    240240  >>> browser.getControl('Send').click()
     
    253253The data center helps us uploading files for later import or similar.
    254254
    255   >>> browser.open('http://localhost/myinstitution')
     255  >>> browser.open('http://localhost/mycompany')
    256256  >>> browser.getLink('Data Center').click()
    257257
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/captcha.py

    r11952 r11954  
    3232    ICaptchaRequest, ICaptchaResponse, ICaptcha, ICaptchaConfig,
    3333    ICaptchaManager)
    34 from waeup.ikoba.interfaces import IInstitution
     34from waeup.ikoba.interfaces import ICompany
    3535
    3636#
     
    322322    # A test page to see a captcha in action
    323323    grok.name('captcha')
    324     grok.context(IInstitution)
     324    grok.context(ICompany)
    325325    grok.require('waeup.Public')
    326326    title = 'Captcha Test'
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/exceptions.py

    r11952 r11954  
    6464    """A page rendered when an object cannot be found.
    6565
    66     XXX: This page won't work for objects above a w.k.Institution.
     66    XXX: This page won't work for objects above a w.k.Company.
    6767    """
    6868    grok.context(INotFound)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/interfaces.py

    r11952 r11954  
    2121from zope.interface import Interface, Attribute
    2222from waeup.ikoba.interfaces import (
    23     IIkobaObject, IInstitution, IUsersContainer, IDataCenter, validate_email)
     23    IIkobaObject, ICompany, IUsersContainer, IDataCenter, validate_email)
    2424from waeup.ikoba.interfaces import MessageFactory as _
    2525
     
    161161
    162162        If no `headerline` is given, a default will be rendered (name
    163         of institution).
     163        of company).
    164164
    165165        If no `title` is given, nothing will be rendered.
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/layout.py

    r11952 r11954  
    227227
    228228    def getAppTitle(self):
    229         return getattr(grok.getSite()['configuration'], 'name', u'Sample Institution')
     229        return getattr(grok.getSite()['configuration'], 'name', u'Sample Company')
    230230
    231231    def getAppAcronym(self):
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pages.py

    r11952 r11954  
    4646    IkobaDisplayFormPage, NullValidator)
    4747from waeup.ikoba.browser.interfaces import (
    48     IInstitution, ICaptchaManager, IChangePassword)
     48    ICompany, ICaptchaManager, IChangePassword)
    4949from waeup.ikoba.browser.layout import jsaction, action, UtilityView
    5050from waeup.ikoba.interfaces import MessageFactory as _
     
    325325class ContactAdminForm(IkobaForm):
    326326    grok.name('contactadmin')
    327     #grok.context(IInstitution)
     327    #grok.context(ICompany)
    328328    grok.template('contactform')
    329329    grok.require('waeup.Authenticated')
     
    405405
    406406#
    407 # Institution related pages...
     407# Company related pages...
    408408#
    409409
    410 class InstitutionPage(IkobaDisplayFormPage):
    411     """ The main institution page.
     410class CompanyPage(IkobaDisplayFormPage):
     411    """ The main company page.
    412412    """
    413413    grok.require('waeup.Public')
    414414    grok.name('index')
    415     grok.context(IInstitution)
     415    grok.context(ICompany)
    416416    pnav = 0
    417417    label = ''
     
    434434    """
    435435    grok.name('administration')
    436     grok.context(IInstitution)
     436    grok.context(ICompany)
    437437    grok.require('waeup.managePortal')
    438438    label = _(u'Administration')
     
    443443    """
    444444    grok.name('feed.rss')
    445     grok.context(IInstitution)
     445    grok.context(ICompany)
    446446    grok.require('waeup.Public')
    447     grok.template('institutionrss20feed')
     447    grok.template('companyrss20feed')
    448448
    449449    name = 'General news feed'
     
    457457    @property
    458458    def title(self):
    459         return getattr(grok.getSite(), 'name', u'Sample Institution')
     459        return getattr(grok.getSite(), 'name', u'Sample Company')
    460460
    461461    @property
     
    15681568    """Captcha'd page for all kind of users to request a password change.
    15691569    """
    1570     grok.context(IInstitution)
     1570    grok.context(ICompany)
    15711571    grok.name('changepw')
    15721572    grok.require('waeup.Anonymous')
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pdf.py

    r11952 r11954  
    710710            doc, 'ikoba_headtitle', getattr(
    711711                site_config, 'name',
    712                 u'Sample Institution'))
     712                u'Sample Company'))
    713713        canvas.setFont("Helvetica-Bold", 18)
    714714        if self.header_logo_left_path is not None:
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_async.py

    r11952 r11954  
    88from zope.security.interfaces import Unauthorized
    99from zope.testbrowser.testing import Browser
    10 from waeup.ikoba.app import Institution
     10from waeup.ikoba.app import Company
    1111from waeup.ikoba.async import AsyncJob, get_job_id
    1212from waeup.ikoba.interfaces import IJobManager
     
    2929        self.storage = os.path.join(self.workdir, 'storage')
    3030        os.mkdir(self.storage)
    31         app = Institution()
     31        app = Company()
    3232        app['datacenter'].setStoragePath(self.storage)
    3333
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_permissions.py

    r11952 r11954  
    3131from zope.security.interfaces import Unauthorized
    3232from zope.testbrowser.testing import Browser
    33 from waeup.ikoba.app import Institution
     33from waeup.ikoba.app import Company
    3434from waeup.ikoba.testing import (
    3535    FunctionalLayer, FunctionalTestCase, get_all_loggers, remove_new_loggers,
     
    5858    def setUp(self):
    5959        super(PermissionTest, self).setUp()
    60         # Set up a complete institution to have every page available...
    61         app = Institution()
     60        # Set up a complete company to have every page available...
     61        app = Company()
    6262        self.getRootFolder()['app'] = app
    6363        setSite(self.getRootFolder()['app'])
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/viewlets.py

    r11952 r11954  
    2424from zope.traversing.browser import absoluteURL
    2525from waeup.ikoba.browser.pages import (
    26     InstitutionPage, DatacenterPage,
     26    CompanyPage, DatacenterPage,
    2727    UsersContainerPage, UserManageFormPage)
    2828from waeup.ikoba.browser.interfaces import (
    29     IBreadcrumbContainer, IInstitution, IUsersContainer)
     29    IBreadcrumbContainer, ICompany, IUsersContainer)
    3030from waeup.ikoba.interfaces import (
    3131    IIkobaUtils, IIkobaObject, IIkobaXMLExporter,
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/frontpage.html

    r11952 r11954  
    1616Ikoba is part of the
    1717<a href="https://waeup.org/">West African eUniversity Project (WAeUP)</a>.
    18 It is a powerful and comprehensive Student Management System.
     18It is a powerful and comprehensive Online Application and Registration Portal.
    1919The software is written in Python and built upon the Open Source
    2020<a href="http://grok.zope.org/">Grok Web Framework</a>.
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/imagestorage.py

    r11952 r11954  
    285285    want to change this path -- it is dynamic. That means, if you call
    286286    the file store from 'within' a site, the root path will be located
    287     inside this site (a :class:`waeup.ikoba.Institution` instance). If
     287    inside this site (a :class:`waeup.ikoba.Company` instance). If
    288288    you call it from 'outside' a site some temporary dir (always the
    289289    same during lifetime of the file store instance) will be used. The
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/index.txt

    r11952 r11954  
    2020   accesscodes/api.txt
    2121   jambtables/api.txt
    22    institution/api.txt
     22   company/api.txt
    2323   utils/api.txt
    2424
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/interfaces.py

    r11952 r11954  
    253253    EXAM_SUBJECTS_DICT = Attribute("Dict of examination subjects")
    254254    EXAM_GRADES = Attribute("Dict of examination grades")
    255     INST_TYPES_DICT = Attribute("Dict if institution types")
     255    INST_TYPES_DICT = Attribute("Dict if company types")
    256256    STUDY_MODES_DICT = Attribute("Dict of study modes")
    257257    APP_CATS_DICT = Attribute("Dict of application categories")
     
    288288    """
    289289
    290 class IInstitution(IIkobaObject):
    291     """Representation of an institution.
     290class ICompany(IIkobaObject):
     291    """Representation of an company.
    292292    """
    293293
     
    593593
    594594    name = schema.TextLine(
    595         title = _(u'Name of Institution'),
    596         default = _(u'Sample Institution'),
     595        title = _(u'Name of Company'),
     596        default = _(u'Sample Company'),
    597597        required = True,
    598598        )
    599599
    600600    acronym = schema.TextLine(
    601         title = _(u'Abbreviated Title of Institution'),
     601        title = _(u'Abbreviated Title of Company'),
    602602        default = u'WAeUP.Ikoba',
    603603        required = True,
     
    796796    Components implementing this interface are referred to as
    797797    'plugins'. They are normally called when a new
    798     :class:`waeup.ikoba.app.Institution` instance is created.
     798    :class:`waeup.ikoba.app.Company` instance is created.
    799799
    800800    Plugins can setup and update parts of the central site without the
    801     site object (normally a :class:`waeup.ikoba.app.Institution` object)
     801    site object (normally a :class:`waeup.ikoba.app.Company` object)
    802802    needing to know about that parts. The site simply collects all
    803803    available plugins, calls them and the plugins care for their
     
    852852    Utilities providing this interface are looked up when a Pluggable
    853853    Authentication Utility (PAU) for any
    854     :class:`waeup.ikoba.app.Institution` instance is created and put
     854    :class:`waeup.ikoba.app.Company` instance is created and put
    855855    into ZODB.
    856856
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/de/LC_MESSAGES/waeup.ikoba.po

    r11952 r11954  
    10731073
    10741074#: waeup/ikoba/interfaces.py:595
    1075 msgid "Name of Institution"
     1075msgid "Name of Company"
    10761076msgstr "Name der Universität"
    10771077
    10781078#: waeup/ikoba/interfaces.py:596
    1079 msgid "Sample Institution"
     1079msgid "Sample Company"
    10801080msgstr "Deomo-Universität"
    10811081
    10821082#: waeup/ikoba/interfaces.py:601
    1083 msgid "Abbreviated Title of Institution"
     1083msgid "Abbreviated Title of Company"
    10841084msgstr "Abkürzung"
    10851085
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/en/LC_MESSAGES/waeup.ikoba.po

    r11952 r11954  
    10041004
    10051005#: waeup/ikoba/interfaces.py:595
    1006 msgid "Name of Institution"
     1006msgid "Name of Company"
    10071007msgstr ""
    10081008
    10091009#: waeup/ikoba/interfaces.py:596
    1010 msgid "Sample Institution"
     1010msgid "Sample Company"
    10111011msgstr ""
    10121012
    10131013#: waeup/ikoba/interfaces.py:601
    1014 msgid "Abbreviated Title of Institution"
     1014msgid "Abbreviated Title of Company"
    10151015msgstr ""
    10161016
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/fr/LC_MESSAGES/waeup.ikoba.po

    r11952 r11954  
    10761076#: waeup/ikoba/interfaces.py:595
    10771077#, fuzzy
    1078 msgid "Name of Institution"
     1078msgid "Name of Company"
    10791079msgstr "Nom du département"
    10801080
    10811081#: waeup/ikoba/interfaces.py:596
    1082 msgid "Sample Institution"
     1082msgid "Sample Company"
    10831083msgstr ""
    10841084
    10851085#: waeup/ikoba/interfaces.py:601
    1086 msgid "Abbreviated Title of Institution"
     1086msgid "Abbreviated Title of Company"
    10871087msgstr ""
    10881088
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/ha/LC_MESSAGES/waeup.ikoba.po

    r11952 r11954  
    10051005
    10061006#: waeup/ikoba/interfaces.py:595
    1007 msgid "Name of Institution"
     1007msgid "Name of Company"
    10081008msgstr ""
    10091009
    10101010#: waeup/ikoba/interfaces.py:596
    1011 msgid "Sample Institution"
     1011msgid "Sample Company"
    10121012msgstr ""
    10131013
    10141014#: waeup/ikoba/interfaces.py:601
    1015 msgid "Abbreviated Title of Institution"
     1015msgid "Abbreviated Title of Company"
    10161016msgstr ""
    10171017
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/ig/LC_MESSAGES/waeup.ikoba.po

    r11952 r11954  
    10051005
    10061006#: waeup/ikoba/interfaces.py:595
    1007 msgid "Name of Institution"
     1007msgid "Name of Company"
    10081008msgstr ""
    10091009
    10101010#: waeup/ikoba/interfaces.py:596
    1011 msgid "Sample Institution"
     1011msgid "Sample Company"
    10121012msgstr ""
    10131013
    10141014#: waeup/ikoba/interfaces.py:601
    1015 msgid "Abbreviated Title of Institution"
     1015msgid "Abbreviated Title of Company"
    10161016msgstr ""
    10171017
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/waeup.ikoba.pot

    r11952 r11954  
    10111011
    10121012#: waeup/ikoba/interfaces.py:595
    1013 msgid "Name of Institution"
     1013msgid "Name of Company"
    10141014msgstr ""
    10151015
    10161016#: waeup/ikoba/interfaces.py:596
    1017 msgid "Sample Institution"
     1017msgid "Sample Company"
    10181018msgstr ""
    10191019
    10201020#: waeup/ikoba/interfaces.py:601
    1021 msgid "Abbreviated Title of Institution"
     1021msgid "Abbreviated Title of Company"
    10221022msgstr ""
    10231023
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/locales/yo/LC_MESSAGES/waeup.ikoba.po

    r11952 r11954  
    10051005
    10061006#: waeup/ikoba/interfaces.py:595
    1007 msgid "Name of Institution"
     1007msgid "Name of Company"
    10081008msgstr ""
    10091009
    10101010#: waeup/ikoba/interfaces.py:596
    1011 msgid "Sample Institution"
     1011msgid "Sample Company"
    10121012msgstr ""
    10131013
    10141014#: waeup/ikoba/interfaces.py:601
    1015 msgid "Abbreviated Title of Institution"
     1015msgid "Abbreviated Title of Company"
    10161016msgstr ""
    10171017
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/mandates/browser.py

    r11952 r11954  
    2020import grok
    2121from waeup.ikoba.browser.layout import UtilityView
    22 from waeup.ikoba.interfaces import IInstitution
     22from waeup.ikoba.interfaces import ICompany
    2323from waeup.ikoba.interfaces import MessageFactory as _
    2424
     
    2626    """View to execute mandate.
    2727    """
    28     grok.context(IInstitution)
     28    grok.context(ICompany)
    2929    grok.name('mandate')
    3030    grok.require('waeup.Public')
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/mandates/container.py

    r11952 r11954  
    4949
    5050class MandatesPlugin(grok.GlobalUtility):
    51     """A plugin that creates container for mandates inside a institution.
     51    """A plugin that creates container for mandates inside a company.
    5252    """
    5353    grok.implements(IIkobaPluggable)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/mandates/tests.py

    r11952 r11954  
    2727from zope.component import createObject
    2828from zope.component.hooks import setSite, clearSite
    29 from waeup.ikoba.app import Institution
     29from waeup.ikoba.app import Company
    3030from waeup.ikoba.interfaces import IUserAccount
    3131from waeup.ikoba.mandates.interfaces import (
     
    6363
    6464        # Setup a sample site for each test
    65         app = Institution()
     65        app = Company()
    6666        self.dc_root = tempfile.mkdtemp()
    6767        app['datacenter'].setStoragePath(self.dc_root)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/payments/catalog.py

    r11952 r11954  
    1919"""
    2020import grok
    21 from waeup.ikoba.interfaces import IInstitution
     21from waeup.ikoba.interfaces import ICompany
    2222from waeup.ikoba.payments.interfaces import IPayment
    2323
     
    2525    """A catalog for all payments.
    2626    """
    27     grok.site(IInstitution)
     27    grok.site(ICompany)
    2828    grok.name('payments_catalog')
    2929    grok.context(IPayment)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/testing.py

    r11952 r11954  
    126126        maybe_grok, setUpZope, cleanUpZope,
    127127        )
    128       from waeup.ikoba.app import Institution
     128      from waeup.ikoba.app import Company
    129129
    130130      class MyTestCase(unittest.TestCase):
     
    148148
    149149          def test_jambdata_in_site(self):
    150               u = Institution()
     150              u = Company()
    151151              self.assertTrue('jambdata' in u.keys())
    152152              return
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_app.py

    r11952 r11954  
    2222from zope.component.hooks import setSite
    2323from zope.interface.verify import verifyClass, verifyObject
    24 from waeup.ikoba.app import Institution
     24from waeup.ikoba.app import Company
    2525from waeup.ikoba.interfaces import (
    26     IInstitution, IJobManager, VIRT_JOBS_CONTAINER_NAME)
     26    ICompany, IJobManager, VIRT_JOBS_CONTAINER_NAME)
    2727from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase
    2828
    29 class InstitutionTests(FunctionalTestCase):
     29class CompanyTests(FunctionalTestCase):
    3030
    3131    layer = FunctionalLayer
    3232
    3333    def setUp(self):
    34         super(InstitutionTests, self).setUp()
     34        super(CompanyTests, self).setUp()
    3535        self.workdir = tempfile.mkdtemp()
    36         self.getRootFolder()['app'] = Institution()
     36        self.getRootFolder()['app'] = Company()
    3737        self.app = self.getRootFolder()['app']
    3838        return
    3939
    4040    def tearDown(self):
    41         super(InstitutionTests, self).tearDown()
     41        super(CompanyTests, self).tearDown()
    4242        shutil.rmtree(self.workdir)
    4343        return
    4444
    4545    def test_ifaces(self):
    46         institution = Institution()
    47         assert verifyClass(IInstitution, Institution)
    48         assert verifyObject(IInstitution, institution)
     46        company = Company()
     47        assert verifyClass(ICompany, Company)
     48        assert verifyObject(ICompany, company)
    4949        return
    5050
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_imagestorage.py

    r11952 r11954  
    2727from zope.component.hooks import setSite
    2828from zope.interface.verify import verifyClass, verifyObject
    29 from waeup.ikoba.app import Institution
     29from waeup.ikoba.app import Company
    3030from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase
    3131from waeup.ikoba.imagestorage import (
     
    228228        self.fd = open(self.samplefile, 'r')
    229229        self.fd2 = open(self.otherfile, 'r')
    230         self.getRootFolder()['app'] = Institution()
     230        self.getRootFolder()['app'] = Company()
    231231        self.app = self.getRootFolder()['app']
    232232        self.app['datacenter'].setStoragePath(self.workdir)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_maintenance.py

    r11952 r11954  
    99from zope.component.hooks import setSite
    1010from zope.interface import Interface, implements
    11 from waeup.ikoba.app import Institution
     11from waeup.ikoba.app import Company
    1212from waeup.ikoba.maintenance import update_catalog
    1313from waeup.ikoba.testing import FunctionalTestCase, FunctionalLayer
     
    4141        super(UpdateCatalogTests, self).setUp()
    4242        # Setup a sample site for each test
    43         app = Institution()
     43        app = Company()
    4444        self.dc_root = tempfile.mkdtemp()
    4545        app['datacenter'].setStoragePath(self.dc_root)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_objecthistory.py

    r11952 r11954  
    2525from zope.security.management import newInteraction, endInteraction
    2626from zope.security.testing import Principal, Participation
    27 from waeup.ikoba.app import Institution
     27from waeup.ikoba.app import Company
    2828from waeup.ikoba.interfaces import IObjectHistory, IIkobaObject
    2929from waeup.ikoba.testing import FunctionalTestCase, FunctionalLayer
     
    4343
    4444        # Prepopulate ZODB
    45         app = Institution()
     45        app = Company()
    4646        self.dc_root = tempfile.mkdtemp()
    4747        app['datacenter'].setStoragePath(self.dc_root)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/tests/test_smtp.py

    r11952 r11954  
    2727from zope.component.hooks import setSite
    2828from zope.sendmail.interfaces import IMailDelivery
    29 from waeup.ikoba.app import Institution
     29from waeup.ikoba.app import Company
    3030from waeup.ikoba.interfaces import IMailService
    3131from waeup.ikoba.smtp import (
     
    341341        super(ExternalMailerTests, self).setUp()
    342342        # Setup a sample site for each test
    343         app = Institution()
     343        app = Company()
    344344        self.dc_root = tempfile.mkdtemp()
    345345        app['datacenter'].setStoragePath(self.dc_root)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/userscontainer.py

    r11952 r11954  
    9292                    obj= object
    9393                    path = ''
    94                     while obj.__class__.__name__ != 'Institution':
     94                    while obj.__class__.__name__ != 'Company':
    9595                        path = '%s/' % obj.__name__ + path
    9696                        obj = obj.__parent__
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/batching.txt

    r11952 r11954  
    2020* accepts a single data type identified by an interface.
    2121
    22 * knows about the places inside a site (Institution) where to store,
     22* knows about the places inside a site (Company) where to store,
    2323  remove or update the data.
    2424
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/browser.py

    r11952 r11954  
    2525from waeup.ikoba.interfaces import IObjectHistory
    2626
    27 from waeup.ikoba.interfaces import IInstitution
     27from waeup.ikoba.interfaces import ICompany
    2828
    2929class ReindexPage(UtilityView, grok.View):
     
    3232    Reindexes a catalog. For managers only.
    3333    """
    34     grok.context(IInstitution)
     34    grok.context(ICompany)
    3535    grok.name('reindex')
    3636    grok.require('waeup.managePortal')
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/helpers.txt

    r11952 r11954  
    185185     ... <BLANKLINE>
    186186     ... <body>
    187      ... <form action="http://localhost/myinstitution/faculties/TF/add"
     187     ... <form action="http://localhost/mycompany/faculties/TF/add"
    188188     ...       method="post" class="edit-form"
    189189     ...       enctype="multipart/form-data">
     
    194194     ... """)
    195195     <BLANKLINE>
    196      <form action="http://localhost/myinstitution/faculties/TF/add"
     196     <form action="http://localhost/mycompany/faculties/TF/add"
    197197           method="post" class="edit-form"
    198198           enctype="multipart/form-data">
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/logger.py

    r11952 r11954  
    6767
    6868The datacenter and its storage are created automatically when you
    69 create a :class:`waeup.ikoba.app.Institution`. This also means that
     69create a :class:`waeup.ikoba.app.Company`. This also means that
    7070logging with the `Logger` mix-in will work only inside so-called sites
    71 (`Institution` instances put into ZODB are such `sites`).
     71(`Company` instances put into ZODB are such `sites`).
    7272
    7373Other components in this module help to make everything work.
     
    386386    return
    387387
    388 from waeup.ikoba.interfaces import IInstitution
    389 @grok.subscribe(IInstitution, grok.IObjectRemovedEvent)
     388from waeup.ikoba.interfaces import ICompany
     389@grok.subscribe(ICompany, grok.IObjectRemovedEvent)
    390390def handle_site_removed(obj, event):
    391391    collector = queryUtility(ILoggerCollector)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_batching.py

    r11952 r11954  
    3030from zope.component.interfaces import IFactory
    3131from zope.interface import Interface, implements, verify
    32 from waeup.ikoba.app import Institution
     32from waeup.ikoba.app import Company
    3333from waeup.ikoba.interfaces import (
    3434    ICSVExporter, IBatchProcessor, IExportJobContainer, IJobManager,
     
    137137
    138138        # Setup a sample site for each test
    139         app = Institution()
     139        app = Company()
    140140        self.dc_root = tempfile.mkdtemp()
    141141        app['datacenter'].setStoragePath(self.dc_root)
     
    597597    def test_active_site(self):
    598598        # we get the datafinder if one is installed and site set
    599         self.getRootFolder()['app'] = Institution()
     599        self.getRootFolder()['app'] = Company()
    600600        finder = getUtility(IExportContainerFinder)
    601601        setSite(self.getRootFolder()['app'])
     
    606606    def test_broken_site(self):
    607607        # if the current site has no ExportContainer, we get None
    608         self.getRootFolder()['app'] = Institution()
     608        self.getRootFolder()['app'] = Company()
    609609        app = self.getRootFolder()['app']
    610610        del app['datacenter'] # datacenter _is_ the export container
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_converters.py

    r11952 r11954  
    3232    Interface, implements, invariant, Invalid, implementedBy, verify)
    3333
    34 from waeup.ikoba.app import Institution
     34from waeup.ikoba.app import Company
    3535from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase
    3636from waeup.ikoba.interfaces import (
     
    155155
    156156        # Setup a sample site for each test
    157         app = Institution()
     157        app = Company()
    158158        self.dc_root = tempfile.mkdtemp()
    159159        app['datacenter'].setStoragePath(self.dc_root)
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_logger.py

    r11952 r11954  
    2525from zope.component.hooks import setSite, clearSite
    2626from zope.interface.verify import verifyClass, verifyObject
    27 from waeup.ikoba.app import Institution
     27from waeup.ikoba.app import Company
    2828from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase
    2929
     
    4949        super(LoggersTests, self).setUp()
    5050        # Setup a sample site for each test
    51         app = Institution()
     51        app = Company()
    5252        self.dc_root = tempfile.mkdtemp()
    5353        self.dc_root2 = None
     
    223223
    224224        # Setup a sample site for each test
    225         app = Institution()
     225        app = Company()
    226226        self.dc_root = tempfile.mkdtemp()
    227227        app['datacenter'].setStoragePath(self.dc_root)
     
    281281        super(LoggerCollectorTests, self).setUp()
    282282        # Setup a sample site for each test
    283         app = Institution()
     283        app = Company()
    284284        self.dc_root = tempfile.mkdtemp()
    285285        app['datacenter'].setStoragePath(self.dc_root)
     
    377377        super(LogfileChangeTests, self).setUp()
    378378        # Setup a sample site for each test
    379         app = Institution()
     379        app = Company()
    380380        self.dc_root = tempfile.mkdtemp()
    381381        self.dc_root_new = None
  • main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/webservices.py

    r11952 r11954  
    2020from zope.component import getUtility
    2121from zope.catalog.interfaces import ICatalog
    22 from waeup.ikoba.interfaces import IInstitution, application_sessions_vocab
     22from waeup.ikoba.interfaces import ICompany, application_sessions_vocab
    2323
    2424class XMLRPCPermission(grok.Permission):
     
    3434    grok.permissions('waeup.xmlrpc',)
    3535
    36 class InstitutionXMLRPC(grok.XMLRPC):
     36class CompanyXMLRPC(grok.XMLRPC):
    3737    """XMLRPC webservices for Ikoba portals.
    3838
     
    4040    but positional arguments only.
    4141    """
    42     grok.context(IInstitution)
     42    grok.context(ICompany)
    4343
    4444    @grok.require('waeup.Public')
Note: See TracChangeset for help on using the changeset viewer.