On 24/10/17 13:20, Ivan Necas wrote: > Hi, > > I was hitting this issue recently in the rex plugin, I needed to > change the way the param is whitelisted, > from using an array, to pass it via a block like this: > > https://github.com/theforeman/foreman_remote_execution/pull/276 I changed the portion to
parameter_filter Nic::Interface do |ctx| ctx.permit compute_attributes: [:my_param] end but it still doesn't work. I also tried `ctx.permit :my_param', which worked neither. I'm not sure if I transfered your solution correctly to my usecase, as you seem to be passing the NIC parameters differently than I do (I do it in app/views/compute_resources_vms/form/powervm/_network.html.erb, you in app/views/overrides/nics/_execution_interface.html.erb). > Also, make sure you're testing it with the version of Foreman that has > this patch > https://github.com/theforeman/foreman/pull/4886, as it needs it to > work properly. I'm using the latest develop branch, so this is included > > -- Ivan > > On Thu, Oct 12, 2017 at 7:24 PM, jbm <[email protected]> wrote: >> Hi, >> >> I'm currently working on a Foreman plugin to use IBM PowerVM instances as >> compute resources, and have run into the following problem when implementing >> the network interface form: >> >> Following the guide at [1], I put my additional network parameters in >> `foreman_powervm/app/views/compute_resources_vms/form/foreman_powervm/_network.html.erb', >> like this: >> >> <%= number_f f, :my_param >> :label => _("Foo") %> >> >> I now expected :my_param to be available in >> ForemanPowerVM::PowerVM#create_vm (which is my subclass of ComputeResource), >> in the form of args['interfaces_attributes'][i]['my_param'], but it is not >> there (even though the foreman log shows that my_param was in fact recieved >> as a POST parameter). >> >> So, as described in [2], I added >> >> parameter_filter Nic::Interface, compute_attributes: [:my_param] >> >> to the Plugin.register block in my Engine class, but to no avail. >> >> >> After a bit of digging around in the foreman code I managed to "fix" this by >> adding :my_param to the :compute_attributes entry in >> Foreman::Controller::Parameters::NicBase#add_nic_base_params_filter (file >> `foreman_app/controllers/concerns/foreman/controller/parameters/nic_base.rb:27'). >> >> >> How do I keep my parameter from being filtered without altering foreman >> code? What is the correct way to register parameters, as parameter_filter >> doesnt seem to work? >> >> >> Thanks for reading and hopefully your help! >> >> >> [1]: >> http://projects.theforeman.org/projects/foreman/wiki/How_to_Create_a_Plugin#Required-views >> [2]: http://projects.theforeman.org/projects/foreman/wiki/Strong_parameters >> >> -- >> jbm >> >> -- >> You received this message because you are subscribed to the Google Groups >> "foreman-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "foreman-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
