Ejemplo n.º 1
0
from flask_admin.contrib.sqla import ModelView

admin.add_view(ModelView(Media, db.session))
admin.add_view(ModelView(Category, db.session))
Ejemplo n.º 2
0
    raise RuntimeError("DATABASE_URL is not set")
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("DATABASE_URL")
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db.init_app(app)

# Configure session, use filesystem
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
Session(app)

# Configure migrations
Migrate(app, db)

# Configure admin interface
admin = Admin(app, name='Pinocchio Admin', template_mode='bootstrap3')
admin.add_view(ModelView(Pizza, db.session))
admin.add_view(ModelView(Topping, db.session))
admin.add_view(ModelView(Sub, db.session))
admin.add_view(ModelView(SteakTopping, db.session))
admin.add_view(ModelView(Extra, db.session))
admin.add_view(ModelView(DinnerPlatter, db.session))
admin.add_view(ModelView(PlacedOrder, db.session))


# Menu and Ordermenu initialization,
# takes relevant database data and
# calculates the new prices based on the give price_per_topping
# Also takes an 'order' argument to create the order dataset
def render_menu(order=True):
    menudict = {}
    if order:
Ejemplo n.º 3
0
        db.session.add(user)
        db.session.commit()
        flash('You have confirmed your account. Thanks!', 'success')
    return redirect(url_for('user_page',username=user.username))


class TestView(ModelView):
    # Disable model creation
    can_create = True
    # Override displayed fields
    column_list = ('username', 'password')

    def __init__(self, session, **kwargs):
        # You can pass name and other parameters if you want to
        super(TestView, self).__init__(User, session, **kwargs)


class UserView(ModelView):
    @expose('/new/', methods=('GET', 'POST'))
    def create_view(self):
        return self.render('index.html')


# Admin views
# Need to add login requirement to these views and add an admin user role
admin.add_view(ModelView(models.User, db.session))
admin.add_view(ModelView(models.Post, db.session))
admin.add_view(ModelView(models.Payment, db.session))


Ejemplo n.º 4
0
    c = unicode(color)
    color_id = Colors.query.filter_by(name=c).first()
    catalogs = Catalog.query.filter_by(color_id=color_id.id)
    return render_template('kivie/index.html', catalogs=catalogs)


@kivie.route('/all')
def all_catalog():
    cats = Catalog.query.all()
    json_cats = {}
    for cat in cats:
        color = cat.color.name
        size = cat.size
        storge = cat.storge
        if color not in json_cats.keys():
            json_cats[color] = {}
        json_cats[color][size] = storge

    return render_template('kivie/allcatalog.html', json_cats=json_cats)


@kivie.route('/edit', methods=['POST', 'GET'])
def edit():
    form = ExampleForm()
    #Sizes = current_app.config['KIVIE_CATALOGS'][u'内衣'.encode('utf-8')][u'黑色'.encode('utf-8')]
    Sizes = ('70A', '75A', '80A', '85A')
    return render_template('kivie/edit.html', form=form, Sizes=Sizes)


admin.add_view(ModelView(Catalog, db.session))
Ejemplo n.º 5
0
from flask import Flask
from config import Configuration
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView

app = Flask(__name__)
app.config.from_object(Configuration)

db = SQLAlchemy(app)

migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)

admin = Admin(app)

from models import *

admin.add_view(ModelView(Item, db.session))
Ejemplo n.º 6
0
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from flask_login import LoginManager

app = Flask(__name__)
app.config['SECRET_KEY'] = 'c3209OIOPP901QOU8c2u'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite3'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)
login = LoginManager(app)

from .models import (User, Shipper, Stock, Supplier, Order, OrderList, Product,
                     Shipment, Rating, Cart, Electronics, Clothes, Books)

admin = Admin(app, name='Smart Kart', template_mode='bootstrap3')
admin.add_views(ModelView(User, db.session), ModelView(Supplier, db.session),
                ModelView(Order, db.session), ModelView(OrderList, db.session),
                ModelView(Product, db.session), ModelView(Shipper, db.session),
                ModelView(Shipment, db.session), ModelView(Stock, db.session),
                ModelView(Rating, db.session), ModelView(Cart, db.session),
                ModelView(Electronics, db.session),
                ModelView(Clothes, db.session), ModelView(Books, db.session))

from app import views
Ejemplo n.º 7
0

#Para el login de los usuarios
class MyModelView(ModelView):
    def is_accessible(self):
        has_auth = current_user.is_authenticated
        has_perm = admin_permission.allows(g.identity)
        return has_auth and has_perm

    def inaccessible_callback(self, name, **kwargs):
        return redirect(url_for('login', next=request.url))


# los modelos que queremos mostrar en el admin
admin.add_view(MyModelView(Categoria, db.session))
admin.add_view(ModelView(Pregunta, db.session))
admin.add_view(ModelView(Respuesta, db.session))
admin.add_view(ModelView(BestTime, db.session))
admin.add_view(MyModelView(Usuario, db.session))

# subimos el server (solo cuando se llama directamente a este archivo)
if __name__ == '__main__':
    app.run()

##MIGRACION de BASE DE DATOS
from flask_migrate import Migrate

migrate = Migrate()
migrate.init_app(app, db)

admin.add_view(MyModelView(Role, db.session))  #para verlo en "/admin"
Ejemplo n.º 8
0
""" 
@author: lileilei
@file: admin.py 
@time: 2018/3/21 9:54 
"""
'''管理后台'''
from app import admin
from app.models import *
from flask_admin.contrib.sqla import ModelView


class Useradmin(ModelView):
    column_labels = dict(username=u'用户名',
                         user_email=u'用户邮件',
                         status=u'状态',
                         is_sper=u'权限',
                         works=u'职位',
                         password=u'密码')


admin.add_view(Useradmin(User, db.session, name=u'用户', endpoint='adminuser'))
admin.add_view(ModelView(Task, db.session, name='定时任务', endpoint='tingtask'))
admin.add_view(
    ModelView(InterfaceTest, db.session, name='测试用例', endpoint='testcase'))
admin.add_view(ModelView(Interface, db.session, name='接口', endpoint='jiekou'))
admin.add_view(ModelView(Mockserver, db.session, name='mock'))
Ejemplo n.º 9
0
manager.add_command('db', MigrateCommand)

login_manager.init_app(app)
login_manager.anonymous_user = GuestUser


@login_manager.unauthorized_handler
def unauthorized():
    return redirect(url_for('account.login'))


@login_manager.user_loader
def user_loader(userid):
    return User.query.get(userid)


admin = Admin(app)
admin.add_view(ModelView(Promise, db.session))
admin.add_view(ModelView(Checklist, db.session))


def trim(string):
    res = string.replace(":", "-")
    res = res.replace(".", "")
    res = res.replace("?", "q")
    return res.replace(" ", "-").replace("(", "").replace(")", "")


app.jinja_env.globals.update(clever_function=trim)
Ejemplo n.º 10
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from flask_admin.contrib.sqla import ModelView

from utils.admin import admin
from utils.db_tool import db

from .models import Choice, Question


admin.add_view(ModelView(Question, db.session, name='Question Manager'))
admin.add_view(ModelView(Choice, db.session, name='Choice Manager'))
Ejemplo n.º 11
0
        self.access = access

    def is_admin(self):
        return self.access == ACCESS['admin']

    def allowed(self, access_level):
        return self.access >= access_level


class Application(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    id_ad = db.Column(db.Integer, db.ForeignKey('ads.id'), nullable=False)
    f_name = db.Column(db.String(255))
    l_name = db.Column(db.String(255))
    phone = db.Column(db.String(255))
    email = db.Column(db.String(255))

    def __init__(self, f_name, l_name, email, id_ad, phone=""):
        self.f_name = f_name
        self.l_name = l_name
        self.phone = phone
        self.email = email
        self.id_ad = id_ad


admin = Admin(app)
admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Company, db.session))
admin.add_view(ModelView(Application, db.session))
admin.add_view(ModelView(Ad, db.session))
Ejemplo n.º 12
0
        order = Order(user_id=data.user_id,
                      user=user,
                      canteen=canteen,
                      canteen_id=canteen_id)
        if order:
            db.session.add(order)
            db.session.commit()
            return jsonify({"repsonse": "order_created"})
    else:
        return jsonify({"repsonse": "Pleas provide data"})
    return "create order"


@app.route("/canteen/<int:canteen_id>/menu", methods=["GET"])
def view_canteen_menu():
    return "canteen menu"


@app.route("/canteen/<int:canteen_id>/menu", methods=['POST'])
def create_canteen_menu():
    return "canteen menu"


admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Canteen, db.session))
admin.add_view(ModelView(Order, dbs.session))

if __name__ == "__main__":
    # app.run(str(IPAddr))
    app.run(host='127.0.0.1', debug=True)
Ejemplo n.º 13
0
#!/usr/bin/env python
#encoding:utf-8

from flask_admin.contrib.sqla import ModelView
from src.ext import db, admin
from src.models import *

admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Role, db.session))
admin.add_view(ModelView(Company, db.session))
admin.add_view(ModelView(History, db.session))
admin.add_view(ModelView(ShareHolder, db.session))
Ejemplo n.º 14
0
class CommentAdmin(sqla.ModelView):
    form_overrides = dict(object_type=SelectField)
    form_args = dict(
        object_type=dict(choices=OBJECT_TYPE)
    )


class LabelAdmin(sqla.ModelView):
    form_overrides = dict(css_class=SelectField, status=SelectField)
    form_args = dict(
        css_class=dict(choices=CSS_CLASS), status=dict(choices=TASK_STATUS)
    )

admin.add_view(LabelAdmin(Label, db.session))
admin.add_view(ModelView(Profile, db.session))
admin.add_view(ModelView(Desk, db.session))
admin.add_view(ModelView(Board, db.session))
admin.add_view(ModelView(Sprint, db.session))
admin.add_view(ModelView(Sticker, db.session))
admin.add_view(CommentAdmin(Comment, db.session))


@app.errorhandler(404)
def page_not_found(error):
    return render_template('404.html'), 404


@manager.command
def test():
    """
Ejemplo n.º 15
0
# ----------------------------------------------------------------------------
# Flask Views
# ----------------------------------------------------------------------------

# root route


@app.route('/')
def index():
    # return redirect("/admin/", code=302)
    # return "<h1><a href='/admin/'>View Inventory</a></h1>"
    return render_template('/pages/index.html')


# Create admin
admin = admin.Admin(app,
                    name="{0} | {1}".format(app.config['ORG_NAME'],
                                            app.config['APP_TITLE']),
                    template_mode='bootstrap3')

# Add model views
admin.add_view(SaleView(Sale, db.session))
admin.add_view(SupplierView(Supplier, db.session))
admin.add_view(ProductView(Product, db.session))
admin.add_view(ModelView(Tag, db.session))
admin.add_view(ModelView(Staff, db.session))
# add custom views
admin.add_view(InventoryView(name='Inventory', endpoint='inventory'))
admin.add_view(AnalyticsView(name='Analytics', endpoint='analytics'))
Ejemplo n.º 16
0
from flask import render_template, flash, redirect, session, url_for, request, g
from flask_admin.contrib.sqla import ModelView

from app import app, db, admin
from .models import Task

from .forms import TaskForm, DeadlineForm

admin.add_view(ModelView(Task, db.session))


@app.route("/")
def homepage():
    return render_template(
        'index.html',
        title='homepage',
    )


@app.route('/create_task', methods=['GET', 'POST'])
def create_task():  #create a task
    form = TaskForm()
    if form.validate_on_submit():
        t = Task(task_name=form.task_name.data,
                 description=form.description.data,
                 deadline=form.deadline.data,
                 state="uncomplete")
        db.session.add(t)
        db.session.commit()
        return redirect('/tasks')
Ejemplo n.º 17
0
    def __repr__(self):
        return self.name


class Draw(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    customer_id = db.Column(db.Integer,
                            db.ForeignKey('customer.id'),
                            nullable=False)
    placement = db.Column(db.Integer)
    home = db.Column(db.String(50))
    away = db.Column(db.String(50))


admin.add_view(ModelView(Customer, db.session))
admin.add_view(ModelView(Draw, db.session))


@app.route('/')
def index():
    return "Hello World"


@app.route('/draw', methods=['POST'])
@csrf.exempt
def draw():
    #import pdb;pdb.set_trace()
    content = request.json
    print(content)
Ejemplo n.º 18
0
db.init_app(app)

login_manager = LoginManager()
login_manager.init_app(app)

login_manager.login_view = 'login.signin'


@login_manager.user_loader
def load_user(user_id):
    return Enrollee.query.get(int(user_id))


admin = Admin(app, name='Control Panel')
admin.add_view(ModelView(Enrollee, db.session))
admin.add_view(ModelView(Relative, db.session))
admin.add_view(ModelView(otp, db.session))

#admin.add_view(ModelView(Health_Care_Service_Provider, db.session))
admin.add_view(ModelView(payments_claims, db.session))
admin.add_view(ModelView(Histories, db.session))

from recordssystem.enrollee.views import hom
from recordssystem.auth.views import login
from recordssystem.dashboard.views import dash
from recordssystem.hcp.views import health_care_provider
from recordssystem.hmoss.views import hmos
from recordssystem.fhssmodule.views import fhss

app.register_blueprint(enrollee.views.hom)
Ejemplo n.º 19
0
def create_app(config_object):
    app = Flask(__name__)
    app.config.from_object(config_object)
    return app


app = create_app(SETTINGS.get(FLASK_ENV, 'default'))
db.init_app(app)
migrate.init_app(app, db)
admin.init_app(app)
marsh.init_app(app)

from . import models

admin.add_view(ModelView(models.OrgClient, db.session))
admin.add_view(ModelView(models.OrgSector, db.session))
admin.add_view(ModelView(models.OrgPerson, db.session))
admin.add_view(ModelView(models.OrgTeam, db.session))

from .api.resources import (
    OrgClientResource,
    OrgClientListResource,
    OrgSectorResource,
    OrgSectorListResource,
    OrgPersonResource,
    OrgPersonListResource,
    OrgTeamResource,
    OrgTeamListResource,
    DatasetResource,
    DatasetListResource,
Ejemplo n.º 20
0

def __init__(self, name, description, link,image,featured,category):
   self.name = name
   self.descritopn = description
   self.link = link
   self.image = image
   self.featured = featured
   self.category = category




# FLASK ADMIN
admin = Admin(app, name='coursestash', template_mode='bootstrap3')
admin.add_view(ModelView(Courses, db.session))
admin.add_view(ModelView(Category,db.session))



# Routing


@app.route('/')
def show_all():
    return render_template('index.html', categories = Category.query.all())

@app.route('/listing/<cat>')
def show_list(cat):
    return render_template('listings.html' , courses = Courses.query.filter_by(category = cat).order_by("featured desc"), Heading = cat)
Ejemplo n.º 21
0
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'Something unique and secret!'

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///dbcons.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

db = SQLAlchemy(app)

from ConsApp import views, models

from flask_admin import Admin

admin = Admin(app, name='SITE', template_mode='bootstrap3')
from flask_admin.contrib.sqla import ModelView
admin.add_view(ModelView(models.Usuario, db.session))
admin.add_view(ModelView(models.Endereco, db.session))
admin.add_view(ModelView(models.Reserva, db.session))
admin.add_view(ModelView(models.Produto, db.session))
admin.add_view(ModelView(models.Categoria, db.session))
Ejemplo n.º 22
0
#Blueprint Registration
app.register_blueprint(catalogue)
app.register_blueprint(cart)
app.register_blueprint(location)
app.register_blueprint(user)
app.register_blueprint(order)
app.register_blueprint(checkout)

#Database Configuration
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'bmeswebapp.db')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

#Registering The Product Catalogue Models to the Admin Module
admin = Admin(app)
admin.add_view(ModelView(Product, db.session))
admin.add_view(ModelView(Category, db.session))
admin.add_view(ModelView(Brand, db.session))
admin.add_view(ModelView(Customer, db.session))
admin.add_view(ModelView(Person, db.session))
admin.add_view(ModelView(Address, db.session))


db.init_app(app)
migrate = Migrate(app, db)

import bmes.views

@app.context_processor
def inject_context():
    return {
Ejemplo n.º 23
0
            db.session.commit()
            session["user"] = {"id": newuser.id, "mail": newuser.mail}
            return redirect('/account/')
        else:
            form.mail.errors.append(
                "Пользователь с таким e-mail уже существует!")
            return render_template('register.html', form=form)
    return render_template('register.html', form=form)


@app.route('/logout/')
def logout():
    if session.get("user"):
        session.pop("user")
    return redirect("/login/")


@app.route('/ordered/')
def ordered():
    return render_template('ordered.html')


admin = Admin(app)
admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Category, db.session))
admin.add_view(ModelView(Meal, db.session))
admin.add_view(ModelView(Order, db.session))

if __name__ == '__main__':
    app.run()
Ejemplo n.º 24
0
    md5sum = db.Column(db.String(32))
    note = db.Column(db.String(255))
    verified = db.Column(db.Boolean)  # is file verified from eshop? (size/hash)


class Image(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    type = db.Column(db.Integer)  # 1 for title, 2 for screenshot, 3 for mobileAppIcon
    filename = db.Column(db.String(255))
    cached_url = db.Column(db.Text)
    origin_url = db.Column(db.Text)
    size = db.Column(db.Integer)
    game_id = db.Column(db.Integer, db.ForeignKey('game.id'))


class Genre(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))


class StoreTag(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))


for table in (Game, File, Image, Genre, StoreTag):
    admin.add_view(ModelView(table, db.session))

if __name__ == '__main__':
    app.run(debug=True)
Ejemplo n.º 25
0
LastEditors: Wentao Lin
'''

from flask import render_template, flash, redirect, request, make_response
from flask_admin.contrib.sqla import ModelView
from werkzeug.utils import secure_filename
import os
import uuid

from app import app, db, admin
from .models import User, Goods, Address, Order, shopping_cart, shopping_order
from .forms import Signup, AddAddress, AddCommodity, ChangePassword



admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Goods, db.session))
admin.add_view(ModelView(Address, db.session))
admin.add_view(ModelView(Order, db.session))



@app.route("/", methods=['GET', 'POST'])
def homepage():
    app.logger.info("Enter the home web page")
    if Goods.query.filter(Goods.type == "home appliances").count() < 4:
        home_appliances = Goods.query.filter(Goods.type == "home appliances").all()
        number = 4 - Goods.query.filter(Goods.type == "home appliances").count()
        home_appliances_number = []
        for i in range(number):
            home_appliances_number.append("0")
Ejemplo n.º 26
0
Archivo: run.py Proyecto: tsh/workload
    with app.app_context():
        if User.query.filter_by(username=username).first() is not None:
            print('This user is already exists')
            raise Exception
        user = User(username=username)
        user.set_password(password)
        db.session.add(user)
        db.session.commit()


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("--add_user",
                        help="create user with  username:password")
    args = parser.parse_args()
    if args.add_user:
        username, password = args.add_user.split(':')
        create_user(username, password)
    else:
        app.register_blueprint(api)
        app.register_blueprint(view)

        from models import User, Record
        from app import db
        with app.app_context():
            db.create_all()
        admin = Admin(app, name='api_admin', template_mode='bootstrap3')
        admin.add_view(ModelView(User, db.session))
        admin.add_view(RecordAdmin(Record, db.session))
        app.run(debug=True, port=8000)
Ejemplo n.º 27
0
from flask_admin.contrib.sqla import ModelView
from config import config

app = Flask(__name__)
app.config['SECRET_KEY'] = '!9m@S-dThyIlW[pHQbN^'

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://*****:*****@localhost/auth'

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['JWT_SECRET_KEY'] = 'Dude!WhyShouldYouEncryptIt'

app.config['JWT_BLACKLIST_ENABLED'] = True
app.config['JWT_BLACKLIST_TOKEN_CHECKS'] = ['access', 'refresh']

admin = Admin(app)
admin.add_view(ModelView('POST', db.session))

db = SQLAlchemy(app)
jwt = JWTManager(app)

from models import *


class User(db.Model):

    __tablename__ = 'usertable'

    id = db.Column(db.Integer, primary_key=True)

    name = db.Column(db.String(15), unique=True)
Ejemplo n.º 28
0
from flask import Flask, render_template, session, redirect, url_for
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from indussh import db
from indussh.models import User, Product

admin = Admin(name='Indussh-Admin', template_mode='bootstrap3')

admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Product, db.session))

# @admin.route('/admin/login')
# def admin_login():
#     if current_user.is_authenticated:
#         return redirect(url_for('admin_dashboard'))
#     form = LoginForm()
#     return render_template('admin/login.html', title='Login', form=form)


# @admin.route('/admin/logout')
# def admin_logout():
#     pass


# @admin.route('/admin')
# @admin.route('/admin/dashboard')
# def admin_dashboard():
#     pass
app.config['SECRET_KEY'] = 'c3209OIOPP901QOU8c2u'
socketio = SocketIO(app, message_queue='redis://localhost:6379')

# file_path = os.path.abspath(os.getcwd())+"\database.db"
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///../db.sqlite3'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)

from .models import (Player, Question, Option, Weight, Faction, Schedule, Log,
                     Answer, Avatar)

admin = Admin(app,
              name='Faction Master',
              template_mode='bootstrap3',
              url='/admin123gh1g2hvh12gvh312us1jsc1j2sj12sf3t2f1stf3y123')
admin.add_view(ModelView(Player, db.session))
admin.add_view(ModelView(Question, db.session))
admin.add_views(
    ModelView(Option, db.session),
    ModelView(Weight, db.session),
    ModelView(Faction, db.session),
    ModelView(Schedule, db.session),
    ModelView(Log, db.session),
    ModelView(Answer, db.session),
    ModelView(Avatar, db.session),
)

from celery import Celery


def make_celery(app):
Ejemplo n.º 30
0
 def __init__(self, model, session, **kwargs):
     ModelView.__init__(self, model, session, **kwargs)
Ejemplo n.º 31
0
db = SQLAlchemy(app)
mail = Mail(app)

manager = Manager(app)
manager.add_command('db', MigrateCommand)
migrate = Migrate(app, db)

# Admin
from flask_admin.contrib.sqla import ModelView
from app.profile.models import User
from app.service.models import Dealer
from app.garage.models import Car, Recall, ServiceBulletin
from app.auth.models import SocialConnection

admin = Admin(app, 'Admin', template_mode='bootstrap3')
admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Dealer, db.session))
admin.add_view(ModelView(Car, db.session))
admin.add_view(ModelView(SocialConnection, db.session))
admin.add_view(ModelView(Recall, db.session))
admin.add_view(ModelView(ServiceBulletin, db.session))

# Auth
from app.auth.models import init_app

init_app(app)

# Register blueprints
from app.public.controllers import public_module as mod_public
from app.news.controllers import news_module as mod_news
from app.profile.controllers import profile_module as mod_profile