diff --git a/CHANGELOG.md b/CHANGELOG.md index 266c2ac23..c000d7124 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Unreleased +# 0.45.2 +* (bugfix) Fix 404 error when removing all permissions from an API client + # 0.45.1 * Make `PRESENCE_CHECK_TIMEOUT` configurable via environment variable diff --git a/Gemfile.lock b/Gemfile.lock index 6f5dce38b..bfa4428da 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - shipit-engine (0.45.1) + shipit-engine (0.45.2) active_model_serializers (~> 0.9.3) ansi_stream (~> 0.0.6) autoprefixer-rails (~> 6.4.1) @@ -431,4 +431,4 @@ DEPENDENCIES webmock BUNDLED WITH - 2.6.7 + 4.0.6 diff --git a/app/controllers/shipit/api_clients_controller.rb b/app/controllers/shipit/api_clients_controller.rb index b4c0dc3e7..6e5bcca66 100644 --- a/app/controllers/shipit/api_clients_controller.rb +++ b/app/controllers/shipit/api_clients_controller.rb @@ -43,7 +43,9 @@ def create_params end def update_params - params.require(:api_client).permit(permissions: []) + permitted = params.require(:api_client).permit(permissions: []) + permitted[:permissions] = permitted[:permissions].reject(&:blank?) + permitted end end end diff --git a/app/views/shipit/api_clients/show.html.erb b/app/views/shipit/api_clients/show.html.erb index 3c515c90d..70ba186cc 100644 --- a/app/views/shipit/api_clients/show.html.erb +++ b/app/views/shipit/api_clients/show.html.erb @@ -17,6 +17,7 @@
<%= form_for @api_client, url: api_client_path(@api_client) do |f| %>

Permissions

+ <%= hidden_field_tag 'api_client[permissions][]', '' %>