Example #1
0
class ProjectFilesGeneralView(GeneralView):
    datamodel = SQLAModel(ProjectFiles)

    label_columns = {'file_name': 'File Name', 'download': 'Download'}
    add_columns = ['file', 'description','project']
    edit_columns = ['file', 'description','project']
    list_columns = ['file_name', 'download']
    show_columns = ['file_name', 'download']


class ProjectGeneralView(CompactCRUDMixin, GeneralView):
    datamodel = SQLAModel(Project)
    related_views = [ProjectFilesGeneralView]

    show_template = 'appbuilder/general/model/show_cascade.html'
    edit_template = 'appbuilder/general/model/edit_cascade.html'

    add_columns = ['name']
    edit_columns = ['name']
    list_columns = ['name', 'created_by', 'created_on', 'changed_by', 'changed_on']
    show_fieldsets = [
        ('Info', {'fields': ['name']}),
        ('Audit', {'fields': ['created_by', 'created_on', 'changed_by', 'changed_on'], 'expanded': False})
    ]


baseapp = BaseApp(app, db)
baseapp.add_view(ProjectGeneralView, "List Projects", icon="fa-table", category="Projects")
baseapp.add_view_no_menu(ProjectFilesGeneralView)
Example #2
0
from flask.ext.appbuilder.baseapp import BaseApp
from flask.ext.appbuilder.baseviews import BaseView
from flask.ext.appbuilder.baseviews import expose
from app import app, db

class MyView(BaseView):
    route_base = "/myview"

    @expose('/method1/<string:param1>')
    def method1(self, param1):
            # do something with param1
            # and return to previous page or index
        param1 = 'Hello %s' % (param1)
        return param1

    @expose('/method2/<string:param1>')
    def method2(self, param1):
        # do something with param1
        # and render template with param
        param1 = 'Goodbye %s' % (param1)
        return param1

genapp = BaseApp(app, db)
genapp.add_view_no_menu(MyView())