@@ 664-680 (lines=17) @@ | ||
661 | * @throws InvalidInterfaceException |
|
662 | * @throws ReflectionException |
|
663 | */ |
|
664 | public static function create_total_line_item($transaction = null) |
|
665 | { |
|
666 | $total_line_item = EE_Line_Item::new_instance(array( |
|
667 | 'LIN_code' => 'total', |
|
668 | 'LIN_name' => esc_html__('Grand Total', 'event_espresso'), |
|
669 | 'LIN_type' => EEM_Line_Item::type_total, |
|
670 | 'OBJ_type' => EEM_Line_Item::OBJ_TYPE_TRANSACTION, |
|
671 | )); |
|
672 | $total_line_item = apply_filters( |
|
673 | 'FHEE__EEH_Line_Item__create_total_line_item__total_line_item', |
|
674 | $total_line_item |
|
675 | ); |
|
676 | self::set_TXN_ID($total_line_item, $transaction); |
|
677 | self::create_pre_tax_subtotal($total_line_item, $transaction); |
|
678 | self::create_taxes_subtotal($total_line_item, $transaction); |
|
679 | return $total_line_item; |
|
680 | } |
|
681 | ||
682 | ||
683 | /** |
|
@@ 695-710 (lines=16) @@ | ||
692 | * @throws InvalidInterfaceException |
|
693 | * @throws ReflectionException |
|
694 | */ |
|
695 | protected static function create_pre_tax_subtotal(EE_Line_Item $total_line_item, $transaction = null) |
|
696 | { |
|
697 | $pre_tax_line_item = EE_Line_Item::new_instance(array( |
|
698 | 'LIN_code' => 'pre-tax-subtotal', |
|
699 | 'LIN_name' => esc_html__('Pre-Tax Subtotal', 'event_espresso'), |
|
700 | 'LIN_type' => EEM_Line_Item::type_sub_total, |
|
701 | )); |
|
702 | $pre_tax_line_item = apply_filters( |
|
703 | 'FHEE__EEH_Line_Item__create_pre_tax_subtotal__pre_tax_line_item', |
|
704 | $pre_tax_line_item |
|
705 | ); |
|
706 | self::set_TXN_ID($pre_tax_line_item, $transaction); |
|
707 | $total_line_item->add_child_line_item($pre_tax_line_item); |
|
708 | self::create_event_subtotal($pre_tax_line_item, $transaction); |
|
709 | return $pre_tax_line_item; |
|
710 | } |
|
711 | ||
712 | ||
713 | /** |
|
@@ 726-743 (lines=18) @@ | ||
723 | * @throws InvalidInterfaceException |
|
724 | * @throws ReflectionException |
|
725 | */ |
|
726 | protected static function create_taxes_subtotal(EE_Line_Item $total_line_item, $transaction = null) |
|
727 | { |
|
728 | $tax_line_item = EE_Line_Item::new_instance(array( |
|
729 | 'LIN_code' => 'taxes', |
|
730 | 'LIN_name' => esc_html__('Taxes', 'event_espresso'), |
|
731 | 'LIN_type' => EEM_Line_Item::type_tax_sub_total, |
|
732 | 'LIN_order' => 1000,// this should always come last |
|
733 | )); |
|
734 | $tax_line_item = apply_filters( |
|
735 | 'FHEE__EEH_Line_Item__create_taxes_subtotal__tax_line_item', |
|
736 | $tax_line_item |
|
737 | ); |
|
738 | self::set_TXN_ID($tax_line_item, $transaction); |
|
739 | $total_line_item->add_child_line_item($tax_line_item); |
|
740 | // and lastly, add the actual taxes |
|
741 | self::apply_taxes($total_line_item); |
|
742 | return $tax_line_item; |
|
743 | } |
|
744 | ||
745 | ||
746 | /** |