Commit a6472ba829a118f297e631e5fa383182b2ea4ec5
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'processed_tasks' into production
Showing
4 changed files
with
45 additions
and
32 deletions
Show diff stats
app/controllers/my_profile/tasks_controller.rb
@@ -28,7 +28,7 @@ class TasksController < MyProfileController | @@ -28,7 +28,7 @@ class TasksController < MyProfileController | ||
28 | end | 28 | end |
29 | 29 | ||
30 | def processed | 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 | @filter = params[:filter] || {} | 32 | @filter = params[:filter] || {} |
33 | @tasks = filter_tasks(@filter, @tasks) | 33 | @tasks = filter_tasks(@filter, @tasks) |
34 | @tasks = @tasks.paginate(:per_page => Task.per_page, :page => params[:page]) | 34 | @tasks = @tasks.paginate(:per_page => Task.per_page, :page => params[:page]) |
@@ -161,20 +161,30 @@ class TasksController < MyProfileController | @@ -161,20 +161,30 @@ class TasksController < MyProfileController | ||
161 | 161 | ||
162 | protected | 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 | filter[:closed_from] = Date.parse(filter[:closed_from]) unless filter[:closed_from].blank? | 165 | filter[:closed_from] = Date.parse(filter[:closed_from]) unless filter[:closed_from].blank? |
168 | filter[:closed_until] = Date.parse(filter[:closed_until]) unless filter[:closed_until].blank? | 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 | tasks = tasks.where('tasks.created_at >= ?', filter[:created_from].beginning_of_day) unless filter[:created_from].blank? | 177 | tasks = tasks.where('tasks.created_at >= ?', filter[:created_from].beginning_of_day) unless filter[:created_from].blank? |
174 | tasks = tasks.where('tasks.created_at <= ?', filter[:created_until].end_of_day) unless filter[:created_until].blank? | 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 | tasks = tasks.like('profiles.name', filter[:requestor]) unless filter[:requestor].blank? | 189 | tasks = tasks.like('profiles.name', filter[:requestor]) unless filter[:requestor].blank? |
180 | tasks = tasks.like('closed_bies_tasks.name', filter[:closed_by]) unless filter[:closed_by].blank? | 190 | tasks = tasks.like('closed_bies_tasks.name', filter[:closed_by]) unless filter[:closed_by].blank? |
@@ -0,0 +1,23 @@ | @@ -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 | + — | ||
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,7 +67,9 @@ | ||
67 | <% end %> | 67 | <% end %> |
68 | 68 | ||
69 | <div class="task_boxes"> | 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 | </div> | 73 | </div> |
72 | 74 | ||
73 | <% unless @view_only %> | 75 | <% unless @view_only %> |
app/views/tasks/processed.html.erb
@@ -40,29 +40,7 @@ | @@ -40,29 +40,7 @@ | ||
40 | <ul class="task-list"> | 40 | <ul class="task-list"> |
41 | <% @tasks.each do |item| %> | 41 | <% @tasks.each do |item| %> |
42 | <li class="task status-<%= item.status%>"> | 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 | - — | ||
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 | </li> | 44 | </li> |
67 | <% end %> | 45 | <% end %> |
68 | </ul> | 46 | </ul> |