@@ -0,0 +1,6 | |||||
|
1 | <%= link_to "#{issue.tracker.name} ##{issue.id}", { :controller => 'issues', :action => 'show', :id => issue } %></strong>: <%=h issue.subject %><br /> | |||
|
2 | <br /> | |||
|
3 | <strong><%= l(:field_start_date) %></strong>: <%= format_date(issue.start_date) %><br /> | |||
|
4 | <strong><%= l(:field_due_date) %></strong>: <%= format_date(issue.due_date) %><br /> | |||
|
5 | <strong><%= l(:field_assigned_to) %></strong>: <%= issue.assigned_to ? issue.assigned_to.name : "-" %><br /> | |||
|
6 | <strong><%= l(:field_priority) %></strong>: <%= issue.priority.name %> |
@@ -463,7 +463,7 class ProjectsController < ApplicationController | |||||
463 | # finish on sunday |
|
463 | # finish on sunday | |
464 | @date_to = @date_to + (7-@date_to.cwday) |
|
464 | @date_to = @date_to + (7-@date_to.cwday) | |
465 |
|
465 | |||
466 | @issues = @project.issues.find(:all, :include => :tracker, :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?))", @date_from, @date_to, @date_from, @date_to]) |
|
466 | @issues = @project.issues.find(:all, :include => [:tracker, :status, :assigned_to, :priority], :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?))", @date_from, @date_to, @date_from, @date_to]) | |
467 | render :layout => false if request.xhr? |
|
467 | render :layout => false if request.xhr? | |
468 | end |
|
468 | end | |
469 |
|
469 | |||
@@ -485,7 +485,7 class ProjectsController < ApplicationController | |||||
485 |
|
485 | |||
486 | @date_from = Date.civil(@year_from, @month_from, 1) |
|
486 | @date_from = Date.civil(@year_from, @month_from, 1) | |
487 | @date_to = (@date_from >> @months) - 1 |
|
487 | @date_to = (@date_from >> @months) - 1 | |
488 |
@issues = @project.issues.find(:all, :order => "start_date, due_date", :include => [:tracker, :status, :a |
|
488 | @issues = @project.issues.find(:all, :order => "start_date, due_date", :include => [:tracker, :status, :assigned_to, :priority], :conditions => ["(((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?) or (start_date<? and due_date>?)) and start_date is not null and due_date is not null)", @date_from, @date_to, @date_from, @date_to, @date_from, @date_to]) | |
489 |
|
489 | |||
490 | if params[:output]=='pdf' |
|
490 | if params[:output]=='pdf' | |
491 | @options_for_rfpdf ||= {} |
|
491 | @options_for_rfpdf ||= {} |
@@ -56,12 +56,12 module IssuesHelper | |||||
56 |
|
56 | |||
57 | unless no_html |
|
57 | unless no_html | |
58 | label = content_tag('strong', label) |
|
58 | label = content_tag('strong', label) | |
59 | old_value = content_tag("i", h(old_value)) if old_value |
|
59 | old_value = content_tag("i", h(old_value)) if detail.old_value | |
60 |
old_value = content_tag("strike", |
|
60 | old_value = content_tag("strike", old_value) if detail.old_value and (!detail.value or detail.value.empty?) | |
61 | value = content_tag("i", h(value)) if value |
|
61 | value = content_tag("i", h(value)) if value | |
62 | end |
|
62 | end | |
63 |
|
63 | |||
64 | if value |
|
64 | if detail.value and !detail.value.empty? | |
65 | if old_value |
|
65 | if old_value | |
66 | label + " " + l(:text_journal_changed, old_value, value) |
|
66 | label + " " + l(:text_journal_changed, old_value, value) | |
67 | else |
|
67 | else |
@@ -41,11 +41,12 while day <= @date_to | |||||
41 | if day.cwday == 1 %> |
|
41 | if day.cwday == 1 %> | |
42 | <th><%= day.cweek %></th> |
|
42 | <th><%= day.cweek %></th> | |
43 | <% end %> |
|
43 | <% end %> | |
44 | <td valign="top" style="width:14%" class="<%= day.month==@month ? "even" : "odd" %>"> |
|
44 | <td valign="top" class="<%= day.month==@month ? "even" : "odd" %>" style="width:14%; <%= Date.today == day ? 'background:#FDFED0;' : '' %>"> | |
45 | <p class="textright"><%= day==Date.today ? "<b>#{day.day}</b>" : day.day %></p> |
|
45 | <p class="textright"><%= day==Date.today ? "<b>#{day.day}</b>" : day.day %></p> | |
46 | <% day_issues = [] |
|
46 | <% day_issues = [] | |
47 | @issues.each { |i| day_issues << i if i.start_date == day or i.due_date == day } |
|
47 | @issues.each { |i| day_issues << i if i.start_date == day or i.due_date == day } | |
48 |
day_issues.each do |i| %> |
|
48 | day_issues.each do |i| %> | |
|
49 | <div class="tooltip"> | |||
49 | <%= if day == i.start_date and day == i.due_date |
|
50 | <%= if day == i.start_date and day == i.due_date | |
50 | image_tag('arrow_bw.png') |
|
51 | image_tag('arrow_bw.png') | |
51 | elsif day == i.start_date |
|
52 | elsif day == i.start_date | |
@@ -53,7 +54,11 while day <= @date_to | |||||
53 | elsif day == i.due_date |
|
54 | elsif day == i.due_date | |
54 | image_tag('arrow_to.png') |
|
55 | image_tag('arrow_to.png') | |
55 | end %> |
|
56 | end %> | |
56 |
<small><%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i } |
|
57 | <small><%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i } %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small> | |
|
58 | <span class="tip"> | |||
|
59 | <%= render :partial => "issues/tooltip", :locals => { :issue => i }%> | |||
|
60 | </span> | |||
|
61 | </div> | |||
57 | <% end %> |
|
62 | <% end %> | |
58 | </td> |
|
63 | </td> | |
59 | <%= '</tr><tr style="height:100px">' if day.cwday >= 7 and day!=@date_to %> |
|
64 | <%= '</tr><tr style="height:100px">' if day.cwday >= 7 and day!=@date_to %> |
@@ -196,13 +196,9 top = headers_heigth + 10 | |||||
196 | <%= (i.done_ratio).to_i %>% |
|
196 | <%= (i.done_ratio).to_i %>% | |
197 | </div> |
|
197 | </div> | |
198 | <% # === tooltip === %> |
|
198 | <% # === tooltip === %> | |
199 |
<div style="position: absolute;top:<%= top %>px;left:<%= i_left %>px;width:<%= i_width %>px;height:12px;" |
|
199 | <div class="tooltip" style="position: absolute;top:<%= top %>px;left:<%= i_left %>px;width:<%= i_width %>px;height:12px;"> | |
200 | <strong><%= "#{i.tracker.name} ##{i.id}" %></strong>: <%=h i.subject %><br /> |
|
200 | <span class="tip"> | |
201 | <br /> |
|
201 | <%= render :partial => "issues/tooltip", :locals => { :issue => i }%> | |
202 | <strong><%= l(:field_start_date) %></strong>: <%= format_date(i.start_date) %><br /> |
|
|||
203 | <strong><%= l(:field_due_date) %></strong>: <%= format_date(i.due_date) %><br /> |
|
|||
204 | <strong><%= l(:field_assigned_to) %></strong>: <%= i.assigned_to ? i.assigned_to.name : "-" %><br /> |
|
|||
205 | <strong><%=l(:field_priority)%></strong>: <%= i.priority.name %> |
|
|||
206 | </span></div> |
|
202 | </span></div> | |
207 | <% top = top + 20 |
|
203 | <% top = top + 20 | |
208 | end %> |
|
204 | end %> |
@@ -558,14 +558,14 font-size: 1em; | |||||
558 | .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; } |
|
558 | .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; } | |
559 |
|
559 | |||
560 | /***** Tooltips ******/ |
|
560 | /***** Tooltips ******/ | |
561 |
.tooltip{position: |
|
561 | .tooltip{position:relative;z-index:24;} | |
562 | .tooltip:hover{z-index:25;color:#000;} |
|
562 | .tooltip:hover{z-index:25;color:#000;} | |
563 | .tooltip span.tip{display: none} |
|
563 | .tooltip span.tip{display: none} | |
564 |
|
564 | |||
565 | div.tooltip:hover span.tip{ |
|
565 | div.tooltip:hover span.tip{ | |
566 | display:block; |
|
566 | display:block; | |
567 | position:absolute; |
|
567 | position:absolute; | |
568 |
top:12px; left:2 |
|
568 | top:12px; left:24px; width:270px; | |
569 | border:1px solid #555; |
|
569 | border:1px solid #555; | |
570 | background-color:#fff; |
|
570 | background-color:#fff; | |
571 | padding: 4px; |
|
571 | padding: 4px; |
General Comments 0
You need to be logged in to leave comments.
Login now