Sha256: 093ea9dcfe62c632aaa215e628c1c51998f2545711bf6ab1624c599fbc70645d

Contents?: true

Size: 1.62 KB

Versions: 4

Compression:

Stored size: 1.62 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 > Time.zone.now.to_date
        return "onalert"  if task.term     < Time.zone.now.to_date
        return "onwarning"
      end

      def folder_color(folder)
        return "onalert"   if ::Dorsale::Flyboy::Task.where(taskable: folder).where('done = ? AND term < ?', false, Time.zone.now.to_date).count > 0
        return "onwarning" if ::Dorsale::Flyboy::Task.where(taskable: folder).where('done = ? AND term > ? AND reminder < ?', false, Time.zone.now.to_date, Time.zone.now.to_date).count > 0
        return "finished"  if folder.closed?
        return "ontime"
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dorsale-3.0.3 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-3.0.2 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-3.0.1 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-3.0.0 app/helpers/dorsale/flyboy/application_helper.rb