<% if @agent.errors.any? %>

<%= pluralize(@agent.errors.count, "error") %> prohibited this Agent from being saved:

<% @agent.errors.full_messages.each do |msg| %>

<%= msg %>

<% end %>
<% end %> <%= form_for(@agent, :as => :agent, :url => @agent.new_record? ? agents_path : agent_path(@agent), :method => @agent.new_record? ? "POST" : "PUT") do |f| %>
<% if @agent.new_record? %>
<%= f.label :type %> <%= f.select :type, options_for_select(Agent.types.map(&:to_s).sort.map {|type| [type.gsub(/^.*::/, ''), type] }, @agent.type), {}, :class => 'select2 form-control' %>
<% end %>
<%= f.label :name %> <%= f.text_field :name, :class => 'form-control' %>
<% if @agent.try(:oauthable?) %>
<%= f.label :service %> <%= f.select :service_id, options_for_select(@agent.valid_services_for(current_user).collect { |s| ["(#{s.provider}) #{s.name}", s.id]}, @agent.service_id), {}, class: 'form-control' %>
<% end %>
<%= f.label :schedule, :class => 'control-label' %>
<%= f.select :schedule, options_for_select(Agent::SCHEDULES.map {|s| [s.humanize.titleize, s] }, @agent.schedule), {}, :class => 'form-control' %> This type of Agent cannot be scheduled.
<%= f.label :sources %>
<% if current_user.scenario_count > 0 %>
<%= f.label :scenarios %> <%= f.select(:scenario_ids, options_for_select(current_user.scenarios.pluck(:name, :id), @agent.scenario_ids), {}, { :multiple => true, :size => 5, :class => 'select2 form-control' }) %>
<% end %>
<%= f.label :options %>
<%= @agent.html_description unless @agent.new_record? %>
<%= f.submit "Save", :class => "btn btn-primary" %>
<% end %>