On 04/07/16 03:00, Matthew Ceroni wrote: > I am attempting to develop a plugin. > > The main functionality of the plugin is going to be to automatically set > the Virtual machine network based off the subnet set on the interface > tab. The initial version would just match the name set in the interface > tab to the name of the network on the virtual machine tab. Future > versions might take a config file to set that mapping. > > I believe the change should be pretty simple, just run a javascript > function onchange when the subnet is selected. Therefore I need to > include a new javascript (asset) on the host edit page. I see that > plugins such as foreman_salt and foreman_bootdisk do just that. In my > plugin I created a new asset and created the javascript file. However I > am not sure how to tie that asset to the host edit page.
Using the Deface gem (https://github.com/spree/deface) is perhaps the easiest method, which will allow you to inject the following into the page template: <% javascript "foreman_example/your_asset" %> Add deface ~> 1.0 as a dependency to the plugin, then create a file under app/overrides/ containing something like: Deface::Override.new(:virtual_path => "hosts/_form", :name => "foreman_example/js", :insert_before => "erb[loud]:contains(:javascript)", :text => "<% javascript "foreman_example/your_asset" %>") Untested, but the idea is that will match the <%= javascript %> at the top of app/views/hosts/_form.html.erb and insert your own line there. -- Dominic Cleal domi...@cleal.org -- 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 foreman-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.