haldis/app/admin.py

43 lines
1.1 KiB
Python
Raw Normal View History

2015-03-31 20:15:22 +02:00
from flask.ext.admin import Admin
from flask.ext.admin.contrib.sqla import ModelView
from flask.ext import login
from app import app, db
from models import User, Location, Product, Order, OrderItem
class ModelBaseView(ModelView):
def is_accessible(self):
if login.current_user.is_anonymous():
return False
return login.current_user.is_admin()
class UserAdminModel(ModelBaseView):
column_searchable_list = ('username',)
inline_models = None
2015-08-18 21:19:41 +02:00
class ProductAdminModel(ModelBaseView):
column_searchable_list = ('name',)
inline_models = None
2015-03-31 20:15:22 +02:00
class LocationAdminModel(ModelBaseView):
column_searchable_list = ('name', 'address', 'website')
inline_models = None
2015-06-04 18:45:59 +02:00
form_columns = ('name', 'address', 'website', 'telephone')
2015-03-31 20:15:22 +02:00
admin = Admin(app, name='Haldis', url='/admin', template_mode='bootstrap3')
2015-03-31 20:15:22 +02:00
admin.add_view(UserAdminModel(User, db.session))
admin.add_view(LocationAdminModel(Location, db.session))
2015-08-18 21:19:41 +02:00
admin.add_view(ProductAdminModel(Product, db.session))
2015-03-31 20:15:22 +02:00
admin.add_view(ModelBaseView(Order, db.session))
admin.add_view(ModelBaseView(OrderItem, db.session))