_form.html.erb
74 lines
| 2.7 KiB
| text/plain
|
TextLexer
|
r8508 | <%= error_messages_for 'time_entry' %> | ||
<%= back_url_hidden_field_tag %> | ||||
<div class="box tabular"> | ||||
|
r10856 | <% if @time_entry.new_record? %> | ||
|
r13058 | <% if params[:project_id] %> | ||
<%= hidden_field_tag 'project_id', params[:project_id] %> | ||||
<% elsif params[:issue_id] %> | ||||
<%= hidden_field_tag 'issue_id', params[:issue_id] %> | ||||
|
r10856 | <% else %> | ||
|
r15553 | <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> | ||
|
r10856 | <% end %> | ||
<% end %> | ||||
<p> | ||||
|
r15794 | <%= f.text_field :issue_id, :size => 6, :required => Setting.timelog_required_fields.include?('issue_id') %> | ||
|
r15569 | <span id="time_entry_issue"> | ||
<%= link_to_issue(@time_entry.issue) if @time_entry.issue.try(:visible?) %> | ||||
</span> | ||||
|
r10853 | </p> | ||
|
r14993 | <p><%= f.date_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %></p> | ||
|
r15589 | <p><%= f.hours_field :hours, :size => 6, :required => true %></p> | ||
|
r15794 | <p><%= f.text_field :comments, :size => 100, :maxlength => 1024, :required => Setting.timelog_required_fields.include?('comments') %></p> | ||
|
r10856 | <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 }) %> | ||||
|
r8508 | </div> | ||
|
r9999 | |||
|
r10853 | <%= javascript_tag do %> | ||
|
r13905 | $(document).ready(function(){ | ||
$('#time_entry_project_id, #time_entry_issue_id').change(function(){ | ||||
$.ajax({ | ||||
|
r15569 | url: '<%= escape_javascript(@time_entry.new_record? ? new_time_entry_path(:format => 'js') : edit_time_entry_path(:format => 'js')) %>', | ||
|
r13905 | type: 'post', | ||
|
r15569 | data: $(this).closest('form').serialize() | ||
|
r13905 | }); | ||
}); | ||||
}); | ||||
|
r15700 | observeAutocompleteField('time_entry_issue_id', | ||
function(request, callback) { | ||||
var url = '<%= j auto_complete_issues_path %>'; | ||||
var data = { | ||||
term: request.term | ||||
}; | ||||
var project_id; | ||||
<% if @project %> | ||||
project_id = '<%= @project.id %>'; | ||||
<% else %> | ||||
project_id = $('#time_entry_project_id').val(); | ||||
<% end %> | ||||
if(project_id){ | ||||
data['project_id'] = project_id; | ||||
} else { | ||||
data['scope'] = 'all'; | ||||
} | ||||
$.get(url, data, null, 'json') | ||||
.done(function(data){ | ||||
callback(data); | ||||
}) | ||||
.fail(function(jqXHR, status, error){ | ||||
callback([]); | ||||
}); | ||||
}, | ||||
{ | ||||
select: function(event, ui) { | ||||
$('#time_entry_issue').text(''); | ||||
$('#time_entry_issue_id').val(ui.item.value).change(); | ||||
} | ||||
|
r10853 | } | ||
|
r15700 | ); | ||
|
r10853 | <% end %> | ||