Commit a6472ba829a118f297e631e5fa383182b2ea4ec5

Authored by Victor Costa
2 parents aaac6d01 1cf1f45b

Merge branch 'processed_tasks' into production

app/controllers/my_profile/tasks_controller.rb
... ... @@ -28,7 +28,7 @@ class TasksController < MyProfileController
28 28 end
29 29  
30 30 def processed
31   - @tasks = Task.to(profile).without_spam.closed.includes(:requestor, :closed_by).order('tasks.created_at DESC')
  31 + @tasks = Task.to(profile).without_spam.closed.order('tasks.created_at DESC')
32 32 @filter = params[:filter] || {}
33 33 @tasks = filter_tasks(@filter, @tasks)
34 34 @tasks = @tasks.paginate(:per_page => Task.per_page, :page => params[:page])
... ... @@ -161,20 +161,30 @@ class TasksController < MyProfileController
161 161  
162 162 protected
163 163  
164   - def filter_tasks(filter, tasks)
165   - filter[:created_from] = Date.parse(filter[:created_from]) unless filter[:created_from].blank?
166   - filter[:created_until] = Date.parse(filter[:created_until]) unless filter[:created_until].blank?
  164 + def filter_by_closed_date(filter, tasks)
167 165 filter[:closed_from] = Date.parse(filter[:closed_from]) unless filter[:closed_from].blank?
168 166 filter[:closed_until] = Date.parse(filter[:closed_until]) unless filter[:closed_until].blank?
169 167  
170   - tasks = tasks.of(filter[:type].presence)
171   - tasks = tasks.where(:status => filter[:status]) unless filter[:status].blank?
  168 + tasks = tasks.where('tasks.end_date >= ?', filter[:closed_from].beginning_of_day) unless filter[:closed_from].blank?
  169 + tasks = tasks.where('tasks.end_date <= ?', filter[:closed_until].end_of_day) unless filter[:closed_until].blank?
  170 + tasks
  171 + end
  172 +
  173 + def filter_by_creation_date(filter, tasks)
  174 + filter[:created_from] = Date.parse(filter[:created_from]) unless filter[:created_from].blank?
  175 + filter[:created_until] = Date.parse(filter[:created_until]) unless filter[:created_until].blank?
172 176  
173 177 tasks = tasks.where('tasks.created_at >= ?', filter[:created_from].beginning_of_day) unless filter[:created_from].blank?
174 178 tasks = tasks.where('tasks.created_at <= ?', filter[:created_until].end_of_day) unless filter[:created_until].blank?
  179 + tasks
  180 + end
175 181  
176   - tasks = tasks.where('tasks.end_date >= ?', filter[:closed_from].beginning_of_day) unless filter[:closed_from].blank?
177   - tasks = tasks.where('tasks.end_date <= ?', filter[:closed_until].end_of_day) unless filter[:closed_until].blank?
  182 + def filter_tasks(filter, tasks)
  183 + tasks = tasks.includes(:requestor, :closed_by)
  184 + tasks = tasks.of(filter[:type].presence)
  185 + tasks = tasks.where(:status => filter[:status]) unless filter[:status].blank?
  186 + tasks = filter_by_creation_date(filter, tasks)
  187 + tasks = filter_by_closed_date(filter, tasks)
178 188  
179 189 tasks = tasks.like('profiles.name', filter[:requestor]) unless filter[:requestor].blank?
180 190 tasks = tasks.like('closed_bies_tasks.name', filter[:closed_by]) unless filter[:closed_by].blank?
... ...
app/views/tasks/_task_processed.html.erb 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +<div class="title">
  2 + <%= task_information(task) %>
  3 +</div>
  4 +<div class="status">
  5 + <%= _(Task::Status.names[task.status]) %>
  6 +</div>
  7 +<div class="dates">
  8 + <span class="created">
  9 + <span class="label"><%= _('Created:') %></span>
  10 + <span class="value"><%= show_date(task.created_at) %></span>
  11 + </span>
  12 + &nbsp; &#151; &nbsp;
  13 + <span class="processed">
  14 + <span class="label"><%= _('Processed:') %></span>
  15 + <span class="value"><%= show_date(task.end_date) %></span>
  16 + </span>
  17 +</div>
  18 +<% if task.closed_by.present? %>
  19 + <div class="closed-by">
  20 + <span class="label"><%= _('Closed by:') %></span>
  21 + <span class="value"><%= link_to(task.closed_by.name, task.closed_by.url) %></span>
  22 + </div>
  23 +<% end %>
... ...
app/views/tasks/index.html.erb
... ... @@ -67,7 +67,9 @@
67 67 <% end %>
68 68  
69 69 <div class="task_boxes">
70   - <%= render :partial => 'task', :collection => @tasks %>
  70 + <% @tasks.each do |task| %>
  71 + <%= render :partial => partial_for_class(task.class, nil, nil), :locals => {:task => task} %>
  72 + <% end %>
71 73 </div>
72 74  
73 75 <% unless @view_only %>
... ...
app/views/tasks/processed.html.erb
... ... @@ -40,29 +40,7 @@
40 40 <ul class="task-list">
41 41 <% @tasks.each do |item| %>
42 42 <li class="task status-<%= item.status%>">
43   - <div class="title">
44   - <%= task_information(item) %>
45   - </div>
46   - <div class="status">
47   - <%= _(Task::Status.names[item.status]) %>
48   - </div>
49   - <div class="dates">
50   - <span class="created">
51   - <span class="label"><%= _('Created:') %></span>
52   - <span class="value"><%= show_date(item.created_at) %></span>
53   - </span>
54   - &nbsp; &#151; &nbsp;
55   - <span class="processed">
56   - <span class="label"><%= _('Processed:') %></span>
57   - <span class="value"><%= show_date(item.end_date) %></span>
58   - </span>
59   - </div>
60   - <% if item.closed_by.present? %>
61   - <div class="closed-by">
62   - <span class="label"><%= _('Closed by:') %></span>
63   - <span class="value"><%= link_to(item.closed_by.name, item.closed_by.url) %></span>
64   - </div>
65   - <% end %>
  43 + <%= render :partial => partial_for_class(item.class, nil, 'processed'), :locals => {:task => item} %>
66 44 </li>
67 45 <% end %>
68 46 </ul>
... ...