def _register_schedule_menus(): appbuilder.add_separator('Manage') appbuilder.add_view( DashboardEmailScheduleView, 'Dashboard Email Schedules', label=__('Dashboard Emails'), category='Manage', category_label=__('Manage'), icon='fa-search') appbuilder.add_view( SliceEmailScheduleView, 'Chart Emails', label=__('Chart Email Schedules'), category='Manage', category_label=__('Manage'), icon='fa-search')
t.fetch_metadata() successes.append(t) except Exception: failures.append(t) if len(successes) > 0: success_msg = _( 'Metadata refreshed for the following table(s): %(tables)s', tables=', '.join([t.table_name for t in successes])) flash(success_msg, 'info') if len(failures) > 0: failure_msg = _( 'Unable to retrieve metadata for the following table(s): %(tables)s', tables=', '.join([t.table_name for t in failures])) flash(failure_msg, 'danger') return redirect('/tablemodelview/list/') appbuilder.add_view_no_menu(TableModelView) appbuilder.add_link( 'Tables', label=__('Tables'), href='/tablemodelview/list/?_flt_1_is_sqllab_view=y', icon='fa-table', category='Sources', category_label=__('Sources'), category_icon='fa-table') appbuilder.add_separator('Sources')
security.merge_perm(sm, 'schema_access', table.schema_perm) if flash_message: flash(_( "The table was created. " "As part of this two phase configuration " "process, you should now click the edit button by " "the new table to configure it."), "info") def post_update(self, table): self.post_add(table, flash_message=False) @expose('/edit/<pk>', methods=['GET', 'POST']) @has_access def edit(self, pk): """Simple hack to redirect to explore view after saving""" resp = super(TableModelView, self).edit(pk) if isinstance(resp, basestring): return resp return redirect('/superset/explore/table/{}/'.format(pk)) appbuilder.add_view( TableModelView, "Tables", label=__("Tables"), category="Sources", category_label=__("Sources"), icon='fa-table',) appbuilder.add_separator("Sources")
@expose('/scan_new_datasources/') def scan_new_datasources(self): """ Calling this endpoint will cause a scan for new datasources only and add them. """ return self.refresh_datasources(refreshAll=False) appbuilder.add_view_no_menu(Druid) appbuilder.add_link( 'Scan New Datasources', label=__('Scan New Datasources'), href='/druid/scan_new_datasources/', category='Sources', category_label=__('Sources'), category_icon='fa-database', icon='fa-refresh') appbuilder.add_link( 'Refresh Druid Metadata', label=__('Refresh Druid Metadata'), href='/druid/refresh_datasources/', category='Sources', category_label=__('Sources'), category_icon='fa-database', icon='fa-cog') appbuilder.add_separator('Sources', )
session.commit() return redirect("/druiddatasourcemodelview/list/") @has_access @expose("/scan_new_datasources/") def scan_new_datasources(self): """ Calling this endpoint will cause a scan for new datasources only and add them. """ return self.refresh_datasources(refresh_all=False) if app.config["DRUID_IS_ACTIVE"]: appbuilder.add_separator("Sources") appbuilder.add_view( DruidDatasourceModelView, "Druid Datasources", label=__("Druid Datasources"), category="Sources", category_label=__("Sources"), icon="fa-cube", ) appbuilder.add_view( DruidClusterModelView, name="Druid Clusters", label=__("Druid Clusters"), icon="fa-cubes",