Example #1
0
def root_populator(title="", userid="", email="", password="", populator_name=""):
    factories = get_content_factories()
    root = factories["Root"](title=title)
    # Add users
    root["users"] = users = factories["Users"]()
    # Add user
    assert userid
    users[userid] = factories["User"](email=email, password=password)
    # Add groups
    root["groups"] = groups = factories["Groups"]()
    # Add administrators group
    description = _("Group for all administrators. Add any administrators to this group.")
    groups["administrators"] = adm_group = factories["Group"](
        title=_("Administrators"), description=description, members=[userid]
    )
    # Add admin role
    local_roles = get_local_roles(root)
    local_roles[adm_group.principal_name] = (ROLE_ADMIN,)
    # Run extra populator
    if populator_name:
        reg = get_current_registry()
        populator = reg.getAdapter(root, IPopulator, name=populator_name)
        populator.populate()
    # Publish root
    try:
        wf = get_context_wf(root)
        wf.do_transition("private:public", force=True)
    except WorkflowException:
        pass
    return root
Example #2
0
def root_populator(title="",
                   userid="",
                   email="",
                   password="",
                   populator_name=""):
    factories = get_content_factories()
    root = factories['Root'](title=title)
    #Add users
    root['users'] = users = factories['Users']()
    #Add user
    assert userid
    users[userid] = factories['User'](email=email, password=password)
    #Add groups
    root['groups'] = groups = factories['Groups']()
    #Add administrators group
    description = _(
        u"Group for all administrators. Add any administrators to this group.")
    groups['administrators'] = adm_group = factories['Group'](
        title=_(u"Administrators"), description=description, members=[userid])
    #Add admin role
    local_roles = get_local_roles(root)
    local_roles[adm_group.principal_name] = (ROLE_ADMIN, )
    #Run extra populator
    if populator_name:
        reg = get_current_registry()
        populator = reg.getAdapter(root, IPopulator, name=populator_name)
        populator.populate()
    #Publish root
    try:
        wf = get_context_wf(root)
        wf.do_transition('private:public', force=True)
    except WorkflowException:
        pass
    return root
Example #3
0
 def _fixture(self):
     from arche.populators import root_populator
     from arche.resources import Document
     from arche.security import get_local_roles
     self.config.include('arche.utils')
     self.config.include('arche.security')
     self.config.include('arche.resources')
     self.config.include('arche.workflow')
     root = root_populator(userid = 'admin')
     root['a'] = Document()
     a_roles = get_local_roles(root['a'])
     a_roles['tester'] = ['role:Administrator']
     root['b'] = Document()
     setup_security(self.config, userid = 'tester', debug = False)
     return root
Example #4
0
 def _fixture(self):
     from arche.populators import root_populator
     from arche.resources import Document
     from arche.security import get_local_roles
     self.config.include('arche.utils')
     self.config.include('arche.security')
     self.config.include('arche.resources')
     self.config.include('arche.workflow')
     root = root_populator(userid='admin')
     root['a'] = Document()
     a_roles = get_local_roles(root['a'])
     a_roles['tester'] = ['role:Administrator']
     root['b'] = Document()
     setup_security(self.config, userid='tester', debug=False)
     return root
Example #5
0
 def _fixture(self):
     from arche.populators import root_populator
     from arche.resources import Document
     from arche.security import get_local_roles
     self.config.include('arche.testing')
     self.config.include('arche.models.roles')
     self.config.include('arche.resources')
     self.config.include('arche.models.workflow')
     self.config.include('arche.models.acl')
     self.config.registry.acl['Root'] = 'private'
     root = root_populator(userid = 'admin')
     root['a'] = Document()
     a_roles = get_local_roles(root['a'])
     a_roles['tester'] = ['role:Administrator']
     root['b'] = Document()
     setup_auth(self.config, userid = 'tester', debug = False)
     return root
Example #6
0
 def local_roles(self, value):
     #Note that you can also set roles via the property, like self.local_roles['admin'] = ['role:Admin']
     local_roles = get_local_roles(self)
     local_roles.set_from_appstruct(value)
Example #7
0
 def local_roles(self):
     return get_local_roles(self)
Example #8
0
 def local_roles(self, value):
     # Note that you can also set roles via the property, like self.local_roles['admin'] = ['role:Admin']
     local_roles = get_local_roles(self)
     local_roles.set_from_appstruct(value)
Example #9
0
 def local_roles(self):
     return get_local_roles(self)