Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
ad41744a17
commit
ee2aa09a24
11 changed files with 61 additions and 23 deletions
5
app/assets/javascripts/integrations/constants.js
Normal file
5
app/assets/javascripts/integrations/constants.js
Normal file
|
@ -0,0 +1,5 @@
|
|||
export const TEST_INTEGRATION_EVENT = 'testIntegration';
|
||||
export const SAVE_INTEGRATION_EVENT = 'saveIntegration';
|
||||
export const GET_JIRA_ISSUE_TYPES_EVENT = 'getJiraIssueTypes';
|
||||
export const TOGGLE_INTEGRATION_EVENT = 'toggleIntegration';
|
||||
export const VALIDATE_INTEGRATION_FORM_EVENT = 'validateIntegrationForm';
|
|
@ -1,6 +1,7 @@
|
|||
<script>
|
||||
import { GlFormGroup, GlFormCheckbox } from '@gitlab/ui';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { TOGGLE_INTEGRATION_EVENT } from '~/integrations/constants';
|
||||
import eventHub from '../event_hub';
|
||||
|
||||
export default {
|
||||
|
@ -26,7 +27,7 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
onChange(e) {
|
||||
eventHub.$emit('toggle', e);
|
||||
eventHub.$emit(TOGGLE_INTEGRATION_EVENT, e);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -9,6 +9,7 @@ import {
|
|||
} from '@gitlab/ui';
|
||||
import { capitalize, lowerCase, isEmpty } from 'lodash';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { VALIDATE_INTEGRATION_FORM_EVENT } from '~/integrations/constants';
|
||||
import eventHub from '../event_hub';
|
||||
|
||||
export default {
|
||||
|
@ -121,10 +122,10 @@ export default {
|
|||
if (this.isNonEmptyPassword) {
|
||||
this.model = null;
|
||||
}
|
||||
eventHub.$on('validateForm', this.validateForm);
|
||||
eventHub.$on(VALIDATE_INTEGRATION_FORM_EVENT, this.validateForm);
|
||||
},
|
||||
beforeDestroy() {
|
||||
eventHub.$off('validateForm', this.validateForm);
|
||||
eventHub.$off(VALIDATE_INTEGRATION_FORM_EVENT, this.validateForm);
|
||||
},
|
||||
methods: {
|
||||
validateForm() {
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
import { GlButton, GlModalDirective, GlSafeHtmlDirective as SafeHtml } from '@gitlab/ui';
|
||||
import { mapState, mapActions, mapGetters } from 'vuex';
|
||||
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
|
||||
import { TEST_INTEGRATION_EVENT, SAVE_INTEGRATION_EVENT } from '~/integrations/constants';
|
||||
import { integrationLevels } from '../constants';
|
||||
import eventHub from '../event_hub';
|
||||
|
||||
|
@ -75,11 +76,11 @@ export default {
|
|||
]),
|
||||
onSaveClick() {
|
||||
this.setIsSaving(true);
|
||||
eventHub.$emit('saveIntegration');
|
||||
eventHub.$emit(SAVE_INTEGRATION_EVENT);
|
||||
},
|
||||
onTestClick() {
|
||||
this.setIsTesting(true);
|
||||
eventHub.$emit('testIntegration');
|
||||
eventHub.$emit(TEST_INTEGRATION_EVENT);
|
||||
},
|
||||
onResetClick() {
|
||||
this.fetchResetIntegration();
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
<script>
|
||||
import { GlFormGroup, GlFormCheckbox, GlFormInput, GlSprintf, GlLink } from '@gitlab/ui';
|
||||
import { mapGetters } from 'vuex';
|
||||
import {
|
||||
VALIDATE_INTEGRATION_FORM_EVENT,
|
||||
GET_JIRA_ISSUE_TYPES_EVENT,
|
||||
} from '~/integrations/constants';
|
||||
import eventHub from '../event_hub';
|
||||
import JiraUpgradeCta from './jira_upgrade_cta.vue';
|
||||
|
||||
|
@ -77,17 +81,17 @@ export default {
|
|||
},
|
||||
},
|
||||
created() {
|
||||
eventHub.$on('validateForm', this.validateForm);
|
||||
eventHub.$on(VALIDATE_INTEGRATION_FORM_EVENT, this.validateForm);
|
||||
},
|
||||
beforeDestroy() {
|
||||
eventHub.$off('validateForm', this.validateForm);
|
||||
eventHub.$off(VALIDATE_INTEGRATION_FORM_EVENT, this.validateForm);
|
||||
},
|
||||
methods: {
|
||||
validateForm() {
|
||||
this.validated = true;
|
||||
},
|
||||
getJiraIssueTypes() {
|
||||
eventHub.$emit('getJiraIssueTypes');
|
||||
eventHub.$emit(GET_JIRA_ISSUE_TYPES_EVENT);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -9,6 +9,7 @@ import {
|
|||
} from '@gitlab/ui';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { helpPagePath } from '~/helpers/help_page_helper';
|
||||
import { VALIDATE_INTEGRATION_FORM_EVENT } from '~/integrations/constants';
|
||||
import { s__ } from '~/locale';
|
||||
import eventHub from '../event_hub';
|
||||
|
||||
|
@ -118,10 +119,10 @@ export default {
|
|||
},
|
||||
},
|
||||
created() {
|
||||
eventHub.$on('validateForm', this.validateForm);
|
||||
eventHub.$on(VALIDATE_INTEGRATION_FORM_EVENT, this.validateForm);
|
||||
},
|
||||
beforeDestroy() {
|
||||
eventHub.$off('validateForm', this.validateForm);
|
||||
eventHub.$off(VALIDATE_INTEGRATION_FORM_EVENT, this.validateForm);
|
||||
},
|
||||
methods: {
|
||||
validateForm() {
|
||||
|
|
|
@ -4,6 +4,13 @@ import toast from '~/vue_shared/plugins/global_toast';
|
|||
import axios from '../lib/utils/axios_utils';
|
||||
import initForm from './edit';
|
||||
import eventHub from './edit/event_hub';
|
||||
import {
|
||||
TEST_INTEGRATION_EVENT,
|
||||
SAVE_INTEGRATION_EVENT,
|
||||
GET_JIRA_ISSUE_TYPES_EVENT,
|
||||
TOGGLE_INTEGRATION_EVENT,
|
||||
VALIDATE_INTEGRATION_FORM_EVENT,
|
||||
} from './constants';
|
||||
|
||||
export default class IntegrationSettingsForm {
|
||||
constructor(formSelector) {
|
||||
|
@ -22,21 +29,19 @@ export default class IntegrationSettingsForm {
|
|||
document.querySelector('.js-vue-integration-settings'),
|
||||
document.querySelector('.js-vue-default-integration-settings'),
|
||||
);
|
||||
eventHub.$on('toggle', (active) => {
|
||||
eventHub.$on(TOGGLE_INTEGRATION_EVENT, (active) => {
|
||||
this.formActive = active;
|
||||
this.toggleServiceState();
|
||||
});
|
||||
eventHub.$on('testIntegration', () => {
|
||||
eventHub.$on(TEST_INTEGRATION_EVENT, () => {
|
||||
this.testIntegration();
|
||||
});
|
||||
eventHub.$on('saveIntegration', () => {
|
||||
eventHub.$on(SAVE_INTEGRATION_EVENT, () => {
|
||||
this.saveIntegration();
|
||||
});
|
||||
eventHub.$on('getJiraIssueTypes', () => {
|
||||
eventHub.$on(GET_JIRA_ISSUE_TYPES_EVENT, () => {
|
||||
this.getJiraIssueTypes(new FormData(this.$form));
|
||||
});
|
||||
|
||||
eventHub.$emit('formInitialized');
|
||||
}
|
||||
|
||||
saveIntegration() {
|
||||
|
@ -52,7 +57,7 @@ export default class IntegrationSettingsForm {
|
|||
this.$form.submit();
|
||||
}, 100);
|
||||
} else {
|
||||
eventHub.$emit('validateForm');
|
||||
eventHub.$emit(VALIDATE_INTEGRATION_FORM_EVENT);
|
||||
this.vue.$store.dispatch('setIsSaving', false);
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +71,7 @@ export default class IntegrationSettingsForm {
|
|||
if (this.$form.checkValidity()) {
|
||||
this.testSettings(new FormData(this.$form));
|
||||
} else {
|
||||
eventHub.$emit('validateForm');
|
||||
eventHub.$emit(VALIDATE_INTEGRATION_FORM_EVENT);
|
||||
this.vue.$store.dispatch('setIsTesting', false);
|
||||
}
|
||||
}
|
||||
|
@ -106,7 +111,7 @@ export default class IntegrationSettingsForm {
|
|||
},
|
||||
}) => {
|
||||
if (error || !issuetypes?.length) {
|
||||
eventHub.$emit('validateForm');
|
||||
eventHub.$emit(VALIDATE_INTEGRATION_FORM_EVENT);
|
||||
throw new Error(message);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddSecurityPolicyConfigurationsManagementProjectIdForeignKey < Gitlab::Database::Migration[1.0]
|
||||
CONSTRAINT_NAME = 'fk_security_policy_configurations_management_project_id'
|
||||
OLD_CONSTRAINT_NAME = 'fk_rails_42ed6c25ec'
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
add_concurrent_foreign_key(:security_orchestration_policy_configurations, :projects, column: :security_policy_management_project_id, on_delete: :cascade, name: CONSTRAINT_NAME)
|
||||
remove_foreign_key_if_exists(:security_orchestration_policy_configurations, column: :security_policy_management_project_id, on_delete: :restrict, name: OLD_CONSTRAINT_NAME)
|
||||
end
|
||||
|
||||
def down
|
||||
add_concurrent_foreign_key(:security_orchestration_policy_configurations, :projects, column: :security_policy_management_project_id, on_delete: :restrict, name: OLD_CONSTRAINT_NAME)
|
||||
remove_foreign_key_if_exists(:security_orchestration_policy_configurations, column: :security_policy_management_project_id, on_delete: :cascade, name: CONSTRAINT_NAME)
|
||||
end
|
||||
end
|
1
db/schema_migrations/20210929115340
Normal file
1
db/schema_migrations/20210929115340
Normal file
|
@ -0,0 +1 @@
|
|||
0de2844fdec43eca860648bdb1a5b184bcc0f79b51086b16d8ef398f32cfd5de
|
|
@ -28643,9 +28643,6 @@ ALTER TABLE ONLY epic_issues
|
|||
ALTER TABLE ONLY ci_refs
|
||||
ADD CONSTRAINT fk_rails_4249db8cc3 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY security_orchestration_policy_configurations
|
||||
ADD CONSTRAINT fk_rails_42ed6c25ec FOREIGN KEY (security_policy_management_project_id) REFERENCES projects(id) ON DELETE RESTRICT;
|
||||
|
||||
ALTER TABLE ONLY ci_resources
|
||||
ADD CONSTRAINT fk_rails_430336af2d FOREIGN KEY (resource_group_id) REFERENCES ci_resource_groups(id) ON DELETE CASCADE;
|
||||
|
||||
|
@ -29825,6 +29822,9 @@ ALTER TABLE ONLY resource_label_events
|
|||
ALTER TABLE ONLY ci_builds_metadata
|
||||
ADD CONSTRAINT fk_rails_ffcf702a02 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY security_orchestration_policy_configurations
|
||||
ADD CONSTRAINT fk_security_policy_configurations_management_project_id FOREIGN KEY (security_policy_management_project_id) REFERENCES projects(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY integrations
|
||||
ADD CONSTRAINT fk_services_inherit_from_id FOREIGN KEY (inherit_from_id) REFERENCES integrations(id) ON DELETE CASCADE;
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { GlFormCheckbox, GlFormInput } from '@gitlab/ui';
|
||||
import { mountExtended } from 'helpers/vue_test_utils_helper';
|
||||
|
||||
import { GET_JIRA_ISSUE_TYPES_EVENT } from '~/integrations/constants';
|
||||
import JiraIssuesFields from '~/integrations/edit/components/jira_issues_fields.vue';
|
||||
import eventHub from '~/integrations/edit/event_hub';
|
||||
import { createStore } from '~/integrations/edit/store';
|
||||
|
@ -207,7 +208,7 @@ describe('JiraIssuesFields', () => {
|
|||
await setEnableCheckbox(true);
|
||||
await findJiraForVulnerabilities().vm.$emit('request-get-issue-types');
|
||||
|
||||
expect(eventHubEmitSpy).toHaveBeenCalledWith('getJiraIssueTypes');
|
||||
expect(eventHubEmitSpy).toHaveBeenCalledWith(GET_JIRA_ISSUE_TYPES_EVENT);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue