|
| 1 | +.container |
| 2 | + .row |
| 3 | + - if flash[:error] |
| 4 | + .alert.alert-error #{flash[:error]} |
| 5 | + - if flash[:warning] |
| 6 | + .alert #{flash[:warning]} |
| 7 | + - if flash[:notice] |
| 8 | + .alert.alert-success #{flash[:notice]} |
| 9 | + .hero-unit |
| 10 | + - if authorized? |
| 11 | + %form#buildvmform.form-horizontal{:action => '/build', :method => 'post'} |
| 12 | + %legend Create a New Virtual Machine |
| 13 | + - buildvmform_control_group(:vmname) do |
| 14 | + %label.control-label{:for => 'vmname'}VM Name |
| 15 | + .controls |
| 16 | + %input{:type => 'text', :name => 'vmname', :id => 'vmname', :value => buildvmform_vmname_value} |
| 17 | + - buildvmform_show_validation_error(:vmname) |
| 18 | + - buildvmform_control_group(:owner) do |
| 19 | + %label.control-label{:for => 'owner'}Owner's email |
| 20 | + .controls |
| 21 | + %input{:type => 'text', :name => 'owner', :id => 'owner', :value => (params[:owner] || session[:username])} |
| 22 | + - buildvmform_show_validation_error(:owner) |
| 23 | + - buildvmform_control_group(:vmramsize) do |
| 24 | + %label.control-label{:for => 'vmramsize'}Amount of RAM |
| 25 | + .controls |
| 26 | + #bgvmramsize.btn-group{'data-toggle' => 'buttons-radio'} |
| 27 | + - VMDeploy[:deployer_params][:ram_sizes].each do |ramsize| |
| 28 | + %button.btn{:type => 'button'} #{ramsize} |
| 29 | + %input{:type => 'hidden', :name => 'vmramsize', :id => 'vmramsize', :value => params[:vmramsize]} |
| 30 | + - buildvmform_show_validation_error(:vmramsize) |
| 31 | + - buildvmform_control_group(:vmnumberofcpus) do |
| 32 | + %label.control-label{:for => 'vmnumberofcpus'}Number of CPUs |
| 33 | + .controls |
| 34 | + #bgvmnumberofcpus.btn-group{'data-toggle' => 'buttons-radio'} |
| 35 | + - VMDeploy[:deployer_params][:number_of_cpus].each do |ncpus| |
| 36 | + %button.btn{:type => 'button'} #{ncpus} |
| 37 | + %input{:type => 'hidden', :name => 'vmnumberofcpus', :id => 'vmnumberofcpus', :value => params[:vmnumberofcpus]} |
| 38 | + - buildvmform_show_validation_error(:vmnumberofcpus) |
| 39 | + - buildvmform_control_group(:vmnetwork) do |
| 40 | + %label.control-label{:for => 'vmnetwork'}Network |
| 41 | + .controls |
| 42 | + #bgvmnetwork.btn-group{'data-toggle' => 'buttons-radio'} |
| 43 | + - VMDeploy[:deployer_params][:networks].each do |network| |
| 44 | + %button.btn{:type => 'button'} #{network} |
| 45 | + %input{:type => 'hidden', :name => 'vmnetwork', :id => 'vmnetwork', :value => params[:vmnetwork]} |
| 46 | + - buildvmform_show_validation_error(:vmnetwork) |
| 47 | + - buildvmform_control_group(:rubyversion) do |
| 48 | + %label.control-label{:for => 'rubyversion'}Ruby Version |
| 49 | + .controls |
| 50 | + %select{:name => 'rubyversion', :id => 'rubyversion'} |
| 51 | + - VMDeploy[:deployer_params][:ruby_versions].each do |ruby| |
| 52 | + %option{:value => ruby} #{ruby} |
| 53 | + - buildvmform_show_validation_error(:rubyversion) |
| 54 | + - buildvmform_control_group(:department) do |
| 55 | + %label.control-label{:for => 'department'}Department |
| 56 | + .controls |
| 57 | + %select{:name => 'department', :id => 'department'} |
| 58 | + - VMDeploy[:deployer_params][:departments].each do |dpt| |
| 59 | + %option{:value => dpt, :selected => params[:department] == dpt } #{dpt} |
| 60 | + - buildvmform_show_validation_error(:department) |
| 61 | + .control-group |
| 62 | + .controls |
| 63 | + #submit.btn.btn-primary{:type => 'submit'}Build VM |
| 64 | + #clear.btn Clear |
| 65 | + - else |
| 66 | + %a.btn.btn-primary.btn-large{:href => "/auth/google"} Login with Google Apps |
| 67 | + %img#splashimage.pull-right{:src => "/deployer.png"} |
| 68 | + %div{:style => 'clear: both;'} |
| 69 | + |
| 70 | +:javascript |
| 71 | + $('#bgvmramsize > button').click(function(){ |
| 72 | + $("#vmramsize").val($(this).text()); |
| 73 | + }); |
| 74 | + $('#bgvmnumberofcpus > button').click(function(){ |
| 75 | + $("#vmnumberofcpus").val($(this).text()); |
| 76 | + }); |
| 77 | + $('#bgvmnetwork > button').click(function(){ |
| 78 | + $("#vmnetwork").val($(this).text()); |
| 79 | + }); |
| 80 | + |
| 81 | + function form_defaults() { |
| 82 | + if ($('#vmramsize').val() == '') { |
| 83 | + $('#vmramsize').val($('#bgvmramsize > button').first().text()); |
| 84 | + } |
| 85 | + if ($('#vmnumberofcpus').val() == '') { |
| 86 | + $('#vmnumberofcpus').val($('#bgvmnumberofcpus > button').first().text()); |
| 87 | + } |
| 88 | + if ($('#vmnetwork').val() == '') { |
| 89 | + $('#vmnetwork').val($('#bgvmnetwork > button').first().text()); |
| 90 | + } |
| 91 | + } |
| 92 | + |
| 93 | + function form_parameters_changed() { |
| 94 | + // "Click" the buttons according to the params |
| 95 | + v = $('#vmramsize').val(); $("#bgvmramsize > button:contains('"+v+"')").click(); |
| 96 | + v = $('#vmnumberofcpus').val(); $("#bgvmnumberofcpus > button:contains('"+v+"')").click(); |
| 97 | + v = $('#vmnetwork').val(); $("#bgvmnetwork > button:contains('"+v+"')").click(); |
| 98 | + } |
| 99 | + |
| 100 | + $(document).ready(function() { |
| 101 | + $('#submit.btn').click(function(){ |
| 102 | + $('#buildvmform').submit(); |
| 103 | + }); |
| 104 | + $('#clear.btn').click(function(){ |
| 105 | + $('#vmramsize').val(''); |
| 106 | + $('#vmnumberofcpus').val(''); |
| 107 | + $('#vmnetwork').val(''); |
| 108 | + form_defaults(); |
| 109 | + form_parameters_changed(); |
| 110 | + }); |
| 111 | + form_defaults(); |
| 112 | + form_parameters_changed(); |
| 113 | + }) |
0 commit comments