shoop.testing.models package

Module contents

class shoop.testing.models.CarrierWithCheckoutPhase(id, polymorphic_ctype, identifier, enabled, logo, serviceprovider_ptr, carrier_ptr, customcarrier_ptr)[source]

Bases: shoop.core.models.CustomCarrier

Replace Django’s inheritance accessor member functions for our model (self.__class__) with our own versions. We monkey patch them until a patch can be added to Django (which would probably be very small and make all of this obsolete).

If we have inheritance of the form ModelA -> ModelB ->ModelC then Django creates accessors like this: - ModelA: modelb - ModelB: modela_ptr, modelb, modelc - ModelC: modela_ptr, modelb, modelb_ptr, modelc

These accessors allow Django (and everyone else) to travel up and down the inheritance tree for the db object at hand.

The original Django accessors use our polymorphic manager. But they should not. So we replace them with our own accessors that use our appropriate base_objects manager.

exception DoesNotExist

Bases: shoop.core.models._service_shipping.DoesNotExist

exception CarrierWithCheckoutPhase.MultipleObjectsReturned

Bases: shoop.core.models._service_shipping.MultipleObjectsReturned

CarrierWithCheckoutPhase.base_objects = <parler.managers.TranslatableManager object>
CarrierWithCheckoutPhase.customcarrier_ptr
CarrierWithCheckoutPhase.objects = <shoop.core.models._base._PolyTransManager object>
CarrierWithCheckoutPhase.polymorphic_primary_key_name = 'id'
CarrierWithCheckoutPhase.polymorphic_super_sub_accessors_replaced = False
class shoop.testing.models.ExpensiveSwedenBehaviorComponent(id, polymorphic_ctype, servicebehaviorcomponent_ptr)[source]

Bases: shoop.core.models.ServiceBehaviorComponent

exception DoesNotExist

Bases: shoop.core.models._service_base.DoesNotExist

exception ExpensiveSwedenBehaviorComponent.MultipleObjectsReturned

Bases: shoop.core.models._service_base.MultipleObjectsReturned

ExpensiveSwedenBehaviorComponent.base_objects = <django.db.models.manager.Manager object>
ExpensiveSwedenBehaviorComponent.get_costs(service, source)[source]
ExpensiveSwedenBehaviorComponent.get_unavailability_reasons(service, source)[source]
ExpensiveSwedenBehaviorComponent.name = 'Expenseefe-a Svedee Sheepping'
ExpensiveSwedenBehaviorComponent.objects = <polymorphic.managers.PolymorphicManager object>
ExpensiveSwedenBehaviorComponent.polymorphic_primary_key_name = 'id'
ExpensiveSwedenBehaviorComponent.polymorphic_super_sub_accessors_replaced = False
ExpensiveSwedenBehaviorComponent.servicebehaviorcomponent_ptr
class shoop.testing.models.PaymentWithCheckoutPhase(id, polymorphic_ctype, identifier, enabled, logo, serviceprovider_ptr, paymentprocessor_ptr, custompaymentprocessor_ptr)[source]

Bases: shoop.core.models.CustomPaymentProcessor

Replace Django’s inheritance accessor member functions for our model (self.__class__) with our own versions. We monkey patch them until a patch can be added to Django (which would probably be very small and make all of this obsolete).

If we have inheritance of the form ModelA -> ModelB ->ModelC then Django creates accessors like this: - ModelA: modelb - ModelB: modela_ptr, modelb, modelc - ModelC: modela_ptr, modelb, modelb_ptr, modelc

These accessors allow Django (and everyone else) to travel up and down the inheritance tree for the db object at hand.

The original Django accessors use our polymorphic manager. But they should not. So we replace them with our own accessors that use our appropriate base_objects manager.

exception DoesNotExist

Bases: shoop.core.models._service_payment.DoesNotExist

exception PaymentWithCheckoutPhase.MultipleObjectsReturned

Bases: shoop.core.models._service_payment.MultipleObjectsReturned

PaymentWithCheckoutPhase.base_objects = <parler.managers.TranslatableManager object>
PaymentWithCheckoutPhase.custompaymentprocessor_ptr
PaymentWithCheckoutPhase.objects = <shoop.core.models._base._PolyTransManager object>
PaymentWithCheckoutPhase.polymorphic_primary_key_name = 'id'
PaymentWithCheckoutPhase.polymorphic_super_sub_accessors_replaced = False
PaymentWithCheckoutPhase.process_payment_return_request(service, order, request)[source]
class shoop.testing.models.PseudoPaymentProcessor(id, polymorphic_ctype, identifier, enabled, logo, serviceprovider_ptr, paymentprocessor_ptr, bg_color, fg_color)[source]

Bases: shoop.core.models.PaymentProcessor

Replace Django’s inheritance accessor member functions for our model (self.__class__) with our own versions. We monkey patch them until a patch can be added to Django (which would probably be very small and make all of this obsolete).

If we have inheritance of the form ModelA -> ModelB ->ModelC then Django creates accessors like this: - ModelA: modelb - ModelB: modela_ptr, modelb, modelc - ModelC: modela_ptr, modelb, modelb_ptr, modelc

These accessors allow Django (and everyone else) to travel up and down the inheritance tree for the db object at hand.

The original Django accessors use our polymorphic manager. But they should not. So we replace them with our own accessors that use our appropriate base_objects manager.

exception DoesNotExist

Bases: shoop.core.models._service_payment.DoesNotExist

exception PseudoPaymentProcessor.MultipleObjectsReturned

Bases: shoop.core.models._service_payment.MultipleObjectsReturned

PseudoPaymentProcessor.base_objects = <parler.managers.TranslatableManager object>
PseudoPaymentProcessor.compute_pseudo_mac(order)[source]
PseudoPaymentProcessor.get_payment_process_response(service, order, urls)[source]
PseudoPaymentProcessor.get_service_choices()[source]
PseudoPaymentProcessor.objects = <shoop.core.models._base._PolyTransManager object>
PseudoPaymentProcessor.paymentprocessor_ptr
PseudoPaymentProcessor.polymorphic_primary_key_name = 'id'
PseudoPaymentProcessor.polymorphic_super_sub_accessors_replaced = False
PseudoPaymentProcessor.process_payment_return_request(service, order, request)[source]