mirror of
https://github.com/apache/superset.git
synced 2026-05-12 19:35:17 +00:00
CRUD views improvements
This commit is contained in:
@@ -46,6 +46,13 @@ class AuditMixinNullable(AuditMixin):
|
|||||||
@property
|
@property
|
||||||
def changed_on_(cls):
|
def changed_on_(cls):
|
||||||
return utils.datetime_f(cls.changed_on)
|
return utils.datetime_f(cls.changed_on)
|
||||||
|
@property
|
||||||
|
def created_by_(self):
|
||||||
|
return self.created_by or ''
|
||||||
|
@property
|
||||||
|
def changed_by_(self):
|
||||||
|
return self.changed_by or ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Url(Model, AuditMixinNullable):
|
class Url(Model, AuditMixinNullable):
|
||||||
@@ -80,6 +87,13 @@ class Slice(Model, AuditMixinNullable):
|
|||||||
def datasource(self):
|
def datasource(self):
|
||||||
return self.table or self.druid_datasource
|
return self.table or self.druid_datasource
|
||||||
|
|
||||||
|
@property
|
||||||
|
def datasource_link(self):
|
||||||
|
if self.table:
|
||||||
|
return self.table.link
|
||||||
|
elif self.druid_datasource:
|
||||||
|
return self.druid_datasource.link
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@utils.memoized
|
@utils.memoized
|
||||||
def viz(self):
|
def viz(self):
|
||||||
@@ -274,6 +288,14 @@ class SqlaTable(Model, Queryable, AuditMixinNullable):
|
|||||||
def description_markeddown(self):
|
def description_markeddown(self):
|
||||||
return utils.markdown(self.description)
|
return utils.markdown(self.description)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def url(self):
|
||||||
|
return '/tableview/edit/{}'.format(self.id)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def link(self):
|
||||||
|
return '<a href="{self.url}">{self.table_name}</a>'.format(**locals())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def perm(self):
|
def perm(self):
|
||||||
return (
|
return (
|
||||||
@@ -743,9 +765,21 @@ class Datasource(Model, AuditMixinNullable, Queryable):
|
|||||||
"[{self.cluster_name}].[{self.datasource_name}]"
|
"[{self.cluster_name}].[{self.datasource_name}]"
|
||||||
"(id:{self.id})").format(self=self)
|
"(id:{self.id})").format(self=self)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def url(self):
|
||||||
|
return '/datasourcemodelview/edit/{}'.format(self.id)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def link(self):
|
||||||
|
return (
|
||||||
|
'<a href="{self.url}">'
|
||||||
|
'{self.datasource_name}</a>').format(**locals())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def full_name(self):
|
def full_name(self):
|
||||||
return "[{self.cluster_name}].[{self.datasource_name}]".format(self=self)
|
return (
|
||||||
|
"[{self.cluster_name}]."
|
||||||
|
"[{self.datasource_name}]").format(self=self)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return self.datasource_name
|
return self.datasource_name
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ class SliceModelView(PanoramixModelView, DeleteMixin):
|
|||||||
can_add = False
|
can_add = False
|
||||||
list_columns = [
|
list_columns = [
|
||||||
'slice_link', 'viz_type',
|
'slice_link', 'viz_type',
|
||||||
'datasource', 'created_by', 'changed_on_']
|
'datasource_link', 'created_by_', 'changed_on_']
|
||||||
edit_columns = [
|
edit_columns = [
|
||||||
'slice_name', 'description', 'viz_type', 'druid_datasource',
|
'slice_name', 'description', 'viz_type', 'druid_datasource',
|
||||||
'table', 'dashboards', 'params']
|
'table', 'dashboards', 'params']
|
||||||
@@ -223,7 +223,7 @@ appbuilder.add_view(
|
|||||||
|
|
||||||
class DashboardModelView(PanoramixModelView, DeleteMixin):
|
class DashboardModelView(PanoramixModelView, DeleteMixin):
|
||||||
datamodel = SQLAInterface(models.Dashboard)
|
datamodel = SQLAInterface(models.Dashboard)
|
||||||
list_columns = ['dashboard_link', 'changed_by', 'changed_on_']
|
list_columns = ['dashboard_link', 'created_by_', 'changed_on_']
|
||||||
edit_columns = [
|
edit_columns = [
|
||||||
'dashboard_title', 'slug', 'slices', 'position_json', 'css',
|
'dashboard_title', 'slug', 'slices', 'position_json', 'css',
|
||||||
'json_metadata']
|
'json_metadata']
|
||||||
|
|||||||
Reference in New Issue
Block a user