From 107bba8dad621a42f5b3ead466435bfd8e483588 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand <benjamin.bertrand@esss.se> Date: Sun, 12 Nov 2017 21:48:03 +0100 Subject: [PATCH] Cleaning Don't override the Admin view __init__ method for consistency. Avoid having to import models in admin/views.py --- app/admin/views.py | 11 +---------- app/factory.py | 25 ++++++++++++------------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/app/admin/views.py b/app/admin/views.py index 6bef8be..4473d11 100644 --- a/app/admin/views.py +++ b/app/admin/views.py @@ -13,7 +13,7 @@ from wtforms import validators, fields from flask_admin.contrib import sqla from flask_admin.model.form import converts from flask_login import current_user -from ..models import Item, User, Group, ICS_ID_RE +from ..models import ICS_ID_RE # Add custom model converter for CIText type @@ -37,18 +37,12 @@ class GroupAdmin(AdminModelView): can_edit = False can_delete = False - def __init__(self, session): - super().__init__(Group, session) - class UserAdmin(AdminModelView): can_create = False can_edit = False can_delete = False - def __init__(self, session): - super().__init__(User, session) - class QRCodeAdmin(AdminModelView): @@ -66,6 +60,3 @@ class ItemAdmin(AdminModelView): 'validators': [validators.Regexp(ICS_ID_RE, message='ICS id shall match [A-Z]{3}[0-9]{3}')] } } - - def __init__(self, session): - super().__init__(Item, session) diff --git a/app/factory.py b/app/factory.py index a3b9b36..fde52fc 100644 --- a/app/factory.py +++ b/app/factory.py @@ -12,9 +12,8 @@ Create the WSGI application. import sqlalchemy as sa from flask import Flask from whitenoise import WhiteNoise -from . import settings +from . import settings, models from .extensions import db, migrate, login_manager, ldap_manager, bootstrap, admin, mail, jwt, toolbar -from .models import Action, Manufacturer, Model, Location, Status, Network, Host, Mac from .admin.views import AdminModelView, ItemAdmin, UserAdmin, GroupAdmin, QRCodeAdmin from .main.views import bp as main from .users.views import bp as users @@ -93,17 +92,17 @@ def create_app(config=None): toolbar.init_app(app) admin.init_app(app) - admin.add_view(GroupAdmin(db.session)) - admin.add_view(UserAdmin(db.session)) - admin.add_view(QRCodeAdmin(Action, db.session)) - admin.add_view(QRCodeAdmin(Manufacturer, db.session)) - admin.add_view(QRCodeAdmin(Model, db.session)) - admin.add_view(QRCodeAdmin(Location, db.session)) - admin.add_view(QRCodeAdmin(Status, db.session)) - admin.add_view(ItemAdmin(db.session)) - admin.add_view(AdminModelView(Network, db.session)) - admin.add_view(AdminModelView(Host, db.session)) - admin.add_view(AdminModelView(Mac, db.session)) + admin.add_view(GroupAdmin(models.Group, db.session)) + admin.add_view(UserAdmin(models.User, db.session)) + admin.add_view(QRCodeAdmin(models.Action, db.session)) + admin.add_view(QRCodeAdmin(models.Manufacturer, db.session)) + admin.add_view(QRCodeAdmin(models.Model, db.session)) + admin.add_view(QRCodeAdmin(models.Location, db.session)) + admin.add_view(QRCodeAdmin(models.Status, db.session)) + admin.add_view(ItemAdmin(models.Item, db.session)) + admin.add_view(AdminModelView(models.Network, db.session)) + admin.add_view(AdminModelView(models.Host, db.session)) + admin.add_view(AdminModelView(models.Mac, db.session)) app.register_blueprint(main) app.register_blueprint(users) -- GitLab