[#356] fix changing the update type of the build list
This commit is contained in:
parent
782eef0664
commit
bbaa67d674
|
@ -2,14 +2,15 @@ RosaABF.controller('BuildListController', ['$scope', '$http', '$timeout', 'Sound
|
|||
|
||||
$scope.advisoriable_types = <%=BuildList::RELEASE_UPDATE_TYPES%>;
|
||||
|
||||
$scope.id = $('#build_list_id').val();
|
||||
$scope.build_list = null;
|
||||
$scope.subject = {}; // See: shared/build_results
|
||||
$scope.attach_advisory = 'no';
|
||||
$scope.id = $('#build_list_id').val();
|
||||
$scope.build_list = null;
|
||||
$scope.subject = {}; // See: shared/build_results
|
||||
$scope.attach_advisory = 'no';
|
||||
// Statuses: advisory_not_found, server_error, continue_input
|
||||
$scope.search_status = 'continue_input';
|
||||
$scope.term = '';
|
||||
$scope.advisory = null;
|
||||
$scope.search_status = 'continue_input';
|
||||
$scope.term = '';
|
||||
$scope.advisory = null;
|
||||
$scope.update_type_errors = null;
|
||||
|
||||
$scope.getBuildList = function() {
|
||||
$http.get(Routes.build_list_path($scope.id, {format: 'json'})).success(function(results) {
|
||||
|
@ -60,13 +61,28 @@ RosaABF.controller('BuildListController', ['$scope', '$http', '$timeout', 'Sound
|
|||
} else {
|
||||
$scope.attach_advisory = 'no';
|
||||
}
|
||||
$scope.updateUpdateType();
|
||||
}
|
||||
|
||||
$scope.attachAdvisoryChanged = function() {
|
||||
if (!_.contains($scope.advisoriable_types, $scope.build_list.update_type)) {
|
||||
$scope.build_list.update_type = $scope.advisoriable_types[0];
|
||||
$scope.updateUpdateType();
|
||||
}
|
||||
$('#build_list_update_type .nonadvisoriable').attr('disabled', ($scope.attach_advisory != 'no'));
|
||||
}
|
||||
|
||||
$scope.updateUpdateType = function() {
|
||||
$http.put(
|
||||
Routes.update_type_build_list_path($scope.id),
|
||||
{update_type: $scope.build_list.update_type, format: 'json'}
|
||||
).success(function(results) {
|
||||
$scope.update_type_errors = null;
|
||||
$timeout(function() {
|
||||
$('#build_list_update_type').effect('highlight', {}, 1000);
|
||||
}, 100);
|
||||
}).error(function(data, status, headers, config) {
|
||||
$scope.update_type_errors = data.message;
|
||||
});
|
||||
}
|
||||
}]);
|
|
@ -166,6 +166,20 @@ class Projects::BuildListsController < Projects::BaseController
|
|||
render partial: 'build_lists_ajax', layout: false
|
||||
end
|
||||
|
||||
def update_type
|
||||
respond_to do |format|
|
||||
format.html { render nothing: true }
|
||||
format.json do
|
||||
@build_list.update_type = params[:update_type]
|
||||
if @build_list.save
|
||||
render json: 'success', status: :ok
|
||||
else
|
||||
render json: { message: @build_list.errors.full_messages.join('. ') },
|
||||
status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
|
|
|
@ -51,6 +51,11 @@
|
|||
@build_list.update_type), {}, 'ng-model' => 'build_list.update_type',
|
||||
'ng-change' => 'updateTypeChanged()', 'ng-show' => 'build_list.can_publish'
|
||||
%div{'ng-hide' => 'build_list.can_publish'}= @build_list.update_type
|
||||
.ng-hide{ 'ng-show' => 'update_type_errors' }
|
||||
.flash_notify
|
||||
.alert{ 'ng-class' => "{ 'alert-error': update_type_errors }" }
|
||||
{{ update_type_errors }}
|
||||
.both
|
||||
.both
|
||||
.leftlist= t("activerecord.attributes.build_list.auto_publish")
|
||||
.rightlist= t("layout.#{@build_list.auto_publish}_")
|
||||
|
|
|
@ -282,6 +282,7 @@ Rosa::Application.routes.draw do
|
|||
put :publish
|
||||
put :reject_publish
|
||||
put :publish_into_testing
|
||||
put :update_type
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue