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

Version Path
dorsale-2.7.3 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.7.2 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.7.1 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.7.0 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.8 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.7 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.6 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.5 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.4 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.3 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.2 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.1 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.6.0 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.5.0 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.4.3 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.4.2 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.4.1 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.4.0 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.3.5 app/helpers/dorsale/flyboy/application_helper.rb
dorsale-2.3.4 app/helpers/dorsale/flyboy/application_helper.rb