Commit 655a3d5a authored by Romain Courteaud's avatar Romain Courteaud

slapos_crm: search a matching Trade Condition to generate a Support Request

parent 4ff8e715
......@@ -9,16 +9,46 @@ support_request_in_progress = causality_value.Base_getSupportRequestInProgress(
if support_request_in_progress is not None:
return
# Create a temp Sale Order to find the trade condition
now = DateTime()
module = portal.portal_trash
tmp_sale_order = module.newContent(
portal_type='Sale Order',
temp_object=True,
trade_condition_type="ticket",
start_date=now,
destination=destination_decision,
destination_decision=destination_decision,
source_project_value=project,
ledger_value=portal.portal_categories.ledger.automated
)
tmp_sale_order.SaleOrder_applySaleTradeCondition(batch_mode=1, force=1)
"""
if tmp_sale_order.getSpecialise(None) is None:
raise AssertionError('Can not find a trade condition to generate the Support Request')
"""
resource = portal.service_module.slapos_crm_monitoring
support_request = portal.support_request_module.newContent(
portal_type="Support Request",
title=title,
description=text_content,
start_date=DateTime(),
source_project_value=project,
destination_decision=destination_decision,
start_date=tmp_sale_order.getStartDate(),
source=tmp_sale_order.getSource(),
source_section=tmp_sale_order.getSourceSection(),
source_project=tmp_sale_order.getSourceProject(),
destination=tmp_sale_order.getDestination(),
destination_section=tmp_sale_order.getDestinationSection(),
destination_project=tmp_sale_order.getDestinationProject(),
destination_decision=tmp_sale_order.getDestinationDecision(),
specialise=tmp_sale_order.getSpecialise(),
causality=causality,
# Ensure resoure is Monitoring
resource_value=portal.service_module.slapos_crm_monitoring
resource_value=resource,
quantity_unit=resource.getQuantityUnit(),
base_contribution_list=resource.getBaseContributionList(),
use=resource.getUse(),
quantity=1,
price=0
)
support_request.validate()
return support_request
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