Redirect admin login to first model list page
This commit is contained in:
17
app/admin.py
17
app/admin.py
@@ -120,8 +120,21 @@ class EnvCredentialProvider(Provider):
|
||||
|
||||
@staticmethod
|
||||
def _admin_home(request: Request) -> str:
|
||||
"""Use trailing slash to avoid mount redirect (which may emit absolute host)."""
|
||||
return request.app.admin_path.rstrip("/") + "/"
|
||||
"""
|
||||
Resolve a concrete admin page path.
|
||||
|
||||
fastapi-admin 1.0.x does not expose a root "/" view by default; the
|
||||
first usable page is a model list route: /{resource}/list.
|
||||
"""
|
||||
admin_path = request.app.admin_path.rstrip("/")
|
||||
for resource in getattr(request.app, "resources", []):
|
||||
try:
|
||||
if issubclass(resource, Model):
|
||||
model_name = resource.model.__name__.lower()
|
||||
return f"{admin_path}/{model_name}/list"
|
||||
except TypeError:
|
||||
continue
|
||||
return f"{admin_path}{getattr(request.app.login_provider, 'login_path', '/login')}"
|
||||
|
||||
async def login_view(self, request: Request):
|
||||
return self._template_response(
|
||||
|
||||
Reference in New Issue
Block a user