def handleCheckout(event): # defer to setting properties = getToolByName(aq_base(event.object), 'portal_properties') enabled = properties.site_properties.getProperty( 'enable_checkout_workflow') if not enabled: return policy_id = properties.site_properties.getProperty( 'checkout_workflow_policy') existing_policy = getattr(aq_base(event.working_copy), WorkflowPolicyConfig_id, None) storage = get_storage(event.relation) # set config for policy in and below policy = WorkflowPolicyConfig(policy_id, policy_id) policy.coci_created = True if existing_policy is not None: storage[policy_storage] = policy # we setattr because we want the effect on non containerish objects setattr(event.working_copy, WorkflowPolicyConfig_id, policy) event.working_copy.notifyWorkflowCreated() event.working_copy.reindexObjectSecurity()
def set_policy(self, context, name): logger.info("Set placeful workflow policy for %s", context.getId()) config = WorkflowPolicyConfig( workflow_policy_in='compliance_section_policy', workflow_policy_below='compliance_section_policy', ) context._setObject(config.id, config)
def handleCheckout( event ): # defer to setting properties = getToolByName(aq_base(event.object), 'portal_properties') enabled = properties.site_properties.getProperty('enable_checkout_workflow') if not enabled: return policy_id = properties.site_properties.getProperty('checkout_workflow_policy') existing_policy = getattr( aq_base( event.working_copy ), WorkflowPolicyConfig_id, None ) storage = get_storage( event.relation ) # set config for policy in and below policy = WorkflowPolicyConfig( policy_id, policy_id) policy.coci_created = True if existing_policy is not None: storage[ policy_storage ] = policy # we setattr because we want the effect on non containerish objects setattr( event.working_copy, WorkflowPolicyConfig_id, policy )
def handleCheckout(event): # defer to setting registry = getUtility(IRegistry) settings = registry.forInterface(IIterateSettings) if not settings.enable_checkout_workflow: return policy_id = str(settings.checkout_workflow_policy) existing_policy = getattr(aq_base(event.working_copy), WorkflowPolicyConfig_id, None) storage = get_storage(event.relation) # set config for policy in and below policy = WorkflowPolicyConfig(policy_id, policy_id) policy.coci_created = True if existing_policy is not None: storage[policy_storage] = policy # we setattr because we want the effect on non containerish objects setattr(event.working_copy, WorkflowPolicyConfig_id, policy) event.working_copy.notifyWorkflowCreated() event.working_copy.reindexObjectSecurity()
def handleCheckout(event): # defer to setting registry = getUtility(IRegistry) settings = registry.forInterface(IIterateSettings) if not settings.enable_checkout_workflow: return policy_id = settings.checkout_workflow_policy existing_policy = getattr( aq_base(event.working_copy), WorkflowPolicyConfig_id, None) storage = get_storage(event.relation) # set config for policy in and below policy = WorkflowPolicyConfig(policy_id, policy_id) policy.coci_created = True if existing_policy is not None: storage[policy_storage] = policy # we setattr because we want the effect on non containerish objects setattr(event.working_copy, WorkflowPolicyConfig_id, policy) event.working_copy.notifyWorkflowCreated() event.working_copy.reindexObjectSecurity()
def setWFPolicy(obj, wf_policy): if not wf_policy: return i = WorkflowPolicyConfig(wf_policy['workflow_policy_in'], wf_policy['workflow_policy_below']) setattr(obj, WorkflowPolicyConfig_id, i)