Feature #31573 » 0002-Connect-journal-boxes.patch
| app/views/issues/tabs/_changesets.html.erb | ||
|---|---|---|
| 1 |
<% @changesets.each do |changeset| %> |
|
| 2 |
<div id="changeset-<%= changeset.id %>" class="changeset journal"> |
|
| 3 |
<div> |
|
| 4 |
<h4> |
|
| 5 |
<%= avatar(changeset.user, :size => "24") %> |
|
| 6 |
<%= authoring changeset.committed_on, changeset.author, :label => :label_added_time_by %> |
|
| 7 |
</h4> |
|
| 8 |
<p><%= link_to_revision(changeset, changeset.repository, |
|
| 9 |
:text => "#{l(:label_revision)} #{changeset.format_identifier}") %>
|
|
| 10 |
<% if changeset.filechanges.any? && User.current.allowed_to?(:browse_repository, changeset.project) %> |
|
| 11 |
(<%= link_to(l(:label_diff), |
|
| 12 |
:controller => 'repositories', |
|
| 13 |
:action => 'diff', |
|
| 14 |
:id => changeset.project, |
|
| 15 |
:repository_id => changeset.repository.identifier_param, |
|
| 16 |
:path => "", |
|
| 17 |
:rev => changeset.identifier) %>) |
|
| 18 |
<% end %></p> |
|
| 1 |
<div class="entries"> |
|
| 2 |
<% @changesets.each do |changeset| %> |
|
| 3 |
<div id="changeset-<%= changeset.id %>" class="changeset journal"> |
|
| 4 |
<div> |
|
| 5 |
<h4> |
|
| 6 |
<%= avatar(changeset.user, :size => "24") %> |
|
| 7 |
<%= authoring changeset.committed_on, changeset.author, :label => :label_added_time_by %> |
|
| 8 |
</h4> |
|
| 9 |
<p><%= link_to_revision(changeset, changeset.repository, |
|
| 10 |
:text => "#{l(:label_revision)} #{changeset.format_identifier}") %>
|
|
| 11 |
<% if changeset.filechanges.any? && User.current.allowed_to?(:browse_repository, changeset.project) %> |
|
| 12 |
(<%= link_to(l(:label_diff), |
|
| 13 |
:controller => 'repositories', |
|
| 14 |
:action => 'diff', |
|
| 15 |
:id => changeset.project, |
|
| 16 |
:repository_id => changeset.repository.identifier_param, |
|
| 17 |
:path => "", |
|
| 18 |
:rev => changeset.identifier) %>) |
|
| 19 |
<% end %></p> |
|
| 19 | 20 | |
| 20 |
<div class="wiki changeset-comments"> |
|
| 21 |
<%= format_changeset_comments changeset %> |
|
| 21 |
<div class="wiki changeset-comments"> |
|
| 22 |
<%= format_changeset_comments changeset %> |
|
| 23 |
</div> |
|
| 22 | 24 |
</div> |
| 23 | 25 |
</div> |
| 24 |
</div> |
|
| 25 |
<%= call_hook(:view_issues_history_changeset_bottom, { :changeset => changeset }) %>
|
|
| 26 |
<% end %> |
|
| 26 |
<%= call_hook(:view_issues_history_changeset_bottom, { :changeset => changeset }) %>
|
|
| 27 |
<% end %> |
|
| 28 |
</div> |
|
| app/views/issues/tabs/_history.html.erb | ||
|---|---|---|
| 4 | 4 |
%> |
| 5 | 5 | |
| 6 | 6 |
<% reply_links = issue.notes_addable? -%> |
| 7 |
<% for journal in journals %> |
|
| 8 |
<div id="change-<%= journal.id %>" class="<%= journal.css_classes %>"> |
|
| 9 |
<div id="note-<%= journal.indice %>"> |
|
| 10 |
<div class="contextual"> |
|
| 11 |
<span class="journal-actions"><%= render_journal_actions(issue, journal, :reply_links => reply_links) %></span> |
|
| 12 |
<a href="#note-<%= journal.indice %>" class="journal-link">#<%= journal.indice %></a> |
|
| 13 |
</div> |
|
| 14 |
<h4> |
|
| 15 |
<%= avatar(journal.user) %> |
|
| 16 |
<%= authoring journal.created_on, journal.user, :label => :label_updated_time_by %> |
|
| 17 |
<%= render_private_notes_indicator(journal) %> |
|
| 18 |
</h4> |
|
| 7 |
<div class="entries"> |
|
| 8 |
<% for journal in journals %> |
|
| 9 |
<div id="change-<%= journal.id %>" class="<%= journal.css_classes %>"> |
|
| 10 |
<div id="note-<%= journal.indice %>"> |
|
| 11 |
<div class="contextual"> |
|
| 12 |
<span class="journal-actions"><%= render_journal_actions(issue, journal, :reply_links => reply_links) %></span> |
|
| 13 |
<a href="#note-<%= journal.indice %>" class="journal-link">#<%= journal.indice %></a> |
|
| 14 |
</div> |
|
| 15 |
<h4> |
|
| 16 |
<%= avatar(journal.user) %> |
|
| 17 |
<%= authoring journal.created_on, journal.user, :label => :label_updated_time_by %> |
|
| 18 |
<%= render_private_notes_indicator(journal) %> |
|
| 19 |
</h4> |
|
| 19 | 20 | |
| 20 |
<% if journal.details.any? %> |
|
| 21 |
<ul class="details"> |
|
| 22 |
<% details_to_strings(journal.visible_details).each do |string| %> |
|
| 23 |
<li><%= string %></li> |
|
| 24 |
<% end %> |
|
| 25 |
</ul> |
|
| 26 |
<% if Setting.thumbnails_enabled? && (thumbnail_attachments = journal_thumbnail_attachments(journal)).any? %> |
|
| 27 |
<div class="thumbnails"> |
|
| 28 |
<% thumbnail_attachments.each do |attachment| %> |
|
| 29 |
<div><%= thumbnail_tag(attachment) %></div> |
|
| 21 |
<% if journal.details.any? %> |
|
| 22 |
<ul class="details"> |
|
| 23 |
<% details_to_strings(journal.visible_details).each do |string| %> |
|
| 24 |
<li><%= string %></li> |
|
| 30 | 25 |
<% end %> |
| 26 |
</ul> |
|
| 27 |
<% if Setting.thumbnails_enabled? && (thumbnail_attachments = journal_thumbnail_attachments(journal)).any? %> |
|
| 28 |
<div class="thumbnails"> |
|
| 29 |
<% thumbnail_attachments.each do |attachment| %> |
|
| 30 |
<div><%= thumbnail_tag(attachment) %></div> |
|
| 31 |
<% end %> |
|
| 32 |
</div> |
|
| 33 |
<% end %> |
|
| 34 |
<% end %> |
|
| 35 |
<%= render_notes(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %> |
|
| 31 | 36 |
</div> |
| 32 |
<% end %> |
|
| 33 |
<% end %> |
|
| 34 |
<%= render_notes(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %> |
|
| 35 | 37 |
</div> |
| 36 |
</div>
|
|
| 37 |
<%= call_hook(:view_issues_history_journal_bottom, { :journal => journal }) %>
|
|
| 38 |
<% end %>
|
|
| 38 |
<%= call_hook(:view_issues_history_journal_bottom, { :journal => journal }) %>
|
|
| 39 |
<% end %>
|
|
| 40 |
</div>
|
|
| 39 | 41 | |
| 40 | 42 |
<% heads_for_wiki_formatter if User.current.allowed_to?(:edit_issue_notes, issue.project) || User.current.allowed_to?(:edit_own_issue_notes, issue.project) %> |
| app/views/issues/tabs/_time_entries.html.erb | ||
|---|---|---|
| 1 |
<% for time_entry in time_entries%> |
|
| 2 |
<div id="time-entry-<%= time_entry.id %>" class="time_entry journal"> |
|
| 3 |
<div> |
|
| 4 |
<% if time_entry.editable_by?(User.current) -%> |
|
| 5 |
<div class="contextual"> |
|
| 6 |
<%= link_to l(:button_edit), edit_time_entry_path(time_entry), |
|
| 7 |
:title => l(:button_edit), |
|
| 8 |
:class => 'icon-only icon-edit' %> |
|
| 9 |
<%= link_to l(:button_delete), time_entry_path(time_entry), |
|
| 10 |
:data => {:confirm => l(:text_are_you_sure)},
|
|
| 11 |
:method => :delete, |
|
| 12 |
:title => l(:button_delete), |
|
| 13 |
:class => 'icon-only icon-del' %> |
|
| 14 |
</div> |
|
| 15 |
<% end -%> |
|
| 16 |
<h4> |
|
| 17 |
<%= avatar(time_entry.user, :size => "24") %> |
|
| 18 |
<%= authoring time_entry.created_on, time_entry.user, :label => :label_added_time_by %> |
|
| 19 |
</h4> |
|
| 20 |
<ul class="details"> |
|
| 21 |
<li> |
|
| 22 |
<strong><%= l(:label_time_entry_plural) %></strong>: |
|
| 23 |
<%= l_hours_short time_entry.hours %> |
|
| 24 |
</li> |
|
| 25 |
</ul> |
|
| 26 |
<p><%= time_entry.comments %></p> |
|
| 1 |
<div class="entries"> |
|
| 2 |
<% for time_entry in time_entries%> |
|
| 3 |
<div id="time-entry-<%= time_entry.id %>" class="time_entry journal"> |
|
| 4 |
<div> |
|
| 5 |
<% if time_entry.editable_by?(User.current) -%> |
|
| 6 |
<div class="contextual"> |
|
| 7 |
<%= link_to l(:button_edit), edit_time_entry_path(time_entry), |
|
| 8 |
:title => l(:button_edit), |
|
| 9 |
:class => 'icon-only icon-edit' %> |
|
| 10 |
<%= link_to l(:button_delete), time_entry_path(time_entry), |
|
| 11 |
:data => {:confirm => l(:text_are_you_sure)},
|
|
| 12 |
:method => :delete, |
|
| 13 |
:title => l(:button_delete), |
|
| 14 |
:class => 'icon-only icon-del' %> |
|
| 15 |
</div> |
|
| 16 |
<% end -%> |
|
| 17 |
<h4> |
|
| 18 |
<%= avatar(time_entry.user, :size => "24") %> |
|
| 19 |
<%= authoring time_entry.created_on, time_entry.user, :label => :label_added_time_by %> |
|
| 20 |
</h4> |
|
| 21 |
<ul class="details"> |
|
| 22 |
<li> |
|
| 23 |
<strong><%= l(:label_time_entry_plural) %></strong>: |
|
| 24 |
<%= l_hours_short time_entry.hours %> |
|
| 25 |
</li> |
|
| 26 |
</ul> |
|
| 27 |
<p><%= time_entry.comments %></p> |
|
| 28 |
</div> |
|
| 27 | 29 |
</div> |
| 28 |
</div> |
|
| 29 |
<%= call_hook(:view_issues_history_time_entry_bottom, { :time_entry => time_entry }) %>
|
|
| 30 |
<% end %> |
|
| 30 |
<%= call_hook(:view_issues_history_time_entry_bottom, { :time_entry => time_entry }) %>
|
|
| 31 |
<% end %> |
|
| 32 |
</div> |
|
| public/stylesheets/application.css | ||
|---|---|---|
| 540 | 540 |
div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
|
| 541 | 541 |
.changeset-comments {margin-bottom:1em;}
|
| 542 | 542 | |
| 543 |
#history div.entries {position: relative;}
|
|
| 544 |
#history div.entries:before {
|
|
| 545 |
content: ''; |
|
| 546 |
border-left: 2px solid #d7d7d7; |
|
| 547 |
position: absolute; |
|
| 548 |
top: 0; |
|
| 549 |
bottom: 0; |
|
| 550 |
left: 17px; |
|
| 551 |
} |
|
| 552 | ||
| 553 |
div.journal {padding: 15px 6px; border: 1px solid #d7d7d7; border-radius: 3px; margin: 10px 0; position:relative; background-color: #fff;}
|
|
| 554 | ||
| 543 | 555 |
div.journal {padding: 15px 6px; border: 1px solid #d7d7d7; border-radius: 3px; margin: 10px 0;}
|
| 544 | 556 |
div.journal .contextual {margin-top: 0;}
|
| 545 | 557 |
div.journal div.wiki > :last-child {margin-bottom: 0;}
|