#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