Example #1
0
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()
Example #2
0
 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)
Example #3
0
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 )
Example #4
0
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()
Example #6
0
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)