Sha256: 49bda506e9560c7a108b3ee01df337f889dc4fbbd66b838ab036f9251311230f
Contents?: true
Size: 1.56 KB
Versions: 53
Compression:
Stored size: 1.56 KB
Contents
module Dorsale module Flyboy module ApplicationHelper include ::Handles::SortableColumns::InstanceMethods def tasks_for(taskable) @filters = ::Dorsale::Flyboy::SmallData::FilterForTasks.new(cookies) order ||= sortable_column_order do |column, direction| case column when "name", "status" %(LOWER(dorsale_flyboy_tasks.#{column}) #{direction}) when "progress", "term" %(dorsale_flyboy_tasks.#{column} #{direction}) else params["sort"] = "term" "dorsale_flyboy_tasks.term ASC" end end tasks = ::Dorsale::Flyboy::Task.where(taskable: taskable) tasks = @filters.apply(tasks) tasks = tasks.order(order) render "dorsale/flyboy/tasks/tasks_for_taskable", tasks: tasks, taskable: taskable end def show_tasks_summary render "dorsale/flyboy/tasks/summary" end def task_color(task) return "finished" if task.done return "ontime" if task.reminder > Date.today return "onalert" if task.term < Date.today return "onwarning" end def folder_color(folder) return "onalert" if ::Dorsale::Flyboy::Task.where(taskable: folder).where('done = ? AND term < ?', false, Date.today).count > 0 return "onwarning" if ::Dorsale::Flyboy::Task.where(taskable: folder).where('done = ? AND term > ? AND reminder < ?', false, Date.today, Date.today).count > 0 return "finished" if folder.closed? return "ontime" end end end end
Version data entries
53 entries across 53 versions & 1 rubygems