karrio-server-pricing 2025.5rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. karrio/server/pricing/__init__.py +1 -0
  2. karrio/server/pricing/admin.py +55 -0
  3. karrio/server/pricing/apps.py +12 -0
  4. karrio/server/pricing/migrations/0001_initial.py +974 -0
  5. karrio/server/pricing/migrations/0002_auto_20201127_0721.py +855 -0
  6. karrio/server/pricing/migrations/0003_auto_20201230_0820.py +939 -0
  7. karrio/server/pricing/migrations/0004_auto_20201231_1402.py +940 -0
  8. karrio/server/pricing/migrations/0005_auto_20210204_1725.py +923 -0
  9. karrio/server/pricing/migrations/0006_auto_20210217_1109.py +1224 -0
  10. karrio/server/pricing/migrations/0007_auto_20210218_1202.py +955 -0
  11. karrio/server/pricing/migrations/0008_auto_20210418_0504.py +1010 -0
  12. karrio/server/pricing/migrations/0009_auto_20210603_2149.py +1043 -0
  13. karrio/server/pricing/migrations/0010_auto_20210612_1608.py +1070 -0
  14. karrio/server/pricing/migrations/0011_auto_20210615_1601.py +1109 -0
  15. karrio/server/pricing/migrations/0012_surcharge_carrier_accounts.py +23 -0
  16. karrio/server/pricing/migrations/0013_alter_surcharge_services.py +1086 -0
  17. karrio/server/pricing/migrations/0014_auto_20211013_1520.py +12 -0
  18. karrio/server/pricing/migrations/0015_auto_20211204_1350.py +1124 -0
  19. karrio/server/pricing/migrations/0016_auto_20211220_1500.py +1126 -0
  20. karrio/server/pricing/migrations/0017_alter_surcharge_services.py +1093 -0
  21. karrio/server/pricing/migrations/0018_alter_surcharge_services.py +1100 -0
  22. karrio/server/pricing/migrations/0019_alter_surcharge_services.py +1093 -0
  23. karrio/server/pricing/migrations/0020_auto_20220412_1215.py +3175 -0
  24. karrio/server/pricing/migrations/0021_auto_20220413_0959.py +3179 -0
  25. karrio/server/pricing/migrations/0022_alter_surcharge_services.py +3144 -0
  26. karrio/server/pricing/migrations/0023_auto_20220504_1335.py +3175 -0
  27. karrio/server/pricing/migrations/0024_auto_20220808_0803.py +3180 -0
  28. karrio/server/pricing/migrations/0025_alter_surcharge_carriers.py +51 -0
  29. karrio/server/pricing/migrations/0026_auto_20220828_0158.py +3199 -0
  30. karrio/server/pricing/migrations/0027_alter_surcharge_services.py +3170 -0
  31. karrio/server/pricing/migrations/0028_surcharge_markup_carriers_surcharge_markup_services.py +3016 -0
  32. karrio/server/pricing/migrations/0029_alter_surcharge_services.py +2939 -0
  33. karrio/server/pricing/migrations/0030_alter_surcharge_services.py +2940 -0
  34. karrio/server/pricing/migrations/0031_alter_surcharge_carriers.py +52 -0
  35. karrio/server/pricing/migrations/0032_alter_surcharge_services.py +2963 -0
  36. karrio/server/pricing/migrations/0033_alter_surcharge_services.py +2964 -0
  37. karrio/server/pricing/migrations/0034_alter_surcharge_carriers_alter_surcharge_services.py +3009 -0
  38. karrio/server/pricing/migrations/0035_alter_surcharge_carriers.py +56 -0
  39. karrio/server/pricing/migrations/0036_alter_surcharge_carriers_alter_surcharge_services.py +3022 -0
  40. karrio/server/pricing/migrations/0037_alter_surcharge_carriers_alter_surcharge_services.py +3078 -0
  41. karrio/server/pricing/migrations/0038_alter_surcharge_carriers_alter_surcharge_services.py +3093 -0
  42. karrio/server/pricing/migrations/0039_alter_surcharge_carriers_alter_surcharge_services.py +3095 -0
  43. karrio/server/pricing/migrations/0040_alter_surcharge_services.py +3058 -0
  44. karrio/server/pricing/migrations/0041_alter_surcharge_services.py +3061 -0
  45. karrio/server/pricing/migrations/0042_alter_surcharge_carriers_alter_surcharge_services.py +3128 -0
  46. karrio/server/pricing/migrations/0043_alter_surcharge_services.py +3090 -0
  47. karrio/server/pricing/migrations/0044_alter_surcharge_carriers.py +62 -0
  48. karrio/server/pricing/migrations/0045_alter_surcharge_carriers.py +63 -0
  49. karrio/server/pricing/migrations/0046_alter_surcharge_services.py +3100 -0
  50. karrio/server/pricing/migrations/0047_alter_surcharge_services.py +3171 -0
  51. karrio/server/pricing/migrations/0048_alter_surcharge_services.py +3195 -0
  52. karrio/server/pricing/migrations/0049_alter_surcharge_carriers_alter_surcharge_services.py +3246 -0
  53. karrio/server/pricing/migrations/0050_alter_surcharge_carriers.py +64 -0
  54. karrio/server/pricing/migrations/0051_alter_surcharge_carriers_alter_surcharge_services.py +2956 -0
  55. karrio/server/pricing/migrations/0052_alter_surcharge_carriers_alter_surcharge_services.py +3547 -0
  56. karrio/server/pricing/migrations/0053_alter_surcharge_carriers_alter_surcharge_services.py +3561 -0
  57. karrio/server/pricing/migrations/0054_alter_surcharge_services.py +3409 -0
  58. karrio/server/pricing/migrations/0055_alter_surcharge_services.py +3455 -0
  59. karrio/server/pricing/migrations/0056_alter_surcharge_carriers_alter_surcharge_services.py +3609 -0
  60. karrio/server/pricing/migrations/0057_alter_surcharge_carriers_alter_surcharge_services.py +4384 -0
  61. karrio/server/pricing/migrations/0058_alter_surcharge_services.py +4321 -0
  62. karrio/server/pricing/migrations/0059_alter_surcharge_carriers_alter_surcharge_services.py +4892 -0
  63. karrio/server/pricing/migrations/0060_alter_surcharge_services.py +4894 -0
  64. karrio/server/pricing/migrations/0061_alter_surcharge_services.py +4888 -0
  65. karrio/server/pricing/migrations/0062_alter_surcharge_carriers_alter_surcharge_services.py +4704 -0
  66. karrio/server/pricing/migrations/0063_alter_surcharge_carriers_alter_surcharge_services.py +34 -0
  67. karrio/server/pricing/migrations/0064_alter_surcharge_carriers_alter_surcharge_services.py +4669 -0
  68. karrio/server/pricing/migrations/__init__.py +0 -0
  69. karrio/server/pricing/models.py +143 -0
  70. karrio/server/pricing/serializers.py +18 -0
  71. karrio/server/pricing/signals.py +35 -0
  72. karrio/server/pricing/tests.py +301 -0
  73. karrio/server/pricing/views.py +3 -0
  74. karrio_server_pricing-2025.5rc1.dist-info/METADATA +27 -0
  75. karrio_server_pricing-2025.5rc1.dist-info/RECORD +77 -0
  76. karrio_server_pricing-2025.5rc1.dist-info/WHEEL +5 -0
  77. karrio_server_pricing-2025.5rc1.dist-info/top_level.txt +2 -0
@@ -0,0 +1 @@
1
+ default_app_config = 'karrio.server.pricing.apps.PricingConfig'
@@ -0,0 +1,55 @@
1
+ import importlib
2
+
3
+ from django import forms
4
+ from django.contrib import admin
5
+ from karrio.server.pricing.models import Surcharge
6
+
7
+ if importlib.util.find_spec("karrio.server.orgs") is not None:
8
+ import karrio.server.orgs.models as orgs
9
+
10
+
11
+ class SurchargeAdmin(admin.ModelAdmin):
12
+ fieldsets = (
13
+ (None, {"fields": (("name", "active"), ("amount", "surcharge_type"))}),
14
+ (
15
+ "Advanced options",
16
+ {
17
+ "classes": ("collapse",),
18
+ "fields": (
19
+ "carriers",
20
+ "carrier_accounts",
21
+ "services",
22
+ ),
23
+ },
24
+ ),
25
+ )
26
+
27
+ if importlib.util.find_spec("karrio.server.orgs") is not None:
28
+
29
+ class SurchargeForm(forms.ModelForm):
30
+ class Meta:
31
+ model = Surcharge
32
+ fields = "__all__"
33
+
34
+ def __init__(self, *args, **kwargs):
35
+ super().__init__(*args, **kwargs)
36
+
37
+ if kwargs.get("instance") is not None:
38
+ self.fields["organizations"].initial = kwargs["instance"].org.all()
39
+
40
+ organizations = forms.ModelMultipleChoiceField(
41
+ queryset=orgs.Organization.objects.all(), required=False
42
+ )
43
+
44
+ def save(self, commit=True):
45
+ instance = super().save(commit=commit)
46
+ instance.save()
47
+ organizations = self.cleaned_data.get("organizations", [])
48
+ instance.org.set(organizations)
49
+ return instance
50
+
51
+ form = SurchargeForm
52
+ fieldsets += ((None, {"fields": ("organizations",)}),)
53
+
54
+
55
+ admin.site.register(Surcharge, SurchargeAdmin)
@@ -0,0 +1,12 @@
1
+ from django.apps import AppConfig
2
+ from django.utils.translation import gettext_lazy as _
3
+
4
+
5
+ class PricingConfig(AppConfig):
6
+ name = "karrio.server.pricing"
7
+ verbose_name = _("Shipping Markup")
8
+
9
+ def ready(self):
10
+ from karrio.server.pricing.signals import register_rate_post_processing
11
+
12
+ register_rate_post_processing()