예제 #1
0
 def get_acl(self, state, registry):
     from adhocracy_core.schema import ACM
     from adhocracy_core.authorization import acm_to_acl
     from .alexanderplatz import alexanderplatz_meta
     acm = ACM().deserialize(alexanderplatz_meta['states'][state]['acm'])
     acl = acm_to_acl(acm, registry)
     return acl
예제 #2
0
 def get_acl(self, state, registry):
     from adhocracy_core.schema import ACM
     from adhocracy_core.authorization import acm_to_acl
     from .standard import standard_meta
     acm = ACM().deserialize(standard_meta['states'][state]['acm'])
     acl = acm_to_acl(acm, registry)
     return acl
예제 #3
0
 def get_acl(self, state):
     from adhocracy_core.schema import ACM
     from adhocracy_core.authorization import acm_to_acl
     from adhocracy_core.renderers import YAMLToPython
     render = YAMLToPython({})
     meta = render({},
                   {'renderer_name':
                    'adhocracy_meinberlin.workflows:alexanderplatz.yaml'})
     acm = ACM().deserialize(meta['states'][state]['acm'])
     acl = acm_to_acl(acm)
     return acl
예제 #4
0
def _create_workflow(registry: Registry, appstruct: dict,
                     name: str) -> ACLWorkflow:
    initial_state = appstruct['initial_state']
    workflow = AdhocracyACLWorkflow(initial_state=initial_state, type=name)
    for name, data in appstruct['states'].items():
        acl = acm_to_acl(data['acm'], registry)
        workflow.add_state(name, callback=None, acl=acl)
    for name, data in appstruct['transitions'].items():
        workflow.add_transition(name, **data)
    workflow.check()
    return workflow
예제 #5
0
def _create_workflow(registry: Registry,
                     appstruct: dict,
                     name: str) -> ACLWorkflow:
    initial_state = appstruct['initial_state']
    workflow = AdhocracyACLWorkflow(initial_state=initial_state, type=name)
    for name, data in appstruct['states'].items():
        acl = acm_to_acl(data['acm'], registry)
        workflow.add_state(name, callback=None, acl=acl)
    for name, data in appstruct['transitions'].items():
        workflow.add_transition(name, **data)
    workflow.check()
    return workflow
예제 #6
0
 def get_acl(self, state):
     from adhocracy_core.schema import ACM
     from adhocracy_core.authorization import acm_to_acl
     from adhocracy_core.renderers import YAMLToPython
     render = YAMLToPython({})
     meta = render({}, {
         'renderer_name':
         'adhocracy_meinberlin.workflows:alexanderplatz.yaml'
     })
     acm = ACM().deserialize(meta['states'][state]['acm'])
     acl = acm_to_acl(acm)
     return acl
예제 #7
0
def _create_workflow(appstruct: PMap,
                     name: str) -> ACLWorkflow:
    initial_state = appstruct['initial_state']
    workflow = AdhocracyACLWorkflow(initial_state=initial_state, type=name)
    for name, data in appstruct['states'].items():
        acm = data.get('acm', {})
        acl = acm and acm_to_acl(acm) or []
        workflow.add_state(name, callback=None, acl=acl)
    for name, data in appstruct['transitions'].items():
        workflow.add_transition(name, **data)
    try:
        workflow.check()
    except WorkflowError as err:
        msg = 'Error add workflow with name {0}: {1}'
        raise ConfigurationError(msg.format(name, str(err)))
    return workflow
예제 #8
0
파일: __init__.py 프로젝트: liqd/adhocracy3
def _create_workflow(appstruct: PMap,
                     name: str) -> Workflow:
    initial_state = appstruct['initial_state']
    workflow = ACLLocalRolesWorkflow(initial_state=initial_state, type=name)
    if appstruct.get('add_local_role_participant_to_default_group', False):
        group = 'group:' + DEFAULT_USER_GROUP_NAME
        local_roles = {group: {'role:participant'}}
    else:
        local_roles = None
    for name, data in appstruct['states'].items():
        acm = data.get('acm', {})
        acl = acm and acm_to_acl(acm) or []
        workflow.add_state(name, callback=None, acl=acl,
                           local_roles=local_roles)
    for name, data in appstruct['transitions'].items():
        workflow.add_transition(name, **data)
    try:
        workflow.check()
    except WorkflowError as err:
        msg = 'Error add workflow with name {0}: {1}'
        raise ConfigurationError(msg.format(name, str(err)))
    return workflow
예제 #9
0
def _create_workflow(appstruct: PMap, name: str) -> Workflow:
    initial_state = appstruct['initial_state']
    workflow = ACLLocalRolesWorkflow(initial_state=initial_state, type=name)
    if appstruct.get('add_local_role_participant_to_default_group', False):
        group = 'group:' + DEFAULT_USER_GROUP_NAME
        local_roles = {group: {'role:participant'}}
    else:
        local_roles = None
    for name, data in appstruct['states'].items():
        acm = data.get('acm', {})
        acl = acm and acm_to_acl(acm) or []
        workflow.add_state(name,
                           callback=None,
                           acl=acl,
                           local_roles=local_roles)
    for name, data in appstruct['transitions'].items():
        workflow.add_transition(name, **data)
    try:
        workflow.check()
    except WorkflowError as err:
        msg = 'Error add workflow with name {0}: {1}'
        raise ConfigurationError(msg.format(name, str(err)))
    return workflow
예제 #10
0
파일: root.py 프로젝트: libscott/adhocracy3
def _add_acl_to_app_root(context, registry):
    acl = acm_to_acl(root_acm, registry)
    set_acl(context, acl, registry=registry)
    set_god_all_permissions(context, registry)
예제 #11
0
파일: root.py 프로젝트: andantic/adhocracy3
def _add_acl_to_app_root(context, registry):
    acl = acm_to_acl(root_acm, registry)
    set_acl(context, acl, registry=registry)
    set_god_all_permissions(context, registry)