Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if states[:payment]
- event :payment_failed do
- transition to: :payment, from: :confirm
- end
- after_transition to: :complete, do: :persist_user_credit_card # no
- before_transition to: :payment, do: :set_shipments_cost # no
- before_transition to: :payment, do: :create_tax_charge! # yes
- before_transition to: :payment, do: :assign_default_credit_card # no
- before_transition to: :confirm, do: :add_store_credit_payments # yes
- # see also process_payments_before_complete below which needs to
- # be added in the correct sequence.
- end
- before_transition from: :cart, do: :ensure_line_items_present # no
- if states[:address]
- before_transition from: :address, do: :create_tax_charge! # yes
- before_transition to: :address, do: :assign_default_addresses! # no
- before_transition from: :address, do: :persist_user_address! # no
- end
- if states[:delivery]
- before_transition to: :delivery, do: :ensure_shipping_address # no
- before_transition to: :delivery, do: :create_proposed_shipments, unless: :unreturned_exchange? #no
- before_transition to: :delivery, do: :ensure_available_shipping_rates # no
- before_transition to: :delivery, do: :set_shipments_cost # yes
- before_transition from: :delivery, do: :apply_free_shipping_promotions # no
- end
- before_transition to: :resumed, do: :ensure_line_item_variants_are_not_deleted
- before_transition to: :resumed, do: :validate_line_item_availability
- # Sequence of before_transition to: :complete
- # calls matter so that we do not process payments
- # until validations have passed
- before_transition to: :complete, do: :validate_line_item_availability, unless: :unreturned_exchange? #no
- before_transition to: :complete, do: :ensure_available_shipping_rates # no
- before_transition to: :complete, do: :ensure_promotions_eligible # no
- before_transition to: :complete, do: :ensure_line_item_variants_are_not_deleted # no
- before_transition to: :complete, do: :ensure_inventory_units, unless: :unreturned_exchange? #no
- if states[:payment]
- before_transition to: :complete, do: :process_payments_before_complete # yes
- end
- after_transition to: :complete, do: :finalize! # yes
- after_transition to: :resumed, do: :after_resume
- after_transition to: :canceled, do: :after_cancel
- after_transition from: any - :cart, to: any - [:confirm, :complete] do |order|
- order.update_totals # yes
- order.persist_totals # yes
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement