#require 'Action'

class ToDoTemplate

	def sliceTasksBySubPageAndContext(tasks,subPages,lines)
    tasks=tasks.to_a
    tByContext={}
    allcards=[]
    pages=[]
    tasks.each do |t|
      if t.context
        cname=t.context.name.to_s
      else
        cname='-INBOX-'
      end
      tByContext[cname] ||= []
      tByContext[cname] << t
    end
    keys=tByContext.keys.sort
    keys.each do |key|
      tasks=tByContext[key]
      ccount=0
      while t=tasks.slice!(0,lines) and t!= nil and t.size > 0 do
        ccount += 1
        card={}
        card[:name]=key
        card[:name]="#{key} (cont.)" if ccount > 1
        card[:items]=t
        allcards << card
      end
    end
    while c=allcards.slice!(0,4) and c!=nil and c.size > 0 do 
      while c.size < subPages do
        c << { :name=>"",:items=>[] }
      end 
      pages << c
    end
	  pages
	end
end