未验证 提交 821916a6 编写于 作者: J John Bodley 提交者: GitHub

chore: pre-commit run --all-files (#10500)

Co-authored-by: NJohn Bodley <john.bodley@airbnb.com>
上级 ce10e13e
......@@ -19,7 +19,7 @@ jobs:
FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
run: |
set -eo pipefail
if [[ "${{github.event_name}}" != "pull_request" ]]; then
if [[ "${{github.event_name}}" != "pull_request" ]]; then
./scripts/fossa.sh
exit 0
fi
......@@ -30,7 +30,7 @@ jobs:
cat<<EOF
CHANGED FILES:
$FILES
EOF
if [[ "${FILES}" =~ (.*package*\.json|requirements.*\.txt|setup\.py) ]]; then
......
......@@ -35,7 +35,7 @@ jobs:
with:
msg: |
### WARNING: Prefer TypeScript
Looks like your PR contains new `.js` or `.jsx` files:
```
......
......@@ -39,4 +39,5 @@ repos:
- id: check-docstring-first
- id: check-added-large-files
- id: check-yaml
exclude: ^helm/superset/templates/
- id: debug-statements
......@@ -705,7 +705,7 @@ See [`superset-frontend/cypress_build.sh`](https://github.com/apache/incubator-s
### Storybook
Superset includes a [Storybook](https://storybook.js.org/) to preview the layout/styling of various Superset components, and variations thereof. To open and view the Storybook:
Superset includes a [Storybook](https://storybook.js.org/) to preview the layout/styling of various Superset components, and variations thereof. To open and view the Storybook:
```bash
cd superset-frontend
......
......@@ -8,4 +8,4 @@ have stabilized in a manner consistent with other successful ASF projects.
While incubation status is not necessarily a reflection of the completeness or
stability of the code, it does indicate that the project has yet to be fully
endorsed by the ASF.
\ No newline at end of file
endorsed by the ASF.
......@@ -27,7 +27,7 @@ Join our growing community!
### Sharing Economy
- [Airbnb](https://github.com/airbnb)
- [Airbnb](https://github.com/airbnb)
- [Faasos](http://faasos.com/) [@shashanksingh]
- [Hostnfly](https://www.hostnfly.com/) [@alexisrosuel]
- [Lime](https://www.limebike.com/) [@cxmcc]
......@@ -37,11 +37,11 @@ Join our growing community!
- [Aktia Bank plc](https://www.aktia.com) [@villebro]
- [American Express](https://www.americanexpress.com) [@TheLastSultan]
- [Capital Service S.A.](http://capitalservice.pl) [@pkonarzewski]
- [Clark.de](http://clark.de/)
- [Clark.de](http://clark.de/)
### Gaming
- [Digit Game Studios](https://www.digitgaming.com/)
- [Popoko VM Games Studio](https://popoko.live)
- [Popoko VM Games Studio](https://popoko.live)
### E-Commerce
- [AiHello](https://www.aihello.com) [@ganeshkrishnan1]
......@@ -52,7 +52,7 @@ Join our growing community!
- [HuiShouBao](http://www.huishoubao.com/) [@Yukinoshita-Yukino]
- [Now](https://www.now.vn/) [@davidkohcw]
- [Qunar](https://www.qunar.com/) [@flametest]
- [Rakuten Viki](https://www.viki.com)
- [Rakuten Viki](https://www.viki.com)
- [Shopee](https://shopee.sg) [@xiaohanyu]
- [Shopkick](https://www.shopkick.com) [@LAlbertalli]
- [Tails.com](https://tails.com) [@alanmcruickshank]
......@@ -66,25 +66,25 @@ Join our growing community!
- [Cloudsmith](https://cloudsmith.io) [@alancarson]
- [CnOvit](http://www.cnovit.com/) [@xieshaohu]
- [Deepomatic](https://deepomatic.com/) [@Zanoellia]
- [Dial Once](https://www.dial-once.com/)
- [Dial Once](https://www.dial-once.com/)
- [Dremio](https://dremio.com) [@narendrans]
- [ELMO Cloud HR & Payroll](https://elmosoftware.com.au/)
- [Endress+Hauser](http://www.endress.com/) [@rumbin]
- [FBK - ICT center](http://ict.fbk.eu)
- [FBK - ICT center](http://ict.fbk.eu)
- [GfK Data Lab](http://datalab.gfk.com) [@mherr]
- [GrowthSimple](https://growthsimple.ai/)
- [Intercom](https://www.intercom.com/) [@kate-gallo]
- [jampp](https://jampp.com/)
- [jampp](https://jampp.com/)
- [Konfío](http://konfio.mx) [@uis-rodriguez]
- [Myra Labs](http://www.myralabs.com/) [@viksit]
- [Nielsen](http://www.nielsen.com/) [@amitNielsen]
- [Ona](https://ona.io) [@pld]
- [Peak AI](https://www.peak.ai/) [@azhar22k]
- [PeopleDoc](https://www.people-doc.com) [@rodo]
- [Preset, Inc.](https://preset.io)
- [Preset, Inc.](https://preset.io)
- [Pronto Tools](http://www.prontotools.io) [@zkan]
- [PubNub](https://pubnub.com) [@jzucker2]
- [Reward Gateway](https://www.rewardgateway.com)
- [Reward Gateway](https://www.rewardgateway.com)
- [ScopeAI](https://www.getscopeai.com) [@iloveluce]
- [Showmax](https://tech.showmax.com) [@bobek]
- [source{d}](https://www.sourced.tech) [@marnovo]
......@@ -102,11 +102,11 @@ Join our growing community!
- [Douban](https://www.douban.com/) [@luchuan]
- [Kuaishou](https://www.kuaishou.com/) [@zhaoyu89730105]
- [Netflix](https://www.netflix.com/)
- [TME QQMUSIC/WESING](https://www.tencentmusic.com/)
- [TME QQMUSIC/WESING](https://www.tencentmusic.com/)
- [Zaihang](http://www.zaih.com/)
### Education
- [Brilliant.org](https://brilliant.org/)
- [Brilliant.org](https://brilliant.org/)
- [Udemy](https://www.udemy.com/) [@sungjuly]
- [VIPKID](https://www.vipkid.com.cn/) [@illpanda]
......@@ -120,14 +120,13 @@ Join our growing community!
- [Amino](https://amino.com) [@shkr]
- [Living Goods](https://www.livinggoods.org) [@chelule]
- [Maieutical Labs](https://maieuticallabs.it) [@xrmx]
- [QPID Health](http://www.qpidhealth.com/)
- [QPID Health](http://www.qpidhealth.com/)
- [TrustMedis](https://trustmedis.com) [@famasya]
- [WeSure](https://www.wesure.cn/)
### Others
- [Grassroot](https://www.grassrootinstitute.org/)
- [Grassroot](https://www.grassrootinstitute.org/)
- [komoot](https://www.komoot.com/) [@christophlingg]
- [Let's Roam](https://www.letsroam.com/)
- [Twitter](https://twitter.com/)
- [Yahoo!](https://yahoo.com/)
- [Let's Roam](https://www.letsroam.com/)
- [Twitter](https://twitter.com/)
- [Yahoo!](https://yahoo.com/)
......@@ -213,4 +213,4 @@ Third party SIL Open Font License v1.1 (OFL-1.1)
========================================================================
(SIL OPEN FONT LICENSE Version 1.1) The Inter font family (https://github.com/rsms/inter)
(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode)
\ No newline at end of file
(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode)
......@@ -19,7 +19,7 @@ under the License.
# Getting Started with Superset using Docker
Docker is an easy way to get started with Superset.
Docker is an easy way to get started with Superset.
## Prerequisites
......@@ -28,8 +28,8 @@ Docker is an easy way to get started with Superset.
## Configuration
The `/app/pythonpath` folder is mounted from [./docker/pythonpath_dev](./docker/pythonpath_dev)
which contains a base configuration [./docker/pythonpath/superset_config.py](./docker/pythonpath/superset_config.py)
The `/app/pythonpath` folder is mounted from [./docker/pythonpath_dev](./docker/pythonpath_dev)
which contains a base configuration [./docker/pythonpath/superset_config.py](./docker/pythonpath/superset_config.py)
intended for use with local development.
### Local overrides
......@@ -62,7 +62,7 @@ To run the container, simply run:
docker-compose up
```
After several minutes for superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088)
After several minutes for superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088)
to start your journey.
## Developing
......
......@@ -122,4 +122,3 @@ by saving the following YAML to file and then running the ``import_datasources``
columns:
- column_name: ds
verbose_name: datetime
......@@ -159,21 +159,21 @@ permissions that were attributed.
Restricting access to a subset of a particular table
""""""""""""""""""""""""""""""""""""""""""""""""""""
Using ``Row level security filters`` (under the ``Security`` menu) you can create
filters that are assigned to a particular table, as well as a set of roles.
Say people in your finance department should only have access to rows where
``department = "finance"``. You could create a ``Row level security filter``
with that clause, and assign it to your ``Finance`` role, as well as the
Using ``Row level security filters`` (under the ``Security`` menu) you can create
filters that are assigned to a particular table, as well as a set of roles.
Say people in your finance department should only have access to rows where
``department = "finance"``. You could create a ``Row level security filter``
with that clause, and assign it to your ``Finance`` role, as well as the
applicable table.
The ``clause`` field can contain arbitrary text which is then added to the generated
SQL statement's ``WHERE`` clause. So you could even do something like create a
filter for the last 30 days and apply it to a specific role, with a clause like
``date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)``. It can also support multiple
conditions: ``client_id = 6 AND advertiser="foo"``, etc.
All relevant ``Row level security filters`` will be ANDed together, so it's
possible to create a situation where two roles conflict in such a way as to
limit a table subset to empty. For example, the filters ``client_id=4`` and
and ``client_id=5``, applied to a role, will result in users of that role having
``client_id=4 AND client_id=5`` added to their query, which can never be true.
\ No newline at end of file
The ``clause`` field can contain arbitrary text which is then added to the generated
SQL statement's ``WHERE`` clause. So you could even do something like create a
filter for the last 30 days and apply it to a specific role, with a clause like
``date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)``. It can also support multiple
conditions: ``client_id = 6 AND advertiser="foo"``, etc.
All relevant ``Row level security filters`` will be ANDed together, so it's
possible to create a situation where two roles conflict in such a way as to
limit a table subset to empty. For example, the filters ``client_id=4`` and
and ``client_id=5``, applied to a role, will result in users of that role having
``client_id=4 AND client_id=5`` added to their query, which can never be true.
......@@ -22,4 +22,4 @@ dependencies:
- name: redis
version: 10.3.4
repository: https://kubernetes-charts.storage.googleapis.com/
condition: redis.enabled
\ No newline at end of file
condition: redis.enabled
......@@ -24,7 +24,7 @@ metadata:
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
type: Opaque
data:
data:
superset_config.py: {{ include "superset-config" . | b64enc }}
superset_init.sh: {{ tpl .Values.init.initscript . | b64enc }}
superset_bootstrap.sh: {{ include "superset-bootstrap" . | b64enc }}
......@@ -39,4 +39,3 @@ tox==3.11.1
pillow==7.0.0
openpyxl==3.0.3 # Pandas use openpyxl to write excel format(using in unittes)
xlrd==1.2.0
......@@ -22,7 +22,7 @@ from superset import sm
def cleanup_permissions():
# 1. Clean up duplicates.
pvms = sm.get_session.query(sm.permissionview_model).all()
print('# of permission view menues is: {}'.format(len(pvms)))
print("# of permission view menues is: {}".format(len(pvms)))
pvms_dict = defaultdict(list)
for pvm in pvms:
pvms_dict[(pvm.permission, pvm.view_menu)].append(pvm)
......@@ -39,7 +39,7 @@ def cleanup_permissions():
sm.get_session.commit()
pvms = sm.get_session.query(sm.permissionview_model).all()
print('STage 1: # of permission view menues is: {}'.format(len(pvms)))
print("STage 1: # of permission view menues is: {}".format(len(pvms)))
# 2. Clean up None permissions or view menues
pvms = sm.get_session.query(sm.permissionview_model).all()
......@@ -49,7 +49,7 @@ def cleanup_permissions():
sm.get_session.commit()
pvms = sm.get_session.query(sm.permissionview_model).all()
print('Stage 2: # of permission view menues is: {}'.format(len(pvms)))
print("Stage 2: # of permission view menues is: {}".format(len(pvms)))
# 3. Delete empty permission view menues from roles
roles = sm.get_session.query(sm.role_model).all()
......
......@@ -38,4 +38,4 @@ module.exports = {
},
plugins: [...config.plugins, ...customConfig.plugins],
}),
};
\ No newline at end of file
};
......@@ -29,4 +29,4 @@ const themeDecorator = storyFn => (
);
addDecorator(jsxDecorator);
addDecorator(themeDecorator);
\ No newline at end of file
addDecorator(themeDecorator);
......@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
@font-face {
font-family: 'Fira Code';
src: url('woff2/FiraCode-Light.woff2') format('woff2'),
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......@@ -24,4 +24,4 @@
<polygon id="Shape" points="0 0 24 0 24 24 0 24"></polygon>
<path d="M15.71,8.29 C15.5222334,8.10068735 15.2666375,7.99420168 15,7.99420168 C14.7333625,7.99420168 14.4777666,8.10068735 14.29,8.29 L12,10.59 L9.71,8.29 C9.31787782,7.89787785 8.68212219,7.89787787 8.29000003,8.29000003 C7.89787787,8.68212219 7.89787785,9.31787782 8.29,9.71 L10.59,12 L8.29,14.29 C8.10068735,14.4777666 7.99420168,14.7333625 7.99420168,15 C7.99420168,15.2666375 8.10068735,15.5222334 8.29,15.71 C8.4777666,15.8993127 8.73336246,16.0057983 9,16.0057983 C9.26663754,16.0057983 9.5222334,15.8993127 9.71,15.71 L12,13.41 L14.29,15.71 C14.4777666,15.8993127 14.7333625,16.0057983 15,16.0057983 C15.2666375,16.0057983 15.5222334,15.8993127 15.71,15.71 C15.8993127,15.5222334 16.0057983,15.2666375 16.0057983,15 C16.0057983,14.7333625 15.8993127,14.4777666 15.71,14.29 L13.41,12 L15.71,9.71 C15.8993127,9.5222334 16.0057983,9.26663754 16.0057983,9 C16.0057983,8.73336246 15.8993127,8.4777666 15.71,8.29 Z" id="Path" fill="currentColor"></path>
</g>
</svg>
\ No newline at end of file
</svg>
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......@@ -26,4 +26,4 @@
<path d="M2.0502756,2.0502756 C4.64681622,-0.54626503 8.80843467,-0.6950204 11.5837364,1.70950589 C14.3590382,4.11403218 14.804545,8.25440896 12.6043062,11.1943062 L12.6043062,11.1943062 L12.584,11.214 L16.5643062,15.1943062 C16.7536188,15.3820728 16.8601045,15.6376686 16.8601045,15.9043062 C16.8601045,16.1709437 16.7536188,16.4265396 16.5643062,16.6143062 C16.3765396,16.8036188 16.1209437,16.9101045 15.8543062,16.9101045 C15.5876686,16.9101045 15.3320728,16.8036188 15.1443062,16.6143062 L11.1595821,12.6301298 C8.22188565,14.8010066 4.10458043,14.3481289 1.70950589,11.5837364 C-0.6950204,8.80843467 -0.54626503,4.64681622 2.0502756,2.0502756 Z M10.4943062,3.46430617 C8.54038301,1.5153163 5.37685647,1.5179821 3.42622078,3.47026222 C1.47558509,5.42254234 1.47558509,8.58607001 3.42622078,10.5383501 C5.37685647,12.4906302 8.54038301,12.493296 10.4943062,10.5443062 C11.4347232,9.60626354 11.963244,8.33257878 11.963244,7.00430616 C11.963244,5.67603357 11.4347232,4.4023488 10.4943062,3.46430617 Z" id="Combined-Shape"></path>
</g>
</g>
</svg>
\ No newline at end of file
</svg>
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
......
......@@ -623,10 +623,10 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
{datasetCurrentlyDeleting && (
<DeleteModal
description={t(
`The dataset ${datasetCurrentlyDeleting.table_name} is linked to
${datasetCurrentlyDeleting.chart_count} charts that appear on
${datasetCurrentlyDeleting.dashboard_count} dashboards.
Are you sure you want to continue? Deleting the dataset will break
`The dataset ${datasetCurrentlyDeleting.table_name} is linked to
${datasetCurrentlyDeleting.chart_count} charts that appear on
${datasetCurrentlyDeleting.dashboard_count} dashboards.
Are you sure you want to continue? Deleting the dataset will break
those objects.`,
)}
onConfirm={() =>
......
......@@ -17,5 +17,5 @@
# under the License.
from superset.cli import superset
if __name__ == '__main__':
if __name__ == "__main__":
superset()
......@@ -75,7 +75,6 @@ openapi_spec_methods_override = {
"get": {"description": "Get a list of all possible owners for a dashboard."}
},
}
""" Overrides GET methods OpenApi descriptions """
def validate_json(value: Union[bytes, bytearray, str]) -> None:
......
Generic single-database configuration.
\ No newline at end of file
Generic single-database configuration.
......@@ -14,14 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
import json
from alembic import op
from sqlalchemy import Column, Integer, or_, String, Text
from sqlalchemy.ext.declarative import declarative_base
from superset import db
"""migrate_old_annotation_layers
Revision ID: 21e88bc06c02
......@@ -29,6 +21,13 @@ Revises: 67a6ac9b727b
Create Date: 2017-12-17 11:06:30.180267
"""
import json
from alembic import op
from sqlalchemy import Column, Integer, or_, String, Text
from sqlalchemy.ext.declarative import declarative_base
from superset import db
# revision identifiers, used by Alembic.
revision = "21e88bc06c02"
......
......@@ -25,4 +25,3 @@ openapi_spec_methods_override = {
}
},
}
""" Overrides GET methods OpenApi descriptions """
......@@ -55,4 +55,3 @@
</footer>
{% endblock %}
{% endblock %}
......@@ -33,4 +33,4 @@
</div>
{{ lib.panel_end() }}
{% endblock %}
\ No newline at end of file
{% endblock %}
......@@ -29,4 +29,4 @@ To see all your permissions please visit your
profile page</a>.
<br>
<br>
Regards, Superset Admin.
\ No newline at end of file
Regards, Superset Admin.
......@@ -33,4 +33,4 @@ To see all your permissions please visit your
profile page</a>.
<br>
<br>
Regards, Superset Admin.
\ No newline at end of file
Regards, Superset Admin.
......@@ -36,10 +36,10 @@
{% block head_meta %}{% endblock %}
{% block head_css %}
{% for favicon in favicons %}
<link
<link
rel="{{favicon.rel if favicon.rel else "icon"}}"
type="{{favicon.type if favicon.type else "image/png"}}"
{% if favicon.sizes %}sizes={{favicon.sizes}}{% endif %}
type="{{favicon.type if favicon.type else "image/png"}}"
{% if favicon.sizes %}sizes={{favicon.sizes}}{% endif %}
href="{{favicon.href}}"
>
{% endfor %}
......
......@@ -27,7 +27,7 @@
a.click();
document.body.removeChild(a);
window.location = '{{ dashboards_url }}';
window.location = '{{ dashboards_url }}';
};
</script>