summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2015-05-28 01:44:24 -0700
committerelijah <elijah@riseup.net>2015-05-28 01:44:24 -0700
commitfc1cffcacfa0e885c481e9d993f7c541673912c8 (patch)
tree88b5f3d25232396bccc017cdc09d61ed31f8df9b /app
initial commit.
Diffstat (limited to 'app')
-rw-r--r--app/controllers/version_reports_controller.rb21
-rw-r--r--app/helpers/version_reports_helper.rb12
-rw-r--r--app/views/hooks/_view_report_link.html.erb1
-rw-r--r--app/views/version_reports/_issue_row.html.erb14
-rw-r--r--app/views/version_reports/_main_issue_row.html.erb28
-rw-r--r--app/views/version_reports/_project_row.html.erb5
-rw-r--r--app/views/version_reports/show.html.erb9
7 files changed, 90 insertions, 0 deletions
diff --git a/app/controllers/version_reports_controller.rb b/app/controllers/version_reports_controller.rb
new file mode 100644
index 0000000..fb7ac6c
--- /dev/null
+++ b/app/controllers/version_reports_controller.rb
@@ -0,0 +1,21 @@
+class VersionReportsController < ApplicationController
+ unloadable
+
+ menu_item :roadmap
+ model_object Version
+ before_filter :find_model_object, :only => [:show]
+ before_filter :alias_model_object
+ before_filter :find_project_from_association, :only => [:show]
+ before_filter :authorize
+
+ def show
+ @issues = @version.fixed_issues
+ end
+
+ private
+
+ def alias_model_object
+ @version = @version_report
+ end
+
+end
diff --git a/app/helpers/version_reports_helper.rb b/app/helpers/version_reports_helper.rb
new file mode 100644
index 0000000..2e0ee8d
--- /dev/null
+++ b/app/helpers/version_reports_helper.rb
@@ -0,0 +1,12 @@
+module VersionReportsHelper
+
+ def display_issue(issue, *options)
+ text = issue.subject
+ text = text.sub(/\!\!\w*/,'')
+ if options.include? :tracker
+ text = "#{issue.tracker} ##{issue.id} " + text
+ end
+ link_to text, issue_path(issue)
+ end
+
+end
diff --git a/app/views/hooks/_view_report_link.html.erb b/app/views/hooks/_view_report_link.html.erb
new file mode 100644
index 0000000..fdd59c9
--- /dev/null
+++ b/app/views/hooks/_view_report_link.html.erb
@@ -0,0 +1 @@
+<br><br><%= link_to 'Time Tracking Report', version_report_path %> \ No newline at end of file
diff --git a/app/views/version_reports/_issue_row.html.erb b/app/views/version_reports/_issue_row.html.erb
new file mode 100644
index 0000000..3ff7020
--- /dev/null
+++ b/app/views/version_reports/_issue_row.html.erb
@@ -0,0 +1,14 @@
+<tr>
+ <td>
+ <%= ("&nbsp;" * 4 * indent).html_safe %>
+ <%= display_issue(issue, :tracker) %>
+ </td>
+ <td>
+ <%= l_hours(issue.total_spent_hours) %>
+ </td>
+</tr>
+<%- if issue.children.any? -%>
+<%- issue.children.each do |child| -%>
+<%= render :partial => 'issue_row', :locals => {:issue => child, :indent => indent+1} %>
+<%- end -%>
+<%- end -%>
diff --git a/app/views/version_reports/_main_issue_row.html.erb b/app/views/version_reports/_main_issue_row.html.erb
new file mode 100644
index 0000000..32518e9
--- /dev/null
+++ b/app/views/version_reports/_main_issue_row.html.erb
@@ -0,0 +1,28 @@
+<tr><td>&nbsp;</td></tr>
+<tr>
+ <td>
+ <h1><%= display_issue(issue) %></h1>
+ </td>
+ <td>
+ <%= l_hours(issue.total_spent_hours) %>
+ </td>
+</tr>
+<tr>
+ <td colspan="2">
+ From <%= issue.start_date %> to <%= issue.due_date %>.
+ <div class="wiki">
+ <%= textilizable issue, :description %>
+ </div>
+ </td>
+</tr>
+
+<%- project = nil -%>
+<%- if issue.children.any? -%>
+<%- issue.children.sort{|a,b| a.project.name <=> b.project.name}.each do |child| -%>
+<%- if child.project.name != project -%>
+<%- project = child.project.name -%>
+<%= render :partial => 'project_row', :locals => {:project => child.project} %>
+<%- end -%>
+<%= render :partial => 'issue_row', :locals => {:issue => child, :indent => 1} %>
+<%- end -%>
+<%- end -%>
diff --git a/app/views/version_reports/_project_row.html.erb b/app/views/version_reports/_project_row.html.erb
new file mode 100644
index 0000000..ac0acd2
--- /dev/null
+++ b/app/views/version_reports/_project_row.html.erb
@@ -0,0 +1,5 @@
+<tr>
+ <td colspan="2">
+ <b><%= project.name %></b>
+ </td>
+</tr>
diff --git a/app/views/version_reports/show.html.erb b/app/views/version_reports/show.html.erb
new file mode 100644
index 0000000..09c2b20
--- /dev/null
+++ b/app/views/version_reports/show.html.erb
@@ -0,0 +1,9 @@
+<% html_title @version.name %>
+
+<table>
+<% if @issues.present? %>
+ <%- @issues.each do |issue| -%>
+ <%= render :partial => 'main_issue_row', :locals => {:issue => issue} %>
+ <% end %>
+<% end %>
+</table> \ No newline at end of file