From 21ead6ab54f74598ea22500cf25e2f80b3662de6 Mon Sep 17 00:00:00 2001 From: Junwei Zhao Date: Wed, 11 Jun 2025 22:01:13 +1000 Subject: [PATCH] Make editing custom link work --- core/urls.py | 1 + data/db.sqlite3 | Bin 389120 -> 389120 bytes links/views.py | 16 ++++++++++++++++ 3 files changed, 17 insertions(+) diff --git a/core/urls.py b/core/urls.py index 9668e9f..3b938e4 100644 --- a/core/urls.py +++ b/core/urls.py @@ -24,6 +24,7 @@ urlpatterns = [ path('link//', LinkDetailView.as_view(), name='link_detail'), path('link//edit/', LinkUpdateView.as_view(), name='link_update'), path('custom//', CustomLinkView.as_view(), name='custom_link'), + path('custom//edit/', LinkUpdateView.as_view(), name='custom_link_update'), # Include main app URLs with locale path('', include('links.urls')), diff --git a/data/db.sqlite3 b/data/db.sqlite3 index 1dca30bbee4fa5d7fc3007698c039f0ee1ce487b..0152086527e515ca1f7f9df865e301d4b445e0e2 100644 GIT binary patch delta 623 zcmZ9JO=uHA6o6-ECzy@V!su!&gp&|40M+Jlu6Nuj5P zqP>YymIXyc(R0xV+mmT-=|Pi9EfEP+Jg66c4uT?rLnBH&&E;d>_rABXA6eOt+!*DG zH^-)YMWkLk{`f*k<>-1ty~By?XAbgkbZ KUccjuDZc@IsHN%v delta 334 zcmXBOy-Nad90u^;z35$s-gAYakQ_omlP{Nd4UKA>Nc{%~1>q=xLqjMLZIMVE6cItY zgu~CFw8ob1jDjK#jD~9IWeAE0`bF?;AD-{`sSTpFL3C@3D>UNyK!KzdxTD2ViVHT| zsXb0^&Zj51{8}|lt7&f26LL~{TjJN-M#c})vc&JoLQb_EN#mF4s>WZ1n>B5O+B$z& ziO5Qk;0z^b>ScH-G^G3}MOHKwTHN6~frt#3;2R&f#~rTW;suZGVVi=wEq=-l6GEg= zm*4;~wMtb@;6m(ri+1BehZF01ebiaeg=EZ38b&f>B@AQ6WU*4#w3Rh8(ne1gXipbs zD_Rg9!6)AEgaK~gu{XzXynWGR)F*hyGh6Y6K5iME!0ETdEF=Ga;45Pv4~)*?_&sq_ W{3EKIiWg|iNgKW^Qr``XCw>8TV{MlJ diff --git a/links/views.py b/links/views.py index 3e3d100..3d42b7e 100644 --- a/links/views.py +++ b/links/views.py @@ -133,6 +133,22 @@ class LinkUpdateView(UpdateView): form_class = LinkForm template_name = 'links/link_form.html' + def get_object(self, queryset=None): + # Handle both pk (for regular links) and alias (for custom links) + pk = self.kwargs.get('pk') + alias = self.kwargs.get('alias') + + if pk: + # Regular link lookup by pk + return get_object_or_404(Link, pk=pk) + elif alias: + # Custom link lookup by alias + alias = alias.lower() + return get_object_or_404(Link, alias=alias, link_type=Link.LinkType.CUSTOM) + else: + # Fallback to default behavior + return super().get_object(queryset) + def get_initial(self): initial = super().get_initial() self.original_url = self.object.original_url