Commit 70f9bbf0 authored by Łukasz Nowak's avatar Łukasz Nowak

Fix damaged data.

parent cf00c96d
...@@ -71,6 +71,26 @@ def VifibSaleInvoiceBuilder_buildAndPlan(self, movement_list): ...@@ -71,6 +71,26 @@ def VifibSaleInvoiceBuilder_buildAndPlan(self, movement_list):
if delivery.getSimulationState() == 'draft': if delivery.getSimulationState() == 'draft':
wf._changeStateOf(delivery, plan_tdef, dict(comment="Generated by the upgrade")) wf._changeStateOf(delivery, plan_tdef, dict(comment="Generated by the upgrade"))
def fixSaleOrder(slap_document):
sale_order_line_list = slap_document.getAggregateRelatedValueList(
portal_type='Sale Order Line')
assert(len(sale_order_line_list) == 1)
sale_order = sale_order_line_list[0].getParentValue()
sale_packing_list_line_list = slap_document.getAggregateRelatedValueList(
portal_type='Sale Packing List Line')
if len(sale_packing_list_line_list) == 0:
return sale_order.contentValues(portal_type='Sale Order Line')[0]
assert(len(sale_packing_list_line_list) == 1)
sale_packing_list = sale_packing_list_line_list[0].getParentValue()
new_sale_order = sale_order.Base_createCloneDocument(batch_mode=1)
new_sale_order.order()
applied_rule = sale_order.getCausalityRelatedValue(portal_type='Applied Rule')
applied_rule.getParentValue().deleteContent(applied_rule.getId())
sale_order.getParentValue().deleteContent(sale_order.getId())
sale_packing_list.getParentValue().deleteContent(sale_packing_list.getId())
return new_sale_order.contentValues(portal_type='Sale Order Line')[0]
def SlapDocument_migrateSlapState(self): def SlapDocument_migrateSlapState(self):
from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery
...@@ -113,6 +133,9 @@ def SlapDocument_migrateSlapState(self): ...@@ -113,6 +133,9 @@ def SlapDocument_migrateSlapState(self):
if explanation_delivery_line is None: if explanation_delivery_line is None:
explanation_delivery_line = slap_document.getAggregateRelatedValue(portal_type='Sale Order Line') explanation_delivery_line = slap_document.getAggregateRelatedValue(portal_type='Sale Order Line')
if slap_document.getRelativeUrl() == 'hosting_subscription_module/20120521-C46CA2':
# special case of destroyed data
explanation_delivery_line = fixSaleOrder(slap_document)
if portal_type == 'Hosting Subscription': if portal_type == 'Hosting Subscription':
current_periodicity = slap_document.getPeriodicityMonthDayList() current_periodicity = slap_document.getPeriodicityMonthDayList()
......
100 101
\ No newline at end of file \ No newline at end of file
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