diff --git a/examples/providers.py b/examples/providers.py index 4da4837..1743a84 100644 --- a/examples/providers.py +++ b/examples/providers.py @@ -1,7 +1,19 @@ +from fastapi import Depends, Form +from starlette.requests import Request + +from fastapi_admin.depends import get_current_admin, get_resources from fastapi_admin.models import AbstractAdmin from fastapi_admin.providers.login import UsernamePasswordProvider class LoginProvider(UsernamePasswordProvider): - async def update_password(self, admin: AbstractAdmin, password: str): - pass + async def password( + self, + request: Request, + old_password: str = Form(...), + new_password: str = Form(...), + re_new_password: str = Form(...), + admin: AbstractAdmin = Depends(get_current_admin), + resources=Depends(get_resources), + ): + return await self.logout(request) diff --git a/examples/templates/providers/login/password.html b/examples/templates/providers/login/password.html new file mode 100644 index 0000000..06e2057 --- /dev/null +++ b/examples/templates/providers/login/password.html @@ -0,0 +1,38 @@ +{% extends "layout.html" %} +{% block page_body %} + {% include "components/alert_error.html" %} +