'\Valuation\Entity\Valuation', 'Stock' => '\Stock\Entity\Stock' ); /** * @var array */ protected $linkMap = array(); /** * @var array */ protected $listen = array(); /** * @var array */ protected $reclaim = array(); /** * @var array */ protected $stateLabel = array( 'NewValuation' => 'New Valuation', 'PendingValuation' => 'Pending Valuation', 'CompleteValuation' => 'Complete Valuation', 'DealDone' => 'Deal Done', 'OfferAccepted' => 'Offer Accepted', 'DealNotDone' => 'Deal Not Done', 'PriceGuide' => 'Price Guide' ); /** * @var array */ protected $stateMap = array( 'Global' => array( 'Actions' => array( 'XmlRpc.SelectList' => array(), 'XmlRpc.Grid' => array(), 'XmlRpc.Create' => array(), 'XmlRpc.Update' => array(), 'XmlRpc.Delete' => array(), 'XmlRpc.UnDelete' => array(), 'XmlRpcRequestLog.Grid' => array(), 'XmlRpcCallbackLog.Grid' => array(), 'Valuation.Grid' => array(), 'Valuation.CreatePublic' => array(), 'Valuation.CreateCustomerPublic' => array(), 'Valuation.CreateNew' => array(), 'Valuation.CreatePending' => array(), 'Valuation.CreateComplete' => array(), 'Valuation.CreateCompleteSendToCustomer' => array(), 'Valuation.CreateCompleteCustomerPublic' => array(), 'Valuation.UpdateCompleteCustomerPublic' => array(), 'Valuation.CreatePriceGuide' => array(), 'Valuation.CreateStock' => array(), 'Valuation.UpdateStock' => array(), 'Report.Valuations' => array(), 'PricingHistory.Grid' => array(), 'Valuation.MoveToDealDone' => array(), 'Valuation.MoveToDealNotDone' => array(), 'CustomerPublicValuation.Create' => array(), 'CustomerPublicValuation.Update' => array(), 'CustomerPublicValuation.Delete' => array(), 'Valuation.UpdateCheck' => array(), 'Valuation.UpdateCompleteCheck' => array(), 'ValuationTimeSlots.SelectList' => array(), 'ValuationTimeSlots.Create' => array(), 'ValuationTimeSlots.Update' => array(), 'ValuationTimeSlots.Delete' => array(), 'ValuationAppointments.Create' => array(), 'ValuationAppointments.Update' => array(), 'ValuationAppointments.Delete' => array(), 'DealNotDoneSelection.SelectList' => array(), 'DealNotDoneSelection.Update' => array(), 'DealNotDoneSelection.Delete' => array(), 'DealNotDoneSelection.Create' => array(), 'Valuation.DealNotDoneSelection' => array(), 'SendToStockFrom.SelectList' => array(), ) ), 'NewItem' => array( 'InitRoute' => 'Valuation.routeNewItem' ), 'New Valuation' => array( 'Init' => 'Valuation.initNewValuation', 'Actions' => array( 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array(), 'Valuation.Update' => array(), 'Valuation.RequestBmwAccidentReport' => array(), 'Valuation.RequestAccidentReport' => array() ), 'Routes' => array( 'Valuation.MoveToPending' => array( 'Destination' => 'This.PendingValuation', 'ContractRequired' => true ), 'Valuation.MoveToArchive' => array( 'Destination' => 'This.Archived', 'ContractRequired' => true ), 'Valuation.MoveToComplete' => array( 'Destination' => 'This.CompleteValuation', 'ContractRequired' => true ), 'Valuation.MoveToCustomerComplete' => array( 'Destination' => 'This.CompleteValuation', 'ContractRequired' => true ), 'Workflow.MoveToArchive' => array( 'Destination' => 'This.Archived' ), 'Valuation.MoveToOfferAccepted' => array(), 'Valuation.MoveToKeepForStock' => array(), 'Valuation.SendToPriceGuide' => array( 'Destination' => 'PriceGuide.NewItemFromValuation', 'ContractRequired' => true ), 'Valuation.SendToStock' => array( #-> Need a direct routing method for this to do handover back to Stock. 'Destination' => 'This.Stock' ) ) ), 'Pending Valuation' => array( 'Init' => 'Valuation.initPendingValuation', 'Actions' => array( 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array(), 'Valuation.Update' => array(), 'Valuation.RequestBmwAccidentReport' => array(), 'Valuation.RequestAccidentReport' => array(), 'Valuation.MoveToDealDone' => array(), 'Valuation.MoveToDealNotDone' => array() ), 'Routes' => array( 'Valuation.MoveToComplete' => array( 'Destination' => 'This.CompleteValuation', 'ContractRequired' => true ), 'Valuation.MoveToOfferAccepted' => array(), 'Valuation.MoveToKeepForStock' => array(), 'Valuation.MoveToDealDone' => array(), 'Valuation.MoveToDealNotDone' => array(), 'Valuation.MoveToArchive' => array( 'Destination' => 'This.Archived' ), 'Valuation.SendToPriceGuide' => array( 'Destination' => 'PriceGuide.NewItemFromValuation', 'ContractRequired' => true ), 'Valuation.SendToStock' => array( #-> Need a direct routing method for this to do handover back to Stock. 'Destination' => 'This.Stock' ), 'Valuation.MoveToCustomerComplete' => array( 'Destination' => 'This.CompleteValuation', 'ContractRequired' => true ), ) ), 'Complete Valuation' => array( 'Init' => 'Valuation.initCompleteValuation', 'Actions' => array( 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array(), 'Valuation.Update' => array(), 'Valuation.RequestBmwAccidentReport' => array(), 'Valuation.RequestAccidentReport' => array(), 'Valuation.SendToSales' => array(), 'Valuation.MoveToDealDone' => array(), 'Valuation.MoveToDealNotDone' => array() ), 'Routes' => array( 'Valuation.MoveToComplete' => array( 'Destination' => 'This.CompleteValuation', 'ContractRequired' => true ), 'Valuation.MoveToOfferAccepted' => array(), 'Valuation.MoveToKeepForStock' => array(), 'Valuation.MoveToDealDone' => array(), 'Valuation.MoveToDealNotDone' => array(), 'Valuation.MoveToArchive' => array( 'Destination' => 'This.Archived' ), 'Valuation.SendToPriceGuide' => array( 'Destination' => 'PriceGuide.NewItemFromValuation', 'ContractRequired' => true ), 'Valuation.SendToStock' => array( #-> Need a direct routing method for this to do handover back to Stock. 'Destination' => 'This.Stock' ), 'Valuation.MoveToCustomerComplete' => array( 'Destination' => 'This.CompleteValuation', 'ContractRequired' => true ), ) ), 'Offer Accepted' => array( 'Actions' => array( 'Valuation.LimitedUpdate' => array(), 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array() ), 'Routes' => array( 'Valuation.MoveToComplete' => array( 'Destination' => 'This.CompleteValuation', 'ContractRequired' => true ), 'Valuation.MoveToArchive' => array( 'Destination' => 'This.Archived' ), 'Valuation.SendToPriceGuide' => array( 'Destination' => 'PriceGuide.NewItemFromValuation', 'ContractRequired' => true ), 'Valuation.SendToStock' => array( #-> Need a direct routing method for this to do handover back to Stock. 'Destination' => 'This.Stock' ), 'Valuation.MoveToDealDone' => array(), 'Valuation.MoveToDealNotDone' => array() ) ), 'Deal Done' => array( 'Init' => 'Valuation.initCompleteValuation', 'Actions' => array( 'Valuation.LimitedUpdate' => array(), 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array() ), 'Routes' => array( 'Valuation.MoveToArchive' => array( 'Destination' => 'This.Archived' ), 'Valuation.SendToStock' => array( #-> Need a direct routing method for this to do handover back to Stock. 'Destination' => 'This.Stock' ) ) ), 'Deal Not Done' => array( 'Init' => 'Valuation.initCompleteValuation', 'Actions' => array( 'Valuation.Update' => array(), 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array() ), 'Routes' => array( 'Valuation.MoveToPending' => array( 'Destination' => 'This.PendingValuation', 'ContractRequired' => true ), 'Valuation.MoveToArchive' => array( 'Destination' => 'This.Archived' ), 'Valuation.SendToPriceGuide' => array( 'Destination' => 'PriceGuide.NewItemFromValuation', 'ContractRequired' => true ), 'Valuation.SendToStock' => array() ) ), 'Archived' => array( 'Actions' => array( 'Valuation.LimitedUpdate' => array(), 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array() ), 'Routes' => array( 'Valuation.UnArchive' => array() ) ), 'Price Guide' => array( 'Actions' => array( 'Valuation.View' => array(), 'Pdf.Print' => array(), 'Pdf.Print001' => array(), 'Pdf.Print002' => array(), 'Pdf.Print003' => array(), 'Valuation.Update' => array(), 'Valuation.SendToSalesFull' => array(), 'Valuation.LimitedUpdate' => array(), 'Valuation.SendToSales' => array(), 'Valuation.RequestBmwAccidentReport' => array(), 'Valuation.RequestAccidentReport' => array(), 'Valuation.PriceGuideMoveToComplete' => array(), 'Valuation.SendToCustomerFull' => array(), ), 'Routes' => array( 'Valuation.MoveToOfferAccepted' => array(), 'Valuation.MoveToDealDone' => array(), 'Valuation.MoveToDealNotDone' => array(), 'Valuation.SendToStock' => array( #-> Need a direct routing method for this to do handover back to Stock. 'Destination' => 'This.Stock' ) ), 'RouteBack' => array( 'Action' => 'Valuation.routePriceGuideHandover' ) ), 'Stock' => array( 'Actions' => array(), 'Routes' => array(), 'RouteBack' => array( 'Action' => 'Valuation.routePriceGuideHandover' ) ) ); }