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 over 9 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 over 9 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 over 9 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 Dominic Cleal over 8 years ago
- Related to Bug #4519: Renaming host with / in name causes "No route matches" error added
Updated by Dominic Cleal over 8 years ago
- Has duplicate Bug #13853: Deleting name on existing host leads to routing error added
Updated by The Foreman Bot almost 8 years ago
- Status changed from New to Ready For Testing
- Assignee set to Tomer Brisker
- Pull request https://github.com/theforeman/foreman/pull/4179 added
Updated by Tomer Brisker almost 8 years ago
- Related to Bug #12932: Update to 1.8.4 Bonded server cannot be modified added
Updated by Anonymous almost 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset adc931f2107eaf14f095193a03ebad6dc10e4d22.
Updated by Dominic Cleal almost 8 years ago
- Translation missing: en.field_release set to 210