Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Boxiang Sun
slapos.core
Commits
fbf0046a
Commit
fbf0046a
authored
Dec 08, 2021
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_cloud: Bootstrap organisation slap interface workflow
parent
73322912
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
1184 additions
and
9 deletions
+1184
-9
master/bt5/slapos_cloud/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
...rtalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+4
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow.xml
.../portal_workflow/organisation_slap_interface_workflow.xml
+108
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_acceptInvitation.py
...nterface_workflow/script_Organisation_acceptInvitation.py
+48
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_acceptInvitation.xml
...terface_workflow/script_Organisation_acceptInvitation.xml
+84
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_approveRegistration.py
...rface_workflow/script_Organisation_approveRegistration.py
+41
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_approveRegistration.xml
...face_workflow/script_Organisation_approveRegistration.xml
+84
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_checkConsistency.py
...nterface_workflow/script_Organisation_checkConsistency.py
+2
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_checkConsistency.xml
...terface_workflow/script_Organisation_checkConsistency.xml
+78
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_generateInvitation.py
...erface_workflow/script_Organisation_generateInvitation.py
+24
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_generateInvitation.xml
...rface_workflow/script_Organisation_generateInvitation.xml
+78
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_leaveOrganisation.py
...terface_workflow/script_Organisation_leaveOrganisation.py
+12
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_leaveOrganisation.xml
...erface_workflow/script_Organisation_leaveOrganisation.xml
+86
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/state_draft.xml
...flow/organisation_slap_interface_workflow/state_draft.xml
+79
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/transition_accept_invitation.xml
..._slap_interface_workflow/transition_accept_invitation.xml
+3
-3
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/transition_approve_registration.xml
...ap_interface_workflow/transition_approve_registration.xml
+68
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/transition_leave_organisation.xml
...slap_interface_workflow/transition_leave_organisation.xml
+68
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_action.xml
.../organisation_slap_interface_workflow/variable_action.xml
+46
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_actor.xml
...w/organisation_slap_interface_workflow/variable_actor.xml
+46
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_comment.xml
...organisation_slap_interface_workflow/variable_comment.xml
+46
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_error_message.xml
...sation_slap_interface_workflow/variable_error_message.xml
+42
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_history.xml
...organisation_slap_interface_workflow/variable_history.xml
+46
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_portal_type.xml
...nisation_slap_interface_workflow/variable_portal_type.xml
+42
-0
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_time.xml
...ow/organisation_slap_interface_workflow/variable_time.xml
+46
-0
master/bt5/slapos_cloud/bt/template_portal_type_workflow_chain_list
.../slapos_cloud/bt/template_portal_type_workflow_chain_list
+1
-0
master/bt5/slapos_cloud/bt/template_workflow_id_list
master/bt5/slapos_cloud/bt/template_workflow_id_list
+1
-0
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/Organisation_closeRelatedAssignment.py
...pos_hal_json_style/Organisation_closeRelatedAssignment.py
+1
-6
No files found.
master/bt5/slapos_cloud/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
View file @
fbf0046a
...
@@ -15,6 +15,10 @@
...
@@ -15,6 +15,10 @@
<type>
Instance Tree
</type>
<type>
Instance Tree
</type>
<workflow>
edit_workflow, instance_slap_interface_workflow, instance_tree_workflow
</workflow>
<workflow>
edit_workflow, instance_slap_interface_workflow, instance_tree_workflow
</workflow>
</chain>
</chain>
<chain>
<type>
Organisation
</type>
<workflow>
organisation_slap_interface_workflow
</workflow>
</chain>
<chain>
<chain>
<type>
Person
</type>
<type>
Person
</type>
<workflow>
person_slap_interface_workflow
</workflow>
<workflow>
person_slap_interface_workflow
</workflow>
...
...
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_count
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_mt_index
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_tree
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
source/portal_workflow/organisation_slap_interface_workflow/state_draft
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
person_slap_interface_workflow
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
organisation_slap_interface_workflow
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
manager_bypass
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow
</string>
</value>
</item>
<item>
<key>
<string>
state_variable
</string>
</key>
<value>
<string>
slap_state
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Organisation Slap Interface Workflow
</string>
</value>
</item>
<item>
<key>
<string>
workflow_managed_permission
</string>
</key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Length"
module=
"BTrees.Length"
/>
</pickle>
<pickle>
<int>
0
</int>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"OOBTree"
module=
"BTrees.OOBTree"
/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_acceptInvitation.py
0 → 100644
View file @
fbf0046a
project
=
state_change
[
'object'
]
portal
=
project
.
getPortalObject
()
person
=
portal
.
portal_membership
.
getAuthenticatedMember
().
getUserValue
()
# Get required arguments
kwargs
=
state_change
.
kwargs
# Required args
# Raise TypeError if all parameters are not provided
try
:
token_id
=
kwargs
[
'invitation_token'
]
except
KeyError
:
raise
TypeError
(
"Project_acceptInvitation takes exactly 1 argument"
)
try
:
invitation_token
=
portal
.
invitation_token_module
[
token_id
]
except
KeyError
:
raise
ValueError
(
"The Invitation Token can't be found, please review the URL."
)
if
person
is
None
:
message_str
=
"Please login before access the invitation link."
raise
ValueError
(
message_str
)
if
invitation_token
.
getPortalType
()
!=
"Invitation Token"
:
message_str
=
"The Invitation Token can't be found, please review the URL."
raise
ValueError
(
message_str
)
if
invitation_token
.
getValidationState
()
!=
"validated"
:
message_str
=
"The Invitation Token was already used and it cannot be reused, please ask a new one."
raise
ValueError
(
message_str
)
if
invitation_token
.
getSourceValue
()
==
person
:
message_str
=
"Invitation Token cannot be used by the same user that generated the token!"
raise
ValueError
(
message_str
)
for
assignment
in
person
.
objectValues
(
portal_type
=
"Assignment"
):
if
assignment
.
getDestinationProject
()
==
project
.
getRelativeUrl
()
and
\
assignment
.
getValidationState
()
==
"open"
:
invitation_token
.
invalidate
(
comment
=
"User already has assignment to the Person"
)
break
if
invitation_token
.
getValidationState
()
==
"validated"
:
person
.
newContent
(
title
=
"Assigment for Project %s"
%
project
.
getTitle
(),
portal_type
=
"Assignment"
,
destination_project_value
=
project
).
open
()
invitation_token
.
invalidate
()
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_acceptInvitation.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Script"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
state_change
</string>
</value>
</item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
script_Organisation_acceptInvitation
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Script
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Organisation_acceptInvitation
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_approveRegistration.py
0 → 100644
View file @
fbf0046a
project
=
state_change
[
"object"
]
from
DateTime
import
DateTime
portal
=
context
.
getPortalObject
()
if
project
.
getValidationState
()
!=
"draft"
:
return
if
project
.
getReference
()
in
[
None
,
""
]:
reference
=
"PROJ-%s"
%
portal
.
portal_ids
.
generateNewId
(
id_group
=
'slap_project_reference'
,
id_generator
=
'uid'
,
default
=
1
)
project
.
setReference
(
reference
)
# Get the user id of the context owner.
local_role_list
=
project
.
get_local_roles
()
for
group
,
role_list
in
local_role_list
:
if
'Owner'
in
role_list
:
user_id
=
group
break
person
=
portal
.
portal_catalog
.
getResultValue
(
user_id
=
user_id
)
if
person
is
None
:
# Value was created by super user, so there isn't a point on continue
return
for
assignment
in
person
.
objectValues
(
portal_type
=
"Assignment"
):
if
assignment
.
getDestinationProject
()
==
project
.
getRelativeUrl
():
if
assignment
.
getValidationState
()
!=
"open"
:
assignment
.
open
()
return
person
.
newContent
(
title
=
"Assigment for Project %s"
%
project
.
getTitle
(),
portal_type
=
"Assignment"
,
destination_project
=
project
.
getRelativeUrl
()).
open
()
project
.
edit
(
start_date
=
DateTime
())
project
.
validate
()
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_approveRegistration.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Script"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
state_change
</string>
</value>
</item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
script_Organisation_approveRegistration
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Script
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Organisation_approveRegistration
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_checkConsistency.py
0 → 100644
View file @
fbf0046a
organisation
=
state_change
[
'object'
]
organisation
.
Base_checkConsistency
()
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_checkConsistency.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Script"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
state_change
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
script_Organisation_checkConsistency
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Script
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_generateInvitation.py
0 → 100644
View file @
fbf0046a
project
=
state_change
[
'object'
]
portal
=
context
.
getPortalObject
()
person
=
portal
.
portal_membership
.
getAuthenticatedMember
().
getUserValue
()
request_method
=
"POST"
script_name
=
"Project_acceptInvitation"
web_site
=
context
.
getWebSiteValue
()
if
web_site
is
None
:
web_site
=
portal
request_url
=
"%s/%s/%s"
%
(
web_site
.
absolute_url
(),
project
.
getRelativeUrl
(),
script_name
)
# Maybe it would be better to use another portal_type
token
=
portal
.
invitation_token_module
.
newContent
(
portal_type
=
"Invitation Token"
,
source_value
=
person
,
url_string
=
request_url
,
url_method
=
request_method
)
token
.
validate
()
context
.
REQUEST
.
set
(
'request_token_id'
,
token
.
getId
())
context
.
REQUEST
.
set
(
'request_token_url_string'
,
request_url
)
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_generateInvitation.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Script"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
state_change
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
script_Organisation_generateInvitation
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Script
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_leaveOrganisation.py
0 → 100644
View file @
fbf0046a
from
zExceptions
import
Unauthorized
organisation
=
state_change
[
'object'
]
portal
=
organisation
.
getPortalObject
()
person
=
portal
.
portal_membership
.
getAuthenticatedMember
().
getUserValue
()
if
person
is
None
:
raise
Unauthorized
for
assignment
in
person
.
objectValues
(
portal_type
=
"Assignment"
):
if
assignment
.
getDestination
()
==
organisation
.
getRelativeUrl
():
assignment
.
close
()
break
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/script_Organisation_leaveOrganisation.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Script"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
state_change
</string>
</value>
</item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<value>
<tuple>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
script_Organisation_leaveOrganisation
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Script
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/state_draft.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow State"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
acquire_permission
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
destination/portal_workflow/organisation_slap_interface_workflow/transition_accept_invitation
</string>
<string>
destination/portal_workflow/organisation_slap_interface_workflow/transition_approve_registration
</string>
<string>
destination/portal_workflow/organisation_slap_interface_workflow/transition_leave_organisation
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
state_draft
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow State
</string>
</value>
</item>
<item>
<key>
<string>
state_permission_role_list_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
state_type
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Draft
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/
project_slap_interface_workflow/transition_draft
.xml
→
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/
organisation_slap_interface_workflow/transition_accept_invitation
.xml
View file @
fbf0046a
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<value>
<value>
<tuple>
<tuple>
<string>
action_type/workflow
</string>
<string>
action_type/workflow
</string>
<string>
destination/portal_workflow/project_slap_interface_workflow/state_draft
</string>
<string>
after_script/portal_workflow/organisation_slap_interface_workflow/script_Organisation_acceptInvitation
</string>
</tuple>
</tuple>
</value>
</value>
</item>
</item>
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_
draft
</string>
</value>
<value>
<string>
transition_
accept_invitation
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
portal_type
</string>
</key>
<key>
<string>
portal_type
</string>
</key>
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
title
</string>
</key>
<key>
<string>
title
</string>
</key>
<value>
<string>
Draft
</string>
</value>
<value>
<string>
Accept Invitation
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<key>
<string>
trigger_type
</string>
</key>
...
...
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/transition_approve_registration.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Transition"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
before_script/portal_workflow/organisation_slap_interface_workflow/script_Organisation_checkConsistency
</string>
<string>
after_script/portal_workflow/organisation_slap_interface_workflow/script_Organisation_approveRegistration
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_approve_registration
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Transition
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Approve Registration
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
2
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/transition_leave_organisation.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Transition"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
action_name
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/workflow
</string>
<string>
before_script/portal_workflow/organisation_slap_interface_workflow/script_Organisation_checkConsistency
</string>
<string>
after_script/portal_workflow/organisation_slap_interface_workflow/script_Organisation_leaveOrganisation
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
guard_permission
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transition_leave_organisation
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Transition
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Leave Organisation
</string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
2
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_action.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Variable"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
The last transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_action
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Variable
</string>
</value>
</item>
<item>
<key>
<string>
status_included
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
variable_default_expression
</string>
</key>
<value>
<string>
transition/getReference|nothing
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_actor.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Variable"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
The name of the user who performed the last transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_actor
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Variable
</string>
</value>
</item>
<item>
<key>
<string>
status_included
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
variable_default_expression
</string>
</key>
<value>
<string>
user/getUserName
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_comment.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Variable"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Comments about the last transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_comment
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Variable
</string>
</value>
</item>
<item>
<key>
<string>
status_included
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
variable_default_expression
</string>
</key>
<value>
<string>
python:state_change.kwargs.get(\'comment\', \'\')
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_error_message.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Variable"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Error message if validation failed
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_error_message
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Variable
</string>
</value>
</item>
<item>
<key>
<string>
status_included
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_history.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Variable"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Provides access to workflow history
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_history
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Variable
</string>
</value>
</item>
<item>
<key>
<string>
status_included
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
variable_default_expression
</string>
</key>
<value>
<string>
state_change/getHistory
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_portal_type.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Variable"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
portal type (use as filter for worklists)
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_portal_type
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Variable
</string>
</value>
</item>
<item>
<key>
<string>
status_included
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/WorkflowTemplateItem/portal_workflow/organisation_slap_interface_workflow/variable_time.xml
0 → 100644
View file @
fbf0046a
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Workflow Variable"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
automatic_update
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Time of the last transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variable_time
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Workflow Variable
</string>
</value>
</item>
<item>
<key>
<string>
status_included
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
variable_default_expression
</string>
</key>
<value>
<string>
state_change/getDateTime
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_cloud/bt/template_portal_type_workflow_chain_list
View file @
fbf0046a
...
@@ -5,6 +5,7 @@ Hosting Subscription | edit_workflow
...
@@ -5,6 +5,7 @@ Hosting Subscription | edit_workflow
Instance Tree | edit_workflow
Instance Tree | edit_workflow
Instance Tree | instance_slap_interface_workflow
Instance Tree | instance_slap_interface_workflow
Instance Tree | instance_tree_workflow
Instance Tree | instance_tree_workflow
Organisation | organisation_slap_interface_workflow
Person | person_slap_interface_workflow
Person | person_slap_interface_workflow
Project | project_slap_interface_workflow
Project | project_slap_interface_workflow
Slave Instance | edit_workflow
Slave Instance | edit_workflow
...
...
master/bt5/slapos_cloud/bt/template_workflow_id_list
View file @
fbf0046a
...
@@ -4,6 +4,7 @@ compute_partition_slap_interface_workflow
...
@@ -4,6 +4,7 @@ compute_partition_slap_interface_workflow
installation_slap_interface_workflow
installation_slap_interface_workflow
instance_slap_interface_workflow
instance_slap_interface_workflow
instance_tree_workflow
instance_tree_workflow
organisation_slap_interface_workflow
person_slap_interface_workflow
person_slap_interface_workflow
project_slap_interface_workflow
project_slap_interface_workflow
slapos_cloud_interaction_workflow
slapos_cloud_interaction_workflow
\ No newline at end of file
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/Organisation_closeRelatedAssignment.py
View file @
fbf0046a
person
=
context
.
getPortalObject
().
portal_membership
.
getAuthenticatedMember
().
getUserValue
()
context
.
leaveOrganisation
()
for
assignment
in
person
.
objectValues
(
portal_type
=
"Assignment"
):
if
assignment
.
getDestination
()
==
context
.
getRelativeUrl
():
assignment
.
close
()
return
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment