diff --git a/parameciofast/libraries/lists.py b/parameciofast/libraries/lists.py index a5220b3..d4d4e23 100644 --- a/parameciofast/libraries/lists.py +++ b/parameciofast/libraries/lists.py @@ -244,8 +244,8 @@ class SimpleList: options (list): Return a list of basic options for items row """ options=[] - options.append(''+_('Edit')+'') - options.append(''+_('Delete')+'') + options.append(''.format(id)+_('Edit')+'') + options.append(''.format(id)+_('Delete')+'') return options def show(self): diff --git a/parameciofast/libraries/templates/utils/list.phtml b/parameciofast/libraries/templates/utils/list.phtml index f0386f9..e8e9402 100644 --- a/parameciofast/libraries/templates/utils/list.phtml +++ b/parameciofast/libraries/templates/utils/list.phtml @@ -27,7 +27,7 @@ % for field in simplelist.fields_showed: - ${set_css_arrow(simplelist, field)}${simplelist.model.fields[field].label} + ${set_css_arrow(simplelist, field)}${simplelist.model.fields[field].label} % endfor % for extra_field in simplelist.arr_extra_fields: ${ extra_field } diff --git a/parameciofast/modules/fastadmin/__init__.py b/parameciofast/modules/fastadmin/__init__.py index 25affab..c8eaab1 100644 --- a/parameciofast/modules/fastadmin/__init__.py +++ b/parameciofast/modules/fastadmin/__init__.py @@ -19,21 +19,15 @@ url_app=config.apps['admin'][2] admin_app=FastAPI(docs_url="/docs", openapi_url="/docs/openapi.json", title='Paramecio Admin', version='0.9') @admin_app.middleware('http') -async def check_session(request: Request, call_next): +async def db_connect(request: Request, call_next): db=WebModel.connection() - try: + request.state.db=db - request.state.db=db + response = await call_next(request) - response = await call_next(request) - - except: - - db.close() - - raise + db.close() return response diff --git a/parameciofast/modules/fastadmin/app.py b/parameciofast/modules/fastadmin/app.py index a1062f9..ada318e 100644 --- a/parameciofast/modules/fastadmin/app.py +++ b/parameciofast/modules/fastadmin/app.py @@ -140,6 +140,8 @@ def check_login_admin(user: UserAdmin, request: Request, response: Response) -> db.query('update useradmin set token_login=%s, last_login=%s WHERE id=%s', [remember_key, date_now, result['id']]) request.session['login_admin']=True + request.session['user_id']=result['id'] + request.session['theme']=result['dark_theme'] error=0 message='' @@ -212,14 +214,34 @@ def logout_admin(request: Request) -> RedirectResponse: return response @admin_app.get('/change_lang') -def change_lang(): +def change_lang() -> ResponseData: - return RedirectResponse(app.url_path_for('home_admin')) + #return RedirectResponse(app.url_path_for('home_admin')) + + error=0 + + message='' + + return {'error': 0, 'message': ''} @admin_app.get('/change_theme') -def change_theme(): +def change_theme(request: Request, theme: bool = 0) -> ResponseData: - return RedirectResponse(app.url_path_for('home_admin')) + error=1 + + #s=get_session() + #reqi=request.session + + db=request.state.db + + request.session['theme']=theme + + db.query('update useradmin set dark_theme=%s WHERE id=%s', [theme, request.session['user_id']]) + + error=0 + + return {'error': error, 'message': ''} + def check_login_tries(request, db): diff --git a/parameciofast/modules/fastadmin/ausers.py b/parameciofast/modules/fastadmin/ausers.py index 0088338..9c616a4 100644 --- a/parameciofast/modules/fastadmin/ausers.py +++ b/parameciofast/modules/fastadmin/ausers.py @@ -44,5 +44,17 @@ def fastadmin_users(request: Request): slist.fields_showed=['username', 'email', 'double_auth', 'last_login'] - return t.load_template('users.phtml', title=i18n.tlang('Admin'), tlang=i18n.tlang, url_for=app.url_path_for, module_selected='fastadmin_users', slist=slist, session=request.session) + return t.load_template('users.phtml', title=i18n.tlang('Admin users'), tlang=i18n.tlang, url_for=app.url_path_for, module_selected='fastadmin_users', slist=slist, session=request.session) +@admin_app.get('/ausers/edit/{item_id}', response_class=HTMLResponse) +def fastadmin_users_edit(item_id: int, request: Request): + + i18n=I18n('fastadmin') + + db=request.state.db + + #return t.load_template('edit_users.phtml', title=i18n.tlang('Edit admin users'), tlang=i18n.tlang, url_for=app.url_path_for, module_selected='fastadmin_users', session=request.session) + return "" + + + diff --git a/parameciofast/modules/fastadmin/media/images/ajax-loader.gif b/parameciofast/modules/fastadmin/media/images/ajax-loader.gif new file mode 100644 index 0000000..5516707 Binary files /dev/null and b/parameciofast/modules/fastadmin/media/images/ajax-loader.gif differ diff --git a/parameciofast/modules/fastadmin/media/images/background.png b/parameciofast/modules/fastadmin/media/images/background.png new file mode 100644 index 0000000..5660f22 Binary files /dev/null and b/parameciofast/modules/fastadmin/media/images/background.png differ diff --git a/parameciofast/modules/fastadmin/media/images/background_title.png b/parameciofast/modules/fastadmin/media/images/background_title.png new file mode 100644 index 0000000..c716ff3 Binary files /dev/null and b/parameciofast/modules/fastadmin/media/images/background_title.png differ diff --git a/parameciofast/modules/fastadmin/media/images/background_title_login.png b/parameciofast/modules/fastadmin/media/images/background_title_login.png new file mode 100644 index 0000000..99166e1 Binary files /dev/null and b/parameciofast/modules/fastadmin/media/images/background_title_login.png differ diff --git a/parameciofast/modules/fastadmin/media/images/languages/en-US.png b/parameciofast/modules/fastadmin/media/images/languages/en-US.png new file mode 100644 index 0000000..6b89b61 Binary files /dev/null and b/parameciofast/modules/fastadmin/media/images/languages/en-US.png differ diff --git a/parameciofast/modules/fastadmin/media/images/languages/es-ES.png b/parameciofast/modules/fastadmin/media/images/languages/es-ES.png new file mode 100644 index 0000000..1c12d91 Binary files /dev/null and b/parameciofast/modules/fastadmin/media/images/languages/es-ES.png differ diff --git a/parameciofast/modules/fastadmin/media/images/logo.png b/parameciofast/modules/fastadmin/media/images/logo.png new file mode 100644 index 0000000..8999282 Binary files /dev/null and b/parameciofast/modules/fastadmin/media/images/logo.png differ diff --git a/parameciofast/modules/fastadmin/templates/layout.phtml b/parameciofast/modules/fastadmin/templates/layout.phtml index ee3fba9..de19bea 100644 --- a/parameciofast/modules/fastadmin/templates/layout.phtml +++ b/parameciofast/modules/fastadmin/templates/layout.phtml @@ -8,7 +8,7 @@ i18n=I18n('fastadmin') dark_checked="" dark_css="" -if session.get('theme', '0')=='1': +if session.get('theme', '0')==True: dark_checked='checked' dark_css='dark' @@ -20,9 +20,9 @@ if session.get('theme', '0')=='1': ${title} - - - + + + <%block name="extra_css"> @@ -53,7 +53,7 @@ if session.get('theme', '0')=='1': % if lang_selected!=None: % for i18n_lang in i18n.dict_i18n: - ${i18n_lang} + ${i18n_lang} % endfor % endif