Skip to content

Commit 6889a82

Browse files
committed
refactor: carrier proxies to only be generated for django admin and prevent migration requirement
1 parent db5e59a commit 6889a82

4 files changed

Lines changed: 8 additions & 10 deletions

File tree

modules/core/karrio/server/providers/admin.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,5 +353,6 @@ def has_module_permission(self, request):
353353
return False
354354

355355

356-
for carrier_name, proxy in providers.CARRIER_PROXIES.items():
356+
for carrier_name, display_name in ref.collect_references()["carriers"].items():
357+
proxy = providers.create_carrier_proxy(carrier_name, display_name)
357358
admin.site.register(proxy, model_admin(carrier_name, proxy))

modules/core/karrio/server/providers/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
WEIGHT_UNITS,
2222
DIMENSION_UNITS,
2323
CAPABILITIES_CHOICES,
24-
CARRIER_PROXIES,
24+
create_carrier_proxy,
2525
)
2626
import karrio.server.providers.extension.models as extensions
2727

modules/core/karrio/server/providers/models/carrier.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import typing
22
import functools
3-
from django import dispatch
43
import django.conf as conf
54
import django.forms as forms
65
import django.db.models as models
@@ -307,9 +306,3 @@ def get_queryset(self):
307306
"system_carriers": _SystemCarrierManager(),
308307
},
309308
)
310-
311-
312-
CARRIER_PROXIES = {
313-
f"{carrier_name}": create_carrier_proxy(carrier_name, display_name)
314-
for carrier_name, display_name in ref.collect_references()["carriers"].items()
315-
}

modules/manager/karrio/server/manager/serializers/shipment.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,11 @@ def create_shipment_tracker(shipment: typing.Optional[models.Shipment], context)
638638
if (
639639
rate_provider != shipment.carrier_name
640640
) and rate_provider in dataunits.CARRIER_NAMES:
641-
carrier = providers.CARRIER_PROXIES[rate_provider].access_by(context).first()
641+
carrier = (
642+
providers.Carrier.access_by(context)
643+
.filter(carrier_code=rate_provider)
644+
.first()
645+
)
642646

643647
# Handle hub extension tracking
644648
if shipment.selected_rate_carrier.gateway.is_hub and carrier is None:

0 commit comments

Comments
 (0)