<%= simple_form_for(@task, url: @task.new_record? ? tasks_path : task_path(@task), as: :task, html: {class: 'form-vertical', style: 'margin-bottom:15px;'}) do |f| %> <%= hidden_field_tag :story_id, @task.story_id %> <%= f.input :name, required: true %> <%= f.input :text, as: :text %> <fieldset class="fieldset" style="border: 1px solid black; padding:15px; margin-top:15px;"> <legend style="margin-bottom: 0px;"><%= t('activerecord.models.vacancy') %></legend> <div class="form-group string optional vacancy_resource_type <%= params[:task].present? && @task.vacancy.resource_type.blank? ? ' has-error' : '' %>"> <label class="string optional control-label control-label" for="vacancy_resource_type"> <abbr title="required">*</abbr> <%= t('attributes.resource_type') %> </label> <%= select_tag :resource_type, options_for_select(['User', 'Thing'], @task.vacancy.resource_type), id: 'vacancy_resource_type', name: 'task[vacancy_attributes][resource_type]', class: 'string required form-control' %> <% if params[:task].present? && @task.vacancy.resource_type.blank? %> <span class="help-block"><%= t('errors.messages.blank') %></span> <% end %> </div> <div class="form-group string required vacancy_name <%= params[:task].present? && @task.vacancy.name.blank? ? ' has-error' : '' %>"> <label class="string required control-label control-label" for="vacancy_name"> <abbr title="required">*</abbr> <%= t('attributes.name') %> </label> <%= text_field_tag :name, @task.vacancy.name, id: 'vacancy_name', name: 'task[vacancy_attributes][name]', class: 'string required form-control' %> <% if params[:task].present? && @task.vacancy.name.blank? %> <span class="help-block"><%= t('errors.messages.blank') %></span> <% end %> </div> <div class="form-group string optional vacancy_limit"> <label class="string optional control-label control-label" for="vacancy_limit"> <%= t('activerecord.attributes.vacancy.limit') %> </label> <%= text_field_tag :limit, @task.vacancy.limit, id: 'vacancy_limit', name: 'task[vacancy_attributes][limit]', class: 'string optional form-control' %> </div> <div class="form-group string optional vacancy_timezone <%= params[:task].present? && @task.vacancy.timezone.blank? ? ' has-error' : '' %>"> <label class="string optional control-label control-label" for="vacancy_timezone"> <%= t('attributes.timezone') %> </label> <%= time_zone_select @task.vacancy, :timezone, nil, {}, id: 'vacancy_timezone', name: 'task[vacancy_attributes][timezone]', class: 'form-control', class: 'string required form-control' %> <% if params[:task].present? && @task.vacancy.timezone.blank? %> <span class="help-block"><%= t('errors.messages.blank') %></span> <% end %> </div> <div class="form-group string optional vacancy_from_raw <%= params[:task].present? && @task.vacancy.from_raw.blank? ? ' has-error' : '' %>"> <label class="string optional control-label control-label" for="vacancy_from_raw"> <%= t('activerecord.attributes.vacancy.from') %> </label> <div class="datetime_picker" class="input-append date"> <%= text_field_tag :from_raw, @task.vacancy.from_raw, id: 'vacancy_from_raw', name: 'task[vacancy_attributes][from_raw]', 'data-format' => 'yyyy-MM-dd hh:mm:ss', style: 'width:165px;', class: 'string required form-control' %> <span class="add-on"> <i data-time-icon="icon-time" data-date-icon="icon-calendar"> </i> </span> <% if params[:task].present? && @task.vacancy.from_raw.blank? %> <span class="help-block"><%= t('errors.messages.blank') %></span> <% end %> </div> </div> <div class="form-group string optional vacancy_to_raw <%= params[:task].present? && @task.vacancy.to_raw.blank? ? ' has-error' : '' %>"> <label class="string optional control-label control-label" for="vacancy_to_raw"> <%= t('activerecord.attributes.vacancy.to') %> </label> <div class="datetime_picker" class="input-append date"> <%= text_field_tag :to_raw, @task.vacancy.to_raw, id: 'vacancy_to_raw', name: 'task[vacancy_attributes][to_raw]', 'data-format' => 'yyyy-MM-dd hh:mm:ss', style: 'width:165px;', class: 'string required form-control' %> <span class="add-on"> <i data-time-icon="icon-time" data-date-icon="icon-calendar"> </i> </span> <% if params[:task].present? && @task.vacancy.to_raw.blank? %> <span class="help-block"><%= t('errors.messages.blank') %></span> <% end %> </div> </div> </fieldset> <fieldset class="fieldset" style="border: 1px solid black; padding:15px; margin-top:15px; margin-bottom:15px;"> <legend style="margin-bottom: 0px;"><%= t('attributes.address') %></legend> <div class="form-group string optional task_address"> <label class="string optional control-label control-label" for="task_address"><%= t('attributes.string') %></label> <input name="task[address]" id="task_address" value="<%= @task.address %>" class="string optional form-control"/> <div id="task_map" style="width: 500px; height: 400px; margin-top:15px;"></div> <input type="hidden" name="task[lat]" id="task_lat" value="<%= @task.lat %>"/> <input type="hidden" name="task[lon]" id="task_lon" value="<%= @task.lon %>"/> </div> <div class="form-group string optional task_address_description"> <label class="string optional control-label control-label" for="task_address_description"><%= t('attributes.description') %></label> <input name="task[address_description]" id="task_address_description" value="<%= @task.address_description %>" class="string optional form-control"/> </div> </fieldset> <%= f.button :submit %> <% end %> <% content_for :javascript_includes do %> <script type="text/javascript" src='http://maps.google.com/maps/api/js?sensor=false&libraries=places'></script> <%= javascript_include_tag 'voluntary/optional_lib/jquery.location_picker.js' %> <% end %> <% content_for :document_ready do %> <% if @task.lat.present? %> var lat = "<%= @task.lat %>"; var lon = "<%= @task.lon %>"; <% else %> var lat = "<%= @story.lat %>"; var lon = "<%= @story.lon %>"; <% end %> function initLocationPicker(position) { options = { radius: 300, inputBinding: { latitudeInput: $('#task_lat'), longitudeInput: $('#task_lon'), locationNameInput: $('#task_address') }, enableAutocomplete: true } if(position) { options['location'] = { latitude: position.coords.latitude, longitude: position.coords.longitude } } else if (lat != "") { options['location'] = { latitude: lat, longitude: lon } } $('#task_map').locationpicker(options); } if(lat == "" && navigator.geolocation) { navigator.geolocation.getCurrentPosition(initLocationPicker); } else { initLocationPicker(null); } $('#vacancy_timezone').val('<%= @task.vacancy.timezone %>') <% end %>