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