Hides merge request section in edit project when disabled
This commit is contained in:
parent
fd1741b479
commit
4da474ca92
3 changed files with 75 additions and 15 deletions
|
@ -15,18 +15,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectNew.prototype.toggleSettings = function() {
|
ProjectNew.prototype.toggleSettings = function() {
|
||||||
this._showOrHide('#project_builds_enabled', '.builds-feature');
|
this._showOrHide('#project_project_feature_attributes_builds_access_level', '.builds-feature');
|
||||||
return this._showOrHide('#project_merge_requests_enabled', '.merge-requests-feature');
|
this._showOrHide('#project_project_feature_attributes_merge_requests_access_level', '.merge-requests-feature');
|
||||||
};
|
};
|
||||||
|
|
||||||
ProjectNew.prototype.toggleSettingsOnclick = function() {
|
ProjectNew.prototype.toggleSettingsOnclick = function() {
|
||||||
return $('#project_builds_enabled, #project_merge_requests_enabled').on('click', this.toggleSettings);
|
$('#project_project_feature_attributes_builds_access_level, #project_project_feature_attributes_merge_requests_access_level').on('change', this.toggleSettings);
|
||||||
};
|
};
|
||||||
|
|
||||||
ProjectNew.prototype._showOrHide = function(checkElement, container) {
|
ProjectNew.prototype._showOrHide = function(checkElement, container) {
|
||||||
var $container;
|
var $container;
|
||||||
$container = $(container);
|
$container = $(container);
|
||||||
if ($(checkElement).prop('checked')) {
|
if ($(checkElement).val() !== '0') {
|
||||||
return $container.show();
|
return $container.show();
|
||||||
} else {
|
} else {
|
||||||
return $container.hide();
|
return $container.hide();
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
%fieldset.builds-feature
|
.merge-requests-feature
|
||||||
%h5.prepend-top-0
|
%fieldset.builds-feature
|
||||||
Merge Requests
|
%hr
|
||||||
.form-group
|
%h5.prepend-top-0
|
||||||
.checkbox
|
Merge Requests
|
||||||
= f.label :only_allow_merge_if_build_succeeds do
|
.form-group
|
||||||
= f.check_box :only_allow_merge_if_build_succeeds
|
.checkbox
|
||||||
%strong Only allow merge requests to be merged if the build succeeds
|
= f.label :only_allow_merge_if_build_succeeds do
|
||||||
.help-block
|
= f.check_box :only_allow_merge_if_build_succeeds
|
||||||
Builds need to be configured to enable this feature.
|
%strong Only allow merge requests to be merged if the build succeeds
|
||||||
= link_to icon('question-circle'), help_page_path('workflow/merge_requests', anchor: 'only-allow-merge-requests-to-be-merged-if-the-build-succeeds')
|
%br
|
||||||
|
%span.descr
|
||||||
|
Builds need to be configured to enable this feature.
|
||||||
|
= link_to icon('question-circle'), help_page_path('workflow/merge_requests', anchor: 'only-allow-merge-requests-to-be-merged-if-the-build-succeeds')
|
||||||
|
|
57
spec/features/projects/edit_spec.rb
Normal file
57
spec/features/projects/edit_spec.rb
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
feature 'Project edit', feature: true, js: true do
|
||||||
|
include WaitForAjax
|
||||||
|
|
||||||
|
let(:user) { create(:user) }
|
||||||
|
let(:project) { create(:project) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
project.team << [user, :master]
|
||||||
|
login_as(user)
|
||||||
|
|
||||||
|
visit edit_namespace_project_path(project.namespace, project)
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'feature visibility' do
|
||||||
|
context 'merge requests select' do
|
||||||
|
it 'hides merge requests section' do
|
||||||
|
select('Disabled', from: 'project_project_feature_attributes_merge_requests_access_level')
|
||||||
|
|
||||||
|
expect(page).to have_selector('.merge-requests-feature', visible: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'hides merge requests section after save' do
|
||||||
|
select('Disabled', from: 'project_project_feature_attributes_merge_requests_access_level')
|
||||||
|
|
||||||
|
expect(page).to have_selector('.merge-requests-feature', visible: false)
|
||||||
|
|
||||||
|
click_button 'Save changes'
|
||||||
|
|
||||||
|
wait_for_ajax
|
||||||
|
|
||||||
|
expect(page).to have_selector('.merge-requests-feature', visible: false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'builds select' do
|
||||||
|
it 'hides merge requests section' do
|
||||||
|
select('Disabled', from: 'project_project_feature_attributes_builds_access_level')
|
||||||
|
|
||||||
|
expect(page).to have_selector('.builds-feature', visible: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'hides merge requests section after save' do
|
||||||
|
select('Disabled', from: 'project_project_feature_attributes_builds_access_level')
|
||||||
|
|
||||||
|
expect(page).to have_selector('.builds-feature', visible: false)
|
||||||
|
|
||||||
|
click_button 'Save changes'
|
||||||
|
|
||||||
|
wait_for_ajax
|
||||||
|
|
||||||
|
expect(page).to have_selector('.builds-feature', visible: false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue