@@ -420,12 +420,8 class ProjectsController < ApplicationController | |||||
420 | # Show changelog for @project |
|
420 | # Show changelog for @project | |
421 | def changelog |
|
421 | def changelog | |
422 | @trackers = Tracker.find(:all, :conditions => ["is_in_chlog=?", true], :order => 'position') |
|
422 | @trackers = Tracker.find(:all, :conditions => ["is_in_chlog=?", true], :order => 'position') | |
423 | if request.get? |
|
423 | retrieve_selected_tracker_ids(@trackers) | |
424 | @selected_tracker_ids = @trackers.collect {|t| t.id.to_s } |
|
424 | ||
425 | else |
|
|||
426 | @selected_tracker_ids = params[:tracker_ids].collect { |id| id.to_i.to_s } if params[:tracker_ids] and params[:tracker_ids].is_a? Array |
|
|||
427 | end |
|
|||
428 | @selected_tracker_ids ||= [] |
|
|||
429 | @fixed_issues = @project.issues.find(:all, |
|
425 | @fixed_issues = @project.issues.find(:all, | |
430 | :include => [ :fixed_version, :status, :tracker ], |
|
426 | :include => [ :fixed_version, :status, :tracker ], | |
431 | :conditions => [ "#{IssueStatus.table_name}.is_closed=? and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')}) and #{Issue.table_name}.fixed_version_id is not null", true], |
|
427 | :conditions => [ "#{IssueStatus.table_name}.is_closed=? and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')}) and #{Issue.table_name}.fixed_version_id is not null", true], | |
@@ -436,12 +432,8 class ProjectsController < ApplicationController | |||||
436 |
|
432 | |||
437 | def roadmap |
|
433 | def roadmap | |
438 | @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position') |
|
434 | @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position') | |
439 | if request.get? |
|
435 | retrieve_selected_tracker_ids(@trackers) | |
440 | @selected_tracker_ids = @trackers.collect {|t| t.id.to_s } |
|
436 | ||
441 | else |
|
|||
442 | @selected_tracker_ids = params[:tracker_ids].collect { |id| id.to_i.to_s } if params[:tracker_ids] and params[:tracker_ids].is_a? Array |
|
|||
443 | end |
|
|||
444 | @selected_tracker_ids ||= [] |
|
|||
445 | @versions = @project.versions.find(:all, |
|
437 | @versions = @project.versions.find(:all, | |
446 | :conditions => [ "#{Version.table_name}.effective_date>?", Date.today], |
|
438 | :conditions => [ "#{Version.table_name}.effective_date>?", Date.today], | |
447 | :order => "#{Version.table_name}.effective_date ASC" |
|
439 | :order => "#{Version.table_name}.effective_date ASC" | |
@@ -534,6 +526,9 class ProjectsController < ApplicationController | |||||
534 | end |
|
526 | end | |
535 |
|
527 | |||
536 | def calendar |
|
528 | def calendar | |
|
529 | @trackers = Tracker.find(:all, :order => 'position') | |||
|
530 | retrieve_selected_tracker_ids(@trackers) | |||
|
531 | ||||
537 | if params[:year] and params[:year].to_i > 1900 |
|
532 | if params[:year] and params[:year].to_i > 1900 | |
538 | @year = params[:year].to_i |
|
533 | @year = params[:year].to_i | |
539 | if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13 |
|
534 | if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13 | |
@@ -548,18 +543,24 class ProjectsController < ApplicationController | |||||
548 | # start on monday |
|
543 | # start on monday | |
549 | @date_from = @date_from - (@date_from.cwday-1) |
|
544 | @date_from = @date_from - (@date_from.cwday-1) | |
550 | # finish on sunday |
|
545 | # finish on sunday | |
551 | @date_to = @date_to + (7-@date_to.cwday) |
|
546 | @date_to = @date_to + (7-@date_to.cwday) | |
552 |
|
|
547 | ||
553 | @issues = @project.issues.find(:all, :include => [:tracker, :status, :assigned_to, :priority], |
|
548 | @issues = @project.issues.find(:all, | |
554 | :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?))", @date_from, @date_to, @date_from, @date_to]) |
|
549 | :include => [:tracker, :status, :assigned_to, :priority], | |
555 |
|
550 | :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?)) and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')})", @date_from, @date_to, @date_from, @date_to] | ||
|
551 | ) unless @selected_tracker_ids.empty? | |||
|
552 | @issues ||=[] | |||
|
553 | ||||
556 | @ending_issues_by_days = @issues.group_by {|issue| issue.due_date} |
|
554 | @ending_issues_by_days = @issues.group_by {|issue| issue.due_date} | |
557 | @starting_issues_by_days = @issues.group_by {|issue| issue.start_date} |
|
555 | @starting_issues_by_days = @issues.group_by {|issue| issue.start_date} | |
558 |
|
|
556 | ||
559 | render :layout => false if request.xhr? |
|
557 | render :layout => false if request.xhr? | |
560 | end |
|
558 | end | |
561 |
|
559 | |||
562 | def gantt |
|
560 | def gantt | |
|
561 | @trackers = Tracker.find(:all, :order => 'position') | |||
|
562 | retrieve_selected_tracker_ids(@trackers) | |||
|
563 | ||||
563 | if params[:year] and params[:year].to_i >0 |
|
564 | if params[:year] and params[:year].to_i >0 | |
564 | @year_from = params[:year].to_i |
|
565 | @year_from = params[:year].to_i | |
565 | if params[:month] and params[:month].to_i >=1 and params[:month].to_i <= 12 |
|
566 | if params[:month] and params[:month].to_i >=1 and params[:month].to_i <= 12 | |
@@ -577,7 +578,13 class ProjectsController < ApplicationController | |||||
577 |
|
578 | |||
578 | @date_from = Date.civil(@year_from, @month_from, 1) |
|
579 | @date_from = Date.civil(@year_from, @month_from, 1) | |
579 | @date_to = (@date_from >> @months) - 1 |
|
580 | @date_to = (@date_from >> @months) - 1 | |
580 | @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]) |
|
581 | ||
|
582 | @issues = @project.issues.find(:all, | |||
|
583 | :order => "start_date, due_date", | |||
|
584 | :include => [:tracker, :status, :assigned_to, :priority], | |||
|
585 | :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 and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')}))", @date_from, @date_to, @date_from, @date_to, @date_from, @date_to] | |||
|
586 | ) unless @selected_tracker_ids.empty? | |||
|
587 | @issues ||=[] | |||
581 |
|
588 | |||
582 | if params[:output]=='pdf' |
|
589 | if params[:output]=='pdf' | |
583 | @options_for_rfpdf ||= {} |
|
590 | @options_for_rfpdf ||= {} | |
@@ -630,6 +637,14 private | |||||
630 | render_404 |
|
637 | render_404 | |
631 | end |
|
638 | end | |
632 |
|
639 | |||
|
640 | def retrieve_selected_tracker_ids(selectable_trackers) | |||
|
641 | if ids = params[:tracker_ids] | |||
|
642 | @selected_tracker_ids = (ids.is_a? Array) ? ids.collect { |id| id.to_i.to_s } : ids.split('/').collect { |id| id.to_i.to_s } | |||
|
643 | else | |||
|
644 | @selected_tracker_ids = selectable_trackers.collect {|t| t.id.to_s } | |||
|
645 | end | |||
|
646 | end | |||
|
647 | ||||
633 | # Retrieve query from session or build a new query |
|
648 | # Retrieve query from session or build a new query | |
634 | def retrieve_query |
|
649 | def retrieve_query | |
635 | if params[:query_id] |
|
650 | if params[:query_id] |
@@ -1,29 +1,39 | |||||
1 | <h2><%= l(:label_calendar) %></h2> |
|
1 | <h2><%= l(:label_calendar) %></h2> | |
2 |
|
2 | |||
3 | <% form_tag({:action => 'calendar', :id => @project}) do %> |
|
3 | <% form_tag do %> | |
4 | <table width="100%"> |
|
4 | <table width="100%"> | |
5 | <tr> |
|
5 | <tr> | |
6 |
<td align="left" style="width:15 |
|
6 | <td align="left" style="width:15%"> | |
7 | <%= link_to_remote ('« ' + (@month==1 ? "#{month_name(12)} #{@year-1}" : "#{month_name(@month-1)}")), |
|
7 | <%= link_to_remote ('« ' + (@month==1 ? "#{month_name(12)} #{@year-1}" : "#{month_name(@month-1)}")), | |
8 | {:update => "content", :url => { :year => (@month==1 ? @year-1 : @year), :month =>(@month==1 ? 12 : @month-1) }}, |
|
8 | {:update => "content", :url => { :year => (@month==1 ? @year-1 : @year), :month =>(@month==1 ? 12 : @month-1), :tracker_ids => @selected_tracker_ids }}, | |
9 | {:href => url_for(:action => 'calendar', :year => (@month==1 ? @year-1 : @year), :month =>(@month==1 ? 12 : @month-1))} |
|
9 | {:href => url_for(:action => 'calendar', :year => (@month==1 ? @year-1 : @year), :month =>(@month==1 ? 12 : @month-1), :tracker_ids => @selected_tracker_ids)} | |
10 | %> |
|
10 | %> | |
11 | </td> |
|
11 | </td> | |
12 | <td align="center"> |
|
12 | <td align="center" style="width:55%"> | |
13 | <%= select_month(@month, :prefix => "month", :discard_type => true) %> |
|
13 | <%= select_month(@month, :prefix => "month", :discard_type => true) %> | |
14 | <%= select_year(@year, :prefix => "year", :discard_type => true) %> |
|
14 | <%= select_year(@year, :prefix => "year", :discard_type => true) %> | |
15 | <%= submit_tag l(:button_submit), :class => "button-small" %> |
|
15 | <%= submit_tag l(:button_submit), :class => "button-small" %> | |
16 | </td> |
|
16 | </td> | |
17 |
<td align=" |
|
17 | <td align="left" style="width:15%"> | |
|
18 | <a href="#" onclick="Element.toggle('trackerselect')"><%= l(:label_options) %></a> | |||
|
19 | <div id="trackerselect" class="rightbox overlay" style="width:140px; display:none;"> | |||
|
20 | <p><strong><%=l(:label_tracker_plural)%></strong></p> | |||
|
21 | <% @trackers.each do |tracker| %> | |||
|
22 | <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %> | |||
|
23 | <%= tracker.name %><br /> | |||
|
24 | <% end %> | |||
|
25 | <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p> | |||
|
26 | </div> | |||
|
27 | </td> | |||
|
28 | <td align="right" style="width:15%"> | |||
18 | <%= link_to_remote ((@month==12 ? "#{month_name(1)} #{@year+1}" : "#{month_name(@month+1)}") + ' »'), |
|
29 | <%= link_to_remote ((@month==12 ? "#{month_name(1)} #{@year+1}" : "#{month_name(@month+1)}") + ' »'), | |
19 | {:update => "content", :url => { :year => (@month==12 ? @year+1 : @year), :month =>(@month==12 ? 1 : @month+1) }}, |
|
30 | {:update => "content", :url => { :year => (@month==12 ? @year+1 : @year), :month =>(@month==12 ? 1 : @month+1), :tracker_ids => @selected_tracker_ids }}, | |
20 | {:href => url_for(:action => 'calendar', :year => (@month==12 ? @year+1 : @year), :month =>(@month==12 ? 1 : @month+1))} |
|
31 | {:href => url_for(:action => 'calendar', :year => (@month==12 ? @year+1 : @year), :month =>(@month==12 ? 1 : @month+1), :tracker_ids => @selected_tracker_ids)} | |
21 | %> |
|
32 | %> | |
22 | </td> |
|
33 | </td> | |
23 | </tr> |
|
34 | </tr> | |
24 | </table> |
|
35 | </table> | |
25 | <% end %> |
|
36 | <% end %> | |
26 | <br /> |
|
|||
27 |
|
37 | |||
28 | <table class="list with-cells"> |
|
38 | <table class="list with-cells"> | |
29 | <thead> |
|
39 | <thead> |
@@ -1,39 +1,47 | |||||
1 | <div class="contextual"> |
|
1 | <div class="contextual"> | |
2 | <%= l(:label_export_to) %> |
|
2 | <%= l(:label_export_to) %> | |
3 | <%= link_to 'PDF', {:zoom => @zoom, :year => @year_from, :month => @month_from, :months => @months, :output => 'pdf'}, :class => 'icon icon-pdf' %> |
|
3 | <%= link_to 'PDF', {:zoom => @zoom, :year => @year_from, :month => @month_from, :months => @months, :tracker_ids => @selected_tracker_ids, :output => 'pdf'}, :class => 'icon icon-pdf' %> | |
4 | </div> |
|
4 | </div> | |
5 |
|
5 | |||
6 | <h2><%= l(:label_gantt) %></h2> |
|
6 | <h2><%= l(:label_gantt) %></h2> | |
7 |
|
7 | |||
|
8 | <% form_tag do %> | |||
8 | <table width="100%"> |
|
9 | <table width="100%"> | |
9 | <tr> |
|
10 | <tr> | |
10 | <td align="left"> |
|
11 | <td align="left"> | |
11 | <% form_tag do %> |
|
12 | <input type="text" name="months" size="2" value="<%= @months %>" /> | |
12 | <p> |
|
13 | <%= l(:label_months_from) %> | |
13 | <input type="text" name="months" size="2" value="<%= @months %>" /> |
|
14 | <%= select_month(@month_from, :prefix => "month", :discard_type => true) %> | |
14 | <%= l(:label_months_from) %> |
|
15 | <%= select_year(@year_from, :prefix => "year", :discard_type => true) %> | |
15 | <%= select_month(@month_from, :prefix => "month", :discard_type => true) %> |
|
16 | <%= hidden_field_tag 'zoom', @zoom %> | |
16 | <%= select_year(@year_from, :prefix => "year", :discard_type => true) %> |
|
17 | <%= submit_tag l(:button_submit), :class => "button-small" %> | |
17 | <%= hidden_field_tag 'zoom', @zoom %> |
|
18 | </td> | |
18 | <%= submit_tag l(:button_submit), :class => "button-small" %> |
|
19 | <td> | |
19 | </p> |
|
20 | <a href="#" onclick="Element.toggle('trackerselect')"><%= l(:label_options) %></a> | |
20 | <% end %> |
|
21 | <div id="trackerselect" class="rightbox overlay" style="width:140px; display: none;"> | |
|
22 | <p><strong><%=l(:label_tracker_plural)%></strong></p> | |||
|
23 | <% @trackers.each do |tracker| %> | |||
|
24 | <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %> | |||
|
25 | <%= tracker.name %><br /> | |||
|
26 | <% end %> | |||
|
27 | <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p> | |||
|
28 | </div> | |||
21 | </td> |
|
29 | </td> | |
22 | <td align="right"> |
|
30 | <td align="right"> | |
23 | <%= if @zoom < 4 |
|
31 | <%= if @zoom < 4 | |
24 | link_to image_tag('zoom_in.png'), {:zoom => (@zoom+1), :year => @year_from, :month => @month_from, :months => @months} |
|
32 | link_to image_tag('zoom_in.png'), {:zoom => (@zoom+1), :year => @year_from, :month => @month_from, :months => @months, :tracker_ids => @selected_tracker_ids} | |
25 | else |
|
33 | else | |
26 | image_tag 'zoom_in_g.png' |
|
34 | image_tag 'zoom_in_g.png' | |
27 | end %> |
|
35 | end %> | |
28 | <%= if @zoom > 1 |
|
36 | <%= if @zoom > 1 | |
29 |
link_to image_tag('zoom_out.png'), |
|
37 | link_to image_tag('zoom_out.png'),{:zoom => (@zoom-1), :year => @year_from, :month => @month_from, :months => @months, :tracker_ids => @selected_tracker_ids} | |
30 | else |
|
38 | else | |
31 | image_tag 'zoom_out_g.png' |
|
39 | image_tag 'zoom_out_g.png' | |
32 | end %> |
|
40 | end %> | |
33 | </td> |
|
41 | </td> | |
34 | </tr> |
|
42 | </tr> | |
35 | </table> |
|
43 | </table> | |
36 | <br /> |
|
44 | <% end %> | |
37 |
|
45 | |||
38 | <% zoom = 1 |
|
46 | <% zoom = 1 | |
39 | @zoom.times { zoom = zoom * 2 } |
|
47 | @zoom.times { zoom = zoom * 2 } | |
@@ -41,22 +49,22 | |||||
41 | subject_width = 260 |
|
49 | subject_width = 260 | |
42 | header_heigth = 18 |
|
50 | header_heigth = 18 | |
43 |
|
51 | |||
44 |
headers_heig |
|
52 | headers_height = header_heigth | |
45 | show_weeks = false |
|
53 | show_weeks = false | |
46 | show_days = false |
|
54 | show_days = false | |
47 |
|
55 | |||
48 | if @zoom >1 |
|
56 | if @zoom >1 | |
49 | show_weeks = true |
|
57 | show_weeks = true | |
50 |
headers_heig |
|
58 | headers_height = 2*header_heigth | |
51 | if @zoom > 2 |
|
59 | if @zoom > 2 | |
52 | show_days = true |
|
60 | show_days = true | |
53 |
headers_heig |
|
61 | headers_height = 3*header_heigth | |
54 | end |
|
62 | end | |
55 | end |
|
63 | end | |
56 |
|
64 | |||
57 | g_width = (@date_to - @date_from + 1)*zoom |
|
65 | g_width = (@date_to - @date_from + 1)*zoom | |
58 | g_height = [(20 * @issues.length + 6)+150, 206].max |
|
66 | g_height = [(20 * @issues.length + 6)+150, 206].max | |
59 |
t_height = g_height + headers_heig |
|
67 | t_height = g_height + headers_height | |
60 | %> |
|
68 | %> | |
61 |
|
69 | |||
62 | <table width="100%" style="border:0; border-collapse: collapse;"> |
|
70 | <table width="100%" style="border:0; border-collapse: collapse;"> | |
@@ -64,26 +72,26 t_height = g_height + headers_heigth | |||||
64 | <td style="width:260px;"> |
|
72 | <td style="width:260px;"> | |
65 |
|
73 | |||
66 | <div style="position:relative;height:<%= t_height + 24 %>px;width:<%= subject_width + 1 %>px;"> |
|
74 | <div style="position:relative;height:<%= t_height + 24 %>px;width:<%= subject_width + 1 %>px;"> | |
67 |
<div style="right:-2px;width:<%= subject_width %>px;height:<%= headers_heig |
|
75 | <div style="right:-2px;width:<%= subject_width %>px;height:<%= headers_height %>px;background: #eee;" class="gantt_hdr"></div> | |
68 | <div style="right:-2px;width:<%= subject_width %>px;height:<%= t_height %>px;border-left: 1px solid #c0c0c0;overflow:hidden;" class="gantt_hdr"></div> |
|
76 | <div style="right:-2px;width:<%= subject_width %>px;height:<%= t_height %>px;border-left: 1px solid #c0c0c0;overflow:hidden;" class="gantt_hdr"></div> | |
69 | <% |
|
77 | <% | |
70 | # |
|
78 | # | |
71 | # Tasks subjects |
|
79 | # Tasks subjects | |
72 | # |
|
80 | # | |
73 |
top = headers_heig |
|
81 | top = headers_height + 8 | |
74 | @issues.each do |i| %> |
|
82 | @issues.each do |i| %> | |
75 |
|
|
83 | <div style="position: absolute;line-height:1.2em;height:16px;top:<%= top %>px;left:4px;overflow:hidden;"> | |
76 | <small><%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i }, :title => "#{i.subject}" %>: |
|
84 | <small><%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i }, :title => "#{i.subject}" %>: | |
77 | <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small> |
|
85 | <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small> | |
78 | </div> |
|
86 | </div> | |
79 | <% top = top + 20 |
|
87 | <% top = top + 20 | |
80 | end %> |
|
88 | end %> | |
81 | </div> |
|
89 | </div> | |
82 | </td> |
|
90 | </td> | |
83 | <td> |
|
91 | <td> | |
84 |
|
92 | |||
85 | <div style="position:relative;height:<%= t_height + 24 %>px;overflow:auto;"> |
|
93 | <div style="position:relative;height:<%= t_height + 24 %>px;overflow:auto;"> | |
86 |
<div style="width:<%= g_width-1 %>px;height:<%= headers_heig |
|
94 | <div style="width:<%= g_width-1 %>px;height:<%= headers_height %>px;background: #eee;" class="gantt_hdr"> </div> | |
87 | <% |
|
95 | <% | |
88 | # |
|
96 | # | |
89 | # Months headers |
|
97 | # Months headers | |
@@ -160,14 +168,14 end %> | |||||
160 | # Today red line |
|
168 | # Today red line | |
161 | # |
|
169 | # | |
162 | if Date.today >= @date_from and Date.today <= @date_to %> |
|
170 | if Date.today >= @date_from and Date.today <= @date_to %> | |
163 |
<div style="position: absolute;height:<%= g_height %>px;top:<%= headers_heig |
|
171 | <div style="position: absolute;height:<%= g_height %>px;top:<%= headers_height + 1 %>px;left:<%= ((Date.today-@date_from+1)*zoom).floor()-1 %>px;width:10px;border-left: 1px dashed red;"> </div> | |
164 | <% end %> |
|
172 | <% end %> | |
165 |
|
173 | |||
166 | <% |
|
174 | <% | |
167 | # |
|
175 | # | |
168 | # Tasks |
|
176 | # Tasks | |
169 | # |
|
177 | # | |
170 |
top = headers_heig |
|
178 | top = headers_height + 10 | |
171 | @issues.each do |i| %> |
|
179 | @issues.each do |i| %> | |
172 | <% |
|
180 | <% | |
173 | i_start_date = (i.start_date >= @date_from ? i.start_date : @date_from ) |
|
181 | i_start_date = (i.start_date >= @date_from ? i.start_date : @date_from ) | |
@@ -209,7 +217,7 end %> | |||||
209 |
|
217 | |||
210 | <table width="100%"> |
|
218 | <table width="100%"> | |
211 | <tr> |
|
219 | <tr> | |
212 | <td align="left"><%= link_to ('« ' + l(:label_previous)), :year => (@date_from << @months).year, :month => (@date_from << @months).month, :zoom => @zoom, :months => @months %></td> |
|
220 | <td align="left"><%= link_to ('« ' + l(:label_previous)), :year => (@date_from << @months).year, :month => (@date_from << @months).month, :zoom => @zoom, :months => @months, :tracker_ids => @selected_tracker_ids %></td> | |
213 | <td align="right"><%= link_to (l(:label_next) + ' »'), :year => (@date_from >> @months).year, :month => (@date_from >> @months).month, :zoom => @zoom, :months => @months %></td> |
|
221 | <td align="right"><%= link_to (l(:label_next) + ' »'), :year => (@date_from >> @months).year, :month => (@date_from >> @months).month, :zoom => @zoom, :months => @months, :tracker_ids => @selected_tracker_ids %></td> | |
214 | </tr> |
|
222 | </tr> | |
215 | </table> No newline at end of file |
|
223 | </table> |
@@ -351,6 +351,7 label_commits_per_author: Übertragungen pro Autor | |||||
351 | label_view_diff: View differences |
|
351 | label_view_diff: View differences | |
352 | label_diff_inline: inline |
|
352 | label_diff_inline: inline | |
353 | label_diff_side_by_side: side by side |
|
353 | label_diff_side_by_side: side by side | |
|
354 | label_options: Options | |||
354 |
|
355 | |||
355 | button_login: Einloggen |
|
356 | button_login: Einloggen | |
356 | button_submit: OK |
|
357 | button_submit: OK |
@@ -351,6 +351,7 label_commits_per_author: Commits per author | |||||
351 | label_view_diff: View differences |
|
351 | label_view_diff: View differences | |
352 | label_diff_inline: inline |
|
352 | label_diff_inline: inline | |
353 | label_diff_side_by_side: side by side |
|
353 | label_diff_side_by_side: side by side | |
|
354 | label_options: Options | |||
354 |
|
355 | |||
355 | button_login: Login |
|
356 | button_login: Login | |
356 | button_submit: Submit |
|
357 | button_submit: Submit |
@@ -351,6 +351,7 label_commits_per_author: Commits per author | |||||
351 | label_view_diff: View differences |
|
351 | label_view_diff: View differences | |
352 | label_diff_inline: inline |
|
352 | label_diff_inline: inline | |
353 | label_diff_side_by_side: side by side |
|
353 | label_diff_side_by_side: side by side | |
|
354 | label_options: Options | |||
354 |
|
355 | |||
355 | button_login: Conexión |
|
356 | button_login: Conexión | |
356 | button_submit: Someter |
|
357 | button_submit: Someter |
@@ -351,6 +351,7 label_commits_per_author: Commits par auteur | |||||
351 | label_view_diff: Voir les différences |
|
351 | label_view_diff: Voir les différences | |
352 | label_diff_inline: en ligne |
|
352 | label_diff_inline: en ligne | |
353 | label_diff_side_by_side: côte à côte |
|
353 | label_diff_side_by_side: côte à côte | |
|
354 | label_options: Options | |||
354 |
|
355 | |||
355 | button_login: Connexion |
|
356 | button_login: Connexion | |
356 | button_submit: Soumettre |
|
357 | button_submit: Soumettre |
@@ -351,6 +351,7 label_commits_per_author: Commits per author | |||||
351 | label_view_diff: View differences |
|
351 | label_view_diff: View differences | |
352 | label_diff_inline: inline |
|
352 | label_diff_inline: inline | |
353 | label_diff_side_by_side: side by side |
|
353 | label_diff_side_by_side: side by side | |
|
354 | label_options: Options | |||
354 |
|
355 | |||
355 | button_login: Login |
|
356 | button_login: Login | |
356 | button_submit: Invia |
|
357 | button_submit: Invia |
@@ -352,6 +352,7 label_commits_per_author: 起票者別のコミット | |||||
352 | label_view_diff: 差分を見る |
|
352 | label_view_diff: 差分を見る | |
353 | label_diff_inline: インライン |
|
353 | label_diff_inline: インライン | |
354 | label_diff_side_by_side: 横に並べる |
|
354 | label_diff_side_by_side: 横に並べる | |
|
355 | label_options: Options | |||
355 |
|
356 | |||
356 | button_login: ログイン |
|
357 | button_login: ログイン | |
357 | button_submit: 変更 |
|
358 | button_submit: 変更 |
@@ -354,6 +354,7 label_commits_per_author: Commits per author | |||||
354 | label_view_diff: View differences |
|
354 | label_view_diff: View differences | |
355 | label_diff_inline: inline |
|
355 | label_diff_inline: inline | |
356 | label_diff_side_by_side: side by side |
|
356 | label_diff_side_by_side: side by side | |
|
357 | label_options: Options | |||
357 |
|
358 | |||
358 | button_login: 登录 |
|
359 | button_login: 登录 | |
359 | button_submit: 提交 |
|
360 | button_submit: 提交 |
General Comments 0
You need to be logged in to leave comments.
Login now