CRUD views improvements
This commit is contained in:
parent
0ca59bcc21
commit
e6920f8066
|
|
@ -46,6 +46,13 @@ class AuditMixinNullable(AuditMixin):
|
|||
@property
|
||||
def changed_on_(cls):
|
||||
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):
|
||||
|
|
@ -80,6 +87,13 @@ class Slice(Model, AuditMixinNullable):
|
|||
def datasource(self):
|
||||
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
|
||||
@utils.memoized
|
||||
def viz(self):
|
||||
|
|
@ -274,6 +288,14 @@ class SqlaTable(Model, Queryable, AuditMixinNullable):
|
|||
def description_markeddown(self):
|
||||
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
|
||||
def perm(self):
|
||||
return (
|
||||
|
|
@ -743,9 +765,21 @@ class Datasource(Model, AuditMixinNullable, Queryable):
|
|||
"[{self.cluster_name}].[{self.datasource_name}]"
|
||||
"(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
|
||||
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):
|
||||
return self.datasource_name
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ class SliceModelView(PanoramixModelView, DeleteMixin):
|
|||
can_add = False
|
||||
list_columns = [
|
||||
'slice_link', 'viz_type',
|
||||
'datasource', 'created_by', 'changed_on_']
|
||||
'datasource_link', 'created_by_', 'changed_on_']
|
||||
edit_columns = [
|
||||
'slice_name', 'description', 'viz_type', 'druid_datasource',
|
||||
'table', 'dashboards', 'params']
|
||||
|
|
@ -223,7 +223,7 @@ appbuilder.add_view(
|
|||
|
||||
class DashboardModelView(PanoramixModelView, DeleteMixin):
|
||||
datamodel = SQLAInterface(models.Dashboard)
|
||||
list_columns = ['dashboard_link', 'changed_by', 'changed_on_']
|
||||
list_columns = ['dashboard_link', 'created_by_', 'changed_on_']
|
||||
edit_columns = [
|
||||
'dashboard_title', 'slug', 'slices', 'position_json', 'css',
|
||||
'json_metadata']
|
||||
|
|
|
|||
Loading…
Reference in New Issue