Commit fd5eef0f authored by Romain Courteaud's avatar Romain Courteaud

slapos_subscription_request: user script parameter to set the expected values

parent 8ef8b9a7
......@@ -57,12 +57,11 @@ if destination_decision_value is None:
return
try:
subscription_request = service.Resource_createSubscriptionRequest(destination_decision_value, resource_vcl, project_value, currency_value=currency_value, default_price=default_price)
subscription_request = service.Resource_createSubscriptionRequest(destination_decision_value, resource_vcl, project_value, currency_value=currency_value, default_price=default_price,
item_value=item, causality_value=item)
except AssertionError as error:
storeWorkflowComment(item, str(error))
return
subscription_request.setAggregateValue(item)
subscription_request.setCausalityValue(item)
subscription_request.reindexObject(activate_kw=activate_kw)
item.reindexObject(activate_kw=activate_kw)
......
......@@ -7,12 +7,14 @@ if subscriber_person_value is None:
source_project_value = None
destination_project_value = None
trade_condition_type = None
item = None
if resource.getPortalType() == "Software Product":
source_project_value = project_value
trade_condition_type = "instance_tree"
assert item_value is not None
assert item_value.getPortalType() == 'Instance Tree'
elif resource.getPortalType() == "Service":
if resource.getRelativeUrl() == "service_module/slapos_compute_node_subscription":
if project_value is None:
......@@ -20,10 +22,15 @@ elif resource.getPortalType() == "Service":
source_project_value = project_value
trade_condition_type = "compute_node"
assert item_value is not None
assert item_value.getPortalType() == 'Compute Node'
elif resource.getRelativeUrl() == "service_module/slapos_virtual_master_subscription":
if project_value is None:
raise AssertionError('Project is required for %s %s' % (resource.getRelativeUrl(), project_value))
item = project_value
assert item_value is None
item_value = project_value
trade_condition_type = "virtual_master"
else:
raise NotImplementedError('Unsupported resource: %s' % resource.getRelativeUrl())
......@@ -128,7 +135,7 @@ subscription_request = portal.getDefaultModuleValue(portal_type).newContent(
effective_date=now,
resource_value=resource,
variation_category_list=variation_category_list,
aggregate_value=item,
aggregate_value=item_value,
quantity_unit=resource.getQuantityUnit(),
quantity=1,
ledger="automated",
......@@ -139,6 +146,7 @@ subscription_request = portal.getDefaultModuleValue(portal_type).newContent(
price_currency=tmp_sale_order.getPriceCurrency(),
price=price,
# XXX activate_kw=activate_kw
causality_value=causality_value,
)
if temp_object:
subscription_request.edit(reference="foo")
......
......@@ -50,7 +50,7 @@
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>subscriber_person_value, variation_category_list, project_value, currency_value=None, default_price=None, temp_object=False, portal_type=\'Subscription Request\'</string> </value>
<value> <string>subscriber_person_value, variation_category_list, project_value, currency_value=None, default_price=None, temp_object=False, portal_type=\'Subscription Request\', item_value=None, causality_value=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
......
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