from flask_appbuilder import ModelView from flask_appbuilder.models.sqla.interface import SQLAInterface import models from app import appbuilder class History(ModelView): datamodel = SQLAInterface(models.History) route_base = "/history" list_title = "History" list_columns = ["paper_id", "timestamp", "paper_status", "notes"] class Topic(ModelView): datamodel = SQLAInterface(models.Topic) route_base = "/topic" list_title = "Topics" list_columns = ["topic_id", "topic_name"] class Paper(ModelView): datamodel = SQLAInterface(models.Paper) route_base = "/paper" list_title = "Papers" list_columns = [ "paper_id", "title", "abstract", "filename", "contact_email", "year", ] add_exclude_columns = edit_exclude_columns = show_exclude_columns = [ "topics", "history", ] related_views = [Topic, History] class Conference(ModelView): datamodel = SQLAInterface(models.Conference) route_base = "/conference" list_title = "Conferences" list_columns = ["year", "location"] add_exclude_columns = edit_exclude_columns = show_exclude_columns = ["papers"] related_views = [Paper] appbuilder.add_view( Conference, "Conferences", icon="fa-database", category="Admin", ) appbuilder.add_view( History, "History", icon="fa-database", category="Admin", ) appbuilder.add_view( Paper, "Papers", icon="fa-database", category="Admin", ) appbuilder.add_view( Topic, "Topics", icon="fa-database", category="Admin", )