You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@superset.apache.org by GitBox <gi...@apache.org> on 2018/04/23 15:27:48 UTC

[GitHub] mistercrunch closed pull request #3038: add verbose_name to table

mistercrunch closed pull request #3038: add verbose_name to table
URL: https://github.com/apache/incubator-superset/pull/3038
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/superset/assets/javascripts/explore/components/controls/DatasourceControl.jsx b/superset/assets/javascripts/explore/components/controls/DatasourceControl.jsx
index b00fe3fc79..b17eab56c7 100644
--- a/superset/assets/javascripts/explore/components/controls/DatasourceControl.jsx
+++ b/superset/assets/javascripts/explore/components/controls/DatasourceControl.jsx
@@ -51,6 +51,7 @@ export default class DatasourceControl extends React.PureComponent {
             rawName: ds.name,
             connection: ds.connection,
             schema: ds.schema,
+            verbose_name: ds.verbose_name,
             name: (
               <a
                 href="#"
@@ -95,7 +96,7 @@ export default class DatasourceControl extends React.PureComponent {
           }
         >
           <Label onClick={this.toggleModal} style={{ cursor: 'pointer' }} className="m-r-5">
-            {this.props.datasource.name}
+            {this.props.datasource.verbose_name}
           </Label>
         </OverlayTrigger>
         <OverlayTrigger
@@ -141,11 +142,11 @@ export default class DatasourceControl extends React.PureComponent {
             }
             {this.state.datasources &&
               <Table
-                columns={['name', 'type', 'schema', 'connection', 'creator']}
+                columns={['verbose_name', 'name', 'type', 'schema', 'connection', 'creator']}
                 className="table table-condensed"
                 data={this.state.datasources}
                 itemsPerPage={20}
-                filterable={['rawName', 'type', 'connection', 'schema', 'creator']}
+                filterable={['verbose_name', 'rawName', 'type', 'connection', 'schema', 'creator']}
                 filterBy={this.state.filter}
                 hideFilterInput
               />
diff --git a/superset/connectors/base/models.py b/superset/connectors/base/models.py
index 593c722d42..0e06b2b25d 100644
--- a/superset/connectors/base/models.py
+++ b/superset/connectors/base/models.py
@@ -33,6 +33,7 @@ class BaseDatasource(AuditMixinNullable, ImportMixin):
 
     # Columns
     id = Column(Integer, primary_key=True)
+    verbose_name = Column(String(64))
     description = Column(Text)
     default_endpoint = Column(Text)
     is_featured = Column(Boolean, default=False)  # TODO deprecating
@@ -126,6 +127,7 @@ def short_data(self):
             'uid': self.uid,
             'schema': self.schema,
             'name': self.name,
+            'verbose_name': self.verbose_name,
             'type': self.type,
             'connection': self.connection,
             'creator': str(self.created_by),
@@ -157,6 +159,7 @@ def data(self):
             'id': self.id,
             'metrics_combo': self.metrics_combo,
             'name': self.name,
+            'verbose_name': self.verbose_name or self.name,
             'order_by_choices': order_by_choices,
             'type': self.type,
             'metrics': [o.data for o in self.metrics],
diff --git a/superset/connectors/druid/views.py b/superset/connectors/druid/views.py
index a06bc391ff..563dab8b78 100644
--- a/superset/connectors/druid/views.py
+++ b/superset/connectors/druid/views.py
@@ -35,8 +35,8 @@ class DruidColumnInlineView(CompactCRUDMixin, SupersetModelView):  # noqa
         'groupby', 'filterable', 'count_distinct', 'sum', 'min', 'max']
     add_columns = edit_columns
     list_columns = [
-        'column_name', 'verbose_name', 'type', 'groupby', 'filterable', 'count_distinct',
-        'sum', 'min', 'max']
+        'column_name', 'verbose_name', 'type', 'groupby', 'filterable',
+        'count_distinct', 'sum', 'min', 'max']
     can_delete = False
     page_size = 500
     label_columns = {
@@ -177,15 +177,14 @@ class DruidDatasourceModelView(DatasourceModelView, DeleteMixin):  # noqa
 
     list_widget = ListWidgetWithCheckboxes
     list_columns = [
-        'datasource_link', 'cluster', 'changed_by_', 'modified']
+        'datasource_link', 'verbose_name', 'cluster', 'changed_by_', 'modified']
     related_views = [DruidColumnInlineView, DruidMetricInlineView]
     edit_columns = [
-        'datasource_name', 'cluster', 'slices', 'description', 'owner',
-        'is_hidden',
-        'filter_select_enabled', 'fetch_values_from',
+        'datasource_name', 'verbose_name', 'cluster', 'slices', 'description',
+        'owner', 'is_hidden', 'filter_select_enabled', 'fetch_values_from',
         'default_endpoint', 'offset', 'cache_timeout']
     search_columns = (
-        'datasource_name', 'cluster', 'description', 'owner'
+        'datasource_name', 'verbose_name', 'cluster', 'description', 'owner'
     )
     add_columns = edit_columns
     show_columns = add_columns + ['perm']
@@ -223,6 +222,7 @@ class DruidDatasourceModelView(DatasourceModelView, DeleteMixin):  # noqa
     label_columns = {
         'slices': _("Associated Slices"),
         'datasource_link': _("Data Source"),
+        'verbose_name': _("Verbose Name"),
         'cluster': _("Cluster"),
         'description': _("Description"),
         'owner': _("Owner"),
diff --git a/superset/connectors/sqla/views.py b/superset/connectors/sqla/views.py
index c49d4d02a5..bae6b10bb1 100644
--- a/superset/connectors/sqla/views.py
+++ b/superset/connectors/sqla/views.py
@@ -158,11 +158,11 @@ class TableModelView(DatasourceModelView, DeleteMixin):  # noqa
     edit_title = _('Edit Table')
 
     list_columns = [
-        'link', 'database',
+        'link', 'verbose_name', 'database',
         'changed_by_', 'modified']
     add_columns = ['database', 'schema', 'table_name']
     edit_columns = [
-        'table_name', 'sql', 'filter_select_enabled', 'slices',
+        'table_name', 'verbose_name', 'sql', 'filter_select_enabled', 'slices',
         'fetch_values_predicate', 'database', 'schema',
         'description', 'owner',
         'main_dttm_col', 'default_endpoint', 'offset', 'cache_timeout']
@@ -170,7 +170,7 @@ class TableModelView(DatasourceModelView, DeleteMixin):  # noqa
     related_views = [TableColumnInlineView, SqlMetricInlineView]
     base_order = ('changed_on', 'desc')
     search_columns = (
-        'database', 'schema', 'table_name', 'owner',
+        'database', 'schema', 'table_name', 'verbose_name', 'owner',
     )
     description_columns = {
         'slices': _(
@@ -212,6 +212,7 @@ class TableModelView(DatasourceModelView, DeleteMixin):  # noqa
     label_columns = {
         'slices': _("Associated Slices"),
         'link': _("Table"),
+        'verbose_name': _("Verbose Name"),
         'changed_by_': _("Changed By"),
         'database': _("Database"),
         'changed_on_': _("Last Changed"),
diff --git a/superset/migrations/versions/699feb3943c0_.py b/superset/migrations/versions/699feb3943c0_.py
new file mode 100644
index 0000000000..a5324a51fc
--- /dev/null
+++ b/superset/migrations/versions/699feb3943c0_.py
@@ -0,0 +1,32 @@
+"""Add verbose name to table/datasources
+
+Revision ID: 699feb3943c0
+Revises: ca69c70ec99b
+Create Date: 2017-06-25 14:00:04.056776
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '699feb3943c0'
+down_revision = 'ca69c70ec99b'
+
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+    # Druid
+    op.add_column('datasources', sa.Column('verbose_name', sa.String(length=64), nullable=True))
+
+    # SQL
+    op.add_column('tables', sa.Column('verbose_name', sa.String(length=64), nullable=True))
+
+
+def downgrade():
+    # Druid
+    op.drop_column('datasources', 'verbose_name')
+
+    # SQL
+    op.drop_column('tables', 'verbose_name')
+


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services