InitializeAcquisition.py 4.52 KB
Newer Older
Jean-Paul Smets's avatar
Jean-Paul Smets committed
1 2
from Products.ERP5.ERP5Globals import *
from Products.ERP5.Tool.Category import addBaseCategory
3
from Products.ERP5Type.Utils import convertToUpperCase
Jean-Paul Smets's avatar
Jean-Paul Smets committed
4 5 6 7 8

# This script defines init values for all base categories

def setBaseAcquisition(self):
  pc = self.portal_categories
9 10 11
  # Source and destination are defined by delivery, order, parent 
  #   we should not use causality here because of production reports
  #   for which source or destination can be None (ie. different from Production Order)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
12
  for bc in ('source', 'destination',
13 14 15
             'target_source', 'target_destination',
             'source_section', 'destination_section', 
             'target_source_section', 'target_destination_section',):
16 17 18 19 20 21 22 23 24 25
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    pc[bc].setAcquisitionBaseCategoryList(('delivery', 'order', 'parent', ))
    pc[bc].setAcquisitionPortalTypeList(movement_or_item_or_delivery_or_order_or_invoice_type_list)
    pc[bc].setAcquisitionMaskValue(1)
    pc[bc].setAcquisitionCopyValue(0)
    pc[bc].setAcquisitionAppendValue(0)
  # Other sources and destination are defined by delivery, order, parent or causality
  # None of those base categories should be set to None (incl. section)
  for bc in ('source_payment', 'destination_payment',
Jean-Paul Smets's avatar
Jean-Paul Smets committed
26 27 28 29 30 31
             'source_decision', 'destination_decision',
             'source_administration', 'destination_administration', ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    pc[bc].setAcquisitionBaseCategoryList(('delivery', 'order', 'parent', 'causality'))
    pc[bc].setAcquisitionPortalTypeList(movement_or_item_or_delivery_or_order_or_invoice_type_list)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
32
    pc[bc].setAcquisitionMaskValue(1)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
33 34 35 36 37 38 39 40
    pc[bc].setAcquisitionCopyValue(0)
    pc[bc].setAcquisitionAppendValue(0)
  # Resource is defined by delivery, order or parent
  for bc in ('resource', ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    pc[bc].setAcquisitionBaseCategoryList(('delivery', 'order', 'parent'))
    pc[bc].setAcquisitionPortalTypeList(movement_or_item_or_delivery_or_order_or_invoice_type_list)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
41
    pc[bc].setAcquisitionMaskValue(1)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
42 43 44 45 46 47 48 49
    pc[bc].setAcquisitionCopyValue(0)
    pc[bc].setAcquisitionAppendValue(0)
  # Coramy Specific for Variations
  for bc in ('coloris', 'taille', 'variante', 'morphologie' ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    pc[bc].setAcquisitionBaseCategoryList(('delivery', 'order', 'parent', ))
    pc[bc].setAcquisitionPortalTypeList(movement_or_item_or_delivery_or_order_or_invoice_type_list)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
50
    pc[bc].setAcquisitionMaskValue(1)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
51 52 53 54 55 56 57 58 59
    pc[bc].setAcquisitionCopyValue(0)
    pc[bc].setAcquisitionAppendValue(0)
  # Coramy Specific for Quantity Unit
  for bc in ('quantity_unit', ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    pc[bc].setAcquisitionBaseCategoryList(('delivery', 'order', 'parent', 'resource'))
    pc[bc].setAcquisitionPortalTypeList(
              movement_or_item_or_delivery_or_order_or_invoice_or_resource_type_list)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
60
    pc[bc].setAcquisitionMaskValue(1)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
61 62 63 64 65 66
    pc[bc].setAcquisitionCopyValue(0)
    pc[bc].setAcquisitionAppendValue(0)
  # Add some useful bcs
  for bc in ('parent', ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
67 68 69 70 71 72 73 74 75 76
  # Region acquisition
  for bc in ('region', ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    pc[bc].setAcquisitionBaseCategoryList('subordination',)
    pc[bc].setAcquisitionPortalTypeList(['Address', 'Organisation', 'Person'])
    pc[bc].setAcquisitionMaskValue(1)
    pc[bc].setAcquisitionCopyValue(0)
    pc[bc].setAcquisitionAppendValue(0)
    pc[bc].setAcquisitionObjectIdList(['default_address'])
77 78 79 80 81 82 83 84 85 86 87
  # Subordination acquisition
  for bc in ('subordination', ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    #pc[bc].setAcquisitionBaseCategoryList()
    pc[bc].setAcquisitionPortalTypeList(['Career', ])
    pc[bc].setAcquisitionMaskValue(0)
    pc[bc].setAcquisitionCopyValue(0)
    pc[bc].setAcquisitionAppendValue(0)
    pc[bc].setAcquisitionSyncValue(1)
    pc[bc].setAcquisitionObjectIdList(['default_career'])
88 89 90 91 92 93 94 95 96 97 98
  # Immobilisation acquisition
  for bc in ('input_account', 'output_account', 'immobilisation_account', 
             'amortisation_account', 'depreciation_account', 'vat_account', 
             'amortisation_type', ):
    if not hasattr(pc, bc):
      addBaseCategory(pc, bc)
    pc[bc].setAcquisitionBaseCategoryList('parent',)
    pc[bc].setAcquisitionPortalTypeList(item_type_list)
    pc[bc].setAcquisitionMaskValue(1)
    pc[bc].setAcquisitionCopyValue(1)
    pc[bc].setAcquisitionAppendValue(0)
Jean-Paul Smets's avatar
Jean-Paul Smets committed
99

Jean-Paul Smets's avatar
Jean-Paul Smets committed
100 101 102 103

  return '<html><body><p>Acquisition Done</p></body></html>'