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
Thomas Leymonerie
slapos.core
Commits
b08a0c36
Commit
b08a0c36
authored
Jun 26, 2019
by
Łukasz Nowak
Committed by
Rafael Monnerat
Jul 23, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Feature computer remove unused software
/reviewed-on
nexedi/slapos.core!121
parent
21a01ff7
Changes
30
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
1463 additions
and
1 deletion
+1463
-1
master/bt5/slapos_pdm/PathTemplateItem/portal_alarms/slapos_pdm_destroy_software_installation_with_archived_software_release.xml
..._software_installation_with_archived_software_release.xml
+97
-0
master/bt5/slapos_pdm/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
...rtalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+4
-0
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/Alarm_destroySoftwareInstallationWithArchivedSoftwareRelease.py
...destroySoftwareInstallationWithArchivedSoftwareRelease.py
+12
-0
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/Alarm_destroySoftwareInstallationWithArchivedSoftwareRelease.xml
...estroySoftwareInstallationWithArchivedSoftwareRelease.xml
+62
-0
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareInstallation_destroyWithSoftwareReleaseArchived.py
...oftwareInstallation_destroyWithSoftwareReleaseArchived.py
+24
-0
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareInstallation_destroyWithSoftwareReleaseArchived.xml
...ftwareInstallation_destroyWithSoftwareReleaseArchived.xml
+62
-0
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareRelease_findAndDestroySoftwareInstallation.py
...pdm/SoftwareRelease_findAndDestroySoftwareInstallation.py
+24
-0
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareRelease_findAndDestroySoftwareInstallation.xml
...dm/SoftwareRelease_findAndDestroySoftwareInstallation.xml
+62
-0
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm.py
...oySoftwareInstallationWithArchivedSoftwareReleaseAlarm.py
+240
-0
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm.xml
...ySoftwareInstallationWithArchivedSoftwareReleaseAlarm.xml
+123
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow.xml
...tal_workflow/slapos_software_release_cleanup_workflow.xml
+66
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/scripts.xml
...flow/slapos_software_release_cleanup_workflow/scripts.xml
+22
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/states.xml
...kflow/slapos_software_release_cleanup_workflow/states.xml
+28
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/states/cleaned.xml
...apos_software_release_cleanup_workflow/states/cleaned.xml
+36
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/states/draft.xml
...slapos_software_release_cleanup_workflow/states/draft.xml
+38
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/transitions.xml
.../slapos_software_release_cleanup_workflow/transitions.xml
+28
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/transitions/cleanup.xml
...software_release_cleanup_workflow/transitions/cleanup.xml
+79
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables.xml
...ow/slapos_software_release_cleanup_workflow/variables.xml
+28
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/action.xml
...os_software_release_cleanup_workflow/variables/action.xml
+61
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/actor.xml
...pos_software_release_cleanup_workflow/variables/actor.xml
+61
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/comment.xml
...s_software_release_cleanup_workflow/variables/comment.xml
+61
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/error_message.xml
...ware_release_cleanup_workflow/variables/error_message.xml
+48
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/history.xml
...s_software_release_cleanup_workflow/variables/history.xml
+61
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/portal_type.xml
...ftware_release_cleanup_workflow/variables/portal_type.xml
+48
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/time.xml
...apos_software_release_cleanup_workflow/variables/time.xml
+61
-0
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/worklists.xml
...ow/slapos_software_release_cleanup_workflow/worklists.xml
+22
-0
master/bt5/slapos_pdm/bt/template_path_list
master/bt5/slapos_pdm/bt/template_path_list
+1
-0
master/bt5/slapos_pdm/bt/template_portal_type_workflow_chain_list
...t5/slapos_pdm/bt/template_portal_type_workflow_chain_list
+1
-0
master/bt5/slapos_pdm/bt/template_test_id_list
master/bt5/slapos_pdm/bt/template_test_id_list
+2
-1
master/bt5/slapos_pdm/bt/template_workflow_id_list
master/bt5/slapos_pdm/bt/template_workflow_id_list
+1
-0
No files found.
master/bt5/slapos_pdm/PathTemplateItem/portal_alarms/slapos_pdm_destroy_software_installation_with_archived_software_release.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Alarm"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
active_sense_method_id
</string>
</key>
<value>
<string>
Alarm_destroySoftwareInstallationWithArchivedSoftwareRelease
</string>
</value>
</item>
<item>
<key>
<string>
automatic_solve
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
slapos_pdm_destroy_software_installation_with_archived_software_release
</string>
</value>
</item>
<item>
<key>
<string>
periodicity_hour
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
periodicity_hour_frequency
</string>
</key>
<value>
<int>
2
</int>
</value>
</item>
<item>
<key>
<string>
periodicity_minute
</string>
</key>
<value>
<tuple>
<int>
0
</int>
</tuple>
</value>
</item>
<item>
<key>
<string>
periodicity_month
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
periodicity_month_day
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
periodicity_start_date
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
0.0
</float>
<string>
GMT
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
periodicity_week
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Alarm
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Destroy Software Installation related to archived Software Releases
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
View file @
b08a0c36
...
...
@@ -3,6 +3,10 @@
<type>
Software Product
</type>
<workflow>
-validation_workflow, commerce_validation_workflow
</workflow>
</chain>
<chain>
<type>
Software Release
</type>
<workflow>
slapos_software_release_cleanup_workflow
</workflow>
</chain>
<chain>
<type>
Upgrade Decision
</type>
<workflow>
edit_workflow, ticket_interaction_workflow, upgrade_decision_workflow
</workflow>
...
...
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/Alarm_destroySoftwareInstallationWithArchivedSoftwareRelease.py
0 → 100644
View file @
b08a0c36
portal
=
context
.
getPortalObject
()
portal
.
portal_catalog
.
searchAndActivate
(
portal_type
=
'Software Release'
,
validation_state
=
'archived'
,
simulation_state
=
'draft'
,
method_id
=
'SoftwareRelease_findAndDestroySoftwareInstallation'
,
method_kw
=
{
'tag'
:
tag
},
activate_kw
=
{
'tag'
:
tag
}
)
context
.
activate
(
after_tag
=
tag
).
getId
()
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/Alarm_destroySoftwareInstallationWithArchivedSoftwareRelease.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</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>
tag, fixit, params
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Alarm_destroySoftwareInstallationWithArchivedSoftwareRelease
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareInstallation_destroyWithSoftwareReleaseArchived.py
0 → 100644
View file @
b08a0c36
software_installation
=
context
url_string
=
software_installation
.
getUrlString
()
if
software_installation
.
getValidationState
()
!=
'validated'
:
return
if
software_installation
.
getSlapState
()
!=
'start_requested'
:
return
software_release
=
software_installation
.
portal_catalog
.
getResultValue
(
portal_type
=
'Software Release'
,
validation_state
=
'archived'
,
url_string
=
url_string
)
if
software_release
is
None
:
return
computer
=
software_installation
.
getAggregateValue
(
portal_type
=
'Computer'
)
if
computer
is
None
:
return
if
computer
.
Computer_getSoftwareReleaseUsage
(
url_string
)
!=
0
:
return
software_installation
.
requestDestroy
(
comment
=
'Destroyed by %s as %s is archived.'
%
(
script
.
id
,
software_release
.
getRelativeUrl
(),))
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareInstallation_destroyWithSoftwareReleaseArchived.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</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></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
SoftwareInstallation_destroyWithSoftwareReleaseArchived
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareRelease_findAndDestroySoftwareInstallation.py
0 → 100644
View file @
b08a0c36
if
context
.
getValidationState
()
!=
'archived'
:
return
if
context
.
getSimulationState
()
==
'cleaned'
:
return
portal
=
context
.
getPortalObject
()
catalog_kw
=
dict
(
portal_type
=
'Software Installation'
,
validation_state
=
'validated'
,
url_string
=
context
.
getUrlString
()
)
count
=
portal
.
portal_catalog
.
countResults
(
**
catalog_kw
)
if
count
[
0
][
0
]
==
0
:
context
.
cleanup
(
comment
=
'No more validated Software Installations found'
)
else
:
portal
.
portal_catalog
.
searchAndActivate
(
method_id
=
'SoftwareInstallation_destroyWithSoftwareReleaseArchived'
,
activate_kw
=
{
'tag'
:
tag
},
**
catalog_kw
)
master/bt5/slapos_pdm/SkinTemplateItem/portal_skins/slapos_pdm/SoftwareRelease_findAndDestroySoftwareInstallation.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</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>
tag
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
SoftwareRelease_findAndDestroySoftwareInstallation
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm.py
0 → 100644
View file @
b08a0c36
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2019 Nexedi SA and Contributors. All Rights Reserved.
#
##############################################################################
from
erp5.component.test.SlapOSTestCaseMixin
import
SlapOSTestCaseMixin
from
erp5.component.test.testSlapOSAccountingAlarm
import
simulateByEditWorkflowMark
class
TestSlapOSDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
(
SlapOSTestCaseMixin
):
def
createInstance
(
self
,
url_string
):
hosting_subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
hosting_subscription
.
edit
(
)
hosting_subscription
.
validate
()
hosting_subscription
.
edit
(
title
=
self
.
generateNewSoftwareTitle
(),
reference
=
"TESTHS-%s"
%
self
.
generateNewId
(),
)
request_kw
=
dict
(
software_release
=
url_string
,
software_type
=
self
.
generateNewSoftwareType
(),
instance_xml
=
self
.
generateSafeXml
(),
sla_xml
=
self
.
generateSafeXml
(),
shared
=
False
,
software_title
=
hosting_subscription
.
getTitle
(),
state
=
'started'
)
hosting_subscription
.
requestStart
(
**
request_kw
)
hosting_subscription
.
requestInstance
(
**
request_kw
)
instance
=
hosting_subscription
.
getPredecessorValue
()
self
.
tic
()
return
instance
def
test
(
self
):
preference
=
self
.
portal
.
portal_preferences
.
getActiveSystemPreference
()
preference
.
setPreferredCloudContractEnabled
(
True
)
self
.
tic
()
computer
,
partition
=
self
.
_makeComputer
()
archived_url_string
=
self
.
generateNewSoftwareReleaseUrl
()
# create software release
archived_software_release
=
self
.
portal
.
software_release_module
.
newContent
(
portal_type
=
'Software Release'
,
version
=
'1'
,
url_string
=
archived_url_string
)
archived_software_release
.
publish
()
archived_software_release
.
archive
()
self
.
assertEqual
(
'draft'
,
archived_software_release
.
getSimulationState
())
# install an software release
archived_software_installation
=
self
.
portal
.
software_installation_module
\
.
newContent
(
portal_type
=
'Software Installation'
,
url_string
=
archived_url_string
,
aggregate
=
computer
.
getRelativeUrl
())
archived_software_installation
.
validate
()
archived_software_installation
.
requestStart
()
archived_used_url_string
=
self
.
generateNewSoftwareReleaseUrl
()
# create software release
archived_used_software_release
=
self
.
portal
.
software_release_module
.
newContent
(
portal_type
=
'Software Release'
,
version
=
'1'
,
url_string
=
archived_used_url_string
)
archived_used_software_release
.
publish
()
archived_used_software_release
.
archive
()
self
.
assertEqual
(
'draft'
,
archived_used_software_release
.
getSimulationState
())
# install an software release
archived_used_software_installation
=
self
.
portal
.
software_installation_module
\
.
newContent
(
portal_type
=
'Software Installation'
,
url_string
=
archived_used_url_string
,
aggregate
=
computer
.
getRelativeUrl
())
archived_used_software_installation
.
validate
()
archived_used_software_installation
.
requestStart
()
# use the software release
instance
=
self
.
createInstance
(
archived_used_url_string
)
instance
.
setAggregate
(
partition
.
getRelativeUrl
())
partition
.
markBusy
()
self
.
tic
()
published_url_string
=
self
.
generateNewSoftwareReleaseUrl
()
# create software release
published_software_release
=
self
.
portal
.
software_release_module
.
newContent
(
portal_type
=
'Software Release'
,
version
=
'1'
,
url_string
=
published_url_string
)
published_software_release
.
publish
()
self
.
assertEqual
(
'draft'
,
published_software_release
.
getSimulationState
())
# install an software release
published_software_installation
=
self
.
portal
.
software_installation_module
\
.
newContent
(
portal_type
=
'Software Installation'
,
url_string
=
published_url_string
,
aggregate
=
computer
.
getRelativeUrl
())
published_software_installation
.
validate
()
published_software_installation
.
requestStart
()
self
.
tic
()
# first run touches software installation
self
.
stepCallSlaposPdmDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
()
self
.
tic
()
self
.
assertEqual
(
'destroy_requested'
,
archived_software_installation
.
getSlapState
())
self
.
assertEqual
(
'validated'
,
archived_software_installation
.
getValidationState
())
self
.
assertEqual
(
'start_requested'
,
published_software_installation
.
getSlapState
())
self
.
assertEqual
(
'validated'
,
published_software_installation
.
getValidationState
())
self
.
assertEqual
(
'start_requested'
,
archived_used_software_installation
.
getSlapState
())
self
.
assertEqual
(
'validated'
,
archived_used_software_installation
.
getValidationState
())
# second run, but it is still not reported that software installation is destroyed
self
.
stepCallSlaposPdmDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
()
self
.
tic
()
self
.
assertEqual
(
'draft'
,
archived_software_release
.
getSimulationState
())
self
.
assertEqual
(
'draft'
,
published_software_release
.
getSimulationState
())
self
.
assertEqual
(
'start_requested'
,
published_software_installation
.
getSlapState
())
self
.
assertEqual
(
'validated'
,
archived_used_software_installation
.
getValidationState
())
self
.
assertEqual
(
'start_requested'
,
archived_used_software_installation
.
getSlapState
())
# simulate the computer run
archived_software_installation
.
invalidate
()
self
.
tic
()
self
.
stepCallSlaposPdmDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
()
self
.
tic
()
self
.
assertEqual
(
'cleaned'
,
archived_software_release
.
getSimulationState
())
self
.
assertEqual
(
'draft'
,
published_software_release
.
getSimulationState
())
self
.
assertEqual
(
'start_requested'
,
published_software_installation
.
getSlapState
())
self
.
assertEqual
(
'validated'
,
archived_used_software_installation
.
getValidationState
())
self
.
assertEqual
(
'start_requested'
,
archived_used_software_installation
.
getSlapState
())
@
simulateByEditWorkflowMark
(
'SoftwareRelease_findAndDestroySoftwareInstallation'
)
def
test_no_op_run_software_release
(
self
):
archived_software_release
=
self
.
portal
.
software_release_module
.
newContent
(
portal_type
=
'Software Release'
,
version
=
'1'
,
url_string
=
self
.
generateNewSoftwareReleaseUrl
(),
)
archived_software_release
.
publish
()
archived_software_release
.
archive
()
self
.
assertEqual
(
'draft'
,
archived_software_release
.
getSimulationState
())
archived_cleaned_software_release
=
self
.
portal
.
software_release_module
.
newContent
(
portal_type
=
'Software Release'
,
version
=
'1'
,
url_string
=
self
.
generateNewSoftwareReleaseUrl
(),
)
archived_cleaned_software_release
.
publish
()
archived_cleaned_software_release
.
archive
()
archived_cleaned_software_release
.
cleanup
()
self
.
assertEqual
(
'cleaned'
,
archived_cleaned_software_release
.
getSimulationState
())
published_software_release
=
self
.
portal
.
software_release_module
.
newContent
(
portal_type
=
'Software Release'
,
version
=
'1'
,
url_string
=
self
.
generateNewSoftwareReleaseUrl
(),
)
published_software_release
.
publish
()
self
.
assertEqual
(
'draft'
,
published_software_release
.
getSimulationState
())
self
.
tic
()
self
.
stepCallSlaposPdmDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
()
self
.
tic
()
v
=
'Visited by SoftwareRelease_findAndDestroySoftwareInstallation'
self
.
assertFalse
(
v
in
[
q
[
'comment'
]
for
q
in
published_software_release
.
workflow_history
[
'edit_workflow'
]])
self
.
assertFalse
(
v
in
[
q
[
'comment'
]
for
q
in
archived_cleaned_software_release
.
workflow_history
[
'edit_workflow'
]])
self
.
assertTrue
(
v
in
[
q
[
'comment'
]
for
q
in
archived_software_release
.
workflow_history
[
'edit_workflow'
]])
@
simulateByEditWorkflowMark
(
'SoftwareInstallation_destroyWithSoftwareReleaseArchived'
)
def
test_no_op_run_software_installation
(
self
):
preference
=
self
.
portal
.
portal_preferences
.
getActiveSystemPreference
()
preference
.
setPreferredCloudContractEnabled
(
True
)
self
.
tic
()
computer
,
partition
=
self
.
_makeComputer
()
partition
.
invalidate
()
partition
.
markBusy
()
url_string
=
self
.
generateNewSoftwareReleaseUrl
()
archived_software_release
=
self
.
portal
.
software_release_module
.
newContent
(
portal_type
=
'Software Release'
,
version
=
'1'
,
url_string
=
url_string
,
)
archived_software_release
.
publish
()
archived_software_release
.
archive
()
self
.
assertEqual
(
'draft'
,
archived_software_release
.
getSimulationState
())
software_installation_validated_request_start
=
self
.
portal
.
software_installation_module
\
.
newContent
(
portal_type
=
'Software Installation'
,
url_string
=
url_string
,
aggregate
=
computer
.
getRelativeUrl
())
software_installation_validated_request_start
.
validate
()
software_installation_validated_request_start
.
requestStart
()
software_installation_validated_request_destroy
=
self
.
portal
.
software_installation_module
\
.
newContent
(
portal_type
=
'Software Installation'
,
url_string
=
url_string
,
aggregate
=
computer
.
getRelativeUrl
())
software_installation_validated_request_destroy
.
validate
()
software_installation_validated_request_destroy
.
requestStart
()
software_installation_validated_request_destroy
.
requestDestroy
()
software_installation_invalidated_request_destroy
=
self
.
portal
.
software_installation_module
\
.
newContent
(
portal_type
=
'Software Installation'
,
url_string
=
url_string
,
aggregate
=
computer
.
getRelativeUrl
())
software_installation_invalidated_request_destroy
.
validate
()
software_installation_invalidated_request_destroy
.
requestStart
()
software_installation_invalidated_request_destroy
.
requestDestroy
()
software_installation_invalidated_request_destroy
.
invalidate
()
self
.
tic
()
# sanity check
self
.
assertEqual
(
'validated'
,
software_installation_validated_request_start
.
getValidationState
())
self
.
assertEqual
(
'start_requested'
,
software_installation_validated_request_start
.
getSlapState
())
self
.
assertEqual
(
'validated'
,
software_installation_validated_request_destroy
.
getValidationState
())
self
.
assertEqual
(
'destroy_requested'
,
software_installation_validated_request_destroy
.
getSlapState
())
self
.
assertEqual
(
'invalidated'
,
software_installation_invalidated_request_destroy
.
getValidationState
())
self
.
assertEqual
(
'destroy_requested'
,
software_installation_invalidated_request_destroy
.
getSlapState
())
self
.
stepCallSlaposPdmDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
()
self
.
tic
()
v
=
'Visited by SoftwareInstallation_destroyWithSoftwareReleaseArchived'
self
.
assertTrue
(
v
in
[
q
[
'comment'
]
for
q
in
software_installation_validated_request_start
.
workflow_history
[
'edit_workflow'
]])
self
.
assertTrue
(
v
in
[
q
[
'comment'
]
for
q
in
software_installation_validated_request_destroy
.
workflow_history
[
'edit_workflow'
]])
self
.
assertFalse
(
v
in
[
q
[
'comment'
]
for
q
in
software_installation_invalidated_request_destroy
.
workflow_history
[
'edit_workflow'
]])
\ No newline at end of file
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Test Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Test Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</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>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
validate
</string>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"DCWorkflowDefinition"
module=
"Products.DCWorkflow.DCWorkflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_objects
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
creation_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
groups
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
slapos_software_release_cleanup_workflow
</string>
</value>
</item>
<item>
<key>
<string>
initial_state
</string>
</key>
<value>
<string>
draft
</string>
</value>
</item>
<item>
<key>
<string>
manager_bypass
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
permissions
</string>
</key>
<value>
<tuple>
<string>
Access contents information
</string>
<string>
View
</string>
<string>
Add portal content
</string>
<string>
Modify portal content
</string>
<string>
Delete objects
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
state_var
</string>
</key>
<value>
<string>
simulation_state
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Software Release Cleanup Workflow
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/scripts.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Scripts"
module=
"Products.DCWorkflow.Scripts"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_mapping
</string>
</key>
<value>
<dictionary/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
scripts
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/states.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"States"
module=
"Products.DCWorkflow.States"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_mapping
</string>
</key>
<value>
<dictionary/>
</value>
</item>
<item>
<key>
<string>
_objects
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
states
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/states/cleaned.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"StateDefinition"
module=
"Products.DCWorkflow.States"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
cleaned
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Cleaned
</string>
</value>
</item>
<item>
<key>
<string>
transitions
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
type_list
</string>
</key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/states/draft.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"StateDefinition"
module=
"Products.DCWorkflow.States"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
draft
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Draft
</string>
</value>
</item>
<item>
<key>
<string>
transitions
</string>
</key>
<value>
<tuple>
<string>
cleanup
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
type_list
</string>
</key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/transitions.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Transitions"
module=
"Products.DCWorkflow.Transitions"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_mapping
</string>
</key>
<value>
<dictionary/>
</value>
</item>
<item>
<key>
<string>
_objects
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
transitions
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/transitions/cleanup.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"TransitionDefinition"
module=
"Products.DCWorkflow.Transitions"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
actbox_category
</string>
</key>
<value>
<string>
workflow
</string>
</value>
</item>
<item>
<key>
<string>
actbox_icon
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
actbox_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
actbox_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
after_script_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
guard
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
cleanup
</string>
</value>
</item>
<item>
<key>
<string>
new_state_id
</string>
</key>
<value>
<string>
cleaned
</string>
</value>
</item>
<item>
<key>
<string>
script_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
trigger_type
</string>
</key>
<value>
<int>
2
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Guard"
module=
"Products.DCWorkflow.Guard"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
permissions
</string>
</key>
<value>
<tuple>
<string>
Modify portal content
</string>
</tuple>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Variables"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_mapping
</string>
</key>
<value>
<dictionary/>
</value>
</item>
<item>
<key>
<string>
_objects
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
variables
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/action.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"VariableDefinition"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_expr
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_value
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Transition id
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
for_status
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
action
</string>
</value>
</item>
<item>
<key>
<string>
info_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
update_always
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Expression"
module=
"Products.CMFCore.Expression"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
text
</string>
</key>
<value>
<string>
transition/getId|nothing
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/actor.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"VariableDefinition"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_expr
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_value
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Name of the user who performed transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
for_status
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
actor
</string>
</value>
</item>
<item>
<key>
<string>
info_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
update_always
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Expression"
module=
"Products.CMFCore.Expression"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
text
</string>
</key>
<value>
<string>
user/getIdOrUserName
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/comment.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"VariableDefinition"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_expr
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_value
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Comment about transition
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
for_status
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
comment
</string>
</value>
</item>
<item>
<key>
<string>
info_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
update_always
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Expression"
module=
"Products.CMFCore.Expression"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
text
</string>
</key>
<value>
<string>
python:state_change.kwargs.get(\'comment\', \'\')
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/error_message.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"VariableDefinition"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_expr
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_value
</string>
</key>
<value>
<string></string>
</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>
for_status
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
error_message
</string>
</value>
</item>
<item>
<key>
<string>
info_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
update_always
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/history.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"VariableDefinition"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_expr
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_value
</string>
</key>
<value>
<string></string>
</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>
for_status
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
history
</string>
</value>
</item>
<item>
<key>
<string>
info_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
update_always
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Expression"
module=
"Products.CMFCore.Expression"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
text
</string>
</key>
<value>
<string>
state_change/getHistory
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/portal_type.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"VariableDefinition"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_expr
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_value
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Portal type (used as filter for worklists)
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
for_status
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
portal_type
</string>
</value>
</item>
<item>
<key>
<string>
info_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
update_always
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/variables/time.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"VariableDefinition"
module=
"Products.DCWorkflow.Variables"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_expr
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_value
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string>
Transition timestamp
</string>
</value>
</item>
<item>
<key>
<string>
for_catalog
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
for_status
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
time
</string>
</value>
</item>
<item>
<key>
<string>
info_guard
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
update_always
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Expression"
module=
"Products.CMFCore.Expression"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
text
</string>
</key>
<value>
<string>
state_change/getDateTime
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/WorkflowTemplateItem/portal_workflow/slapos_software_release_cleanup_workflow/worklists.xml
0 → 100644
View file @
b08a0c36
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Worklists"
module=
"Products.DCWorkflow.Worklists"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_mapping
</string>
</key>
<value>
<dictionary/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
worklists
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_pdm/bt/template_path_list
View file @
b08a0c36
...
...
@@ -5,6 +5,7 @@ notification_message_module/slapos_upgrade_hosting_subscription_notification
portal_alarms/slapos_manage_software_catalog
portal_alarms/slapos_pdm_auto_cancel_upgrade_decision
portal_alarms/slapos_pdm_computer_create_upgrade_decision
portal_alarms/slapos_pdm_destroy_software_installation_with_archived_software_release
portal_alarms/slapos_pdm_hosting_subscription_create_upgrade_decision
portal_alarms/slapos_pdm_upgrade_decision_process_planned
portal_alarms/slapos_pdm_upgrade_decision_process_started
...
...
master/bt5/slapos_pdm/bt/template_portal_type_workflow_chain_list
View file @
b08a0c36
Software Product | -validation_workflow
Software Product | commerce_validation_workflow
Software Release | slapos_software_release_cleanup_workflow
Upgrade Decision | edit_workflow
Upgrade Decision | ticket_interaction_workflow
Upgrade Decision | upgrade_decision_workflow
\ No newline at end of file
master/bt5/slapos_pdm/bt/template_test_id_list
View file @
b08a0c36
test.erp5.testSlapOSPDMAlarm
test.erp5.testSlapOSPDMSkins
test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm
\ No newline at end of file
master/bt5/slapos_pdm/bt/template_workflow_id_list
View file @
b08a0c36
slapos_software_release_cleanup_workflow
upgrade_decision_workflow
\ No newline at end of file
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