backlog 0.7.8 → 0.7.9
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +11 -1
- data/README.txt +15 -4
- data/Rakefile +1 -1
- data/app/controllers/search_controller.rb +12 -0
- data/app/controllers/tasks_controller.rb +2 -1
- data/app/helpers/application_helper.rb +16 -0
- data/app/helpers/search_helper.rb +2 -0
- data/app/models/search_result.rb +8 -0
- data/app/views/layouts/_left_top.rhtml +2 -1
- data/app/views/periods/show.rhtml +1 -1
- data/app/views/search/results.html.erb +23 -0
- data/app/views/tasks/_completed.rhtml +4 -12
- data/app/views/tasks/_fields_header.rhtml +1 -1
- data/app/views/tasks/_task.rhtml +1 -1
- data/app/views/tasks/list_started.rhtml +1 -1
- data/bin/backlog +36 -30
- data/doc/classes/APP.html +133 -0
- data/doc/classes/ActiveRecord.html +114 -0
- data/doc/classes/ActiveRecord/Base.html +271 -0
- data/doc/classes/ActiveRecord/Base.src/M000422.html +29 -0
- data/doc/classes/ActiveRecord/Base.src/M000423.html +27 -0
- data/doc/classes/ActiveRecord/Base.src/M000424.html +72 -0
- data/doc/classes/ActiveRecord/Base.src/M000425.html +16 -0
- data/doc/classes/ActiveRecord/Base.src/M000426.html +29 -0
- data/doc/classes/ActiveRecord/Base.src/M000427.html +27 -0
- data/doc/classes/ActiveRecord/Base.src/M000428.html +72 -0
- data/doc/classes/ActiveRecord/Base.src/M000429.html +16 -0
- data/doc/classes/ApplicationController.html +220 -0
- data/doc/classes/ApplicationController.src/M000316.html +19 -0
- data/doc/classes/ApplicationController.src/M000317.html +22 -0
- data/doc/classes/ApplicationController.src/M000318.html +19 -0
- data/doc/classes/ApplicationController.src/M000319.html +22 -0
- data/doc/classes/ApplicationHelper.html +405 -0
- data/doc/classes/ApplicationHelper.src/M000430.html +21 -0
- data/doc/classes/ApplicationHelper.src/M000431.html +18 -0
- data/doc/classes/ApplicationHelper.src/M000432.html +26 -0
- data/doc/classes/ApplicationHelper.src/M000433.html +20 -0
- data/doc/classes/ApplicationHelper.src/M000434.html +20 -0
- data/doc/classes/ApplicationHelper.src/M000435.html +22 -0
- data/doc/classes/ApplicationHelper.src/M000436.html +18 -0
- data/doc/classes/ApplicationHelper.src/M000437.html +22 -0
- data/doc/classes/ApplicationHelper.src/M000438.html +30 -0
- data/doc/classes/ApplicationHelper.src/M000439.html +21 -0
- data/doc/classes/ApplicationHelper.src/M000440.html +18 -0
- data/doc/classes/ApplicationHelper.src/M000441.html +26 -0
- data/doc/classes/ApplicationHelper.src/M000442.html +20 -0
- data/doc/classes/ApplicationHelper.src/M000443.html +20 -0
- data/doc/classes/ApplicationHelper.src/M000444.html +22 -0
- data/doc/classes/ApplicationHelper.src/M000445.html +18 -0
- data/doc/classes/ApplicationHelper.src/M000446.html +22 -0
- data/doc/classes/ApplicationHelper.src/M000447.html +30 -0
- data/doc/classes/Array.html +162 -0
- data/doc/classes/Array.src/M000143.html +22 -0
- data/doc/classes/Array.src/M000144.html +22 -0
- data/doc/classes/Backlog.html +315 -0
- data/doc/classes/Backlog.src/M000005.html +18 -0
- data/doc/classes/Backlog.src/M000006.html +18 -0
- data/doc/classes/Backlog.src/M000007.html +22 -0
- data/doc/classes/Backlog.src/M000008.html +22 -0
- data/doc/classes/Backlog.src/M000009.html +21 -0
- data/doc/classes/Backlog.src/M000010.html +18 -0
- data/doc/classes/Backlog.src/M000011.html +18 -0
- data/doc/classes/Backlog.src/M000012.html +18 -0
- data/doc/classes/Backlog.src/M000013.html +22 -0
- data/doc/classes/Backlog.src/M000014.html +22 -0
- data/doc/classes/Backlog.src/M000015.html +21 -0
- data/doc/classes/Backlog.src/M000016.html +18 -0
- data/doc/classes/BacklogsController.html +465 -0
- data/doc/classes/BacklogsController.src/M000041.html +26 -0
- data/doc/classes/BacklogsController.src/M000042.html +18 -0
- data/doc/classes/BacklogsController.src/M000043.html +33 -0
- data/doc/classes/BacklogsController.src/M000044.html +18 -0
- data/doc/classes/BacklogsController.src/M000045.html +24 -0
- data/doc/classes/BacklogsController.src/M000046.html +22 -0
- data/doc/classes/BacklogsController.src/M000047.html +19 -0
- data/doc/classes/BacklogsController.src/M000048.html +24 -0
- data/doc/classes/BacklogsController.src/M000049.html +20 -0
- data/doc/classes/BacklogsController.src/M000050.html +18 -0
- data/doc/classes/BacklogsController.src/M000051.html +18 -0
- data/doc/classes/BacklogsController.src/M000052.html +26 -0
- data/doc/classes/BacklogsController.src/M000053.html +18 -0
- data/doc/classes/BacklogsController.src/M000054.html +33 -0
- data/doc/classes/BacklogsController.src/M000055.html +18 -0
- data/doc/classes/BacklogsController.src/M000056.html +24 -0
- data/doc/classes/BacklogsController.src/M000057.html +22 -0
- data/doc/classes/BacklogsController.src/M000058.html +19 -0
- data/doc/classes/BacklogsController.src/M000059.html +24 -0
- data/doc/classes/BacklogsController.src/M000060.html +20 -0
- data/doc/classes/BacklogsController.src/M000061.html +18 -0
- data/doc/classes/BacklogsController.src/M000062.html +18 -0
- data/doc/classes/BacklogsHelper.html +115 -0
- data/doc/classes/BigDecimal.html +162 -0
- data/doc/classes/BigDecimal.src/M000360.html +34 -0
- data/doc/classes/BigDecimal.src/M000361.html +34 -0
- data/doc/classes/Chart.html +153 -0
- data/doc/classes/Clock.html +222 -0
- data/doc/classes/Clock.src/M000390.html +19 -0
- data/doc/classes/Clock.src/M000391.html +18 -0
- data/doc/classes/Clock.src/M000392.html +18 -0
- data/doc/classes/Clock.src/M000393.html +19 -0
- data/doc/classes/Clock.src/M000394.html +18 -0
- data/doc/classes/Clock.src/M000395.html +18 -0
- data/doc/classes/Estimate.html +175 -0
- data/doc/classes/Estimate.src/M000396.html +18 -0
- data/doc/classes/Estimate.src/M000397.html +18 -0
- data/doc/classes/EstimatesController.html +165 -0
- data/doc/classes/EstimatesController.src/M000388.html +22 -0
- data/doc/classes/EstimatesController.src/M000389.html +22 -0
- data/doc/classes/EstimatesHelper.html +115 -0
- data/doc/classes/Group.html +165 -0
- data/doc/classes/Group.src/M000097.html +18 -0
- data/doc/classes/Group.src/M000098.html +18 -0
- data/doc/classes/GroupsController.html +375 -0
- data/doc/classes/GroupsController.src/M000320.html +19 -0
- data/doc/classes/GroupsController.src/M000321.html +18 -0
- data/doc/classes/GroupsController.src/M000322.html +18 -0
- data/doc/classes/GroupsController.src/M000323.html +24 -0
- data/doc/classes/GroupsController.src/M000324.html +21 -0
- data/doc/classes/GroupsController.src/M000325.html +24 -0
- data/doc/classes/GroupsController.src/M000326.html +19 -0
- data/doc/classes/GroupsController.src/M000327.html +26 -0
- data/doc/classes/GroupsController.src/M000328.html +19 -0
- data/doc/classes/GroupsController.src/M000329.html +18 -0
- data/doc/classes/GroupsController.src/M000330.html +18 -0
- data/doc/classes/GroupsController.src/M000331.html +24 -0
- data/doc/classes/GroupsController.src/M000332.html +21 -0
- data/doc/classes/GroupsController.src/M000333.html +24 -0
- data/doc/classes/GroupsController.src/M000334.html +19 -0
- data/doc/classes/GroupsController.src/M000335.html +26 -0
- data/doc/classes/GroupsHelper.html +115 -0
- data/doc/classes/Localization.html +243 -0
- data/doc/classes/Localization.src/M000410.html +46 -0
- data/doc/classes/Localization.src/M000411.html +18 -0
- data/doc/classes/Localization.src/M000412.html +38 -0
- data/doc/classes/Localization.src/M000413.html +46 -0
- data/doc/classes/Localization.src/M000414.html +18 -0
- data/doc/classes/Localization.src/M000415.html +38 -0
- data/doc/classes/Localization/LString.html +203 -0
- data/doc/classes/Localization/LString.src/M000416.html +18 -0
- data/doc/classes/Localization/LString.src/M000417.html +18 -0
- data/doc/classes/Localization/LString.src/M000418.html +18 -0
- data/doc/classes/Localization/LString.src/M000419.html +18 -0
- data/doc/classes/PartiesController.html +225 -0
- data/doc/classes/PartiesController.src/M000175.html +18 -0
- data/doc/classes/PartiesController.src/M000176.html +18 -0
- data/doc/classes/PartiesController.src/M000177.html +18 -0
- data/doc/classes/PartiesController.src/M000178.html +18 -0
- data/doc/classes/PartiesController.src/M000179.html +18 -0
- data/doc/classes/PartiesController.src/M000180.html +18 -0
- data/doc/classes/PartiesHelper.html +115 -0
- data/doc/classes/Party.html +225 -0
- data/doc/classes/Party.src/M000336.html +18 -0
- data/doc/classes/Party.src/M000337.html +18 -0
- data/doc/classes/Party.src/M000338.html +18 -0
- data/doc/classes/Party.src/M000339.html +18 -0
- data/doc/classes/Party.src/M000340.html +18 -0
- data/doc/classes/Party.src/M000341.html +18 -0
- data/doc/classes/Period.html +976 -0
- data/doc/classes/Period.src/M000183.html +18 -0
- data/doc/classes/Period.src/M000184.html +18 -0
- data/doc/classes/Period.src/M000185.html +18 -0
- data/doc/classes/Period.src/M000186.html +18 -0
- data/doc/classes/Period.src/M000187.html +25 -0
- data/doc/classes/Period.src/M000188.html +18 -0
- data/doc/classes/Period.src/M000189.html +18 -0
- data/doc/classes/Period.src/M000190.html +18 -0
- data/doc/classes/Period.src/M000191.html +18 -0
- data/doc/classes/Period.src/M000192.html +22 -0
- data/doc/classes/Period.src/M000193.html +22 -0
- data/doc/classes/Period.src/M000194.html +28 -0
- data/doc/classes/Period.src/M000195.html +18 -0
- data/doc/classes/Period.src/M000196.html +18 -0
- data/doc/classes/Period.src/M000197.html +20 -0
- data/doc/classes/Period.src/M000198.html +26 -0
- data/doc/classes/Period.src/M000199.html +39 -0
- data/doc/classes/Period.src/M000200.html +18 -0
- data/doc/classes/Period.src/M000201.html +18 -0
- data/doc/classes/Period.src/M000202.html +18 -0
- data/doc/classes/Period.src/M000203.html +18 -0
- data/doc/classes/Period.src/M000204.html +18 -0
- data/doc/classes/Period.src/M000205.html +18 -0
- data/doc/classes/Period.src/M000206.html +68 -0
- data/doc/classes/Period.src/M000207.html +18 -0
- data/doc/classes/Period.src/M000208.html +18 -0
- data/doc/classes/Period.src/M000209.html +34 -0
- data/doc/classes/Period.src/M000210.html +18 -0
- data/doc/classes/Period.src/M000211.html +18 -0
- data/doc/classes/Period.src/M000212.html +18 -0
- data/doc/classes/Period.src/M000213.html +18 -0
- data/doc/classes/Period.src/M000214.html +25 -0
- data/doc/classes/Period.src/M000215.html +18 -0
- data/doc/classes/Period.src/M000216.html +18 -0
- data/doc/classes/Period.src/M000217.html +18 -0
- data/doc/classes/Period.src/M000218.html +18 -0
- data/doc/classes/Period.src/M000219.html +22 -0
- data/doc/classes/Period.src/M000220.html +22 -0
- data/doc/classes/Period.src/M000221.html +28 -0
- data/doc/classes/Period.src/M000222.html +18 -0
- data/doc/classes/Period.src/M000223.html +18 -0
- data/doc/classes/Period.src/M000224.html +20 -0
- data/doc/classes/Period.src/M000225.html +26 -0
- data/doc/classes/Period.src/M000226.html +39 -0
- data/doc/classes/Period.src/M000227.html +18 -0
- data/doc/classes/Period.src/M000228.html +18 -0
- data/doc/classes/Period.src/M000229.html +18 -0
- data/doc/classes/Period.src/M000230.html +18 -0
- data/doc/classes/Period.src/M000231.html +18 -0
- data/doc/classes/Period.src/M000232.html +18 -0
- data/doc/classes/Period.src/M000233.html +68 -0
- data/doc/classes/Period.src/M000234.html +18 -0
- data/doc/classes/Period.src/M000235.html +18 -0
- data/doc/classes/Period.src/M000236.html +34 -0
- data/doc/classes/PeriodsController.html +525 -0
- data/doc/classes/PeriodsController.src/M000362.html +25 -0
- data/doc/classes/PeriodsController.src/M000363.html +33 -0
- data/doc/classes/PeriodsController.src/M000364.html +19 -0
- data/doc/classes/PeriodsController.src/M000365.html +29 -0
- data/doc/classes/PeriodsController.src/M000366.html +25 -0
- data/doc/classes/PeriodsController.src/M000367.html +18 -0
- data/doc/classes/PeriodsController.src/M000368.html +24 -0
- data/doc/classes/PeriodsController.src/M000369.html +20 -0
- data/doc/classes/PeriodsController.src/M000370.html +18 -0
- data/doc/classes/PeriodsController.src/M000371.html +18 -0
- data/doc/classes/PeriodsController.src/M000372.html +18 -0
- data/doc/classes/PeriodsController.src/M000373.html +20 -0
- data/doc/classes/PeriodsController.src/M000374.html +22 -0
- data/doc/classes/PeriodsController.src/M000375.html +25 -0
- data/doc/classes/PeriodsController.src/M000376.html +33 -0
- data/doc/classes/PeriodsController.src/M000377.html +19 -0
- data/doc/classes/PeriodsController.src/M000378.html +29 -0
- data/doc/classes/PeriodsController.src/M000379.html +25 -0
- data/doc/classes/PeriodsController.src/M000380.html +18 -0
- data/doc/classes/PeriodsController.src/M000381.html +24 -0
- data/doc/classes/PeriodsController.src/M000382.html +20 -0
- data/doc/classes/PeriodsController.src/M000383.html +18 -0
- data/doc/classes/PeriodsController.src/M000384.html +18 -0
- data/doc/classes/PeriodsController.src/M000385.html +18 -0
- data/doc/classes/PeriodsController.src/M000386.html +20 -0
- data/doc/classes/PeriodsController.src/M000387.html +22 -0
- data/doc/classes/PeriodsHelper.html +115 -0
- data/doc/classes/SearchController.html +165 -0
- data/doc/classes/SearchController.src/M000181.html +25 -0
- data/doc/classes/SearchController.src/M000182.html +25 -0
- data/doc/classes/SearchHelper.html +115 -0
- data/doc/classes/SearchResult.html +190 -0
- data/doc/classes/SearchResult.src/M000237.html +19 -0
- data/doc/classes/SearchResult.src/M000238.html +19 -0
- data/doc/classes/Task.html +1362 -0
- data/doc/classes/Task.src/M000239.html +23 -0
- data/doc/classes/Task.src/M000240.html +18 -0
- data/doc/classes/Task.src/M000241.html +30 -0
- data/doc/classes/Task.src/M000242.html +18 -0
- data/doc/classes/Task.src/M000243.html +18 -0
- data/doc/classes/Task.src/M000244.html +38 -0
- data/doc/classes/Task.src/M000245.html +18 -0
- data/doc/classes/Task.src/M000246.html +25 -0
- data/doc/classes/Task.src/M000247.html +20 -0
- data/doc/classes/Task.src/M000248.html +26 -0
- data/doc/classes/Task.src/M000249.html +24 -0
- data/doc/classes/Task.src/M000250.html +57 -0
- data/doc/classes/Task.src/M000251.html +26 -0
- data/doc/classes/Task.src/M000252.html +22 -0
- data/doc/classes/Task.src/M000253.html +18 -0
- data/doc/classes/Task.src/M000254.html +18 -0
- data/doc/classes/Task.src/M000255.html +18 -0
- data/doc/classes/Task.src/M000256.html +18 -0
- data/doc/classes/Task.src/M000257.html +18 -0
- data/doc/classes/Task.src/M000258.html +18 -0
- data/doc/classes/Task.src/M000259.html +18 -0
- data/doc/classes/Task.src/M000260.html +20 -0
- data/doc/classes/Task.src/M000261.html +18 -0
- data/doc/classes/Task.src/M000262.html +18 -0
- data/doc/classes/Task.src/M000263.html +18 -0
- data/doc/classes/Task.src/M000264.html +18 -0
- data/doc/classes/Task.src/M000265.html +18 -0
- data/doc/classes/Task.src/M000266.html +18 -0
- data/doc/classes/Task.src/M000267.html +18 -0
- data/doc/classes/Task.src/M000268.html +18 -0
- data/doc/classes/Task.src/M000269.html +24 -0
- data/doc/classes/Task.src/M000270.html +33 -0
- data/doc/classes/Task.src/M000271.html +24 -0
- data/doc/classes/Task.src/M000272.html +34 -0
- data/doc/classes/Task.src/M000273.html +18 -0
- data/doc/classes/Task.src/M000274.html +18 -0
- data/doc/classes/Task.src/M000275.html +18 -0
- data/doc/classes/Task.src/M000276.html +23 -0
- data/doc/classes/Task.src/M000277.html +23 -0
- data/doc/classes/Task.src/M000278.html +18 -0
- data/doc/classes/Task.src/M000279.html +30 -0
- data/doc/classes/Task.src/M000280.html +18 -0
- data/doc/classes/Task.src/M000281.html +18 -0
- data/doc/classes/Task.src/M000282.html +38 -0
- data/doc/classes/Task.src/M000283.html +18 -0
- data/doc/classes/Task.src/M000284.html +25 -0
- data/doc/classes/Task.src/M000285.html +20 -0
- data/doc/classes/Task.src/M000286.html +26 -0
- data/doc/classes/Task.src/M000287.html +24 -0
- data/doc/classes/Task.src/M000288.html +57 -0
- data/doc/classes/Task.src/M000289.html +26 -0
- data/doc/classes/Task.src/M000290.html +22 -0
- data/doc/classes/Task.src/M000291.html +18 -0
- data/doc/classes/Task.src/M000292.html +18 -0
- data/doc/classes/Task.src/M000293.html +18 -0
- data/doc/classes/Task.src/M000294.html +18 -0
- data/doc/classes/Task.src/M000295.html +18 -0
- data/doc/classes/Task.src/M000296.html +18 -0
- data/doc/classes/Task.src/M000297.html +18 -0
- data/doc/classes/Task.src/M000298.html +20 -0
- data/doc/classes/Task.src/M000299.html +18 -0
- data/doc/classes/Task.src/M000300.html +18 -0
- data/doc/classes/Task.src/M000301.html +18 -0
- data/doc/classes/Task.src/M000302.html +18 -0
- data/doc/classes/Task.src/M000303.html +18 -0
- data/doc/classes/Task.src/M000304.html +18 -0
- data/doc/classes/Task.src/M000305.html +18 -0
- data/doc/classes/Task.src/M000307.html +18 -0
- data/doc/classes/Task.src/M000308.html +24 -0
- data/doc/classes/Task.src/M000309.html +33 -0
- data/doc/classes/Task.src/M000310.html +24 -0
- data/doc/classes/Task.src/M000311.html +34 -0
- data/doc/classes/Task.src/M000312.html +18 -0
- data/doc/classes/Task.src/M000313.html +18 -0
- data/doc/classes/Task.src/M000314.html +18 -0
- data/doc/classes/Task.src/M000315.html +23 -0
- data/doc/classes/TasksController.html +735 -0
- data/doc/classes/TasksController.src/M000103.html +20 -0
- data/doc/classes/TasksController.src/M000104.html +22 -0
- data/doc/classes/TasksController.src/M000105.html +36 -0
- data/doc/classes/TasksController.src/M000106.html +21 -0
- data/doc/classes/TasksController.src/M000107.html +70 -0
- data/doc/classes/TasksController.src/M000108.html +22 -0
- data/doc/classes/TasksController.src/M000109.html +21 -0
- data/doc/classes/TasksController.src/M000110.html +20 -0
- data/doc/classes/TasksController.src/M000111.html +20 -0
- data/doc/classes/TasksController.src/M000112.html +20 -0
- data/doc/classes/TasksController.src/M000113.html +25 -0
- data/doc/classes/TasksController.src/M000114.html +35 -0
- data/doc/classes/TasksController.src/M000115.html +25 -0
- data/doc/classes/TasksController.src/M000116.html +20 -0
- data/doc/classes/TasksController.src/M000117.html +20 -0
- data/doc/classes/TasksController.src/M000118.html +20 -0
- data/doc/classes/TasksController.src/M000119.html +20 -0
- data/doc/classes/TasksController.src/M000120.html +42 -0
- data/doc/classes/TasksController.src/M000121.html +43 -0
- data/doc/classes/TasksController.src/M000122.html +21 -0
- data/doc/classes/TasksController.src/M000123.html +20 -0
- data/doc/classes/TasksController.src/M000124.html +22 -0
- data/doc/classes/TasksController.src/M000125.html +36 -0
- data/doc/classes/TasksController.src/M000126.html +21 -0
- data/doc/classes/TasksController.src/M000127.html +70 -0
- data/doc/classes/TasksController.src/M000128.html +22 -0
- data/doc/classes/TasksController.src/M000129.html +21 -0
- data/doc/classes/TasksController.src/M000130.html +20 -0
- data/doc/classes/TasksController.src/M000131.html +20 -0
- data/doc/classes/TasksController.src/M000132.html +20 -0
- data/doc/classes/TasksController.src/M000133.html +25 -0
- data/doc/classes/TasksController.src/M000134.html +35 -0
- data/doc/classes/TasksController.src/M000135.html +25 -0
- data/doc/classes/TasksController.src/M000136.html +20 -0
- data/doc/classes/TasksController.src/M000137.html +20 -0
- data/doc/classes/TasksController.src/M000138.html +20 -0
- data/doc/classes/TasksController.src/M000139.html +20 -0
- data/doc/classes/TasksController.src/M000140.html +42 -0
- data/doc/classes/TasksController.src/M000141.html +43 -0
- data/doc/classes/TasksController.src/M000142.html +21 -0
- data/doc/classes/TasksHelper.html +115 -0
- data/doc/classes/Time.html +193 -0
- data/doc/classes/Time.src/M000099.html +20 -0
- data/doc/classes/Time.src/M000100.html +20 -0
- data/doc/classes/Time.src/M000101.html +20 -0
- data/doc/classes/Time.src/M000102.html +20 -0
- data/doc/classes/User.html +639 -0
- data/doc/classes/User.src/M000145.html +19 -0
- data/doc/classes/User.src/M000146.html +18 -0
- data/doc/classes/User.src/M000147.html +20 -0
- data/doc/classes/User.src/M000148.html +29 -0
- data/doc/classes/User.src/M000149.html +18 -0
- data/doc/classes/User.src/M000150.html +23 -0
- data/doc/classes/User.src/M000151.html +20 -0
- data/doc/classes/User.src/M000152.html +18 -0
- data/doc/classes/User.src/M000153.html +18 -0
- data/doc/classes/User.src/M000154.html +18 -0
- data/doc/classes/User.src/M000155.html +18 -0
- data/doc/classes/User.src/M000156.html +19 -0
- data/doc/classes/User.src/M000157.html +21 -0
- data/doc/classes/User.src/M000158.html +23 -0
- data/doc/classes/User.src/M000159.html +19 -0
- data/doc/classes/User.src/M000160.html +19 -0
- data/doc/classes/User.src/M000161.html +18 -0
- data/doc/classes/User.src/M000162.html +20 -0
- data/doc/classes/User.src/M000163.html +29 -0
- data/doc/classes/User.src/M000164.html +18 -0
- data/doc/classes/User.src/M000165.html +23 -0
- data/doc/classes/User.src/M000166.html +20 -0
- data/doc/classes/User.src/M000167.html +18 -0
- data/doc/classes/User.src/M000168.html +18 -0
- data/doc/classes/User.src/M000169.html +18 -0
- data/doc/classes/User.src/M000170.html +18 -0
- data/doc/classes/User.src/M000171.html +19 -0
- data/doc/classes/User.src/M000172.html +21 -0
- data/doc/classes/User.src/M000173.html +23 -0
- data/doc/classes/User.src/M000174.html +19 -0
- data/doc/classes/UserController.html +509 -0
- data/doc/classes/UserController.src/M000017.html +34 -0
- data/doc/classes/UserController.src/M000018.html +36 -0
- data/doc/classes/UserController.src/M000019.html +21 -0
- data/doc/classes/UserController.src/M000020.html +33 -0
- data/doc/classes/UserController.src/M000021.html +48 -0
- data/doc/classes/UserController.src/M000022.html +39 -0
- data/doc/classes/UserController.src/M000023.html +25 -0
- data/doc/classes/UserController.src/M000024.html +17 -0
- data/doc/classes/UserController.src/M000025.html +22 -0
- data/doc/classes/UserController.src/M000026.html +24 -0
- data/doc/classes/UserController.src/M000027.html +26 -0
- data/doc/classes/UserController.src/M000028.html +19 -0
- data/doc/classes/UserController.src/M000029.html +34 -0
- data/doc/classes/UserController.src/M000030.html +36 -0
- data/doc/classes/UserController.src/M000031.html +21 -0
- data/doc/classes/UserController.src/M000032.html +33 -0
- data/doc/classes/UserController.src/M000033.html +48 -0
- data/doc/classes/UserController.src/M000034.html +39 -0
- data/doc/classes/UserController.src/M000035.html +25 -0
- data/doc/classes/UserController.src/M000036.html +17 -0
- data/doc/classes/UserController.src/M000037.html +22 -0
- data/doc/classes/UserController.src/M000038.html +24 -0
- data/doc/classes/UserController.src/M000039.html +26 -0
- data/doc/classes/UserController.src/M000040.html +19 -0
- data/doc/classes/UserHelper.html +324 -0
- data/doc/classes/UserHelper.src/M000398.html +18 -0
- data/doc/classes/UserHelper.src/M000399.html +37 -0
- data/doc/classes/UserHelper.src/M000400.html +19 -0
- data/doc/classes/UserHelper.src/M000401.html +18 -0
- data/doc/classes/UserHelper.src/M000402.html +18 -0
- data/doc/classes/UserHelper.src/M000403.html +18 -0
- data/doc/classes/UserHelper.src/M000404.html +18 -0
- data/doc/classes/UserHelper.src/M000405.html +37 -0
- data/doc/classes/UserHelper.src/M000406.html +19 -0
- data/doc/classes/UserHelper.src/M000407.html +18 -0
- data/doc/classes/UserHelper.src/M000408.html +18 -0
- data/doc/classes/UserHelper.src/M000409.html +18 -0
- data/doc/classes/UserNotify.html +253 -0
- data/doc/classes/UserNotify.src/M000089.html +28 -0
- data/doc/classes/UserNotify.src/M000090.html +27 -0
- data/doc/classes/UserNotify.src/M000091.html +28 -0
- data/doc/classes/UserNotify.src/M000092.html +22 -0
- data/doc/classes/UserNotify.src/M000093.html +28 -0
- data/doc/classes/UserNotify.src/M000094.html +27 -0
- data/doc/classes/UserNotify.src/M000095.html +28 -0
- data/doc/classes/UserNotify.src/M000096.html +22 -0
- data/doc/classes/UserSystem.html +330 -0
- data/doc/classes/UserSystem.src/M000448.html +26 -0
- data/doc/classes/UserSystem.src/M000449.html +18 -0
- data/doc/classes/UserSystem.src/M000450.html +23 -0
- data/doc/classes/UserSystem.src/M000451.html +46 -0
- data/doc/classes/UserSystem.src/M000452.html +18 -0
- data/doc/classes/UserSystem.src/M000453.html +19 -0
- data/doc/classes/UserSystem.src/M000454.html +26 -0
- data/doc/classes/UserSystem.src/M000455.html +18 -0
- data/doc/classes/UserSystem.src/M000456.html +23 -0
- data/doc/classes/UserSystem.src/M000457.html +46 -0
- data/doc/classes/UserSystem.src/M000458.html +18 -0
- data/doc/classes/UserSystem.src/M000459.html +19 -0
- data/doc/classes/Work.html +451 -0
- data/doc/classes/Work.src/M000342.html +18 -0
- data/doc/classes/Work.src/M000343.html +18 -0
- data/doc/classes/Work.src/M000344.html +28 -0
- data/doc/classes/Work.src/M000345.html +38 -0
- data/doc/classes/Work.src/M000346.html +18 -0
- data/doc/classes/Work.src/M000347.html +18 -0
- data/doc/classes/Work.src/M000348.html +21 -0
- data/doc/classes/Work.src/M000349.html +18 -0
- data/doc/classes/Work.src/M000350.html +21 -0
- data/doc/classes/Work.src/M000351.html +18 -0
- data/doc/classes/Work.src/M000352.html +18 -0
- data/doc/classes/Work.src/M000353.html +28 -0
- data/doc/classes/Work.src/M000354.html +38 -0
- data/doc/classes/Work.src/M000355.html +18 -0
- data/doc/classes/Work.src/M000356.html +18 -0
- data/doc/classes/Work.src/M000357.html +21 -0
- data/doc/classes/Work.src/M000358.html +18 -0
- data/doc/classes/Work.src/M000359.html +21 -0
- data/doc/classes/WorksController.html +525 -0
- data/doc/classes/WorksController.src/M000063.html +19 -0
- data/doc/classes/WorksController.src/M000064.html +19 -0
- data/doc/classes/WorksController.src/M000065.html +18 -0
- data/doc/classes/WorksController.src/M000066.html +22 -0
- data/doc/classes/WorksController.src/M000067.html +36 -0
- data/doc/classes/WorksController.src/M000068.html +21 -0
- data/doc/classes/WorksController.src/M000069.html +31 -0
- data/doc/classes/WorksController.src/M000070.html +21 -0
- data/doc/classes/WorksController.src/M000071.html +25 -0
- data/doc/classes/WorksController.src/M000072.html +20 -0
- data/doc/classes/WorksController.src/M000073.html +22 -0
- data/doc/classes/WorksController.src/M000074.html +23 -0
- data/doc/classes/WorksController.src/M000075.html +23 -0
- data/doc/classes/WorksController.src/M000076.html +19 -0
- data/doc/classes/WorksController.src/M000077.html +19 -0
- data/doc/classes/WorksController.src/M000078.html +18 -0
- data/doc/classes/WorksController.src/M000079.html +22 -0
- data/doc/classes/WorksController.src/M000080.html +36 -0
- data/doc/classes/WorksController.src/M000081.html +21 -0
- data/doc/classes/WorksController.src/M000082.html +31 -0
- data/doc/classes/WorksController.src/M000083.html +21 -0
- data/doc/classes/WorksController.src/M000084.html +25 -0
- data/doc/classes/WorksController.src/M000085.html +20 -0
- data/doc/classes/WorksController.src/M000086.html +22 -0
- data/doc/classes/WorksController.src/M000087.html +23 -0
- data/doc/classes/WorksController.src/M000088.html +23 -0
- data/doc/classes/WorksHelper.html +156 -0
- data/doc/classes/WorksHelper.src/M000420.html +18 -0
- data/doc/classes/WorksHelper.src/M000421.html +18 -0
- data/doc/created.rid +1 -0
- data/doc/dot/f_0.dot +14 -0
- data/doc/dot/f_0.png +0 -0
- data/doc/dot/f_1.dot +30 -0
- data/doc/dot/f_1.png +0 -0
- data/doc/dot/f_2.dot +39 -0
- data/doc/dot/f_2.png +0 -0
- data/doc/dot/f_24.dot +32 -0
- data/doc/dot/f_24.png +0 -0
- data/doc/dot/f_25.dot +32 -0
- data/doc/dot/f_25.png +0 -0
- data/doc/dot/f_26.dot +32 -0
- data/doc/dot/f_26.png +0 -0
- data/doc/dot/f_27.dot +32 -0
- data/doc/dot/f_27.png +0 -0
- data/doc/dot/f_28.dot +32 -0
- data/doc/dot/f_28.png +0 -0
- data/doc/dot/f_29.dot +32 -0
- data/doc/dot/f_29.png +0 -0
- data/doc/dot/f_3.dot +23 -0
- data/doc/dot/f_3.png +0 -0
- data/doc/dot/f_30.dot +130 -0
- data/doc/dot/f_30.png +0 -0
- data/doc/dot/f_31.dot +32 -0
- data/doc/dot/f_31.png +0 -0
- data/doc/dot/f_32.dot +32 -0
- data/doc/dot/f_32.png +0 -0
- data/doc/dot/f_33.dot +32 -0
- data/doc/dot/f_33.png +0 -0
- data/doc/dot/f_4.dot +23 -0
- data/doc/dot/f_4.png +0 -0
- data/doc/dot/f_44.dot +30 -0
- data/doc/dot/f_44.png +0 -0
- data/doc/dot/f_45.dot +30 -0
- data/doc/dot/f_45.png +0 -0
- data/doc/dot/f_46.dot +30 -0
- data/doc/dot/f_46.png +0 -0
- data/doc/dot/f_47.dot +44 -0
- data/doc/dot/f_47.png +0 -0
- data/doc/dot/f_48.dot +39 -0
- data/doc/dot/f_48.png +0 -0
- data/doc/dot/f_49.dot +30 -0
- data/doc/dot/f_49.png +0 -0
- data/doc/dot/f_5.dot +30 -0
- data/doc/dot/f_5.png +0 -0
- data/doc/dot/f_50.dot +30 -0
- data/doc/dot/f_50.png +0 -0
- data/doc/dot/f_51.dot +30 -0
- data/doc/dot/f_51.png +0 -0
- data/doc/dot/f_52.dot +30 -0
- data/doc/dot/f_52.png +0 -0
- data/doc/dot/f_53.dot +30 -0
- data/doc/dot/f_53.png +0 -0
- data/doc/dot/f_6.dot +23 -0
- data/doc/dot/f_6.png +0 -0
- data/doc/dot/f_64.dot +32 -0
- data/doc/dot/f_64.png +0 -0
- data/doc/dot/f_65.dot +30 -0
- data/doc/dot/f_65.png +0 -0
- data/doc/dot/f_66.dot +32 -0
- data/doc/dot/f_66.png +0 -0
- data/doc/dot/f_67.dot +32 -0
- data/doc/dot/f_67.png +0 -0
- data/doc/dot/f_68.dot +32 -0
- data/doc/dot/f_68.png +0 -0
- data/doc/dot/f_69.dot +46 -0
- data/doc/dot/f_69.png +0 -0
- data/doc/dot/f_7.dot +47 -0
- data/doc/dot/f_7.png +0 -0
- data/doc/dot/f_70.dot +23 -0
- data/doc/dot/f_70.png +0 -0
- data/doc/dot/f_71.dot +32 -0
- data/doc/dot/f_71.png +0 -0
- data/doc/dot/f_72.dot +32 -0
- data/doc/dot/f_72.png +0 -0
- data/doc/dot/f_73.dot +46 -0
- data/doc/dot/f_73.png +0 -0
- data/doc/dot/f_74.dot +32 -0
- data/doc/dot/f_74.png +0 -0
- data/doc/dot/m_48_0.dot +30 -0
- data/doc/dot/m_48_0.png +0 -0
- data/doc/files/History_txt.html +611 -0
- data/doc/files/README_txt.html +258 -0
- data/doc/files/app/controllers/application_rb.html +123 -0
- data/doc/files/app/controllers/backlogs_controller_rb.html +108 -0
- data/doc/files/app/controllers/estimates_controller_rb.html +108 -0
- data/doc/files/app/controllers/groups_controller_rb.html +108 -0
- data/doc/files/app/controllers/parties_controller_rb.html +108 -0
- data/doc/files/app/controllers/periods_controller_rb.html +108 -0
- data/doc/files/app/controllers/search_controller_rb.html +108 -0
- data/doc/files/app/controllers/tasks_controller_rb.html +108 -0
- data/doc/files/app/controllers/user_controller_rb.html +108 -0
- data/doc/files/app/controllers/works_controller_rb.html +108 -0
- data/doc/files/app/helpers/application_helper_rb.html +115 -0
- data/doc/files/app/helpers/backlogs_helper_rb.html +107 -0
- data/doc/files/app/helpers/estimates_helper_rb.html +107 -0
- data/doc/files/app/helpers/groups_helper_rb.html +107 -0
- data/doc/files/app/helpers/parties_helper_rb.html +107 -0
- data/doc/files/app/helpers/periods_helper_rb.html +107 -0
- data/doc/files/app/helpers/search_helper_rb.html +107 -0
- data/doc/files/app/helpers/tasks_helper_rb.html +108 -0
- data/doc/files/app/helpers/user_helper_rb.html +107 -0
- data/doc/files/app/helpers/works_helper_rb.html +107 -0
- data/doc/files/app/models/backlog_rb.html +108 -0
- data/doc/files/app/models/chart_rb.html +107 -0
- data/doc/files/app/models/estimate_rb.html +118 -0
- data/doc/files/app/models/group_rb.html +108 -0
- data/doc/files/app/models/party_rb.html +108 -0
- data/doc/files/app/models/period_rb.html +116 -0
- data/doc/files/app/models/search_result_rb.html +107 -0
- data/doc/files/app/models/task_rb.html +109 -0
- data/doc/files/app/models/user_notify_rb.html +108 -0
- data/doc/files/app/models/user_rb.html +115 -0
- data/doc/files/app/models/work_rb.html +108 -0
- data/doc/files/bin/backlog.html +201 -0
- data/doc/files/bin/backlog.src/M000003.html +20 -0
- data/doc/files/bin/backlog.src/M000004.html +18 -0
- data/doc/files/bin/copy_production2development_rb.html +153 -0
- data/doc/files/bin/copy_production2development_rb.src/M000001.html +19 -0
- data/doc/files/bin/copy_production2development_rb.src/M000002.html +19 -0
- data/doc/files/lib/array_helper_rb.html +107 -0
- data/doc/files/lib/backlog.html +112 -0
- data/doc/files/lib/big_decimal_yaml_fix_rb.html +117 -0
- data/doc/files/lib/class_table_inheritance_rb.html +106 -0
- data/doc/files/lib/clock_rb.html +107 -0
- data/doc/files/lib/localization_rb.html +115 -0
- data/doc/files/lib/tasks/backup_rake.html +204 -0
- data/doc/files/lib/tasks/capistrano_rake.html +214 -0
- data/doc/files/lib/user_system_rb.html +107 -0
- data/doc/files/lib/version_from_history_rb.html +107 -0
- data/doc/files/public/robots_txt.html +114 -0
- data/doc/files/vendor/rails/railties/html/robots_txt.html +114 -0
- data/doc/fr_class_index.html +67 -0
- data/doc/fr_file_index.html +112 -0
- data/doc/fr_method_index.html +485 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lang/en.yaml +3 -0
- data/lang/no.yaml +3 -0
- data/public/stylesheets/backlog.css +1 -1
- data/test/functional/search_controller_test.rb +18 -0
- metadata +692 -3
data/History.txt
CHANGED
@@ -1,6 +1,16 @@
|
|
1
|
+
== 0.7.9 2007-08-26
|
2
|
+
|
3
|
+
* Changed backlog management script to work on OSX. Thanks to Albert Davidson Chou for helping me on this.
|
4
|
+
* Made image links in the README.txt file only appear inline for thumbnails.
|
5
|
+
* Fixed headers for completed tasks.
|
6
|
+
* Restored Manifest.txt file since it is required by Hoe, even if it is not used.
|
7
|
+
* Fixed bug in list started tasks view.
|
8
|
+
* Changed display of resolution of finished tasks from text to icon to save space. The icons still have descriptive title.
|
9
|
+
* Added Search of tasks and backlogs.
|
10
|
+
|
1
11
|
== 0.7.8 2007-08-25
|
2
12
|
|
3
|
-
* Changed use of RMagick to be optional. Everything except the graphs should work if rmagick is not installed. rmagick is still a dependency for the gem, but you can force installation
|
13
|
+
* Changed use of RMagick to be optional. Everything except the graphs should work if rmagick is not installed. rmagick is still a dependency for the gem, but you can force installation of the backlog gem without RMagick or gruff with the --ignore-dependencies flag. You still need the postgres gem.
|
4
14
|
* Changed documentation to mention GraphicsMagic as an alternative to ImageMagick
|
5
15
|
* Added more documentation of the charts.
|
6
16
|
* Added explanation on how to install Backlog without ImageMagick, GraphicsMagick and RMagick.
|
data/README.txt
CHANGED
@@ -10,6 +10,17 @@ A timekeeping module is also included to track time spent on the different tasks
|
|
10
10
|
=== Backlog is not meant to be
|
11
11
|
|
12
12
|
* an issue tracker with customer communication.
|
13
|
+
* an invoicing system.
|
14
|
+
|
15
|
+
=== Integration
|
16
|
+
|
17
|
+
There are concrete plans to integrate Backlog to a few types of systems:
|
18
|
+
|
19
|
+
* Issue tracking (Jira, RuyForge, SourceForge, Bugzilla, etc.)
|
20
|
+
* Timekeeping
|
21
|
+
* Invoicing
|
22
|
+
|
23
|
+
If you have concrete needs, and are willing to beta test the integration, please contact us.
|
13
24
|
|
14
25
|
=== Installation
|
15
26
|
|
@@ -56,8 +67,8 @@ The charts are normally not protected, so you can display the in slideshows etc.
|
|
56
67
|
|
57
68
|
Examples:
|
58
69
|
|
59
|
-
http://backlog.kubosch.no/periods/burn_down_chart/55.png
|
60
|
-
http://backlog.kubosch.no/parties/burn_down_chart/14.png
|
70
|
+
http://backlog.kubosch.no/periods/burn_down_chart/55.png
|
71
|
+
http://backlog.kubosch.no/parties/burn_down_chart/14.png
|
61
72
|
|
62
73
|
==== Chart thumbnails
|
63
74
|
|
@@ -74,6 +85,6 @@ You can get large versions (1368x768) of the burn down charts by appending "_lar
|
|
74
85
|
|
75
86
|
Examples:
|
76
87
|
|
77
|
-
http://backlog.kubosch.no/periods/burn_down_chart_large/55.png
|
78
|
-
http://backlog.kubosch.no/parties/burn_down_chart_large/14.png
|
88
|
+
http://backlog.kubosch.no/periods/burn_down_chart_large/55.png
|
89
|
+
http://backlog.kubosch.no/parties/burn_down_chart_large/14.png
|
79
90
|
|
data/Rakefile
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
class SearchController < ApplicationController
|
2
|
+
def results
|
3
|
+
if params[:q]
|
4
|
+
@search = params[:q]
|
5
|
+
@backlogs = Backlog.find(:all, :conditions => ["lower(name) LIKE ?", "%#{@search.downcase}%"])
|
6
|
+
@tasks = Task.find(:all, :conditions => ["lower(description) LIKE ?", "%#{@search.downcase}%"])
|
7
|
+
else
|
8
|
+
@backlogs = []
|
9
|
+
@tasks = []
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -92,10 +92,11 @@ class TasksController < ApplicationController
|
|
92
92
|
if @task.finished_at
|
93
93
|
reopen
|
94
94
|
else
|
95
|
-
back_or_redirect_to :controller => 'periods', :action =>
|
95
|
+
back_or_redirect_to :controller => 'periods', :action => :show, :id => @task.period, :task => @task.id
|
96
96
|
end
|
97
97
|
end
|
98
98
|
else
|
99
|
+
flash[:notice] = 'Task was not saved.'
|
99
100
|
populate_layout
|
100
101
|
edit
|
101
102
|
render :action => 'edit'
|
@@ -58,4 +58,20 @@ module ApplicationHelper
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
+
def resolution_image(resolution)
|
62
|
+
image_file = case resolution
|
63
|
+
when Task::COMPLETED
|
64
|
+
'checkmark.png'
|
65
|
+
when Task::POSTPONED
|
66
|
+
'arrow_right.png'
|
67
|
+
when Task::MOVED
|
68
|
+
'arrow_right.png'
|
69
|
+
when Task::ABORTED
|
70
|
+
'ernes_stop.png'
|
71
|
+
else
|
72
|
+
raise "Unknown resolution " + resolution
|
73
|
+
end
|
74
|
+
image_tag image_file, :title => l(@task.resolution.downcase)
|
75
|
+
end
|
76
|
+
|
61
77
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div id="navbar">
|
2
2
|
<span style="float: left"><%=link_to "#{l :backlog} #{APP::VERSION}", 'http://rubyforge.org/projects/backlog'%></span>
|
3
|
-
<%=
|
3
|
+
<span style="float: left"><form action="<%=url_for :controller => 'search', :action => :results%>"><%=text_field_tag :q, @search || l(:search), :onfocus => "if (value == '#{l(:search)}') value='' "%><%=submit_tag :search, :style => 'display: none'%></form></span>
|
4
4
|
<%= link_to l(:home), '/' %>
|
5
5
|
|
6
6
|
<% if user? %>
|
@@ -13,6 +13,7 @@
|
|
13
13
|
<% if user? %>| <%=link_to user.email, :controller => 'user', :action => :edit%><% end %>
|
14
14
|
</div>
|
15
15
|
<div id="header">
|
16
|
+
<%= flash[:notice] + ' |' if flash[:notice] %>
|
16
17
|
<%= error_messages_for :backlog, :user, :group, :period, :task, :work, :estimate %>
|
17
18
|
|
18
19
|
<div id="introtext">
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<% @page_title = "Results for '#{@search}'"%>
|
2
|
+
|
3
|
+
<div id="lfeature">
|
4
|
+
<div class="btitle">
|
5
|
+
<h4><%=l(:tasks) %></h4>
|
6
|
+
</div>
|
7
|
+
<ul>
|
8
|
+
<% @tasks.each do |task| %>
|
9
|
+
<li><%=link_to task.description, :controller => 'tasks', :action => :show, :id => task%></li>
|
10
|
+
<% end %>
|
11
|
+
</ul>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div id="rfeature">
|
15
|
+
<div class="btitle">
|
16
|
+
<h4><%=l(:backlogs) %></h4>
|
17
|
+
</div>
|
18
|
+
<ul>
|
19
|
+
<% @backlogs.each do |backlog| %>
|
20
|
+
<li><%=link_to backlog.name, :controller => 'backlogs', :action => :show, :id => backlog%></li>
|
21
|
+
<% end %>
|
22
|
+
</ul>
|
23
|
+
</div>
|
@@ -1,18 +1,10 @@
|
|
1
|
+
<% current_period = nil %>
|
2
|
+
|
1
3
|
<table class="input">
|
2
|
-
<!--
|
3
|
-
<tr>
|
4
|
-
<th/>
|
5
|
-
<th align="left"><%=l :resolution %></th>
|
6
|
-
<th><%=l :task %></th>
|
7
|
-
<th></th>
|
8
|
-
<th><%=l(:done) if (@period && @period.track_work?) || @completed_tasks.find {|t| t.track_times?} %></th>
|
9
|
-
</tr>
|
10
|
-
-->
|
11
|
-
<% current_period = @completed_tasks.map(&:period).uniq.size == 1 ? @completed_tasks.first.period : nil%>
|
12
4
|
<% for task in @completed_tasks %>
|
13
5
|
<% if task.period != current_period %>
|
14
|
-
<%= render :partial => '/tasks/period_header', :locals => {:period => task.period} %>
|
15
|
-
<%= render :partial => '/tasks/fields_header', :locals => {:backlog =>
|
6
|
+
<%= render :partial => '/tasks/period_header', :locals => {:period => task.period} unless @completed_tasks.map(&:period).uniq.size == 1 %>
|
7
|
+
<%= render :partial => '/tasks/fields_header', :locals => {:backlog => task.backlog, :active => false, :track_times => false} %>
|
16
8
|
<% current_period = task.period %>
|
17
9
|
<% end %>
|
18
10
|
<%=render :partial => '/tasks/task', :locals => { :task => task, :i => i, :active => false, :highlight_task => task == @selected_task } %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<tr>
|
2
2
|
<th/>
|
3
|
-
<th align="center"><%=active ? '#' : l(:
|
3
|
+
<th align="center"><%=active ? '#' : l(:resolution_abr)%></th>
|
4
4
|
<th><%=l :task %></th>
|
5
5
|
<th><%=l :start if backlog.track_times? && track_times %></th>
|
6
6
|
<th><%=l :done if backlog.track_done? %></th>
|
data/app/views/tasks/_task.rhtml
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
<td align="left" valign="top" width="1" nowrap="true">
|
11
11
|
<%=detour_to @task.position.to_s, :controller => 'tasks', :action => :edit, :id => @task.id if @task.position || @task.depth == 0 %>
|
12
12
|
<%= (" " * @task.depth * 4) if @task.depth > 0 %>
|
13
|
-
<%=
|
13
|
+
<%= resolution_image(@task.resolution) if @task.finished_at %>
|
14
14
|
<%= "-" if @task.children.size > 0 %>
|
15
15
|
</td>
|
16
16
|
<td>
|
@@ -47,7 +47,7 @@ function handleEvent(field, event, id) {
|
|
47
47
|
<% end %>
|
48
48
|
<% if task.period != current_period %>
|
49
49
|
<tr><th colspan="6"><%=task.period ? h(task.period.name) : l(:unplanned_tasks)%></th></tr>
|
50
|
-
<%= render :partial => '/tasks/fields_header', :locals => {:backlog => task.backlog, :track_times => @tasks.find {|t|t.period && t.period.active?}} %>
|
50
|
+
<%= render :partial => '/tasks/fields_header', :locals => {:backlog => task.backlog, :active => true, :track_times => @tasks.find {|t|t.period && t.period.active?}} %>
|
51
51
|
<% current_period = task.period %>
|
52
52
|
<% end %>
|
53
53
|
<%=render :partial => 'task', :locals => { :task => task, :i => i, :active => true, :highlight_task => (task == @selected_task), :update => :spotlight } %>
|
data/bin/backlog
CHANGED
@@ -40,38 +40,44 @@ end
|
|
40
40
|
|
41
41
|
# See how we were called.
|
42
42
|
case ARGV[0]
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
43
|
+
when 'start':
|
44
|
+
start(config)
|
45
|
+
when 'stop':
|
46
|
+
stop(config)
|
47
|
+
when 'restart':
|
48
|
+
stop(config)
|
49
|
+
start(config)
|
50
|
+
when 'reload':
|
51
|
+
puts `mongrel_rails restart -c #{INSTALL_DIR} -P #{PID_FILE}`
|
52
|
+
when 'status'
|
53
|
+
puts `ps -ef | grep backlog`
|
54
|
+
when 'setup_unix'
|
55
|
+
current_user = `whoami`
|
56
|
+
users = `su - postgres -c "echo '\\du' | psql template1"`
|
57
|
+
puts users
|
58
|
+
unless users =~ /root/
|
59
|
+
createuser_command = `which createuser`.chomp
|
60
|
+
puts `su - postgres -c "#{createuser_command} -dAR #{current_user}"`
|
61
|
+
end
|
62
|
+
dbs = `su - postgres -c "echo '\\l' | psql template1"`
|
63
|
+
puts dbs
|
64
|
+
unless dbs =~ /#{APPLICATION}_production/
|
65
|
+
createdb_command = `which createdb`.chomp
|
66
|
+
puts `su - postgres -c "#{createdb_command} #{APPLICATION}_production"`
|
67
|
+
end
|
68
|
+
Dir.chdir INSTALL_DIR
|
69
|
+
Dir.mkdir LOG_DIR unless File.exists? LOG_DIR
|
70
|
+
puts `rake db:migrate RAILS_ENV=production`
|
71
|
+
|
72
|
+
# TODO: provide startup information based on launchd in OS X versions >= 10.4
|
73
|
+
if File.directory? '/etc/init.d'
|
69
74
|
startup_app = "/etc/init.d/#{APPLICATION}"
|
70
75
|
`ln -s #{Config::CONFIG['bindir']}/#{APPLICATION} #{startup_app}` unless File.exists? startup_app
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
76
|
+
end
|
77
|
+
FileUtils.cp "#{INSTALL_DIR}/etc/#{APPLICATION}.conf", config_file unless File.exists? config_file
|
78
|
+
else
|
79
|
+
puts "Usage: #$0 {start|stop|restart|status|setup_unix}"
|
80
|
+
exit 1
|
75
81
|
end
|
76
82
|
|
77
83
|
exit 0
|
@@ -0,0 +1,133 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Module: APP</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Module</strong></td>
|
53
|
+
<td class="class-name-in-header">APP</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../files/lib/version_from_history_rb.html">
|
59
|
+
lib/version_from_history.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
<a href="../files/lib/version_from_history_rb.html">
|
63
|
+
lib/version_from_history.rb
|
64
|
+
</a>
|
65
|
+
<br />
|
66
|
+
</td>
|
67
|
+
</tr>
|
68
|
+
|
69
|
+
</table>
|
70
|
+
</div>
|
71
|
+
<!-- banner header -->
|
72
|
+
|
73
|
+
<div id="bodyContent">
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
<div id="contextContent">
|
78
|
+
<div id="diagram">
|
79
|
+
<map id="map" name="map">
|
80
|
+
<area shape="rect" coords="16,16,109,64" href="APP.html" alt="APP" />
|
81
|
+
</map>
|
82
|
+
<img src="../dot/f_1.png" usemap="#map" border="0" alt="dot/f_1.png">
|
83
|
+
</div>
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
</div>
|
88
|
+
|
89
|
+
|
90
|
+
</div>
|
91
|
+
|
92
|
+
|
93
|
+
<!-- if includes -->
|
94
|
+
|
95
|
+
<div id="section">
|
96
|
+
|
97
|
+
|
98
|
+
<div id="constants-list">
|
99
|
+
<h3 class="section-bar">Constants</h3>
|
100
|
+
|
101
|
+
<div class="name-list">
|
102
|
+
<table summary="Constants">
|
103
|
+
<tr class="top-aligned-row context-row">
|
104
|
+
<td class="context-item-name">VERSION</td>
|
105
|
+
<td>=</td>
|
106
|
+
<td class="context-item-value">(/^== (\d+.\d+.\d+) .*$/.match first_history_line)[1]</td>
|
107
|
+
</tr>
|
108
|
+
<tr class="top-aligned-row context-row">
|
109
|
+
<td class="context-item-name">VERSION</td>
|
110
|
+
<td>=</td>
|
111
|
+
<td class="context-item-value">(/^== (\d+.\d+.\d+) .*$/.match first_history_line)[1]</td>
|
112
|
+
</tr>
|
113
|
+
</table>
|
114
|
+
</div>
|
115
|
+
</div>
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
<!-- if method_list -->
|
123
|
+
|
124
|
+
|
125
|
+
</div>
|
126
|
+
|
127
|
+
|
128
|
+
<div id="validator-badges">
|
129
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
130
|
+
</div>
|
131
|
+
|
132
|
+
</body>
|
133
|
+
</html>
|
@@ -0,0 +1,114 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Module: ActiveRecord</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Module</strong></td>
|
53
|
+
<td class="class-name-in-header">ActiveRecord</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
</td>
|
59
|
+
</tr>
|
60
|
+
|
61
|
+
</table>
|
62
|
+
</div>
|
63
|
+
<!-- banner header -->
|
64
|
+
|
65
|
+
<div id="bodyContent">
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
<div id="contextContent">
|
70
|
+
<div id="diagram">
|
71
|
+
<map id="map" name="map">
|
72
|
+
<area shape="rect" coords="27,51,99,99" href="ActiveRecord/Base.html" alt="Base" />
|
73
|
+
<area shape="rect" coords="16,16,136,109" href="ActiveRecord.html" alt="ActiveRecord" />
|
74
|
+
</map>
|
75
|
+
<img src="../dot/f_2.png" usemap="#map" border="0" alt="dot/f_2.png">
|
76
|
+
</div>
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
</div>
|
81
|
+
|
82
|
+
|
83
|
+
</div>
|
84
|
+
|
85
|
+
|
86
|
+
<!-- if includes -->
|
87
|
+
|
88
|
+
<div id="section">
|
89
|
+
|
90
|
+
<div id="class-list">
|
91
|
+
<h3 class="section-bar">Classes and Modules</h3>
|
92
|
+
|
93
|
+
Class <a href="ActiveRecord/Base.html" class="link">ActiveRecord::Base</a><br />
|
94
|
+
|
95
|
+
</div>
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
<!-- if method_list -->
|
104
|
+
|
105
|
+
|
106
|
+
</div>
|
107
|
+
|
108
|
+
|
109
|
+
<div id="validator-badges">
|
110
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
111
|
+
</div>
|
112
|
+
|
113
|
+
</body>
|
114
|
+
</html>
|