Commit c19ea8ac authored by Romain Courteaud's avatar Romain Courteaud

slapos_cloud: force open order to be created to allocate

parent cc819c70
...@@ -22,6 +22,14 @@ def assignComputePartition(software_instance, instance_tree): ...@@ -22,6 +22,14 @@ def assignComputePartition(software_instance, instance_tree):
if instance_tree is None: if instance_tree is None:
raise ValueError('%s does not have related instance tree' % software_instance.getRelativeUrl()) raise ValueError('%s does not have related instance tree' % software_instance.getRelativeUrl())
# allocation must be based on the Open Order related to the Instance Tree
# it is unrelated to the Person document
# Migrating all the code is needed
# Step1: force open order to be created to allocated
# Step2: XXX
if instance_tree.getAggregateRelatedValue(portal_type="Open Sale Order Line") is None:
raise Unauthorized("No Open Order")
person = instance_tree.getDestinationSectionValue(portal_type='Person') person = instance_tree.getDestinationSectionValue(portal_type='Person')
if person is None: if person is None:
raise ValueError('%s does not have person related' % instance_tree.getRelativeUrl()) raise ValueError('%s does not have person related' % instance_tree.getRelativeUrl())
......
...@@ -260,6 +260,9 @@ class SlapOSTestCaseMixin(testSlapOSMixin): ...@@ -260,6 +260,9 @@ class SlapOSTestCaseMixin(testSlapOSMixin):
self.portal.portal_workflow._jumpToStateFor(self.requested_software_instance, 'start_requested') self.portal.portal_workflow._jumpToStateFor(self.requested_software_instance, 'start_requested')
self.requested_software_instance.validate() self.requested_software_instance.validate()
self.tic() self.tic()
# XXX Not part of slapos cloud
self.portal.portal_alarms.slapos_request_update_instance_tree_open_sale_order.activeSense()
self.tic()
def _makeSlaveTree(self, requested_template_id='template_slave_instance'): def _makeSlaveTree(self, requested_template_id='template_slave_instance'):
return self._makeTree(requested_template_id=requested_template_id) return self._makeTree(requested_template_id=requested_template_id)
......
...@@ -100,24 +100,28 @@ ...@@ -100,24 +100,28 @@
</record> </record>
<record id="4" aka="AAAAAAAAAAQ="> <record id="4" aka="AAAAAAAAAAQ=">
<pickle> <pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle> </pickle>
<pickle> <pickle>
<tuple> <dictionary>
<none/> <item>
<list> <key> <string>_log</string> </key>
<dictionary> <value>
<item> <list>
<key> <string>action</string> </key> <dictionary>
<value> <string>validate</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>validate</string> </value>
<key> <string>validation_state</string> </key> </item>
<value> <string>validated</string> </value> <item>
</item> <key> <string>validation_state</string> </key>
</dictionary> <value> <string>validated</string> </value>
</list> </item>
</tuple> </dictionary>
</list>
</value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
</ZopeData> </ZopeData>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment