Project

General

Profile

« Previous | Next » 

Revision 8076e753

Added by Ondřej Pražák over 8 years ago

Fixes #11693 - removed 'destroy' for smart class parameter from API controllers

View differences:

app/controllers/api/v1/lookup_keys_controller.rb
param :id, :identifier, :required => true
def destroy
process_response @lookup_key.destroy
if @lookup_key.type == "PuppetclassLookupKey"
render_error 'unprocessable_entity', :status => :unprocessable_entity
else
process_response @lookup_key.destroy
end
end
end
end
app/controllers/api/v2/smart_class_parameters_controller.rb
render 'api/v2/smart_class_parameters/show'
end
def destroy
@smart_class_parameter.destroy
render 'api/v2/smart_class_parameters/destroy'
end
# overwrite Api::BaseController
def resource_class
LookupKey
app/views/puppetclass_lookup_keys/index.html.erb
<th><%= sort :key, :as => _("Parameter") %></th>
<th><%= sort :puppetclass, :as => _("Puppetclass") %></th>
<th><%= sort :values_count, :as => _('Number of values'), :default => "DESC" %></th>
<th></th>
</tr>
</thead>
<tbody>
......
<% puppet_class = lookup_key.param_class %>
<td><%= link_to_if_authorized trunc_with_tooltip(puppet_class), hash_for_edit_puppetclass_path(:id => puppet_class).merge(:auth_object => puppet_class, :authorizer => @puppetclass_authorizer) if puppet_class %></td>
<td><%=h lookup_key.lookup_values_count %></td>
<td><%= display_delete_if_authorized hash_for_lookup_key_path(:id => lookup_key).merge(:auth_object => lookup_key, :permission => 'destroy_external_variables', :authorizer => authorizer),
:data => { :confirm => _("Delete %s?") % lookup_key.key } %></td>
</tr>
<% end %>
</tbody>
config/routes/api/v2.rb
end
resources :puppetclasses, :except => [:new, :edit] do
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
resources :override_values, :except => [:new, :edit, :destroy]
end
end
resources :hosts, :except => [:new, :edit]
......
resources :override_values, :except => [:new, :edit]
end
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
resources :override_values, :except => [:new, :edit, :destroy]
end
resources :environments, :only => [] do
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :override_values, :except => [:new, :edit]
resources :override_values, :except => [:new, :edit, :destroy]
end
end
resources :hostgroups, :only => [:index, :show]
......
resources :override_values, :except => [:new, :edit]
end
resources :smart_class_parameters, :except => [:new, :edit, :create] do
resources :smart_class_parameters, :except => [:new, :edit, :create, :destroy] do
resources :override_values, :except => [:new, :edit]
end
test/functional/api/v1/lookup_keys_controller_test.rb
assert_response :success
end
test "should destroy lookup_keys" do
assert_difference('LookupKey.count', -1) do
test "should not destroy PuppetclassLookupKey" do
assert_difference('LookupKey.count', 0) do
delete :destroy, { :id => lookup_keys(:one).to_param }
end
assert_response 422
end
test "should destroy VariableLookupKey" do
assert_difference('LookupKey.count', -1) do
delete :destroy, { :id => lookup_keys(:two).to_param }
end
assert_response :success
end
end
test/functional/api/v2/smart_class_parameters_controller_test.rb
refute_equal orig_value, new_value
end
test "should destroy smart class parameter" do
assert_difference('LookupKey.count', -1) do
delete :destroy, { :id => lookup_keys(:five).to_param }
end
assert_response :success
end
test "should return error if smart class parameter if it does not belong to specified puppetclass" do
get :show, {:id => lookup_keys(:five).id, :puppetclass_id => puppetclasses(:one).id}
assert_response 404

Also available in: Unified diff