summaryrefslogtreecommitdiffstats
path: root/app/views/timelog/_form.html.erb
blob: 59198d0fb682889484a73b704aaf0bc96acf1ad0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<%= error_messages_for 'time_entry' %>
<%= back_url_hidden_field_tag %>

<div class="box tabular">
  <% if @time_entry.new_record? %>
    <% if params[:project_id] %>
      <%= hidden_field_tag 'project_id', params[:project_id] %>
    <% elsif params[:issue_id] %>
      <%= hidden_field_tag 'issue_id', params[:issue_id] %>
    <% else %>
      <p><%= f.select :project_id, project_tree_options_for_select(Project.allowed_to(:log_time).to_a, :selected => @time_entry.project, :include_blank => true), :required => true %></p>
    <% end %>
  <% end %>
  <p>
    <%= f.text_field :issue_id, :size => 6 %>
    <span id="time_entry_issue">
      <%=  link_to_issue(@time_entry.issue) if @time_entry.issue.try(:visible?) %>
    </span>
  </p>
  <p><%= f.date_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %></p>
  <p><%= f.text_field :hours, :size => 6, :required => true, :value => format_hours(@time_entry.hours) %></p>
  <p><%= f.text_field :comments, :size => 100, :maxlength => 1024 %></p>
  <p><%= f.select :activity_id, activity_collection_for_select_options(@time_entry), :required => true %></p>
  <% @time_entry.custom_field_values.each do |value| %>
    <p><%= custom_field_tag_with_label :time_entry, value %></p>
  <% end %>
  <%= call_hook(:view_timelog_edit_form_bottom, { :time_entry => @time_entry, :form => f }) %>
</div>

<%= javascript_tag do %>
  $(document).ready(function(){
    $('#time_entry_project_id, #time_entry_issue_id').change(function(){
      $.ajax({
        url: '<%= escape_javascript(@time_entry.new_record? ? new_time_entry_path(:format => 'js') : edit_time_entry_path(:format => 'js')) %>',
        type: 'post',
        data: $(this).closest('form').serialize()
      });
    });
  });

  observeAutocompleteField('time_entry_issue_id', '<%= escape_javascript auto_complete_issues_path(:project_id => @project, :scope => (@project ? nil : 'all'))%>', {
    select: function(event, ui) {
      $('#time_entry_issue').text('');
      $('#time_entry_issue_id').val(ui.item.value).change();
    }
  });
<% end %>