Defect #34641 » 0002-Update-log-time-and-add-notes-blocks-when-updating-t.patch
app/views/issues/_edit.html.erb | ||
---|---|---|
9 | 9 |
</div> |
10 | 10 |
</fieldset> |
11 | 11 |
<% end %> |
12 |
<% if User.current.allowed_to?(:log_time, @project) %> |
|
13 |
<fieldset class="tabular"><legend><%= l(:button_log_time) %></legend> |
|
12 |
<% if User.current.allowed_to?(:log_time, @issue.project) %>
|
|
13 |
<fieldset class="tabular" id="log_time"><legend><%= l(:button_log_time) %></legend>
|
|
14 | 14 |
<%= labelled_fields_for :time_entry, @time_entry do |time_entry| %> |
15 | 15 |
<div class="splitcontent"> |
16 | 16 |
<div class="splitcontentleft"> |
... | ... | |
28 | 28 |
</fieldset> |
29 | 29 |
<% end %> |
30 | 30 |
<% if @issue.notes_addable? %> |
31 |
<fieldset><legend><%= l(:field_notes) %></legend> |
|
31 |
<fieldset id="add_notes"><legend><%= l(:field_notes) %></legend>
|
|
32 | 32 |
<%= f.text_area :notes, :cols => 60, :rows => 10, :class => 'wiki-edit', |
33 | 33 |
:data => { |
34 | 34 |
:auto_complete => true |
... | ... | |
43 | 43 |
<%= call_hook(:view_issues_edit_notes_bottom, { :issue => @issue, :notes => @notes, :form => f }) %> |
44 | 44 |
</fieldset> |
45 | 45 | |
46 |
<fieldset><legend><%= l(:label_attachment_plural) %></legend> |
|
46 |
<fieldset id="add_attachments"'><legend><%= l(:label_attachment_plural) %></legend>
|
|
47 | 47 |
<% if @issue.attachments.any? && @issue.safe_attribute?('deleted_attachment_ids') %> |
48 | 48 |
<div class="contextual"><%= link_to l(:label_edit_attachments), '#', :onclick => "$('#existing-attachments').toggle(); return false;" %></div> |
49 | 49 |
<div id="existing-attachments" style="<%= @issue.deleted_attachment_ids.blank? ? 'display:none;' : '' %>"> |
app/views/issues/edit.js.erb | ||
---|---|---|
1 |
replaceIssueFormWith('<%= escape_javascript(render :partial => 'form') %>'); |
|
2 | ||
3 |
<% if User.current.allowed_to?(:log_time, @issue.project) %> |
|
4 |
$('#log_time').show(); |
|
5 |
<% else %> |
|
6 |
$('#log_time').hide(); |
|
7 |
<% end %> |
|
1 |
replaceIssueFormWith('<%= escape_javascript(render :partial => 'edit') %>'); |
public/javascripts/application.js | ||
---|---|---|
585 | 585 |
replacement.find('#'+object_id).val($(this).val()); |
586 | 586 |
} |
587 | 587 |
}); |
588 |
$('#all_attributes').empty(); |
|
589 |
$('#all_attributes').prepend(replacement); |
|
588 | ||
589 |
if ($('form.new_issue').length > 0) { |
|
590 |
$('#all_attributes').empty(); |
|
591 |
$('#all_attributes').prepend(replacement); |
|
592 |
} else { |
|
593 |
$('#issue-form').replaceWith(replacement); |
|
594 |
} |
|
590 | 595 |
} |
591 | 596 | |
592 | 597 |
function updateBulkEditFrom(url) { |
test/application_system_test_case.rb | ||
---|---|---|
81 | 81 |
assert_equal '/my/page', current_path |
82 | 82 |
end |
83 | 83 | |
84 |
def wait_for_ajax |
|
85 |
Timeout.timeout(Capybara.default_max_wait_time) do |
|
86 |
loop until page.evaluate_script("jQuery.active").zero? |
|
87 |
end |
|
88 |
end |
|
89 | ||
84 | 90 |
def clear_downloaded_files |
85 | 91 |
FileUtils.rm downloaded_files |
86 | 92 |
end |
test/system/issues_test.rb | ||
---|---|---|
571 | 571 |
assert page.has_text? 'Related to Bug #7' |
572 | 572 |
end |
573 | 573 |
end |
574 | ||
575 |
def test_update_issue_form_should_include_time_entry_form_only_for_users_with_permission |
|
576 |
log_user('jsmith', 'jsmith') |
|
577 | ||
578 |
visit '/issues/2' |
|
579 |
page.first(:link, 'Edit').click |
|
580 | ||
581 |
# assert log time form exits for user with required permissions on the current project |
|
582 |
assert page.has_css?('#log_time') |
|
583 | ||
584 |
# Change project to trigger an update on issue form |
|
585 |
page.find('#issue_project_id').select('» Private child of eCookbook') |
|
586 |
wait_for_ajax |
|
587 | ||
588 |
# assert log time form does not exist anymore for user without required permissions on the new project |
|
589 |
assert_not page.has_css?('#log_time') |
|
590 |
end |
|
591 | ||
592 |
def test_update_issue_form_should_include_add_notes_form_only_for_users_with_permission |
|
593 |
log_user('jsmith', 'jsmith') |
|
594 | ||
595 |
visit '/issues/2' |
|
596 |
page.first(:link, 'Edit').click |
|
597 | ||
598 |
# assert add notes form exits for user with required permissions on the current project |
|
599 |
assert page.has_css?('#add_notes') |
|
600 | ||
601 |
# remove add issue notes permission from Manager role |
|
602 |
Role.find_by_name('Manager').remove_permission! :add_issue_notes |
|
603 | ||
604 |
# Change project to trigger an update on issue form |
|
605 |
page.find('#issue_project_id').select('» Private child of eCookbook') |
|
606 |
wait_for_ajax |
|
607 | ||
608 |
# assert add notes form does not exist anymore for user without required permissions on the new project |
|
609 |
assert_not page.has_css?('#add_notes') |
|
610 |
end |
|
574 | 611 |
end |
- « Previous
- 1
- …
- 3
- 4
- 5
- Next »