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
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
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
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
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
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
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
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)