Skip to content

Commit 654dccf

Browse files
authored
Merge pull request #587 from Mng-dev-ai/fix-admin-user-delete-url
Fix admin user delete URL
2 parents 4577062 + fb156aa commit 654dccf

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

backend/app/admin/views.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from enum import Enum
22
from typing import Any, TypeVar
3+
from urllib.parse import urlencode, urlsplit
34

45
from sqladmin import ModelView
6+
from sqladmin.helpers import get_object_identifier
57
from app.models.db_models.chat import Chat, Message, MessageAttachment
68
from app.models.db_models.user import User, UserSettings
79
from wtforms import PasswordField, SelectField
@@ -60,6 +62,13 @@ class UserAdmin(ModelView, model=User):
6062

6163
form_extra_fields = {"password": PasswordField("Password")}
6264

65+
def _url_for_delete(self, request: Request, obj: Any) -> str:
66+
# SQLAdmin renders absolute delete URLs; proxied admin pages need
67+
# same-origin AJAX so browser requests keep flowing through /admin.
68+
query_params = urlencode({"pks": get_object_identifier(obj)})
69+
url = urlsplit(str(request.url_for("admin:delete", identity=self.identity)))
70+
return f"{url.path}?{query_params}"
71+
6372
async def on_model_change(
6473
self, data: dict[str, Any], model: User, is_created: bool, request: Request
6574
) -> None:

0 commit comments

Comments
 (0)