diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-18 09:08:14 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-18 09:08:14 +0300 |
commit | 7e5f8d08817c5672a0fe2f36609897f20d7e120e (patch) | |
tree | c09839c3ea64f6ec1035fdc4942c9022ca5a101a /app | |
parent | 25861ffdce4061974732c8403992a0532433e012 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/monitoring/components/dashboard.vue | 5 | ||||
-rw-r--r-- | app/assets/javascripts/monitoring/utils.js | 12 | ||||
-rw-r--r-- | app/controllers/snippets_controller.rb | 16 | ||||
-rw-r--r-- | app/services/snippets/create_service.rb | 12 | ||||
-rw-r--r-- | app/views/shared/_ref_dropdown.html.haml | 4 |
5 files changed, 30 insertions, 19 deletions
diff --git a/app/assets/javascripts/monitoring/components/dashboard.vue b/app/assets/javascripts/monitoring/components/dashboard.vue index de73da67fcc..2018c706b11 100644 --- a/app/assets/javascripts/monitoring/components/dashboard.vue +++ b/app/assets/javascripts/monitoring/components/dashboard.vue @@ -39,6 +39,7 @@ import { timeRangeFromUrl, panelToUrl, expandedPanelPayloadFromUrl, + convertVariablesForURL, } from '../utils'; import { metricStates } from '../constants'; import { defaultTimeRange, timeRanges } from '~/vue_shared/constants'; @@ -272,7 +273,7 @@ export default { handler({ group, panel }) { const dashboardPath = this.currentDashboard || this.selectedDashboard?.path; updateHistory({ - url: panelToUrl(dashboardPath, group, panel), + url: panelToUrl(dashboardPath, convertVariablesForURL(this.promVariables), group, panel), title: document.title, }); }, @@ -343,7 +344,7 @@ export default { }, generatePanelUrl(groupKey, panel) { const dashboardPath = this.currentDashboard || this.selectedDashboard?.path; - return panelToUrl(dashboardPath, groupKey, panel); + return panelToUrl(dashboardPath, convertVariablesForURL(this.promVariables), groupKey, panel); }, hideAddMetricModal() { this.$refs.addMetricModal.hide(); diff --git a/app/assets/javascripts/monitoring/utils.js b/app/assets/javascripts/monitoring/utils.js index 2e4012855d5..1f028ffbcad 100644 --- a/app/assets/javascripts/monitoring/utils.js +++ b/app/assets/javascripts/monitoring/utils.js @@ -17,7 +17,7 @@ import { VARIABLE_PREFIX } from './constants'; * This will be removed once we add support for free text variables * via the dashboard yaml files in https://gitlab.com/gitlab-org/gitlab/-/issues/215689 */ -export const dashboardParams = ['dashboard', 'group', 'title', 'y_label']; +export const dashboardParams = ['dashboard', 'group', 'title', 'y_label', 'embedded']; /** * This method is used to validate if the graph data format for a chart component @@ -262,14 +262,22 @@ export const expandedPanelPayloadFromUrl = (dashboard, search = window.location. * If no group/panel is set, the dashboard URL is returned. * * @param {?String} dashboard - Dashboard path, used as identifier for a dashboard + * @param {?Object} promVariables - Custom variables that came from the URL * @param {?String} group - Group Identifier * @param {?Object} panel - Panel object from the dashboard * @param {?String} url - Base URL including current search params * @returns Dashboard URL which expands a panel (chart) */ -export const panelToUrl = (dashboard = null, group, panel, url = window.location.href) => { +export const panelToUrl = ( + dashboard = null, + promVariables, + group, + panel, + url = window.location.href, +) => { const params = { dashboard, + ...promVariables, }; if (group && panel) { diff --git a/app/controllers/snippets_controller.rb b/app/controllers/snippets_controller.rb index e877f3c7a54..425e0458b41 100644 --- a/app/controllers/snippets_controller.rb +++ b/app/controllers/snippets_controller.rb @@ -49,23 +49,19 @@ class SnippetsController < ApplicationController end def create - create_params = snippet_params.merge(spammable_params) + create_params = snippet_params.merge(files: params.delete(:files)) service_response = Snippets::CreateService.new(nil, current_user, create_params).execute @snippet = service_response.payload[:snippet] if service_response.error? && @snippet.errors[:repository].present? handle_repository_error(:new) else - move_temporary_files if @snippet.valid? && params[:files] - recaptcha_check_with_fallback { render :new } end end def update - update_params = snippet_params.merge(spammable_params) - - service_response = Snippets::UpdateService.new(nil, current_user, update_params).execute(@snippet) + service_response = Snippets::UpdateService.new(nil, current_user, snippet_params).execute(@snippet) @snippet = service_response.payload[:snippet] handle_repository_error(:edit) @@ -150,12 +146,6 @@ class SnippetsController < ApplicationController end def snippet_params - params.require(:personal_snippet).permit(:title, :content, :file_name, :private, :visibility_level, :description) - end - - def move_temporary_files - params[:files].each do |file| - FileMover.new(file, from_model: current_user, to_model: @snippet).execute - end + params.require(:personal_snippet).permit(:title, :content, :file_name, :private, :visibility_level, :description).merge(spammable_params) end end diff --git a/app/services/snippets/create_service.rb b/app/services/snippets/create_service.rb index 2e2fdd5993f..bb58d1bc2bc 100644 --- a/app/services/snippets/create_service.rb +++ b/app/services/snippets/create_service.rb @@ -9,6 +9,8 @@ module Snippets def execute filter_spam_check_params + @files = Array(params.delete(:files).presence) + @snippet = if project project.snippets.build(params) else @@ -29,6 +31,8 @@ module Snippets UserAgentDetailService.new(@snippet, @request).create Gitlab::UsageDataCounters::SnippetCounter.count(:create) + move_temporary_files + ServiceResponse.success(payload: { snippet: @snippet } ) else snippet_error_response(@snippet, 400) @@ -83,5 +87,13 @@ module Snippets def snippet_files [{ file_path: params[:file_name], content: params[:content] }] end + + def move_temporary_files + return unless @snippet.is_a?(PersonalSnippet) + + @files.each do |file| + FileMover.new(file, from_model: current_user, to_model: @snippet).execute + end + end end end diff --git a/app/views/shared/_ref_dropdown.html.haml b/app/views/shared/_ref_dropdown.html.haml index 8b2a3bee407..ee2b2a17e21 100644 --- a/app/views/shared/_ref_dropdown.html.haml +++ b/app/views/shared/_ref_dropdown.html.haml @@ -1,7 +1,7 @@ - dropdown_class = local_assigns.fetch(:dropdown_class, '') .dropdown-menu.dropdown-menu-selectable.git-revision-dropdown{ class: dropdown_class } - = dropdown_title "Select Git revision" - = dropdown_filter "Filter by Git revision" + = dropdown_title _('Select Git revision') + = dropdown_filter _('Filter by Git revision') = dropdown_content = dropdown_loading |