Bug #9531
closedRemoving host name from Host#edit throws routing error
Description
Steps to reproduce:
1. edit an existing host
2. remove it's name
3. submit
Expected result: Validation Error
Actual result:
Routing Error: No route matches {:action=>"toggle_manage", :controller=>"hosts", :id=>#<Host::Managed id: 1013, name: "", last_compile: nil, last_freshcheck: nil, last_report: nil, updated_at: "2015-02-16 13:48:47", source_file_id: nil, created_at: "2015-02-16 13:48:47", root_pass: "$1$z6u2e8KR$10vMzAGljVnYOiVw1guYh0", serial: nil, puppet_status: 0, architecture_id: 1, operatingsystem_id: 1, environment_id: 1, ptable_id: 7, medium_id: 1, build: true, comment: "", disk: "", installed_at: nil, model_id: nil, hostgroup_id: nil, owner_id: 3, owner_type: "User", enabled: true, puppet_ca_proxy_id: nil, managed: true, use_image: nil, image_file: nil, uuid: nil, compute_resource_id: nil, puppet_proxy_id: nil, certname: nil, image_id: nil, organization_id: 2, location_id: 1, type: "Host::Managed", otp: nil, realm_id: nil, compute_profile_id: nil, provision_method: "build", grub_pass: "$1$a+UhzzpU$mFfRfr2wVfaYIPRlwhIws/">}
Updated by Marek Hulán about 10 years ago
This is caused when rendering error and host name is '', we can't find the route. Here's the line causing problem https://github.com/theforeman/foreman/blob/96277f876959e1cd61c30cb8e28552e3183624da/app/controllers/application_controller.rb#L269
I'm not sure what's the best fix though. Reverting name (oneliner) would revert that in form as well but I'd expect the field to remain empty. Creating a clone object is tricky because of all other associations. This happens only when host name is set to empty string, so probably not a major issue.
Updated by Shimon Shtein about 10 years ago
Client side validations?
We already have a pretty good validations on the server, why not promote them to the client (at least to some extent)?
[[https://github.com/DavyJonesLocker/client_side_validations]]
[[https://github.com/joecorcoran/judge]]
Updated by Marek Hulán about 10 years ago
Oh, I'm glad someone took over the development of original client_side_validations gem after Brian Cardarella left it :-) If we stay with ERB then I vote for using this gem but it's quite big change which should be discussed first on mailing list and tracked as separate RFE. Also it does not solve the real issue, someone could still submit empty name, it's bug in server side.
Updated by Anonymous over 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset adc931f2107eaf14f095193a03ebad6dc10e4d22.