Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_Bundle_Model_Sales_Order_Pdf_Items_Creditmemo
  • Mage_Bundle_Model_Sales_Order_Pdf_Items_Invoice
  • Mage_ImportExport_Model_Resource_Helper_Mysql4
  • Mage_Sales_Billing_AgreementController
  • Mage_Sales_Block_Adminhtml_Billing_Agreement
  • Mage_Sales_Block_Adminhtml_Billing_Agreement_Grid
  • Mage_Sales_Block_Adminhtml_Billing_Agreement_View
  • Mage_Sales_Block_Adminhtml_Billing_Agreement_View_Form
  • Mage_Sales_Block_Adminhtml_Billing_Agreement_View_Tab_Info
  • Mage_Sales_Block_Adminhtml_Billing_Agreement_View_Tab_Orders
  • Mage_Sales_Block_Adminhtml_Billing_Agreement_View_Tabs
  • Mage_Sales_Block_Adminhtml_Customer_Edit_Tab_Agreement
  • Mage_Sales_Block_Adminhtml_Customer_Edit_Tab_Recurring_Profile
  • Mage_Sales_Block_Adminhtml_Recurring_Profile
  • Mage_Sales_Block_Adminhtml_Recurring_Profile_Edit_Form
  • Mage_Sales_Block_Adminhtml_Recurring_Profile_Grid
  • Mage_Sales_Block_Adminhtml_Recurring_Profile_View
  • Mage_Sales_Block_Adminhtml_Recurring_Profile_View_Tab_Info
  • Mage_Sales_Block_Adminhtml_Recurring_Profile_View_Tab_Orders
  • Mage_Sales_Block_Adminhtml_Report_Filter_Form
  • Mage_Sales_Block_Adminhtml_Report_Filter_Form_Coupon
  • Mage_Sales_Block_Adminhtml_Report_Filter_Form_Order
  • Mage_Sales_Block_Billing_Agreement_View
  • Mage_Sales_Block_Billing_Agreements
  • Mage_Sales_Block_Guest_Links
  • Mage_Sales_Block_Items_Abstract
  • Mage_Sales_Block_Order_Comments
  • Mage_Sales_Block_Order_Creditmemo
  • Mage_Sales_Block_Order_Creditmemo_Items
  • Mage_Sales_Block_Order_Creditmemo_Totals
  • Mage_Sales_Block_Order_Details
  • Mage_Sales_Block_Order_Email_Creditmemo_Items
  • Mage_Sales_Block_Order_Email_Invoice_Items
  • Mage_Sales_Block_Order_Email_Items
  • Mage_Sales_Block_Order_Email_Items_Default
  • Mage_Sales_Block_Order_Email_Items_Order_Default
  • Mage_Sales_Block_Order_Email_Items_Order_Grouped
  • Mage_Sales_Block_Order_Email_Shipment_Items
  • Mage_Sales_Block_Order_History
  • Mage_Sales_Block_Order_Info
  • Mage_Sales_Block_Order_Info_Buttons
  • Mage_Sales_Block_Order_Invoice
  • Mage_Sales_Block_Order_Invoice_Items
  • Mage_Sales_Block_Order_Invoice_Totals
  • Mage_Sales_Block_Order_Item_Renderer_Default
  • Mage_Sales_Block_Order_Item_Renderer_Grouped
  • Mage_Sales_Block_Order_Items
  • Mage_Sales_Block_Order_Print
  • Mage_Sales_Block_Order_Print_Creditmemo
  • Mage_Sales_Block_Order_Print_Invoice
  • Mage_Sales_Block_Order_Print_Shipment
  • Mage_Sales_Block_Order_Recent
  • Mage_Sales_Block_Order_Shipment
  • Mage_Sales_Block_Order_Shipment_Items
  • Mage_Sales_Block_Order_Totals
  • Mage_Sales_Block_Order_View
  • Mage_Sales_Block_Payment_Form_Billing_Agreement
  • Mage_Sales_Block_Payment_Info_Billing_Agreement
  • Mage_Sales_Block_Recurring_Profile_View
  • Mage_Sales_Block_Recurring_Profiles
  • Mage_Sales_Block_Reorder_Sidebar
  • Mage_Sales_Block_Widget_Guest_Form
  • Mage_Sales_Controller_Abstract
  • Mage_Sales_DownloadController
  • Mage_Sales_Exception
  • Mage_Sales_Helper_Data
  • Mage_Sales_Helper_Guest
  • Mage_Sales_Helper_Reorder
  • Mage_Sales_Model_Abstract
  • Mage_Sales_Model_Api2_Order
  • Mage_Sales_Model_Api2_Order_Address
  • Mage_Sales_Model_Api2_Order_Address_Rest
  • Mage_Sales_Model_Api2_Order_Address_Rest_Admin_V1
  • Mage_Sales_Model_Api2_Order_Address_Rest_Customer_V1
  • Mage_Sales_Model_Api2_Order_Comment
  • Mage_Sales_Model_Api2_Order_Comment_Rest
  • Mage_Sales_Model_Api2_Order_Comment_Rest_Admin_V1
  • Mage_Sales_Model_Api2_Order_Comment_Rest_Customer_V1
  • Mage_Sales_Model_Api2_Order_Item
  • Mage_Sales_Model_Api2_Order_Item_Rest
  • Mage_Sales_Model_Api2_Order_Item_Rest_Admin_V1
  • Mage_Sales_Model_Api2_Order_Item_Rest_Customer_V1
  • Mage_Sales_Model_Api2_Order_Rest
  • Mage_Sales_Model_Api2_Order_Rest_Admin_V1
  • Mage_Sales_Model_Api2_Order_Rest_Customer_V1
  • Mage_Sales_Model_Api_Resource
  • Mage_Sales_Model_Billing_Agreement
  • Mage_Sales_Model_Config
  • Mage_Sales_Model_Config_Ordered
  • Mage_Sales_Model_Convert_Order
  • Mage_Sales_Model_Convert_Quote
  • Mage_Sales_Model_Email_Template
  • Mage_Sales_Model_Entity_Order
  • Mage_Sales_Model_Entity_Order_Address
  • Mage_Sales_Model_Entity_Order_Address_Collection
  • Mage_Sales_Model_Entity_Order_Attribute_Backend_Billing
  • Mage_Sales_Model_Entity_Order_Attribute_Backend_Child
  • Mage_Sales_Model_Entity_Order_Attribute_Backend_Parent
  • Mage_Sales_Model_Entity_Order_Attribute_Backend_Shipping
  • Mage_Sales_Model_Entity_Order_Collection
  • Mage_Sales_Model_Entity_Order_Creditmemo
  • Mage_Sales_Model_Entity_Order_Creditmemo_Attribute_Backend_Child
  • Mage_Sales_Model_Entity_Order_Creditmemo_Attribute_Backend_Parent
  • Mage_Sales_Model_Entity_Order_Creditmemo_Collection
  • Mage_Sales_Model_Entity_Order_Creditmemo_Comment
  • Mage_Sales_Model_Entity_Order_Creditmemo_Comment_Collection
  • Mage_Sales_Model_Entity_Order_Creditmemo_Item
  • Mage_Sales_Model_Entity_Order_Creditmemo_Item_Collection
  • Mage_Sales_Model_Entity_Order_Invoice
  • Mage_Sales_Model_Entity_Order_Invoice_Attribute_Backend_Child
  • Mage_Sales_Model_Entity_Order_Invoice_Attribute_Backend_Item
  • Mage_Sales_Model_Entity_Order_Invoice_Attribute_Backend_Order
  • Mage_Sales_Model_Entity_Order_Invoice_Attribute_Backend_Parent
  • Mage_Sales_Model_Entity_Order_Invoice_Collection
  • Mage_Sales_Model_Entity_Order_Invoice_Comment
  • Mage_Sales_Model_Entity_Order_Invoice_Comment_Collection
  • Mage_Sales_Model_Entity_Order_Invoice_Item
  • Mage_Sales_Model_Entity_Order_Invoice_Item_Collection
  • Mage_Sales_Model_Entity_Order_Item
  • Mage_Sales_Model_Entity_Order_Item_Collection
  • Mage_Sales_Model_Entity_Order_Payment
  • Mage_Sales_Model_Entity_Order_Payment_Collection
  • Mage_Sales_Model_Entity_Order_Shipment
  • Mage_Sales_Model_Entity_Order_Shipment_Attribute_Backend_Child
  • Mage_Sales_Model_Entity_Order_Shipment_Attribute_Backend_Parent
  • Mage_Sales_Model_Entity_Order_Shipment_Collection
  • Mage_Sales_Model_Entity_Order_Shipment_Comment
  • Mage_Sales_Model_Entity_Order_Shipment_Comment_Collection
  • Mage_Sales_Model_Entity_Order_Shipment_Item
  • Mage_Sales_Model_Entity_Order_Shipment_Item_Collection
  • Mage_Sales_Model_Entity_Order_Shipment_Track
  • Mage_Sales_Model_Entity_Order_Shipment_Track_Collection
  • Mage_Sales_Model_Entity_Order_Status_History
  • Mage_Sales_Model_Entity_Order_Status_History_Collection
  • Mage_Sales_Model_Entity_Quote
  • Mage_Sales_Model_Entity_Quote_Address
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Backend
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Backend_Child
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Backend_Parent
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Backend_Region
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Frontend
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Frontend_Custbalance
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Frontend_Discount
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Frontend_Grand
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Frontend_Shipping
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Frontend_Subtotal
  • Mage_Sales_Model_Entity_Quote_Address_Attribute_Frontend_Tax
  • Mage_Sales_Model_Entity_Quote_Address_Collection
  • Mage_Sales_Model_Entity_Quote_Address_Item
  • Mage_Sales_Model_Entity_Quote_Address_Item_Collection
  • Mage_Sales_Model_Entity_Quote_Address_Rate
  • Mage_Sales_Model_Entity_Quote_Address_Rate_Collection
  • Mage_Sales_Model_Entity_Quote_Collection
  • Mage_Sales_Model_Entity_Quote_Item
  • Mage_Sales_Model_Entity_Quote_Item_Collection
  • Mage_Sales_Model_Entity_Quote_Payment
  • Mage_Sales_Model_Entity_Quote_Payment_Collection
  • Mage_Sales_Model_Entity_Sale_Collection
  • Mage_Sales_Model_Entity_Setup
  • Mage_Sales_Model_Mysql4_Abstract
  • Mage_Sales_Model_Mysql4_Billing_Agreement
  • Mage_Sales_Model_Mysql4_Billing_Agreement_Collection
  • Mage_Sales_Model_Mysql4_Collection_Abstract
  • Mage_Sales_Model_Mysql4_Order
  • Mage_Sales_Model_Mysql4_Order_Abstract
  • Mage_Sales_Model_Mysql4_Order_Address
  • Mage_Sales_Model_Mysql4_Order_Address_Collection
  • Mage_Sales_Model_Mysql4_Order_Attribute_Backend_Billing
  • Mage_Sales_Model_Mysql4_Order_Attribute_Backend_Child
  • Mage_Sales_Model_Mysql4_Order_Attribute_Backend_Parent
  • Mage_Sales_Model_Mysql4_Order_Attribute_Backend_Shipping
  • Mage_Sales_Model_Mysql4_Order_Collection
  • Mage_Sales_Model_Mysql4_Order_Collection_Abstract
  • Mage_Sales_Model_Mysql4_Order_Comment_Collection_Abstract
  • Mage_Sales_Model_Mysql4_Order_Creditmemo
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Attribute_Backend_Child
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Attribute_Backend_Parent
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Collection
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Comment
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Comment_Collection
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Grid_Collection
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Item
  • Mage_Sales_Model_Mysql4_Order_Creditmemo_Item_Collection
  • Mage_Sales_Model_Mysql4_Order_Grid_Collection
  • Mage_Sales_Model_Mysql4_Order_Invoice
  • Mage_Sales_Model_Mysql4_Order_Invoice_Attribute_Backend_Child
  • Mage_Sales_Model_Mysql4_Order_Invoice_Attribute_Backend_Item
  • Mage_Sales_Model_Mysql4_Order_Invoice_Attribute_Backend_Order
  • Mage_Sales_Model_Mysql4_Order_Invoice_Attribute_Backend_Parent
  • Mage_Sales_Model_Mysql4_Order_Invoice_Collection
  • Mage_Sales_Model_Mysql4_Order_Invoice_Comment
  • Mage_Sales_Model_Mysql4_Order_Invoice_Comment_Collection
  • Mage_Sales_Model_Mysql4_Order_Invoice_Grid_Collection
  • Mage_Sales_Model_Mysql4_Order_Invoice_Item
  • Mage_Sales_Model_Mysql4_Order_Invoice_Item_Collection
  • Mage_Sales_Model_Mysql4_Order_Item
  • Mage_Sales_Model_Mysql4_Order_Item_Collection
  • Mage_Sales_Model_Mysql4_Order_Payment
  • Mage_Sales_Model_Mysql4_Order_Payment_Collection
  • Mage_Sales_Model_Mysql4_Order_Payment_Transaction
  • Mage_Sales_Model_Mysql4_Order_Payment_Transaction_Collection
  • Mage_Sales_Model_Mysql4_Order_Shipment
  • Mage_Sales_Model_Mysql4_Order_Shipment_Attribute_Backend_Child
  • Mage_Sales_Model_Mysql4_Order_Shipment_Attribute_Backend_Parent
  • Mage_Sales_Model_Mysql4_Order_Shipment_Collection
  • Mage_Sales_Model_Mysql4_Order_Shipment_Comment
  • Mage_Sales_Model_Mysql4_Order_Shipment_Comment_Collection
  • Mage_Sales_Model_Mysql4_Order_Shipment_Grid_Collection
  • Mage_Sales_Model_Mysql4_Order_Shipment_Item
  • Mage_Sales_Model_Mysql4_Order_Shipment_Item_Collection
  • Mage_Sales_Model_Mysql4_Order_Shipment_Track
  • Mage_Sales_Model_Mysql4_Order_Shipment_Track_Collection
  • Mage_Sales_Model_Mysql4_Order_Status
  • Mage_Sales_Model_Mysql4_Order_Status_Collection
  • Mage_Sales_Model_Mysql4_Order_Status_History
  • Mage_Sales_Model_Mysql4_Order_Status_History_Collection
  • Mage_Sales_Model_Mysql4_Order_Tax
  • Mage_Sales_Model_Mysql4_Order_Tax_Collection
  • Mage_Sales_Model_Mysql4_Quote
  • Mage_Sales_Model_Mysql4_Quote_Address
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Backend
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Backend_Child
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Backend_Parent
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Backend_Region
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Frontend
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Frontend_Custbalance
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Frontend_Discount
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Frontend_Grand
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Frontend_Shipping
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Frontend_Subtotal
  • Mage_Sales_Model_Mysql4_Quote_Address_Attribute_Frontend_Tax
  • Mage_Sales_Model_Mysql4_Quote_Address_Collection
  • Mage_Sales_Model_Mysql4_Quote_Address_Item
  • Mage_Sales_Model_Mysql4_Quote_Address_Item_Collection
  • Mage_Sales_Model_Mysql4_Quote_Address_Rate
  • Mage_Sales_Model_Mysql4_Quote_Address_Rate_Collection
  • Mage_Sales_Model_Mysql4_Quote_Collection
  • Mage_Sales_Model_Mysql4_Quote_Item
  • Mage_Sales_Model_Mysql4_Quote_Item_Collection
  • Mage_Sales_Model_Mysql4_Quote_Item_Option
  • Mage_Sales_Model_Mysql4_Quote_Item_Option_Collection
  • Mage_Sales_Model_Mysql4_Quote_Payment
  • Mage_Sales_Model_Mysql4_Quote_Payment_Collection
  • Mage_Sales_Model_Mysql4_Recurring_Profile
  • Mage_Sales_Model_Mysql4_Recurring_Profile_Collection
  • Mage_Sales_Model_Mysql4_Report
  • Mage_Sales_Model_Mysql4_Report_Abstract
  • Mage_Sales_Model_Mysql4_Report_Bestsellers
  • Mage_Sales_Model_Mysql4_Report_Bestsellers_Collection
  • Mage_Sales_Model_Mysql4_Report_Collection_Abstract
  • Mage_Sales_Model_Mysql4_Report_Invoiced
  • Mage_Sales_Model_Mysql4_Report_Invoiced_Collection_Invoiced
  • Mage_Sales_Model_Mysql4_Report_Invoiced_Collection_Order
  • Mage_Sales_Model_Mysql4_Report_Order
  • Mage_Sales_Model_Mysql4_Report_Order_Collection
  • Mage_Sales_Model_Mysql4_Report_Order_Updatedat_Collection
  • Mage_Sales_Model_Mysql4_Report_Refunded
  • Mage_Sales_Model_Mysql4_Report_Refunded_Collection_Order
  • Mage_Sales_Model_Mysql4_Report_Refunded_Collection_Refunded
  • Mage_Sales_Model_Mysql4_Report_Shipping
  • Mage_Sales_Model_Mysql4_Report_Shipping_Collection_Order
  • Mage_Sales_Model_Mysql4_Report_Shipping_Collection_Shipment
  • Mage_Sales_Model_Mysql4_Sale_Collection
  • Mage_Sales_Model_Mysql4_Setup
  • Mage_Sales_Model_Observer
  • Mage_Sales_Model_Order
  • Mage_Sales_Model_Order_Address
  • Mage_Sales_Model_Order_Api
  • Mage_Sales_Model_Order_Api_V2
  • Mage_Sales_Model_Order_Config
  • Mage_Sales_Model_Order_Creditmemo
  • Mage_Sales_Model_Order_Creditmemo_Api
  • Mage_Sales_Model_Order_Creditmemo_Api_V2
  • Mage_Sales_Model_Order_Creditmemo_Comment
  • Mage_Sales_Model_Order_Creditmemo_Config
  • Mage_Sales_Model_Order_Creditmemo_Item
  • Mage_Sales_Model_Order_Creditmemo_Total_Abstract
  • Mage_Sales_Model_Order_Creditmemo_Total_Cost
  • Mage_Sales_Model_Order_Creditmemo_Total_Discount
  • Mage_Sales_Model_Order_Creditmemo_Total_Grand
  • Mage_Sales_Model_Order_Creditmemo_Total_Shipping
  • Mage_Sales_Model_Order_Creditmemo_Total_Subtotal
  • Mage_Sales_Model_Order_Creditmemo_Total_Tax
  • Mage_Sales_Model_Order_Invoice
  • Mage_Sales_Model_Order_Invoice_Api
  • Mage_Sales_Model_Order_Invoice_Api_V2
  • Mage_Sales_Model_Order_Invoice_Comment
  • Mage_Sales_Model_Order_Invoice_Config
  • Mage_Sales_Model_Order_Invoice_Item
  • Mage_Sales_Model_Order_Invoice_Total_Abstract
  • Mage_Sales_Model_Order_Invoice_Total_Cost
  • Mage_Sales_Model_Order_Invoice_Total_Discount
  • Mage_Sales_Model_Order_Invoice_Total_Grand
  • Mage_Sales_Model_Order_Invoice_Total_Shipping
  • Mage_Sales_Model_Order_Invoice_Total_Subtotal
  • Mage_Sales_Model_Order_Invoice_Total_Tax
  • Mage_Sales_Model_Order_Item
  • Mage_Sales_Model_Order_Payment
  • Mage_Sales_Model_Order_Payment_Transaction
  • Mage_Sales_Model_Order_Pdf_Abstract
  • Mage_Sales_Model_Order_Pdf_Creditmemo
  • Mage_Sales_Model_Order_Pdf_Invoice
  • Mage_Sales_Model_Order_Pdf_Items_Abstract
  • Mage_Sales_Model_Order_Pdf_Items_Creditmemo_Default
  • Mage_Sales_Model_Order_Pdf_Items_Creditmemo_Grouped
  • Mage_Sales_Model_Order_Pdf_Items_Invoice_Default
  • Mage_Sales_Model_Order_Pdf_Items_Invoice_Grouped
  • Mage_Sales_Model_Order_Pdf_Items_Shipment_Default
  • Mage_Sales_Model_Order_Pdf_Shipment
  • Mage_Sales_Model_Order_Pdf_Shipment_Packaging
  • Mage_Sales_Model_Order_Pdf_Total_Default
  • Mage_Sales_Model_Order_Shipment
  • Mage_Sales_Model_Order_Shipment_Api
  • Mage_Sales_Model_Order_Shipment_Api_V2
  • Mage_Sales_Model_Order_Shipment_Comment
  • Mage_Sales_Model_Order_Shipment_Item
  • Mage_Sales_Model_Order_Shipment_Track
  • Mage_Sales_Model_Order_Status
  • Mage_Sales_Model_Order_Status_History
  • Mage_Sales_Model_Order_Tax
  • Mage_Sales_Model_Order_Total
  • Mage_Sales_Model_Order_Total_Abstract
  • Mage_Sales_Model_Order_Total_Config_Base
  • Mage_Sales_Model_Payment_Method_Billing_AgreementAbstract
  • Mage_Sales_Model_Quote
  • Mage_Sales_Model_Quote_Address
  • Mage_Sales_Model_Quote_Address_Item
  • Mage_Sales_Model_Quote_Address_Rate
  • Mage_Sales_Model_Quote_Address_Total
  • Mage_Sales_Model_Quote_Address_Total_Abstract
  • Mage_Sales_Model_Quote_Address_Total_Custbalance
  • Mage_Sales_Model_Quote_Address_Total_Discount
  • Mage_Sales_Model_Quote_Address_Total_Grand
  • Mage_Sales_Model_Quote_Address_Total_Msrp
  • Mage_Sales_Model_Quote_Address_Total_Nominal
  • Mage_Sales_Model_Quote_Address_Total_Nominal_Collector
  • Mage_Sales_Model_Quote_Address_Total_Nominal_Recurring_Initial
  • Mage_Sales_Model_Quote_Address_Total_Nominal_Recurring_Trial
  • Mage_Sales_Model_Quote_Address_Total_Nominal_RecurringAbstract
  • Mage_Sales_Model_Quote_Address_Total_Nominal_Shipping
  • Mage_Sales_Model_Quote_Address_Total_Nominal_Subtotal
  • Mage_Sales_Model_Quote_Address_Total_Shipping
  • Mage_Sales_Model_Quote_Address_Total_Subtotal
  • Mage_Sales_Model_Quote_Address_Total_Tax
  • Mage_Sales_Model_Quote_Config
  • Mage_Sales_Model_Quote_Item
  • Mage_Sales_Model_Quote_Item_Abstract
  • Mage_Sales_Model_Quote_Item_Option
  • Mage_Sales_Model_Quote_Payment
  • Mage_Sales_Model_Recurring_Profile
  • Mage_Sales_Model_Resource_Abstract
  • Mage_Sales_Model_Resource_Billing_Agreement
  • Mage_Sales_Model_Resource_Billing_Agreement_Collection
  • Mage_Sales_Model_Resource_Collection_Abstract
  • Mage_Sales_Model_Resource_Helper_Mysql4
  • Mage_Sales_Model_Resource_Order
  • Mage_Sales_Model_Resource_Order_Abstract
  • Mage_Sales_Model_Resource_Order_Address
  • Mage_Sales_Model_Resource_Order_Address_Collection
  • Mage_Sales_Model_Resource_Order_Attribute_Backend_Billing
  • Mage_Sales_Model_Resource_Order_Attribute_Backend_Child
  • Mage_Sales_Model_Resource_Order_Attribute_Backend_Parent
  • Mage_Sales_Model_Resource_Order_Attribute_Backend_Shipping
  • Mage_Sales_Model_Resource_Order_Collection
  • Mage_Sales_Model_Resource_Order_Collection_Abstract
  • Mage_Sales_Model_Resource_Order_Comment_Collection_Abstract
  • Mage_Sales_Model_Resource_Order_Creditmemo
  • Mage_Sales_Model_Resource_Order_Creditmemo_Attribute_Backend_Child
  • Mage_Sales_Model_Resource_Order_Creditmemo_Attribute_Backend_Parent
  • Mage_Sales_Model_Resource_Order_Creditmemo_Collection
  • Mage_Sales_Model_Resource_Order_Creditmemo_Comment
  • Mage_Sales_Model_Resource_Order_Creditmemo_Comment_Collection
  • Mage_Sales_Model_Resource_Order_Creditmemo_Grid_Collection
  • Mage_Sales_Model_Resource_Order_Creditmemo_Item
  • Mage_Sales_Model_Resource_Order_Creditmemo_Item_Collection
  • Mage_Sales_Model_Resource_Order_Grid_Collection
  • Mage_Sales_Model_Resource_Order_Invoice
  • Mage_Sales_Model_Resource_Order_Invoice_Attribute_Backend_Child
  • Mage_Sales_Model_Resource_Order_Invoice_Attribute_Backend_Item
  • Mage_Sales_Model_Resource_Order_Invoice_Attribute_Backend_Order
  • Mage_Sales_Model_Resource_Order_Invoice_Attribute_Backend_Parent
  • Mage_Sales_Model_Resource_Order_Invoice_Collection
  • Mage_Sales_Model_Resource_Order_Invoice_Comment
  • Mage_Sales_Model_Resource_Order_Invoice_Comment_Collection
  • Mage_Sales_Model_Resource_Order_Invoice_Grid_Collection
  • Mage_Sales_Model_Resource_Order_Invoice_Item
  • Mage_Sales_Model_Resource_Order_Invoice_Item_Collection
  • Mage_Sales_Model_Resource_Order_Item
  • Mage_Sales_Model_Resource_Order_Item_Collection
  • Mage_Sales_Model_Resource_Order_Payment
  • Mage_Sales_Model_Resource_Order_Payment_Collection
  • Mage_Sales_Model_Resource_Order_Payment_Transaction
  • Mage_Sales_Model_Resource_Order_Payment_Transaction_Collection
  • Mage_Sales_Model_Resource_Order_Shipment
  • Mage_Sales_Model_Resource_Order_Shipment_Attribute_Backend_Child
  • Mage_Sales_Model_Resource_Order_Shipment_Attribute_Backend_Parent
  • Mage_Sales_Model_Resource_Order_Shipment_Collection
  • Mage_Sales_Model_Resource_Order_Shipment_Comment
  • Mage_Sales_Model_Resource_Order_Shipment_Comment_Collection
  • Mage_Sales_Model_Resource_Order_Shipment_Grid_Collection
  • Mage_Sales_Model_Resource_Order_Shipment_Item
  • Mage_Sales_Model_Resource_Order_Shipment_Item_Collection
  • Mage_Sales_Model_Resource_Order_Shipment_Track
  • Mage_Sales_Model_Resource_Order_Shipment_Track_Collection
  • Mage_Sales_Model_Resource_Order_Status
  • Mage_Sales_Model_Resource_Order_Status_Collection
  • Mage_Sales_Model_Resource_Order_Status_History
  • Mage_Sales_Model_Resource_Order_Status_History_Collection
  • Mage_Sales_Model_Resource_Order_Tax
  • Mage_Sales_Model_Resource_Order_Tax_Collection
  • Mage_Sales_Model_Resource_Quote
  • Mage_Sales_Model_Resource_Quote_Address
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Backend
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Backend_Child
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Backend_Parent
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Backend_Region
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Frontend
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Frontend_Custbalance
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Frontend_Discount
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Frontend_Grand
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Frontend_Shipping
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Frontend_Subtotal
  • Mage_Sales_Model_Resource_Quote_Address_Attribute_Frontend_Tax
  • Mage_Sales_Model_Resource_Quote_Address_Collection
  • Mage_Sales_Model_Resource_Quote_Address_Item
  • Mage_Sales_Model_Resource_Quote_Address_Item_Collection
  • Mage_Sales_Model_Resource_Quote_Address_Rate
  • Mage_Sales_Model_Resource_Quote_Address_Rate_Collection
  • Mage_Sales_Model_Resource_Quote_Collection
  • Mage_Sales_Model_Resource_Quote_Item
  • Mage_Sales_Model_Resource_Quote_Item_Collection
  • Mage_Sales_Model_Resource_Quote_Item_Option
  • Mage_Sales_Model_Resource_Quote_Item_Option_Collection
  • Mage_Sales_Model_Resource_Quote_Payment
  • Mage_Sales_Model_Resource_Quote_Payment_Collection
  • Mage_Sales_Model_Resource_Recurring_Profile
  • Mage_Sales_Model_Resource_Recurring_Profile_Collection
  • Mage_Sales_Model_Resource_Report
  • Mage_Sales_Model_Resource_Report_Abstract
  • Mage_Sales_Model_Resource_Report_Bestsellers
  • Mage_Sales_Model_Resource_Report_Bestsellers_Collection
  • Mage_Sales_Model_Resource_Report_Collection_Abstract
  • Mage_Sales_Model_Resource_Report_Invoiced
  • Mage_Sales_Model_Resource_Report_Invoiced_Collection_Invoiced
  • Mage_Sales_Model_Resource_Report_Invoiced_Collection_Order
  • Mage_Sales_Model_Resource_Report_Order
  • Mage_Sales_Model_Resource_Report_Order_Collection
  • Mage_Sales_Model_Resource_Report_Order_Createdat
  • Mage_Sales_Model_Resource_Report_Order_Updatedat
  • Mage_Sales_Model_Resource_Report_Order_Updatedat_Collection
  • Mage_Sales_Model_Resource_Report_Refunded
  • Mage_Sales_Model_Resource_Report_Refunded_Collection_Order
  • Mage_Sales_Model_Resource_Report_Refunded_Collection_Refunded
  • Mage_Sales_Model_Resource_Report_Shipping
  • Mage_Sales_Model_Resource_Report_Shipping_Collection_Order
  • Mage_Sales_Model_Resource_Report_Shipping_Collection_Shipment
  • Mage_Sales_Model_Resource_Sale_Collection
  • Mage_Sales_Model_Resource_Setup
  • Mage_Sales_Model_Service_Order
  • Mage_Sales_Model_Service_Quote
  • Mage_Sales_Model_Status_List
  • Mage_Sales_OrderController
  • Mage_Sales_Recurring_ProfileController
  • Mage_Shipping_TrackingController
  • Test

Interfaces

  • Mage_Sales_Model_Resource_Helper_Interface
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * Magento
  4:  *
  5:  * NOTICE OF LICENSE
  6:  *
  7:  * This source file is subject to the Open Software License (OSL 3.0)
  8:  * that is bundled with this package in the file LICENSE.txt.
  9:  * It is also available through the world-wide-web at this URL:
 10:  * http://opensource.org/licenses/osl-3.0.php
 11:  * If you did not receive a copy of the license and are unable to
 12:  * obtain it through the world-wide-web, please send an email
 13:  * to license@magentocommerce.com so we can send you a copy immediately.
 14:  *
 15:  * DISCLAIMER
 16:  *
 17:  * Do not edit or add to this file if you wish to upgrade Magento to newer
 18:  * versions in the future. If you wish to customize Magento for your
 19:  * needs please refer to http://www.magentocommerce.com for more information.
 20:  *
 21:  * @category    Mage
 22:  * @package     Mage_Sales
 23:  * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 24:  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 25:  */
 26: 
 27: /**
 28:  * Quote submit service model
 29:  */
 30: class Mage_Sales_Model_Service_Order
 31: {
 32:     /**
 33:      * Order object
 34:      *
 35:      * @var Mage_Sales_Model_Order
 36:      */
 37:     protected $_order;
 38: 
 39:     /**
 40:      * Quote convert object
 41:      *
 42:      * @var Mage_Sales_Model_Convert_Order
 43:      */
 44:     protected $_convertor;
 45: 
 46:     /**
 47:      * Class constructor
 48:      *
 49:      * @param Mage_Sales_Model_Order $order
 50:      */
 51:     public function __construct(Mage_Sales_Model_Order $order)
 52:     {
 53:         $this->_order       = $order;
 54:         $this->_convertor   = Mage::getModel('sales/convert_order');
 55:     }
 56: 
 57:     /**
 58:      * Quote convertor declaration
 59:      *
 60:      * @param   Mage_Sales_Model_Convert_Order $convertor
 61:      * @return  Mage_Sales_Model_Service_Order
 62:      */
 63:     public function setConvertor(Mage_Sales_Model_Convert_Order $convertor)
 64:     {
 65:         $this->_convertor = $convertor;
 66:         return $this;
 67:     }
 68: 
 69:     /**
 70:      * Get assigned order object
 71:      *
 72:      * @return Mage_Sales_Model_Order
 73:      */
 74:     public function getOrder()
 75:     {
 76:         return $this->_order;
 77:     }
 78: 
 79:     /**
 80:      * Prepare order invoice based on order data and requested items qtys. If $qtys is not empty - the function will
 81:      * prepare only specified items, otherwise all containing in the order.
 82:      *
 83:      * @param array $qtys
 84:      * @return Mage_Sales_Model_Order_Invoice
 85:      */
 86:     public function prepareInvoice($qtys = array())
 87:     {
 88:         $invoice = $this->_convertor->toInvoice($this->_order);
 89:         $totalQty = 0;
 90:         foreach ($this->_order->getAllItems() as $orderItem) {
 91:             if (!$this->_canInvoiceItem($orderItem, array())) {
 92:                 continue;
 93:             }
 94:             $item = $this->_convertor->itemToInvoiceItem($orderItem);
 95:             if ($orderItem->isDummy()) {
 96:                 $qty = $orderItem->getQtyOrdered() ? $orderItem->getQtyOrdered() : 1;
 97:             } else if (!empty($qtys)) {
 98:                 if (isset($qtys[$orderItem->getId()])) {
 99:                     $qty = (float) $qtys[$orderItem->getId()];
100:                 }
101:             } else {
102:                 $qty = $orderItem->getQtyToInvoice();
103:             }
104:             $totalQty += $qty;
105:             $item->setQty($qty);
106:             $invoice->addItem($item);
107:         }
108:         $invoice->setTotalQty($totalQty);
109:         $invoice->collectTotals();
110:         $this->_order->getInvoiceCollection()->addItem($invoice);
111:         return $invoice;
112:     }
113: 
114:     /**
115:      * Prepare order shipment based on order items and requested items qty
116:      *
117:      * @param array $qtys
118:      * @return Mage_Sales_Model_Order_Shipment
119:      */
120:     public function prepareShipment($qtys = array())
121:     {
122:         $totalQty = 0;
123:         $shipment = $this->_convertor->toShipment($this->_order);
124:         foreach ($this->_order->getAllItems() as $orderItem) {
125:             if (!$this->_canShipItem($orderItem, $qtys)) {
126:                 continue;
127:             }
128: 
129:             $item = $this->_convertor->itemToShipmentItem($orderItem);
130: 
131:             if ($orderItem->isDummy(true)) {
132:                 $qty = 0;
133:                 if (isset($qtys[$orderItem->getParentItemId()])) {
134:                     $productOptions = $orderItem->getProductOptions();
135:                     if (isset($productOptions['bundle_selection_attributes'])) {
136:                         $bundleSelectionAttributes = unserialize($productOptions['bundle_selection_attributes']);
137: 
138:                         if ($bundleSelectionAttributes) {
139:                             $qty = $bundleSelectionAttributes['qty'] * $qtys[$orderItem->getParentItemId()];
140:                             $qty = min($qty, $orderItem->getSimpleQtyToShip());
141: 
142:                             $item->setQty($qty);
143:                             $shipment->addItem($item);
144:                             continue;
145:                         } else {
146:                             $qty = 1;
147:                         }
148:                     }
149:                 } else {
150:                     $qty = 1;
151:                 }
152:             } else {
153:                 if (isset($qtys[$orderItem->getId()])) {
154:                     $qty = min($qtys[$orderItem->getId()], $orderItem->getQtyToShip());
155:                 } elseif (!count($qtys)) {
156:                     $qty = $orderItem->getQtyToShip();
157:                 } else {
158:                     continue;
159:                 }
160:             }
161:             $totalQty += $qty;
162:             $item->setQty($qty);
163:             $shipment->addItem($item);
164:         }
165: 
166:         $shipment->setTotalQty($totalQty);
167:         return $shipment;
168:     }
169: 
170:     /**
171:      * Prepare order creditmemo based on order items and requested params
172:      *
173:      * @param array $data
174:      * @return Mage_Sales_Model_Order_Creditmemo
175:      */
176:     public function prepareCreditmemo($data = array())
177:     {
178:         $totalQty = 0;
179:         $creditmemo = $this->_convertor->toCreditmemo($this->_order);
180:         $qtys = isset($data['qtys']) ? $data['qtys'] : array();
181: 
182:         foreach ($this->_order->getAllItems() as $orderItem) {
183:             if (!$this->_canRefundItem($orderItem, $qtys)) {
184:                 continue;
185:             }
186: 
187:             $item = $this->_convertor->itemToCreditmemoItem($orderItem);
188:             if ($orderItem->isDummy()) {
189:                 $qty = 1;
190:                 $orderItem->setLockedDoShip(true);
191:             } else {
192:                 if (isset($qtys[$orderItem->getId()])) {
193:                     $qty = (float) $qtys[$orderItem->getId()];
194:                 } elseif (!count($qtys)) {
195:                     $qty = $orderItem->getQtyToRefund();
196:                 } else {
197:                     continue;
198:                 }
199:             }
200:             $totalQty += $qty;
201:             $item->setQty($qty);
202:             $creditmemo->addItem($item);
203:         }
204:         $creditmemo->setTotalQty($totalQty);
205: 
206:         $this->_initCreditmemoData($creditmemo, $data);
207: 
208:         $creditmemo->collectTotals();
209:         return $creditmemo;
210:     }
211: 
212:     /**
213:      * Prepare order creditmemo based on invoice items and requested requested params
214:      *
215:      * @param array $data
216:      * @return Mage_Sales_Model_Order_Creditmemo
217:      */
218:     public function prepareInvoiceCreditmemo($invoice, $data = array())
219:     {
220:         $totalQty = 0;
221:         $qtys = isset($data['qtys']) ? $data['qtys'] : array();
222:         $creditmemo = $this->_convertor->toCreditmemo($this->_order);
223:         $creditmemo->setInvoice($invoice);
224: 
225:         $invoiceQtysRefunded = array();
226:         foreach($invoice->getOrder()->getCreditmemosCollection() as $createdCreditmemo) {
227:             if ($createdCreditmemo->getState() != Mage_Sales_Model_Order_Creditmemo::STATE_CANCELED
228:                 && $createdCreditmemo->getInvoiceId() == $invoice->getId()) {
229:                 foreach($createdCreditmemo->getAllItems() as $createdCreditmemoItem) {
230:                     $orderItemId = $createdCreditmemoItem->getOrderItem()->getId();
231:                     if (isset($invoiceQtysRefunded[$orderItemId])) {
232:                         $invoiceQtysRefunded[$orderItemId] += $createdCreditmemoItem->getQty();
233:                     } else {
234:                         $invoiceQtysRefunded[$orderItemId] = $createdCreditmemoItem->getQty();
235:                     }
236:                 }
237:             }
238:         }
239: 
240:         $invoiceQtysRefundLimits = array();
241:         foreach($invoice->getAllItems() as $invoiceItem) {
242:             $invoiceQtyCanBeRefunded = $invoiceItem->getQty();
243:             $orderItemId = $invoiceItem->getOrderItem()->getId();
244:             if (isset($invoiceQtysRefunded[$orderItemId])) {
245:                 $invoiceQtyCanBeRefunded = $invoiceQtyCanBeRefunded - $invoiceQtysRefunded[$orderItemId];
246:             }
247:             $invoiceQtysRefundLimits[$orderItemId] = $invoiceQtyCanBeRefunded;
248:         }
249: 
250: 
251:         foreach ($invoice->getAllItems() as $invoiceItem) {
252:             $orderItem = $invoiceItem->getOrderItem();
253: 
254:             if (!$this->_canRefundItem($orderItem, $qtys, $invoiceQtysRefundLimits)) {
255:                 continue;
256:             }
257: 
258:             $item = $this->_convertor->itemToCreditmemoItem($orderItem);
259:             if ($orderItem->isDummy()) {
260:                 $qty = 1;
261:             } else {
262:                 if (isset($qtys[$orderItem->getId()])) {
263:                     $qty = (float) $qtys[$orderItem->getId()];
264:                 } elseif (!count($qtys)) {
265:                     $qty = $orderItem->getQtyToRefund();
266:                 } else {
267:                     continue;
268:                 }
269:                 if (isset($invoiceQtysRefundLimits[$orderItem->getId()])) {
270:                     $qty = min($qty, $invoiceQtysRefundLimits[$orderItem->getId()]);
271:                 }
272:             }
273:             $qty = min($qty, $invoiceItem->getQty());
274:             $totalQty += $qty;
275:             $item->setQty($qty);
276:             $creditmemo->addItem($item);
277:         }
278:         $creditmemo->setTotalQty($totalQty);
279: 
280:         $this->_initCreditmemoData($creditmemo, $data);
281:         if (!isset($data['shipping_amount'])) {
282:             $order = $invoice->getOrder();
283:             $isShippingInclTax = Mage::getSingleton('tax/config')->displaySalesShippingInclTax($order->getStoreId());
284:             if ($isShippingInclTax) {
285:                 $baseAllowedAmount = $order->getBaseShippingInclTax()
286:                         - $order->getBaseShippingRefunded()
287:                         - $order->getBaseShippingTaxRefunded();
288:             } else {
289:                 $baseAllowedAmount = $order->getBaseShippingAmount() - $order->getBaseShippingRefunded();
290:                 $baseAllowedAmount = min($baseAllowedAmount, $invoice->getBaseShippingAmount());
291:             }
292:             $creditmemo->setBaseShippingAmount($baseAllowedAmount);
293:         }
294: 
295:         $creditmemo->collectTotals();
296:         return $creditmemo;
297:     }
298: 
299:     /**
300:      * Initialize creditmemo state based on requested parameters
301:      *
302:      * @param Mage_Sales_Model_Order_Creditmemo $creditmemo
303:      * @param array $data
304:      */
305:     protected function _initCreditmemoData($creditmemo, $data)
306:     {
307:         if (isset($data['shipping_amount'])) {
308:             $creditmemo->setBaseShippingAmount((float)$data['shipping_amount']);
309:         }
310: 
311:         if (isset($data['adjustment_positive'])) {
312:             $creditmemo->setAdjustmentPositive($data['adjustment_positive']);
313:         }
314: 
315:         if (isset($data['adjustment_negative'])) {
316:             $creditmemo->setAdjustmentNegative($data['adjustment_negative']);
317:         }
318:     }
319: 
320:     /**
321:      * Check if order item can be invoiced. Dummy item can be invoiced or with his childrens or
322:      * with parent item which is included to invoice
323:      *
324:      * @param Mage_Sales_Model_Order_Item $item
325:      * @param array $qtys
326:      * @return bool
327:      */
328:     protected function _canInvoiceItem($item, $qtys=array())
329:     {
330:         if ($item->getLockedDoInvoice()) {
331:             return false;
332:         }
333:         if ($item->isDummy()) {
334:             if ($item->getHasChildren()) {
335:                 foreach ($item->getChildrenItems() as $child) {
336:                     if (empty($qtys)) {
337:                         if ($child->getQtyToInvoice() > 0) {
338:                             return true;
339:                         }
340:                     } else {
341:                         if (isset($qtys[$child->getId()]) && $qtys[$child->getId()] > 0) {
342:                             return true;
343:                         }
344:                     }
345:                 }
346:                 return false;
347:             } else if($item->getParentItem()) {
348:                 $parent = $item->getParentItem();
349:                 if (empty($qtys)) {
350:                     return $parent->getQtyToInvoice() > 0;
351:                 } else {
352:                     return isset($qtys[$parent->getId()]) && $qtys[$parent->getId()] > 0;
353:                 }
354:             }
355:         } else {
356:             return $item->getQtyToInvoice() > 0;
357:         }
358:     }
359: 
360:     /**
361:      * Check if order item can be shiped. Dummy item can be shiped or with his childrens or
362:      * with parent item which is included to shipment
363:      *
364:      * @param Mage_Sales_Model_Order_Item $item
365:      * @param array $qtys
366:      * @return bool
367:      */
368:     protected function _canShipItem($item, $qtys=array())
369:     {
370:         if ($item->getIsVirtual() || $item->getLockedDoShip()) {
371:             return false;
372:         }
373:         if ($item->isDummy(true)) {
374:             if ($item->getHasChildren()) {
375:                 if ($item->isShipSeparately()) {
376:                     return true;
377:                 }
378:                 foreach ($item->getChildrenItems() as $child) {
379:                     if ($child->getIsVirtual()) {
380:                         continue;
381:                     }
382:                     if (empty($qtys)) {
383:                         if ($child->getQtyToShip() > 0) {
384:                             return true;
385:                         }
386:                     } else {
387:                         if (isset($qtys[$child->getId()]) && $qtys[$child->getId()] > 0) {
388:                             return true;
389:                         }
390:                     }
391:                 }
392:                 return false;
393:             } else if($item->getParentItem()) {
394:                 $parent = $item->getParentItem();
395:                 if (empty($qtys)) {
396:                     return $parent->getQtyToShip() > 0;
397:                 } else {
398:                     return isset($qtys[$parent->getId()]) && $qtys[$parent->getId()] > 0;
399:                 }
400:             }
401:         } else {
402:             return $item->getQtyToShip()>0;
403:         }
404:     }
405: 
406:     /**
407:      * Check if order item can be refunded
408:      *
409:      * @param Mage_Sales_Model_Order_Item $item
410:      * @param array $qtys
411:      * @param array $invoiceQtysRefundLimits
412:      * @return bool
413:      */
414:     protected function _canRefundItem($item, $qtys=array(), $invoiceQtysRefundLimits=array())
415:     {
416:         if ($item->isDummy()) {
417:             if ($item->getHasChildren()) {
418:                 foreach ($item->getChildrenItems() as $child) {
419:                     if (empty($qtys)) {
420:                         if ($this->_canRefundNoDummyItem($child, $invoiceQtysRefundLimits)) {
421:                             return true;
422:                         }
423:                     } else {
424:                         if (isset($qtys[$child->getId()]) && $qtys[$child->getId()] > 0) {
425:                             return true;
426:                         }
427:                     }
428:                 }
429:                 return false;
430:             } else if($item->getParentItem()) {
431:                 $parent = $item->getParentItem();
432:                 if (empty($qtys)) {
433:                     return $this->_canRefundNoDummyItem($parent, $invoiceQtysRefundLimits);
434:                 } else {
435:                     return isset($qtys[$parent->getId()]) && $qtys[$parent->getId()] > 0;
436:                 }
437:             }
438:         } else {
439:             return $this->_canRefundNoDummyItem($item, $invoiceQtysRefundLimits);
440:         }
441:     }
442: 
443:     /**
444:      * Check if no dummy order item can be refunded
445:      *
446:      * @param Mage_Sales_Model_Order_Item $item
447:      * @param array $invoiceQtysRefundLimits
448:      * @return bool
449:      */
450:     protected function _canRefundNoDummyItem($item, $invoiceQtysRefundLimits=array())
451:     {
452:         if ($item->getQtyToRefund() < 0) {
453:             return false;
454:         }
455: 
456:         if (isset($invoiceQtysRefundLimits[$item->getId()])) {
457:             return $invoiceQtysRefundLimits[$item->getId()] > 0;
458:         }
459: 
460:         return true;
461:     }
462: 
463: }
464: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0