Commit 5a1be8cbf896d5e453180ee29d350a6114d64c19
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'production' of gitlab.com:participa/noosfero into production
Showing
5 changed files
with
45 additions
and
33 deletions
Show diff stats
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/helpers/task_helper.rb
| ... | ... | @@ -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 | 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 | - — | |
| 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> | ... | ... |