Skip to content

Commit 49ca53d

Browse files
authored
Merge pull request #24 from byte-power/feature/add_public_download
修复Public界面下载功能
2 parents e2a027c + 8192e7c commit 49ca53d

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Change Log
22

3+
## v1.3.0 - 2022-05-13
4+
This release has several major changes:
5+
- Dashboard: 修复Publish下载功能缺陷;
6+
- Dashboard: 修复因slug不唯一导致的Fork功能缺陷;
7+
- table可视化优化
8+
39
## v1.2.1 - 2022-05-10
410
- Dashboard: Publish的时候支持下载功能;
511

client/app/components/dashboards/dashboard-widget/VisualizationWidget.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ import ExpandedWidgetDialog from "@/components/dashboards/ExpandedWidgetDialog";
1919
import EditParameterMappingsDialog from "@/components/dashboards/EditParameterMappingsDialog";
2020
import VisualizationRenderer from "@/components/visualizations/VisualizationRenderer";
2121
import Widget from "./Widget";
22+
import { Auth } from "@/services/auth";
2223

2324
function visualizationWidgetMenuOptions({ widget, isEmbed, canEditDashboard, onParametersEdit }) {
2425
const canViewQuery = currentUser.hasPermission("view_query");
2526
const canEditParameters = canEditDashboard && !isEmpty(invoke(widget, "query.getParametersDefs"));
2627
const widgetQueryResult = widget.getQueryResult();
2728
const isQueryResultEmpty = !widgetQueryResult || !widgetQueryResult.isEmpty || widgetQueryResult.isEmpty();
2829

29-
const downloadLink = fileType => widgetQueryResult.getLink(widget.getQuery().id, fileType, null, isEmbed);
30+
const downloadLink = fileType => widgetQueryResult.getLink(widget.getQuery().id, fileType, Auth.getApiKey(), isEmbed);
3031
const downloadName = fileType => widgetQueryResult.getName(widget.getQuery().name, fileType);
3132
return compact([
3233
<Menu.Item key="download_csv" disabled={isQueryResultEmpty}>

redash/authentication/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def get_user_from_api_key(api_key, query_id):
136136
except models.NoResultFound:
137137
try:
138138
api_key = models.ApiKey.get_by_api_key(api_key)
139-
user = models.ApiUser(api_key, api_key.org, [])
139+
user = models.ApiUser(api_key, api_key.org, api_key.groups)
140140
except models.NoResultFound:
141141
if query_id:
142142
query = models.Query.get_by_id_and_org(query_id, org)

redash/models/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -1383,6 +1383,10 @@ def create_for_object(cls, object, user):
13831383
db.session.add(k)
13841384
return k
13851385

1386+
@property
1387+
def groups(self):
1388+
return User.get_by_id(_id=self.created_by_id).group_ids
1389+
13861390
@generic_repr("id", "name", "created_by_id", "org_id", "active")
13871391
class Application(TimestampMixin, BelongsToOrgMixin, db.Model):
13881392
id = primary_key("Application")

0 commit comments

Comments
 (0)