taskjuggler 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +1 -1
- data/bin/tj3client +3 -0
- data/bin/tj3d +3 -0
- data/bin/tj3ts_receiver +3 -0
- data/bin/tj3ts_sender +3 -0
- data/bin/tj3ts_summary +3 -0
- data/data/css/tjmanual.css +14 -0
- data/data/css/tjreport.css +233 -21
- data/data/scripts/wz_tooltip.js +20 -20
- data/doc/AppConfig.html +1389 -0
- data/doc/Arguments.html +678 -0
- data/doc/COPYING.html +837 -0
- data/doc/Object.html +996 -0
- data/doc/README.html +523 -0
- data/doc/RuntimeConfig.html +762 -0
- data/doc/String.html +872 -0
- data/doc/TaskJuggler/Account.html +691 -0
- data/doc/TaskJuggler/AccountAttribute.html +707 -0
- data/doc/TaskJuggler/AccountScenario.html +650 -0
- data/doc/TaskJuggler/Allocation.html +898 -0
- data/doc/TaskJuggler/AllocationAttribute.html +737 -0
- data/doc/TaskJuggler/AttributeBase.html +1193 -0
- data/doc/TaskJuggler/AttributeDefinition.html +753 -0
- data/doc/TaskJuggler/BatchProcessor.html +1112 -0
- data/doc/TaskJuggler/Booking.html +797 -0
- data/doc/TaskJuggler/BookingListAttribute.html +709 -0
- data/doc/TaskJuggler/BooleanAttribute.html +707 -0
- data/doc/TaskJuggler/CSVFile.html +924 -0
- data/doc/TaskJuggler/CellSettingPattern.html +638 -0
- data/doc/TaskJuggler/CellSettingPatternList.html +687 -0
- data/doc/TaskJuggler/Charge.html +715 -0
- data/doc/TaskJuggler/ChargeListAttribute.html +671 -0
- data/doc/TaskJuggler/ChargeSet.html +887 -0
- data/doc/TaskJuggler/ChargeSetListAttribute.html +718 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +673 -0
- data/doc/TaskJuggler/ColumnTable.html +701 -0
- data/doc/TaskJuggler/Daemon.html +728 -0
- data/doc/TaskJuggler/DateAttribute.html +675 -0
- data/doc/TaskJuggler/DefinitionListAttribute.html +593 -0
- data/doc/TaskJuggler/DependencyListAttribute.html +713 -0
- data/doc/TaskJuggler/DurationAttribute.html +707 -0
- data/doc/TaskJuggler/FixnumAttribute.html +629 -0
- data/doc/TaskJuggler/FlagListAttribute.html +709 -0
- data/doc/TaskJuggler/FloatAttribute.html +671 -0
- data/doc/TaskJuggler/FormatListAttribute.html +635 -0
- data/doc/TaskJuggler/GanttChart.html +1473 -0
- data/doc/TaskJuggler/GanttContainer.html +885 -0
- data/doc/TaskJuggler/GanttHeader.html +886 -0
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +700 -0
- data/doc/TaskJuggler/GanttLine.html +1263 -0
- data/doc/TaskJuggler/GanttLoadStack.html +766 -0
- data/doc/TaskJuggler/GanttMilestone.html +865 -0
- data/doc/TaskJuggler/GanttRouter.html +1433 -0
- data/doc/TaskJuggler/GanttTaskBar.html +880 -0
- data/doc/TaskJuggler/HTMLDocument.html +719 -0
- data/doc/TaskJuggler/HTMLGraphics.html +775 -0
- data/doc/TaskJuggler/Interval.html +1016 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +713 -0
- data/doc/TaskJuggler/JobInfo.html +881 -0
- data/doc/TaskJuggler/Journal.html +991 -0
- data/doc/TaskJuggler/JournalEntry.html +779 -0
- data/doc/TaskJuggler/JournalEntryList.html +952 -0
- data/doc/TaskJuggler/KeywordArray.html +628 -0
- data/doc/TaskJuggler/KeywordDocumentation.html +1662 -0
- data/doc/TaskJuggler/Limits/Limit.html +826 -0
- data/doc/TaskJuggler/Limits.html +966 -0
- data/doc/TaskJuggler/LimitsAttribute.html +707 -0
- data/doc/TaskJuggler/ListAttributeBase.html +641 -0
- data/doc/TaskJuggler/Log.html +1103 -0
- data/doc/TaskJuggler/LogFile.html +918 -0
- data/doc/TaskJuggler/LogicalAttribute.html +698 -0
- data/doc/TaskJuggler/LogicalExpression.html +739 -0
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +629 -0
- data/doc/TaskJuggler/LogicalFlag.html +681 -0
- data/doc/TaskJuggler/LogicalFunction.html +1218 -0
- data/doc/TaskJuggler/LogicalOperation.html +1078 -0
- data/doc/TaskJuggler/Macro.html +646 -0
- data/doc/TaskJuggler/MacroParser.html +810 -0
- data/doc/TaskJuggler/MacroTable.html +810 -0
- data/doc/TaskJuggler/ManagerResponsibilities.html +674 -0
- data/doc/TaskJuggler/ManagerStatusRecord.html +678 -0
- data/doc/TaskJuggler/Message.html +757 -0
- data/doc/TaskJuggler/MessageHandler.html +679 -0
- data/doc/TaskJuggler/Navigator.html +867 -0
- data/doc/TaskJuggler/NavigatorElement.html +932 -0
- data/doc/TaskJuggler/NikuProject.html +662 -0
- data/doc/TaskJuggler/NikuReport.html +1316 -0
- data/doc/TaskJuggler/NikuResource.html +632 -0
- data/doc/TaskJuggler/OnShiftCache.html +864 -0
- data/doc/TaskJuggler/ProcessIntercom.html +847 -0
- data/doc/TaskJuggler/ProcessIntercomIface.html +664 -0
- data/doc/TaskJuggler/Project.html +3056 -0
- data/doc/TaskJuggler/ProjectBroker.html +1260 -0
- data/doc/TaskJuggler/ProjectBrokerIface.html +734 -0
- data/doc/TaskJuggler/ProjectFileParser.html +1951 -0
- data/doc/TaskJuggler/ProjectRecord.html +859 -0
- data/doc/TaskJuggler/ProjectServer.html +1092 -0
- data/doc/TaskJuggler/ProjectServerIface.html +768 -0
- data/doc/TaskJuggler/PropertyAttribute.html +629 -0
- data/doc/TaskJuggler/PropertyList.html +1336 -0
- data/doc/TaskJuggler/PropertySet.html +1785 -0
- data/doc/TaskJuggler/PropertyTreeNode.html +2482 -0
- data/doc/TaskJuggler/Query.html +1831 -0
- data/doc/TaskJuggler/RTFNavigator.html +729 -0
- data/doc/TaskJuggler/RTFQuery.html +1038 -0
- data/doc/TaskJuggler/RTFReport.html +740 -0
- data/doc/TaskJuggler/RealFormat.html +743 -0
- data/doc/TaskJuggler/RealFormatAttribute.html +593 -0
- data/doc/TaskJuggler/ReferenceAttribute.html +782 -0
- data/doc/TaskJuggler/Report.html +1255 -0
- data/doc/TaskJuggler/ReportBase.html +1198 -0
- data/doc/TaskJuggler/ReportContext.html +711 -0
- data/doc/TaskJuggler/ReportServer.html +988 -0
- data/doc/TaskJuggler/ReportServerIface.html +838 -0
- data/doc/TaskJuggler/ReportServerRecord.html +716 -0
- data/doc/TaskJuggler/ReportTable.html +1106 -0
- data/doc/TaskJuggler/ReportTableCell.html +1536 -0
- data/doc/TaskJuggler/ReportTableColumn.html +828 -0
- data/doc/TaskJuggler/ReportTableLegend.html +999 -0
- data/doc/TaskJuggler/ReportTableLine.html +1003 -0
- data/doc/TaskJuggler/Resource.html +938 -0
- data/doc/TaskJuggler/ResourceListAttribute.html +752 -0
- data/doc/TaskJuggler/ResourceListRE.html +674 -0
- data/doc/TaskJuggler/ResourceScenario.html +2457 -0
- data/doc/TaskJuggler/RichText.html +791 -0
- data/doc/TaskJuggler/RichTextAttribute.html +743 -0
- data/doc/TaskJuggler/RichTextDocument.html +972 -0
- data/doc/TaskJuggler/RichTextElement.html +1615 -0
- data/doc/TaskJuggler/RichTextException.html +667 -0
- data/doc/TaskJuggler/RichTextFunctionExample.html +737 -0
- data/doc/TaskJuggler/RichTextFunctionHandler.html +689 -0
- data/doc/TaskJuggler/RichTextImage.html +650 -0
- data/doc/TaskJuggler/RichTextIntermediate.html +1161 -0
- data/doc/TaskJuggler/RichTextParser.html +756 -0
- data/doc/TaskJuggler/RichTextScanner.html +2010 -0
- data/doc/TaskJuggler/RichTextSnip.html +942 -0
- data/doc/TaskJuggler/RichTextSyntaxRules.html +1722 -0
- data/doc/TaskJuggler/Scenario.html +594 -0
- data/doc/TaskJuggler/ScenarioData.html +815 -0
- data/doc/TaskJuggler/ScenarioListAttribute.html +671 -0
- data/doc/TaskJuggler/Scoreboard.html +1114 -0
- data/doc/TaskJuggler/SheetHandlerBase.html +1115 -0
- data/doc/TaskJuggler/SheetReceiver.html +1293 -0
- data/doc/TaskJuggler/SheetSender.html +1089 -0
- data/doc/TaskJuggler/Shift.html +689 -0
- data/doc/TaskJuggler/ShiftAssignment.html +950 -0
- data/doc/TaskJuggler/ShiftAssignments.html +1379 -0
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +707 -0
- data/doc/TaskJuggler/ShiftScenario.html +720 -0
- data/doc/TaskJuggler/SortListAttribute.html +631 -0
- data/doc/TaskJuggler/SourceFileInfo.html +698 -0
- data/doc/TaskJuggler/StatusSheetReceiver.html +615 -0
- data/doc/TaskJuggler/StatusSheetReport.html +872 -0
- data/doc/TaskJuggler/StatusSheetSender.html +654 -0
- data/doc/TaskJuggler/StringAttribute.html +671 -0
- data/doc/TaskJuggler/SymbolAttribute.html +629 -0
- data/doc/TaskJuggler/SyntaxReference.html +1155 -0
- data/doc/TaskJuggler/TOCEntry.html +723 -0
- data/doc/TaskJuggler/TSResourceRecord.html +670 -0
- data/doc/TaskJuggler/TSTaskRecord.html +682 -0
- data/doc/TaskJuggler/TableColumnDefinition.html +830 -0
- data/doc/TaskJuggler/TableOfContents.html +692 -0
- data/doc/TaskJuggler/TableReport.html +2444 -0
- data/doc/TaskJuggler/Task.html +781 -0
- data/doc/TaskJuggler/TaskDependency.html +730 -0
- data/doc/TaskJuggler/TaskListAttribute.html +713 -0
- data/doc/TaskJuggler/TaskListRE.html +673 -0
- data/doc/TaskJuggler/TaskScenario.html +4380 -0
- data/doc/TaskJuggler/TextFormatter.html +911 -0
- data/doc/TaskJuggler/TextParser/Pattern.html +1482 -0
- data/doc/TaskJuggler/TextParser/Rule.html +1288 -0
- data/doc/TaskJuggler/TextParser/StackElement.html +726 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +648 -0
- data/doc/TaskJuggler/TextParser/TokenDoc.html +680 -0
- data/doc/TaskJuggler/TextParser.html +1670 -0
- data/doc/TaskJuggler/TextReport.html +856 -0
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +831 -0
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +832 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +737 -0
- data/doc/TaskJuggler/TextScanner.html +2430 -0
- data/doc/TaskJuggler/TimeSheet.html +1233 -0
- data/doc/TaskJuggler/TimeSheetReceiver.html +612 -0
- data/doc/TaskJuggler/TimeSheetRecord.html +1352 -0
- data/doc/TaskJuggler/TimeSheetReport.html +948 -0
- data/doc/TaskJuggler/TimeSheetSender.html +637 -0
- data/doc/TaskJuggler/TimeSheetSummary.html +865 -0
- data/doc/TaskJuggler/TimeSheets.html +674 -0
- data/doc/TaskJuggler/Tj3AppBase.html +782 -0
- data/doc/TaskJuggler/Tj3Client.html +1455 -0
- data/doc/TaskJuggler/Tj3Daemon.html +767 -0
- data/doc/TaskJuggler/Tj3SheetAppBase.html +696 -0
- data/doc/TaskJuggler/Tj3SsReceiver.html +682 -0
- data/doc/TaskJuggler/Tj3SsSender.html +708 -0
- data/doc/TaskJuggler/Tj3TsReceiver.html +681 -0
- data/doc/TaskJuggler/Tj3TsSender.html +702 -0
- data/doc/TaskJuggler/Tj3TsSummary.html +710 -0
- data/doc/TaskJuggler/TjException.html +630 -0
- data/doc/TaskJuggler/TjTime.html +2590 -0
- data/doc/TaskJuggler/TjpExample.html +835 -0
- data/doc/TaskJuggler/TjpExportRE.html +1581 -0
- data/doc/TaskJuggler/TjpSyntaxRules.html +13004 -0
- data/doc/TaskJuggler/UserManual.html +1145 -0
- data/doc/TaskJuggler/WorkingHours.html +1101 -0
- data/doc/TaskJuggler/WorkingHoursAttribute.html +694 -0
- data/doc/TaskJuggler/XMLBlob.html +645 -0
- data/doc/TaskJuggler/XMLComment.html +640 -0
- data/doc/TaskJuggler/XMLDocument.html +732 -0
- data/doc/TaskJuggler/XMLElement.html +900 -0
- data/doc/TaskJuggler/XMLNamedText.html +601 -0
- data/doc/TaskJuggler/XMLText.html +655 -0
- data/doc/TaskJuggler.html +2243 -0
- data/doc/index.html +3778 -17
- data/doc/lib/AccountScenario_rb.html +67 -0
- data/doc/lib/Account_rb.html +69 -0
- data/doc/lib/Allocation_rb.html +69 -0
- data/doc/lib/AppConfig_rb.html +69 -0
- data/doc/lib/AttributeBase_rb.html +67 -0
- data/doc/lib/AttributeDefinition_rb.html +65 -0
- data/doc/lib/Attributes_rb.html +81 -0
- data/doc/lib/BatchProcessor_rb.html +69 -0
- data/doc/lib/Booking_rb.html +65 -0
- data/doc/lib/ChargeSet_rb.html +67 -0
- data/doc/lib/Charge_rb.html +67 -0
- data/doc/lib/HTMLDocument_rb.html +67 -0
- data/doc/lib/Interval_rb.html +67 -0
- data/doc/lib/Journal_rb.html +65 -0
- data/doc/lib/KeywordArray_rb.html +65 -0
- data/doc/lib/KeywordDocumentation_rb.html +75 -0
- data/doc/lib/Limits_rb.html +67 -0
- data/doc/lib/LogFile_rb.html +67 -0
- data/doc/lib/Log_rb.html +69 -0
- data/doc/lib/LogicalExpression_rb.html +71 -0
- data/doc/lib/LogicalFunction_rb.html +67 -0
- data/doc/lib/LogicalOperation_rb.html +67 -0
- data/doc/lib/MacroParser_rb.html +69 -0
- data/doc/lib/MacroTable_rb.html +73 -0
- data/doc/lib/MessageHandler_rb.html +65 -0
- data/doc/lib/Message_rb.html +67 -0
- data/doc/lib/ProjectFileParser_rb.html +79 -0
- data/doc/lib/Project_rb.html +109 -0
- data/doc/lib/PropertyList_rb.html +65 -0
- data/doc/lib/PropertySet_rb.html +69 -0
- data/doc/lib/PropertyTreeNode_rb.html +65 -0
- data/doc/lib/Query_rb.html +67 -0
- data/doc/lib/RTFNavigator_rb.html +71 -0
- data/doc/lib/RTFQuery_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +69 -0
- data/doc/lib/RealFormat_rb.html +65 -0
- data/doc/lib/ResourceScenario_rb.html +67 -0
- data/doc/lib/Resource_rb.html +69 -0
- data/doc/lib/RichTextDocument_rb.html +71 -0
- data/doc/lib/RichTextElement_rb.html +73 -0
- data/doc/lib/RichTextFunctionExample_rb.html +71 -0
- data/doc/lib/RichTextFunctionHandler_rb.html +65 -0
- data/doc/lib/RichTextParser_rb.html +71 -0
- data/doc/lib/RichTextScanner_rb.html +67 -0
- data/doc/lib/RichTextSnip_rb.html +69 -0
- data/doc/lib/RichTextSyntaxRules_rb.html +65 -0
- data/doc/lib/RichText_rb.html +69 -0
- data/doc/lib/RuntimeConfig_rb.html +67 -0
- data/doc/lib/ScenarioData_rb.html +69 -0
- data/doc/lib/Scenario_rb.html +67 -0
- data/doc/lib/Scoreboard_rb.html +65 -0
- data/doc/lib/SheetHandlerBase_rb.html +69 -0
- data/doc/lib/SheetReceiver_rb.html +75 -0
- data/doc/lib/SheetSender_rb.html +73 -0
- data/doc/lib/ShiftAssignments_rb.html +67 -0
- data/doc/lib/ShiftScenario_rb.html +67 -0
- data/doc/lib/Shift_rb.html +69 -0
- data/doc/lib/SourceFileInfo_rb.html +65 -0
- data/doc/lib/StatusSheetReceiver_rb.html +67 -0
- data/doc/lib/StatusSheetSender_rb.html +67 -0
- data/doc/lib/SyntaxReference_rb.html +73 -0
- data/doc/lib/TOCEntry_rb.html +69 -0
- data/doc/lib/TableColumnDefinition_rb.html +65 -0
- data/doc/lib/TableOfContents_rb.html +69 -0
- data/doc/lib/TaskDependency_rb.html +65 -0
- data/doc/lib/TaskJuggler_rb.html +73 -0
- data/doc/lib/TaskScenario_rb.html +67 -0
- data/doc/lib/Task_rb.html +69 -0
- data/doc/lib/TextFormatter_rb.html +67 -0
- data/doc/lib/TextParser/Pattern_rb.html +67 -0
- data/doc/lib/TextParser/Rule_rb.html +65 -0
- data/doc/lib/TextParser/StackElement_rb.html +65 -0
- data/doc/lib/TextParser/TokenDoc_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +75 -0
- data/doc/lib/TextScanner_rb.html +79 -0
- data/doc/lib/TimeSheetReceiver_rb.html +67 -0
- data/doc/lib/TimeSheetSender_rb.html +67 -0
- data/doc/lib/TimeSheetSummary_rb.html +67 -0
- data/doc/lib/TimeSheets_rb.html +65 -0
- data/doc/lib/Tj3AppBase_rb.html +77 -0
- data/doc/lib/Tj3Config_rb.html +69 -0
- data/doc/lib/Tj3SheetAppBase_rb.html +67 -0
- data/doc/lib/TjException_rb.html +65 -0
- data/doc/lib/TjTime_rb.html +69 -0
- data/doc/lib/TjpExample_rb.html +67 -0
- data/doc/lib/TjpSyntaxRules_rb.html +65 -0
- data/doc/lib/UTF8String_rb.html +65 -0
- data/doc/lib/UserManual_rb.html +77 -0
- data/doc/lib/WorkingHours_rb.html +67 -0
- data/doc/lib/XMLDocument_rb.html +67 -0
- data/doc/lib/XMLElement_rb.html +67 -0
- data/doc/lib/daemon/Daemon_rb.html +67 -0
- data/doc/lib/daemon/ProcessIntercom_rb.html +67 -0
- data/doc/lib/daemon/ProjectBroker_rb.html +79 -0
- data/doc/lib/daemon/ProjectServer_rb.html +83 -0
- data/doc/lib/daemon/ReportServer_rb.html +73 -0
- data/doc/lib/deep_copy_rb.html +65 -0
- data/doc/lib/reports/CSVFile_rb.html +67 -0
- data/doc/lib/reports/ColumnTable_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +73 -0
- data/doc/lib/reports/GanttContainer_rb.html +67 -0
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +65 -0
- data/doc/lib/reports/GanttHeader_rb.html +67 -0
- data/doc/lib/reports/GanttLine_rb.html +77 -0
- data/doc/lib/reports/GanttLoadStack_rb.html +67 -0
- data/doc/lib/reports/GanttMilestone_rb.html +67 -0
- data/doc/lib/reports/GanttRouter_rb.html +65 -0
- data/doc/lib/reports/GanttTaskBar_rb.html +67 -0
- data/doc/lib/reports/HTMLGraphics_rb.html +65 -0
- data/doc/lib/reports/Navigator_rb.html +67 -0
- data/doc/lib/reports/NikuReport_rb.html +69 -0
- data/doc/lib/reports/ReportBase_rb.html +65 -0
- data/doc/lib/reports/ReportContext_rb.html +65 -0
- data/doc/lib/reports/ReportTableCell_rb.html +65 -0
- data/doc/lib/reports/ReportTableColumn_rb.html +65 -0
- data/doc/lib/reports/ReportTableLegend_rb.html +65 -0
- data/doc/lib/reports/ReportTableLine_rb.html +67 -0
- data/doc/lib/reports/ReportTable_rb.html +69 -0
- data/doc/lib/reports/Report_rb.html +91 -0
- data/doc/lib/reports/ResourceListRE_rb.html +73 -0
- data/doc/lib/reports/StatusSheetReport_rb.html +67 -0
- data/doc/lib/reports/TableReport_rb.html +75 -0
- data/doc/lib/reports/TaskListRE_rb.html +73 -0
- data/doc/lib/reports/TextReport_rb.html +67 -0
- data/doc/lib/reports/TimeSheetReport_rb.html +67 -0
- data/doc/lib/reports/TjpExportRE_rb.html +67 -0
- data/doc/lib/ruby-signal-bug_rb.html +54 -0
- data/doc/lib/taskjuggler3_rb.html +73 -0
- data/doc/lib/tj3client_rb.html +73 -0
- data/doc/lib/tj3d_rb.html +73 -0
- data/doc/lib/tj3man_rb.html +73 -0
- data/doc/lib/tj3ss_receiver_rb.html +69 -0
- data/doc/lib/tj3ss_sender_rb.html +69 -0
- data/doc/lib/tj3ts_receiver_rb.html +69 -0
- data/doc/lib/tj3ts_sender_rb.html +69 -0
- data/doc/lib/tj3ts_summary_rb.html +69 -0
- data/doc/rdoc.css +701 -0
- data/examples/tutorial.tjp +25 -6
- data/lib/Attributes.rb +6 -2
- data/lib/HTMLDocument.rb +18 -2
- data/lib/Journal.rb +47 -4
- data/lib/KeywordArray.rb +1 -1
- data/lib/KeywordDocumentation.rb +17 -77
- data/lib/Log.rb +3 -1
- data/lib/LogFile.rb +72 -0
- data/lib/LogicalExpression.rb +5 -10
- data/lib/LogicalFunction.rb +34 -18
- data/lib/LogicalOperation.rb +32 -18
- data/lib/Project.rb +85 -13
- data/lib/ProjectFileParser.rb +19 -6
- data/lib/PropertyList.rb +12 -2
- data/lib/PropertyTreeNode.rb +23 -9
- data/lib/Query.rb +51 -13
- data/lib/RTFReport.rb +2 -2
- data/lib/Resource.rb +157 -0
- data/lib/ResourceScenario.rb +215 -68
- data/lib/RichText.rb +15 -3
- data/lib/RichTextDocument.rb +2 -4
- data/lib/RichTextElement.rb +87 -25
- data/lib/RichTextScanner.rb +32 -5
- data/lib/RichTextSnip.rb +6 -4
- data/lib/RichTextSyntaxRules.rb +44 -8
- data/lib/RuntimeConfig.rb +93 -0
- data/lib/Scoreboard.rb +6 -6
- data/lib/SheetHandlerBase.rb +215 -0
- data/lib/SheetReceiver.rb +355 -0
- data/lib/SheetSender.rb +264 -0
- data/lib/ShiftAssignments.rb +35 -27
- data/lib/StatusSheetReceiver.rb +45 -0
- data/lib/StatusSheetSender.rb +54 -0
- data/lib/SyntaxReference.rb +2 -7
- data/lib/Task.rb +70 -0
- data/lib/TaskJuggler.rb +114 -12
- data/lib/TaskScenario.rb +131 -22
- data/lib/TextFormatter.rb +177 -0
- data/lib/TextParser.rb +10 -1
- data/lib/TextScanner.rb +63 -33
- data/lib/TimeSheetReceiver.rb +42 -0
- data/lib/TimeSheetSender.rb +55 -0
- data/lib/TimeSheetSummary.rb +149 -0
- data/lib/TimeSheets.rb +406 -0
- data/lib/Tj3AppBase.rb +114 -0
- data/lib/Tj3Config.rb +1 -1
- data/lib/Tj3SheetAppBase.rb +59 -0
- data/lib/TjTime.rb +14 -1
- data/lib/TjpSyntaxRules.rb +573 -211
- data/lib/UTF8String.rb +4 -0
- data/lib/UserManual.rb +8 -7
- data/lib/XMLElement.rb +27 -19
- data/lib/daemon/Daemon.rb +70 -0
- data/lib/daemon/ProcessIntercom.rb +117 -0
- data/lib/daemon/ProjectBroker.rb +450 -0
- data/lib/daemon/ProjectServer.rb +348 -0
- data/lib/daemon/ReportServer.rb +194 -0
- data/lib/reports/ColumnTable.rb +2 -0
- data/lib/reports/GanttChart.rb +5 -7
- data/lib/reports/GanttContainer.rb +5 -8
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttLine.rb +89 -53
- data/lib/reports/GanttMilestone.rb +7 -4
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/HTMLGraphics.rb +24 -9
- data/lib/reports/NikuReport.rb +414 -0
- data/lib/reports/Report.rb +54 -20
- data/lib/reports/ReportBase.rb +21 -0
- data/lib/reports/ReportTable.rb +29 -11
- data/lib/reports/ReportTableCell.rb +154 -86
- data/lib/reports/ReportTableLegend.rb +77 -80
- data/lib/reports/ResourceListRE.rb +2 -3
- data/lib/reports/StatusSheetReport.rb +231 -0
- data/lib/reports/TableReport.rb +74 -65
- data/lib/reports/TaskListRE.rb +2 -4
- data/lib/reports/TextReport.rb +18 -12
- data/lib/reports/TimeSheetReport.rb +145 -80
- data/lib/reports/TjpExportRE.rb +4 -4
- data/lib/ruby-signal-bug.rb +43 -0
- data/lib/taskjuggler3.rb +27 -10
- data/lib/tj3client.rb +411 -77
- data/lib/tj3d.rb +110 -0
- data/lib/tj3ss_receiver.rb +56 -0
- data/lib/tj3ss_sender.rb +84 -0
- data/lib/tj3ts_receiver.rb +59 -0
- data/lib/tj3ts_sender.rb +78 -0
- data/lib/tj3ts_summary.rb +87 -0
- data/manual/Day_To_Day_Juggling +761 -32
- data/manual/Getting_Started +12 -12
- data/manual/Rich_Text_Attributes +13 -1
- data/manual/TaskJuggler_2x_Migration +41 -3
- data/manual/TaskJuggler_Internals +87 -0
- data/manual/The_TaskJuggler_Syntax +1 -2
- data/manual/Tutorial +10 -10
- data/test/TestSuite/CSV-Reports/celltext.tjp +1 -1
- data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
- data/test/TestSuite/HTML-Reports/icons/trend-down.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-flat.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-up.png +0 -0
- data/test/TestSuite/HTML-Reports/reference.html +51 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.html +603 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.tjp +57 -0
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +32 -18
- data/test/TestSuite/Scheduler/Correct/Manager.tjp +9 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +429 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.html +162 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.tjp +67 -0
- data/test/TestSuite/{Syntax/Correct/TimeSheet.tjp → Scheduler/Correct/TimeSheet2.tjp} +21 -8
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +52 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +195 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/resource.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/task.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/{HTML-Reports/scripts → Scheduler/Correct}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_group.tjp +15 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_self.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/resource_fail_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/resource_warn_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_fail_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/task_warn_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert1_more_details.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert2_more_details.tjp +21 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_expected_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_headline1.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_rem_or_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_remaining.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_status_work.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_work.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_res_new_task.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_high.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_low.tjp +27 -0
- data/test/TestSuite/StatusSheets/boss.tji +45 -0
- data/test/TestSuite/StatusSheets/boss_mail +51 -0
- data/test/TestSuite/StatusSheets/dev2_mail +37 -0
- data/test/TestSuite/StatusSheets/project.tjp +275 -0
- data/test/TestSuite/StatusSheets/run +50 -0
- data/test/TestSuite/Syntax/Correct/Include.tjp +4 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +10 -1
- data/test/TestSuite/Syntax/Correct/Manager.tjp +30 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +66 -0
- data/test/TestSuite/Syntax/Correct/TimeSheet1.tjp +83 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/include/dir2/file3.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/file1.tji +3 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +29 -8
- data/test/TestSuite/Syntax/Errors/ts_bad_priority.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_default_details.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_default_summary.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_duplicate_task.tjp +23 -0
- data/test/TestSuite/Syntax/Errors/ts_end_too_early.tjp +18 -0
- data/test/TestSuite/Syntax/Errors/ts_headline_too_long.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_no_headline2.tjp +27 -0
- data/test/TestSuite/Syntax/Errors/ts_summary_too_long.tjp +29 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +31 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +54 -0
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +2 -0
- data/test/TestSuite/TimeSheets/dev2_mail1 +84 -0
- data/test/TestSuite/TimeSheets/dev2_mail2 +87 -0
- data/test/TestSuite/TimeSheets/project.tjp +271 -0
- data/test/TestSuite/TimeSheets/receiver.log +102 -0
- data/test/TestSuite/TimeSheets/run +75 -0
- data/test/TestSuite/TimeSheets/sender.log +794 -0
- data/test/TestSuite/TimeSheets/summary.log +884 -0
- data/test/TestSuite/TimeSheets/timesheets.log +45 -0
- data/test/TestSuite/TimeSheets/tj3d.log +292 -0
- data/test/test_CSV-Reports.rb +5 -3
- data/test/test_RichText.rb +264 -56
- data/test/test_Scheduler.rb +1 -0
- data/test/test_TextFormatter.rb +142 -0
- data/test/test_TjTime.rb +15 -0
- metadata +816 -644
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/doc/classes/AppConfig.html +0 -880
- data/doc/classes/Arguments.html +0 -230
- data/doc/classes/Object.html +0 -229
- data/doc/classes/String.html +0 -399
- data/doc/classes/TaskJuggler/Account.html +0 -257
- data/doc/classes/TaskJuggler/AccountAttribute.html +0 -261
- data/doc/classes/TaskJuggler/AccountScenario.html +0 -218
- data/doc/classes/TaskJuggler/Allocation.html +0 -423
- data/doc/classes/TaskJuggler/AllocationAttribute.html +0 -291
- data/doc/classes/TaskJuggler/AttributeBase.html +0 -704
- data/doc/classes/TaskJuggler/AttributeDefinition.html +0 -276
- data/doc/classes/TaskJuggler/BatchProcessor.html +0 -347
- data/doc/classes/TaskJuggler/Booking.html +0 -311
- data/doc/classes/TaskJuggler/BookingListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/BooleanAttribute.html +0 -261
- data/doc/classes/TaskJuggler/CSVFile.html +0 -329
- data/doc/classes/TaskJuggler/CellSettingPattern.html +0 -201
- data/doc/classes/TaskJuggler/CellSettingPatternList.html +0 -253
- data/doc/classes/TaskJuggler/Charge.html +0 -283
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/ChargeSet.html +0 -444
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +0 -276
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +0 -231
- data/doc/classes/TaskJuggler/ColumnTable.html +0 -262
- data/doc/classes/TaskJuggler/DateAttribute.html +0 -233
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +0 -162
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/DurationAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FixnumAttribute.html +0 -194
- data/doc/classes/TaskJuggler/FlagListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/FloatAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FormatListAttribute.html +0 -197
- data/doc/classes/TaskJuggler/GanttChart.html +0 -696
- data/doc/classes/TaskJuggler/GanttContainer.html +0 -445
- data/doc/classes/TaskJuggler/GanttHeader.html +0 -284
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +0 -249
- data/doc/classes/TaskJuggler/GanttLine.html +0 -402
- data/doc/classes/TaskJuggler/GanttLoadStack.html +0 -331
- data/doc/classes/TaskJuggler/GanttMilestone.html +0 -419
- data/doc/classes/TaskJuggler/GanttRouter.html +0 -431
- data/doc/classes/TaskJuggler/GanttTaskBar.html +0 -433
- data/doc/classes/TaskJuggler/HTMLDocument.html +0 -240
- data/doc/classes/TaskJuggler/HTMLGraphics.html +0 -231
- data/doc/classes/TaskJuggler/Interval.html +0 -558
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/JobInfo.html +0 -340
- data/doc/classes/TaskJuggler/Journal.html +0 -443
- data/doc/classes/TaskJuggler/JournalEntry.html +0 -274
- data/doc/classes/TaskJuggler/JournalEntryList.html +0 -454
- data/doc/classes/TaskJuggler/KeywordArray.html +0 -179
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +0 -846
- data/doc/classes/TaskJuggler/Limits/Limit.html +0 -385
- data/doc/classes/TaskJuggler/Limits.html +0 -422
- data/doc/classes/TaskJuggler/LimitsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ListAttributeBase.html +0 -207
- data/doc/classes/TaskJuggler/Log.html +0 -655
- data/doc/classes/TaskJuggler/LogicalAttribute.html +0 -259
- data/doc/classes/TaskJuggler/LogicalExpression.html +0 -292
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +0 -194
- data/doc/classes/TaskJuggler/LogicalFlag.html +0 -209
- data/doc/classes/TaskJuggler/LogicalFunction.html +0 -339
- data/doc/classes/TaskJuggler/LogicalOperation.html +0 -351
- data/doc/classes/TaskJuggler/Macro.html +0 -198
- data/doc/classes/TaskJuggler/MacroParser.html +0 -360
- data/doc/classes/TaskJuggler/MacroTable.html +0 -370
- data/doc/classes/TaskJuggler/Message.html +0 -285
- data/doc/classes/TaskJuggler/MessageHandler.html +0 -231
- data/doc/classes/TaskJuggler/Navigator.html +0 -313
- data/doc/classes/TaskJuggler/NavigatorElement.html +0 -449
- data/doc/classes/TaskJuggler/OnShiftCache.html +0 -316
- data/doc/classes/TaskJuggler/Project.html +0 -2257
- data/doc/classes/TaskJuggler/ProjectFileParser.html +0 -420
- data/doc/classes/TaskJuggler/PropertyAttribute.html +0 -194
- data/doc/classes/TaskJuggler/PropertyList.html +0 -668
- data/doc/classes/TaskJuggler/PropertySet.html +0 -1286
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +0 -1742
- data/doc/classes/TaskJuggler/Query.html +0 -870
- data/doc/classes/TaskJuggler/RTFNavigator.html +0 -293
- data/doc/classes/TaskJuggler/RTFQuery.html +0 -343
- data/doc/classes/TaskJuggler/RTFReport.html +0 -304
- data/doc/classes/TaskJuggler/RealFormat.html +0 -309
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +0 -162
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +0 -328
- data/doc/classes/TaskJuggler/RemoteServiceManager.html +0 -335
- data/doc/classes/TaskJuggler/Report.html +0 -321
- data/doc/classes/TaskJuggler/ReportBase.html +0 -437
- data/doc/classes/TaskJuggler/ReportContext.html +0 -248
- data/doc/classes/TaskJuggler/ReportServer.html +0 -320
- data/doc/classes/TaskJuggler/ReportTable.html +0 -526
- data/doc/classes/TaskJuggler/ReportTableCell.html +0 -614
- data/doc/classes/TaskJuggler/ReportTableColumn.html +0 -368
- data/doc/classes/TaskJuggler/ReportTableLegend.html +0 -347
- data/doc/classes/TaskJuggler/ReportTableLine.html +0 -481
- data/doc/classes/TaskJuggler/Resource.html +0 -211
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +0 -302
- data/doc/classes/TaskJuggler/ResourceListRE.html +0 -245
- data/doc/classes/TaskJuggler/ResourceScenario.html +0 -1229
- data/doc/classes/TaskJuggler/RichText.html +0 -357
- data/doc/classes/TaskJuggler/RichTextAttribute.html +0 -293
- data/doc/classes/TaskJuggler/RichTextDocument.html +0 -424
- data/doc/classes/TaskJuggler/RichTextElement.html +0 -932
- data/doc/classes/TaskJuggler/RichTextException.html +0 -212
- data/doc/classes/TaskJuggler/RichTextFunctionExample.html +0 -301
- data/doc/classes/TaskJuggler/RichTextFunctionHandler.html +0 -245
- data/doc/classes/TaskJuggler/RichTextIntermediate.html +0 -563
- data/doc/classes/TaskJuggler/RichTextParser.html +0 -321
- data/doc/classes/TaskJuggler/RichTextScanner.html +0 -424
- data/doc/classes/TaskJuggler/RichTextSnip.html +0 -404
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +0 -1105
- data/doc/classes/TaskJuggler/Scenario.html +0 -163
- data/doc/classes/TaskJuggler/ScenarioData.html +0 -358
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/Scoreboard.html +0 -642
- data/doc/classes/TaskJuggler/Shift.html +0 -255
- data/doc/classes/TaskJuggler/ShiftAssignment.html +0 -492
- data/doc/classes/TaskJuggler/ShiftAssignments.html +0 -719
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ShiftScenario.html +0 -282
- data/doc/classes/TaskJuggler/SortListAttribute.html +0 -196
- data/doc/classes/TaskJuggler/SourceFileInfo.html +0 -251
- data/doc/classes/TaskJuggler/StringAttribute.html +0 -229
- data/doc/classes/TaskJuggler/SymbolAttribute.html +0 -194
- data/doc/classes/TaskJuggler/SyntaxReference.html +0 -520
- data/doc/classes/TaskJuggler/TOCEntry.html +0 -246
- data/doc/classes/TaskJuggler/TSResourceRecord.html +0 -197
- data/doc/classes/TaskJuggler/TSTaskRecord.html +0 -215
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +0 -309
- data/doc/classes/TaskJuggler/TableOfContents.html +0 -260
- data/doc/classes/TaskJuggler/TableReport.html +0 -1015
- data/doc/classes/TaskJuggler/Task.html +0 -203
- data/doc/classes/TaskJuggler/TaskDependency.html +0 -255
- data/doc/classes/TaskJuggler/TaskListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/TaskListRE.html +0 -245
- data/doc/classes/TaskJuggler/TaskScenario.html +0 -2543
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +0 -927
- data/doc/classes/TaskJuggler/TextParser/Rule.html +0 -783
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +0 -272
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +0 -212
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +0 -225
- data/doc/classes/TaskJuggler/TextParser.html +0 -754
- data/doc/classes/TaskJuggler/TextReport.html +0 -367
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +0 -355
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +0 -348
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +0 -264
- data/doc/classes/TaskJuggler/TextScanner.html +0 -815
- data/doc/classes/TaskJuggler/TimeSheetReport.html +0 -406
- data/doc/classes/TaskJuggler/TjException.html +0 -185
- data/doc/classes/TaskJuggler/TjTime.html +0 -1904
- data/doc/classes/TaskJuggler/TjpExample.html +0 -314
- data/doc/classes/TaskJuggler/TjpExportRE.html +0 -306
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +0 -10812
- data/doc/classes/TaskJuggler/UserManual.html +0 -605
- data/doc/classes/TaskJuggler/WorkingHours.html +0 -586
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +0 -252
- data/doc/classes/TaskJuggler/XMLBlob.html +0 -207
- data/doc/classes/TaskJuggler/XMLComment.html +0 -206
- data/doc/classes/TaskJuggler/XMLDocument.html +0 -298
- data/doc/classes/TaskJuggler/XMLElement.html +0 -389
- data/doc/classes/TaskJuggler/XMLNamedText.html +0 -174
- data/doc/classes/TaskJuggler/XMLText.html +0 -221
- data/doc/classes/TaskJuggler.html +0 -1573
- data/doc/files/COPYING.html +0 -448
- data/doc/files/README.html +0 -134
- data/doc/files/lib/AccountScenario_rb.html +0 -117
- data/doc/files/lib/Account_rb.html +0 -119
- data/doc/files/lib/Allocation_rb.html +0 -119
- data/doc/files/lib/AppConfig_rb.html +0 -119
- data/doc/files/lib/AttributeBase_rb.html +0 -117
- data/doc/files/lib/AttributeDefinition_rb.html +0 -107
- data/doc/files/lib/Attributes_rb.html +0 -131
- data/doc/files/lib/BatchProcessor_rb.html +0 -119
- data/doc/files/lib/Booking_rb.html +0 -107
- data/doc/files/lib/ChargeSet_rb.html +0 -117
- data/doc/files/lib/Charge_rb.html +0 -117
- data/doc/files/lib/HTMLDocument_rb.html +0 -117
- data/doc/files/lib/Interval_rb.html +0 -117
- data/doc/files/lib/Journal_rb.html +0 -107
- data/doc/files/lib/KeywordArray_rb.html +0 -107
- data/doc/files/lib/KeywordDocumentation_rb.html +0 -123
- data/doc/files/lib/Limits_rb.html +0 -117
- data/doc/files/lib/Log_rb.html +0 -117
- data/doc/files/lib/LogicalExpression_rb.html +0 -121
- data/doc/files/lib/LogicalFunction_rb.html +0 -117
- data/doc/files/lib/LogicalOperation_rb.html +0 -117
- data/doc/files/lib/MacroParser_rb.html +0 -119
- data/doc/files/lib/MacroTable_rb.html +0 -123
- data/doc/files/lib/MessageHandler_rb.html +0 -107
- data/doc/files/lib/Message_rb.html +0 -117
- data/doc/files/lib/ProjectFileParser_rb.html +0 -129
- data/doc/files/lib/Project_rb.html +0 -153
- data/doc/files/lib/PropertyList_rb.html +0 -107
- data/doc/files/lib/PropertySet_rb.html +0 -119
- data/doc/files/lib/PropertyTreeNode_rb.html +0 -107
- data/doc/files/lib/Query_rb.html +0 -117
- data/doc/files/lib/RTFNavigator_rb.html +0 -121
- data/doc/files/lib/RTFQuery_rb.html +0 -121
- data/doc/files/lib/RTFReport_rb.html +0 -119
- data/doc/files/lib/RealFormat_rb.html +0 -107
- data/doc/files/lib/RemoteServiceManager_rb.html +0 -117
- data/doc/files/lib/ReportServer_rb.html +0 -107
- data/doc/files/lib/ResourceScenario_rb.html +0 -117
- data/doc/files/lib/Resource_rb.html +0 -119
- data/doc/files/lib/RichTextDocument_rb.html +0 -121
- data/doc/files/lib/RichTextElement_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionExample_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionHandler_rb.html +0 -107
- data/doc/files/lib/RichTextParser_rb.html +0 -121
- data/doc/files/lib/RichTextScanner_rb.html +0 -117
- data/doc/files/lib/RichTextSnip_rb.html +0 -119
- data/doc/files/lib/RichTextSyntaxRules_rb.html +0 -107
- data/doc/files/lib/RichText_rb.html +0 -119
- data/doc/files/lib/ScenarioData_rb.html +0 -119
- data/doc/files/lib/Scenario_rb.html +0 -117
- data/doc/files/lib/Scoreboard_rb.html +0 -107
- data/doc/files/lib/ShiftAssignments_rb.html +0 -117
- data/doc/files/lib/ShiftScenario_rb.html +0 -117
- data/doc/files/lib/Shift_rb.html +0 -119
- data/doc/files/lib/SourceFileInfo_rb.html +0 -107
- data/doc/files/lib/SyntaxReference_rb.html +0 -123
- data/doc/files/lib/TOCEntry_rb.html +0 -119
- data/doc/files/lib/TableColumnDefinition_rb.html +0 -107
- data/doc/files/lib/TableOfContents_rb.html +0 -119
- data/doc/files/lib/TaskDependency_rb.html +0 -107
- data/doc/files/lib/TaskJuggler_rb.html +0 -125
- data/doc/files/lib/TaskScenario_rb.html +0 -117
- data/doc/files/lib/Task_rb.html +0 -119
- data/doc/files/lib/TextParser/Pattern_rb.html +0 -117
- data/doc/files/lib/TextParser/Rule_rb.html +0 -107
- data/doc/files/lib/TextParser/StackElement_rb.html +0 -107
- data/doc/files/lib/TextParser/TokenDoc_rb.html +0 -107
- data/doc/files/lib/TextParser_rb.html +0 -125
- data/doc/files/lib/TextScanner_rb.html +0 -129
- data/doc/files/lib/Tj3Config_rb.html +0 -119
- data/doc/files/lib/TjException_rb.html +0 -107
- data/doc/files/lib/TjTime_rb.html +0 -119
- data/doc/files/lib/TjpExample_rb.html +0 -117
- data/doc/files/lib/TjpSyntaxRules_rb.html +0 -107
- data/doc/files/lib/UTF8String_rb.html +0 -140
- data/doc/files/lib/UserManual_rb.html +0 -127
- data/doc/files/lib/WorkingHours_rb.html +0 -117
- data/doc/files/lib/XMLDocument_rb.html +0 -117
- data/doc/files/lib/XMLElement_rb.html +0 -117
- data/doc/files/lib/deep_copy_rb.html +0 -107
- data/doc/files/lib/reports/CSVFile_rb.html +0 -117
- data/doc/files/lib/reports/ColumnTable_rb.html +0 -117
- data/doc/files/lib/reports/GanttChart_rb.html +0 -123
- data/doc/files/lib/reports/GanttContainer_rb.html +0 -117
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +0 -107
- data/doc/files/lib/reports/GanttHeader_rb.html +0 -117
- data/doc/files/lib/reports/GanttLine_rb.html +0 -127
- data/doc/files/lib/reports/GanttLoadStack_rb.html +0 -117
- data/doc/files/lib/reports/GanttMilestone_rb.html +0 -117
- data/doc/files/lib/reports/GanttRouter_rb.html +0 -107
- data/doc/files/lib/reports/GanttTaskBar_rb.html +0 -117
- data/doc/files/lib/reports/HTMLGraphics_rb.html +0 -107
- data/doc/files/lib/reports/Navigator_rb.html +0 -117
- data/doc/files/lib/reports/ReportBase_rb.html +0 -107
- data/doc/files/lib/reports/ReportContext_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableCell_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableColumn_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLegend_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLine_rb.html +0 -117
- data/doc/files/lib/reports/ReportTable_rb.html +0 -119
- data/doc/files/lib/reports/Report_rb.html +0 -137
- data/doc/files/lib/reports/ResourceListRE_rb.html +0 -123
- data/doc/files/lib/reports/TableReport_rb.html +0 -125
- data/doc/files/lib/reports/TaskListRE_rb.html +0 -123
- data/doc/files/lib/reports/TextReport_rb.html +0 -117
- data/doc/files/lib/reports/TimeSheetReport_rb.html +0 -117
- data/doc/files/lib/reports/TjpExportRE_rb.html +0 -117
- data/doc/files/lib/taskjuggler3_rb.html +0 -298
- data/doc/files/lib/tj3client_rb.html +0 -280
- data/doc/files/lib/tj3man_rb.html +0 -190
- data/doc/fr_class_index.html +0 -345
- data/doc/fr_file_index.html +0 -247
- data/doc/fr_method_index.html +0 -2355
- data/doc/rdoc-style.css +0 -299
- data/lib/RemoteServiceManager.rb +0 -80
- data/lib/ReportServer.rb +0 -66
- data/test/TestSuite/HTML-Reports/Alerts.html +0 -172
- data/test/TestSuite/HTML-Reports/CellText.html +0 -758
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +0 -156
- data/test/TestSuite/HTML-Reports/IsOngoing.html +0 -172
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +0 -80
- data/test/TestSuite/HTML-Reports/Query.html +0 -31
- data/test/TestSuite/HTML-Reports/depArrows.html +0 -842
- data/test/TestSuite/Syntax/Correct/RawHTML.tjp +0 -31
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Syntax/Errors/export_bad_extn.tjp +0 -9
@@ -0,0 +1,948 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
7
|
+
|
8
|
+
<title>Class: TaskJuggler::TimeSheetReport</title>
|
9
|
+
|
10
|
+
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
|
11
|
+
|
12
|
+
<script src="../js/jquery.js" type="text/javascript"
|
13
|
+
charset="utf-8"></script>
|
14
|
+
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
15
|
+
charset="utf-8"></script>
|
16
|
+
<script src="../js/quicksearch.js" type="text/javascript"
|
17
|
+
charset="utf-8"></script>
|
18
|
+
<script src="../js/darkfish.js" type="text/javascript"
|
19
|
+
charset="utf-8"></script>
|
20
|
+
|
21
|
+
</head>
|
22
|
+
<body class="class">
|
23
|
+
|
24
|
+
<div id="metadata">
|
25
|
+
<div id="home-metadata">
|
26
|
+
<div id="home-section" class="section">
|
27
|
+
<h3 class="section-header">
|
28
|
+
<a href="../index.html">Home</a>
|
29
|
+
<a href="../index.html#classes">Classes</a>
|
30
|
+
<a href="../index.html#methods">Methods</a>
|
31
|
+
</h3>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="file-metadata">
|
36
|
+
<div id="file-list-section" class="section">
|
37
|
+
<h3 class="section-header">In Files</h3>
|
38
|
+
<div class="section-body">
|
39
|
+
<ul>
|
40
|
+
|
41
|
+
<li><a href="../lib/reports/TimeSheetReport_rb.html?TB_iframe=true&height=550&width=785"
|
42
|
+
class="thickbox" title="lib/reports/TimeSheetReport.rb">lib/reports/TimeSheetReport.rb</a></li>
|
43
|
+
|
44
|
+
</ul>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
|
49
|
+
</div>
|
50
|
+
|
51
|
+
<div id="class-metadata">
|
52
|
+
|
53
|
+
<!-- Parent Class -->
|
54
|
+
|
55
|
+
<div id="parent-class-section" class="section">
|
56
|
+
<h3 class="section-header">Parent</h3>
|
57
|
+
|
58
|
+
<p class="link"><a href="ReportBase.html">TaskJuggler::ReportBase</a></p>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
|
62
|
+
|
63
|
+
<!-- Namespace Contents -->
|
64
|
+
|
65
|
+
|
66
|
+
<!-- Method Quickref -->
|
67
|
+
|
68
|
+
<div id="method-list-section" class="section">
|
69
|
+
<h3 class="section-header">Methods</h3>
|
70
|
+
<ul class="link-list">
|
71
|
+
|
72
|
+
<li><a href="#M000942">::new</a></li>
|
73
|
+
|
74
|
+
<li><a href="#M000945">#collectRecords</a></li>
|
75
|
+
|
76
|
+
<li><a href="#M000943">#generateIntermediateFormat</a></li>
|
77
|
+
|
78
|
+
<li><a href="#M000946">#indentBlock</a></li>
|
79
|
+
|
80
|
+
<li><a href="#M000944">#to_tjp</a></li>
|
81
|
+
|
82
|
+
</ul>
|
83
|
+
</div>
|
84
|
+
|
85
|
+
|
86
|
+
<!-- Included Modules -->
|
87
|
+
|
88
|
+
</div>
|
89
|
+
|
90
|
+
<div id="project-metadata">
|
91
|
+
|
92
|
+
|
93
|
+
<div id="fileindex-section" class="section project-section">
|
94
|
+
<h3 class="section-header">Files</h3>
|
95
|
+
<ul>
|
96
|
+
|
97
|
+
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
98
|
+
|
99
|
+
<li class="file"><a href="../README.html">README</a></li>
|
100
|
+
|
101
|
+
</ul>
|
102
|
+
</div>
|
103
|
+
|
104
|
+
|
105
|
+
<div id="classindex-section" class="section project-section">
|
106
|
+
<h3 class="section-header">Class Index
|
107
|
+
<span class="search-toggle"><img src="../images/find.png"
|
108
|
+
height="16" width="16" alt="[+]"
|
109
|
+
title="show/hide quicksearch" /></span></h3>
|
110
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
111
|
+
<fieldset>
|
112
|
+
<legend>Quicksearch</legend>
|
113
|
+
<input type="text" name="quicksearch" value=""
|
114
|
+
class="quicksearch-field" />
|
115
|
+
</fieldset>
|
116
|
+
</form>
|
117
|
+
|
118
|
+
<ul class="link-list">
|
119
|
+
|
120
|
+
<li><a href="../TaskJuggler.html">TaskJuggler</a></li>
|
121
|
+
|
122
|
+
<li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
|
123
|
+
|
124
|
+
<li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
|
125
|
+
|
126
|
+
<li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
|
127
|
+
|
128
|
+
<li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
|
129
|
+
|
130
|
+
<li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
|
131
|
+
|
132
|
+
<li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
|
133
|
+
|
134
|
+
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
135
|
+
|
136
|
+
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
137
|
+
|
138
|
+
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
139
|
+
|
140
|
+
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
|
141
|
+
|
142
|
+
<li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
|
143
|
+
|
144
|
+
<li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
|
145
|
+
|
146
|
+
<li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
|
147
|
+
|
148
|
+
<li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
|
149
|
+
|
150
|
+
<li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
|
151
|
+
|
152
|
+
<li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
|
153
|
+
|
154
|
+
<li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
|
155
|
+
|
156
|
+
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
157
|
+
|
158
|
+
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
159
|
+
|
160
|
+
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
161
|
+
|
162
|
+
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
163
|
+
|
164
|
+
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
165
|
+
|
166
|
+
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
167
|
+
|
168
|
+
<li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
|
169
|
+
|
170
|
+
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
171
|
+
|
172
|
+
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
173
|
+
|
174
|
+
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
175
|
+
|
176
|
+
<li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
|
177
|
+
|
178
|
+
<li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
|
179
|
+
|
180
|
+
<li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
|
181
|
+
|
182
|
+
<li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
|
183
|
+
|
184
|
+
<li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
|
185
|
+
|
186
|
+
<li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
|
187
|
+
|
188
|
+
<li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
|
189
|
+
|
190
|
+
<li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
|
191
|
+
|
192
|
+
<li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
|
193
|
+
|
194
|
+
<li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
|
195
|
+
|
196
|
+
<li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
|
197
|
+
|
198
|
+
<li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
|
199
|
+
|
200
|
+
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
201
|
+
|
202
|
+
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
203
|
+
|
204
|
+
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
205
|
+
|
206
|
+
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
207
|
+
|
208
|
+
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
209
|
+
|
210
|
+
<li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
|
211
|
+
|
212
|
+
<li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
|
213
|
+
|
214
|
+
<li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
|
215
|
+
|
216
|
+
<li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
|
217
|
+
|
218
|
+
<li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
|
219
|
+
|
220
|
+
<li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
|
221
|
+
|
222
|
+
<li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
|
223
|
+
|
224
|
+
<li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
|
225
|
+
|
226
|
+
<li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
|
227
|
+
|
228
|
+
<li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
|
229
|
+
|
230
|
+
<li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
|
231
|
+
|
232
|
+
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
|
233
|
+
|
234
|
+
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
235
|
+
|
236
|
+
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
237
|
+
|
238
|
+
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
239
|
+
|
240
|
+
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
|
241
|
+
|
242
|
+
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
243
|
+
|
244
|
+
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
245
|
+
|
246
|
+
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
247
|
+
|
248
|
+
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
249
|
+
|
250
|
+
<li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
|
251
|
+
|
252
|
+
<li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
|
253
|
+
|
254
|
+
<li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
|
255
|
+
|
256
|
+
<li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
|
257
|
+
|
258
|
+
<li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
|
259
|
+
|
260
|
+
<li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
|
261
|
+
|
262
|
+
<li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
|
263
|
+
|
264
|
+
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
265
|
+
|
266
|
+
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
267
|
+
|
268
|
+
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
269
|
+
|
270
|
+
<li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
|
271
|
+
|
272
|
+
<li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
|
273
|
+
|
274
|
+
<li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
|
275
|
+
|
276
|
+
<li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
|
277
|
+
|
278
|
+
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
279
|
+
|
280
|
+
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
281
|
+
|
282
|
+
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
283
|
+
|
284
|
+
<li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
|
285
|
+
|
286
|
+
<li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
|
287
|
+
|
288
|
+
<li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
|
289
|
+
|
290
|
+
<li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
|
291
|
+
|
292
|
+
<li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
|
293
|
+
|
294
|
+
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
295
|
+
|
296
|
+
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
297
|
+
|
298
|
+
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
299
|
+
|
300
|
+
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
301
|
+
|
302
|
+
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
303
|
+
|
304
|
+
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
305
|
+
|
306
|
+
<li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
|
307
|
+
|
308
|
+
<li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
|
309
|
+
|
310
|
+
<li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
|
311
|
+
|
312
|
+
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
313
|
+
|
314
|
+
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
315
|
+
|
316
|
+
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
317
|
+
|
318
|
+
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
319
|
+
|
320
|
+
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
321
|
+
|
322
|
+
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
323
|
+
|
324
|
+
<li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
|
325
|
+
|
326
|
+
<li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
|
327
|
+
|
328
|
+
<li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
|
329
|
+
|
330
|
+
<li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
|
331
|
+
|
332
|
+
<li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
|
333
|
+
|
334
|
+
<li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
|
335
|
+
|
336
|
+
<li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
|
337
|
+
|
338
|
+
<li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
|
339
|
+
|
340
|
+
<li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
|
341
|
+
|
342
|
+
<li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
|
343
|
+
|
344
|
+
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
345
|
+
|
346
|
+
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
347
|
+
|
348
|
+
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
349
|
+
|
350
|
+
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
351
|
+
|
352
|
+
<li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
|
353
|
+
|
354
|
+
<li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
|
355
|
+
|
356
|
+
<li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
|
357
|
+
|
358
|
+
<li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
|
359
|
+
|
360
|
+
<li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
|
361
|
+
|
362
|
+
<li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
|
363
|
+
|
364
|
+
<li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
|
365
|
+
|
366
|
+
<li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
|
367
|
+
|
368
|
+
<li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
|
369
|
+
|
370
|
+
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
371
|
+
|
372
|
+
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
373
|
+
|
374
|
+
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
375
|
+
|
376
|
+
<li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
|
377
|
+
|
378
|
+
<li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
|
379
|
+
|
380
|
+
<li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
|
381
|
+
|
382
|
+
<li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
|
383
|
+
|
384
|
+
<li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
|
385
|
+
|
386
|
+
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
387
|
+
|
388
|
+
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
389
|
+
|
390
|
+
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
391
|
+
|
392
|
+
<li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
|
393
|
+
|
394
|
+
<li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
|
395
|
+
|
396
|
+
<li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
|
397
|
+
|
398
|
+
<li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
|
399
|
+
|
400
|
+
<li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
|
401
|
+
|
402
|
+
<li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
|
403
|
+
|
404
|
+
<li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
|
405
|
+
|
406
|
+
<li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
|
407
|
+
|
408
|
+
<li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
|
409
|
+
|
410
|
+
<li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
|
411
|
+
|
412
|
+
<li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
|
413
|
+
|
414
|
+
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
415
|
+
|
416
|
+
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
417
|
+
|
418
|
+
<li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
|
419
|
+
|
420
|
+
<li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
|
421
|
+
|
422
|
+
<li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
|
423
|
+
|
424
|
+
<li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
|
425
|
+
|
426
|
+
<li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
|
427
|
+
|
428
|
+
<li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
|
429
|
+
|
430
|
+
<li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
|
431
|
+
|
432
|
+
<li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
|
433
|
+
|
434
|
+
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
435
|
+
|
436
|
+
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
437
|
+
|
438
|
+
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
439
|
+
|
440
|
+
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
441
|
+
|
442
|
+
<li><a href="../TaskJuggler/TextScanner.html">TaskJuggler::TextScanner</a></li>
|
443
|
+
|
444
|
+
<li><a href="../TaskJuggler/TextScanner/BufferStreamHandle.html">TaskJuggler::TextScanner::BufferStreamHandle</a></li>
|
445
|
+
|
446
|
+
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
447
|
+
|
448
|
+
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
449
|
+
|
450
|
+
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
451
|
+
|
452
|
+
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
453
|
+
|
454
|
+
<li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
|
455
|
+
|
456
|
+
<li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
|
457
|
+
|
458
|
+
<li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
|
459
|
+
|
460
|
+
<li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
|
461
|
+
|
462
|
+
<li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
|
463
|
+
|
464
|
+
<li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
|
465
|
+
|
466
|
+
<li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
|
467
|
+
|
468
|
+
<li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
|
469
|
+
|
470
|
+
<li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
|
471
|
+
|
472
|
+
<li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
|
473
|
+
|
474
|
+
<li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
|
475
|
+
|
476
|
+
<li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
|
477
|
+
|
478
|
+
<li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
|
479
|
+
|
480
|
+
<li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
|
481
|
+
|
482
|
+
<li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
|
483
|
+
|
484
|
+
<li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
|
485
|
+
|
486
|
+
<li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
|
487
|
+
|
488
|
+
<li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
|
489
|
+
|
490
|
+
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
491
|
+
|
492
|
+
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
493
|
+
|
494
|
+
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
495
|
+
|
496
|
+
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
497
|
+
|
498
|
+
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
|
499
|
+
|
500
|
+
<li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
|
501
|
+
|
502
|
+
<li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
|
503
|
+
|
504
|
+
<li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
|
505
|
+
|
506
|
+
<li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
|
507
|
+
|
508
|
+
<li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
|
509
|
+
|
510
|
+
<li><a href="../AppConfig.html">AppConfig</a></li>
|
511
|
+
|
512
|
+
<li><a href="../Arguments.html">Arguments</a></li>
|
513
|
+
|
514
|
+
<li><a href="../Object.html">Object</a></li>
|
515
|
+
|
516
|
+
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
|
517
|
+
|
518
|
+
<li><a href="../String.html">String</a></li>
|
519
|
+
|
520
|
+
</ul>
|
521
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
522
|
+
</div>
|
523
|
+
|
524
|
+
|
525
|
+
</div>
|
526
|
+
</div>
|
527
|
+
|
528
|
+
<div id="documentation">
|
529
|
+
<h1 class="class">TaskJuggler::TimeSheetReport</h1>
|
530
|
+
|
531
|
+
<div id="description">
|
532
|
+
<p>
|
533
|
+
This specialization of <a href="ReportBase.html">ReportBase</a> implements
|
534
|
+
a template generator for time sheets. The time sheet is structured using
|
535
|
+
the TJP file syntax.
|
536
|
+
</p>
|
537
|
+
|
538
|
+
</div>
|
539
|
+
|
540
|
+
<!-- Constants -->
|
541
|
+
|
542
|
+
|
543
|
+
<!-- Attributes -->
|
544
|
+
|
545
|
+
|
546
|
+
<!-- Methods -->
|
547
|
+
|
548
|
+
<div id="public-class-method-details" class="method-section section">
|
549
|
+
<h3 class="section-header">Public Class Methods</h3>
|
550
|
+
|
551
|
+
|
552
|
+
<div id="new-method" class="method-detail ">
|
553
|
+
<a name="M000942"></a>
|
554
|
+
|
555
|
+
<div class="method-heading">
|
556
|
+
|
557
|
+
<span class="method-name">new</span><span
|
558
|
+
class="method-args">(report)</span>
|
559
|
+
<span class="method-click-advice">click to toggle source</span>
|
560
|
+
|
561
|
+
</div>
|
562
|
+
|
563
|
+
<div class="method-description">
|
564
|
+
|
565
|
+
<p>
|
566
|
+
Create a new object and set some default values.
|
567
|
+
</p>
|
568
|
+
|
569
|
+
|
570
|
+
|
571
|
+
<div class="method-source-code"
|
572
|
+
id="new-source">
|
573
|
+
<pre>
|
574
|
+
<span class="ruby-comment cmt"># File lib/reports/TimeSheetReport.rb, line 52</span>
|
575
|
+
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
|
576
|
+
53: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">report</span>)
|
577
|
+
54:
|
578
|
+
55: <span class="ruby-ivar">@current</span> = []
|
579
|
+
56: <span class="ruby-ivar">@future</span> = []
|
580
|
+
57: <span class="ruby-keyword kw">end</span></pre>
|
581
|
+
</div>
|
582
|
+
|
583
|
+
</div>
|
584
|
+
|
585
|
+
|
586
|
+
|
587
|
+
|
588
|
+
</div>
|
589
|
+
|
590
|
+
|
591
|
+
</div>
|
592
|
+
|
593
|
+
<div id="public-instance-method-details" class="method-section section">
|
594
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
595
|
+
|
596
|
+
|
597
|
+
<div id="generate-ntermediate-ormat-method" class="method-detail ">
|
598
|
+
<a name="M000943"></a>
|
599
|
+
|
600
|
+
<div class="method-heading">
|
601
|
+
|
602
|
+
<span class="method-name">generateIntermediateFormat</span><span
|
603
|
+
class="method-args">()</span>
|
604
|
+
<span class="method-click-advice">click to toggle source</span>
|
605
|
+
|
606
|
+
</div>
|
607
|
+
|
608
|
+
<div class="method-description">
|
609
|
+
|
610
|
+
<p>
|
611
|
+
In the future we might want to generate other output than TJP synatx. So we
|
612
|
+
generate an abstract version of the time sheet first. This abstract version
|
613
|
+
has a <a href="TSResourceRecord.html">TSResourceRecord</a> for each
|
614
|
+
resource and each of these records holds a <a
|
615
|
+
href="TSTaskRecord.html">TSTaskRecord</a> for each assigned task.
|
616
|
+
</p>
|
617
|
+
|
618
|
+
|
619
|
+
|
620
|
+
<div class="method-source-code"
|
621
|
+
id="generate-ntermediate-ormat-source">
|
622
|
+
<pre>
|
623
|
+
<span class="ruby-comment cmt"># File lib/reports/TimeSheetReport.rb, line 63</span>
|
624
|
+
63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
|
625
|
+
64: <span class="ruby-keyword kw">super</span>
|
626
|
+
65: <span class="ruby-ivar">@current</span> = <span class="ruby-identifier">collectRecords</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>))
|
627
|
+
66: <span class="ruby-identifier">newEnd</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>).<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>).<span class="ruby-identifier">to_i</span>)
|
628
|
+
67: <span class="ruby-identifier">newEnd</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">newEnd</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
|
629
|
+
68: <span class="ruby-ivar">@future</span> = <span class="ruby-identifier">collectRecords</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>) <span class="ruby-operator">-</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>)))
|
630
|
+
69: <span class="ruby-keyword kw">end</span></pre>
|
631
|
+
</div>
|
632
|
+
|
633
|
+
</div>
|
634
|
+
|
635
|
+
|
636
|
+
|
637
|
+
|
638
|
+
</div>
|
639
|
+
|
640
|
+
|
641
|
+
<div id="to-tjp-method" class="method-detail ">
|
642
|
+
<a name="M000944"></a>
|
643
|
+
|
644
|
+
<div class="method-heading">
|
645
|
+
|
646
|
+
<span class="method-name">to_tjp</span><span
|
647
|
+
class="method-args">()</span>
|
648
|
+
<span class="method-click-advice">click to toggle source</span>
|
649
|
+
|
650
|
+
</div>
|
651
|
+
|
652
|
+
<div class="method-description">
|
653
|
+
|
654
|
+
<p>
|
655
|
+
Generate a time sheet in TJP syntax format.
|
656
|
+
</p>
|
657
|
+
|
658
|
+
|
659
|
+
|
660
|
+
<div class="method-source-code"
|
661
|
+
id="to-tjp-source">
|
662
|
+
<pre>
|
663
|
+
<span class="ruby-comment cmt"># File lib/reports/TimeSheetReport.rb, line 72</span>
|
664
|
+
72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tjp</span>
|
665
|
+
73: <span class="ruby-comment cmt"># This String will hold the result.</span>
|
666
|
+
74: <span class="ruby-ivar">@file</span> = <span class="ruby-value str"># The status headline should be no more than 60 characters and may# not be empty! The status summary is optional and should be no# longer than one or two sentences of plain text. The details section# is also optional has no length limitation. You can use simple# markup in this section. It is recommended that you provide at# least a summary or a details section.# See http://www.taskjuggler.org/tj3/manual/timesheet.html for details.## --------8<--------8<--------</span>
|
667
|
+
75:
|
668
|
+
76: <span class="ruby-comment cmt"># Iterate over all the resources that we have TSResourceRecords for.</span>
|
669
|
+
77: <span class="ruby-ivar">@current</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rr</span><span class="ruby-operator">|</span>
|
670
|
+
78: <span class="ruby-identifier">resource</span> = <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">resource</span>
|
671
|
+
79: <span class="ruby-comment cmt"># Generate the time sheet header</span>
|
672
|
+
80: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"timesheet #{resource.fullId} "</span> <span class="ruby-operator">+</span>
|
673
|
+
81: <span class="ruby-node">"#{a('start')} - #{a('end')} {\n\n"</span>
|
674
|
+
82:
|
675
|
+
83: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" # Vacation time: #{rr.vacationPercent}%\n\n"</span>
|
676
|
+
84:
|
677
|
+
85: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">empty?</span>
|
678
|
+
86: <span class="ruby-comment cmt"># If there were no assignments, just write a comment.</span>
|
679
|
+
87: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" # There were no planned tasks assignments for "</span> <span class="ruby-operator">+</span>
|
680
|
+
88: <span class="ruby-value str">"this period!\n\n"</span>
|
681
|
+
89: <span class="ruby-keyword kw">else</span>
|
682
|
+
90: <span class="ruby-identifier">rr</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">tr</span><span class="ruby-operator">|</span>
|
683
|
+
91: <span class="ruby-identifier">task</span> = <span class="ruby-identifier">tr</span>.<span class="ruby-identifier">task</span>
|
684
|
+
92:
|
685
|
+
93: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" # Task: #{task.name}\n"</span>
|
686
|
+
94: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" task #{task.fullId} {\n"</span>
|
687
|
+
95: <span class="ruby-comment cmt">#@file << " work #{tr.workDays *</span>
|
688
|
+
96: <span class="ruby-comment cmt"># @project['dailyworkinghours']}h\n"</span>
|
689
|
+
97: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" work #{tr.workPercent}%\n"</span>
|
690
|
+
98: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tr</span>.<span class="ruby-identifier">remaining</span>
|
691
|
+
99: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" remaining #{tr.remaining}d\n"</span>
|
692
|
+
100: <span class="ruby-keyword kw">else</span>
|
693
|
+
101: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" end #{tr.endDate}\n"</span>
|
694
|
+
102: <span class="ruby-keyword kw">end</span>
|
695
|
+
103: <span class="ruby-identifier">c</span> = <span class="ruby-identifier">tr</span>.<span class="ruby-identifier">workDays</span> <span class="ruby-operator">></span> <span class="ruby-value">1.0</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'# '</span>
|
696
|
+
104: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" #{c}status green \"Your headline here!\" {\n"</span> <span class="ruby-operator">+</span>
|
697
|
+
105: <span class="ruby-node">" # summary -8<-\n"</span> <span class="ruby-operator">+</span>
|
698
|
+
106: <span class="ruby-node">" # A summary text\n"</span> <span class="ruby-operator">+</span>
|
699
|
+
107: <span class="ruby-node">" # ->8-\n"</span> <span class="ruby-operator">+</span>
|
700
|
+
108: <span class="ruby-node">" # details -8<-\n"</span> <span class="ruby-operator">+</span>
|
701
|
+
109: <span class="ruby-node">" # Some more details\n"</span> <span class="ruby-operator">+</span>
|
702
|
+
110: <span class="ruby-node">" # ->8-\n"</span> <span class="ruby-operator">+</span>
|
703
|
+
111: <span class="ruby-node">" #{c}}\n"</span>
|
704
|
+
112: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">" }\n\n"</span>
|
705
|
+
113: <span class="ruby-keyword kw">end</span>
|
706
|
+
114: <span class="ruby-keyword kw">end</span>
|
707
|
+
115: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-value str"> # If you had unplanned tasks, uncomment and fill out the # following lines: # newtask new.task.id "A task title" { # work X% # remaining Y.Yd # } # You can use the following section to report personal notes. # status green "A headline" { # summary -8<- # A summary text # ->8- # details -8<- # Some more details # ->8- # }</span>
|
708
|
+
116: <span class="ruby-identifier">future</span> = <span class="ruby-ivar">@future</span>[<span class="ruby-ivar">@future</span>.<span class="ruby-identifier">index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">resource</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">resource</span> }]
|
709
|
+
117: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">future</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">future</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">empty?</span>
|
710
|
+
118: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-value str"> # # Your upcoming tasks for the next period # Please check them carefully and discuss any necessary # changes with your manager or project manager! #</span>
|
711
|
+
119: <span class="ruby-identifier">future</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">taskRecord</span><span class="ruby-operator">|</span>
|
712
|
+
120: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" # #{taskRecord.task.name}: #{taskRecord.workPercent}%\n"</span>
|
713
|
+
121: <span class="ruby-keyword kw">end</span>
|
714
|
+
122: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
715
|
+
123: <span class="ruby-keyword kw">else</span>
|
716
|
+
124: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"\n # You have no future assignments for this project!\n"</span>
|
717
|
+
125: <span class="ruby-keyword kw">end</span>
|
718
|
+
126: <span class="ruby-ivar">@file</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"}\n# -------->8-------->8--------\n\n"</span>
|
719
|
+
127: <span class="ruby-keyword kw">end</span>
|
720
|
+
128: <span class="ruby-ivar">@file</span>
|
721
|
+
129: <span class="ruby-keyword kw">end</span></pre>
|
722
|
+
</div>
|
723
|
+
|
724
|
+
</div>
|
725
|
+
|
726
|
+
|
727
|
+
|
728
|
+
|
729
|
+
</div>
|
730
|
+
|
731
|
+
|
732
|
+
</div>
|
733
|
+
|
734
|
+
<div id="private-instance-method-details" class="method-section section">
|
735
|
+
<h3 class="section-header">Private Instance Methods</h3>
|
736
|
+
|
737
|
+
|
738
|
+
<div id="collect-ecords-method" class="method-detail ">
|
739
|
+
<a name="M000945"></a>
|
740
|
+
|
741
|
+
<div class="method-heading">
|
742
|
+
|
743
|
+
<span class="method-name">collectRecords</span><span
|
744
|
+
class="method-args">(from, to)</span>
|
745
|
+
<span class="method-click-advice">click to toggle source</span>
|
746
|
+
|
747
|
+
</div>
|
748
|
+
|
749
|
+
<div class="method-description">
|
750
|
+
|
751
|
+
|
752
|
+
|
753
|
+
|
754
|
+
|
755
|
+
<div class="method-source-code"
|
756
|
+
id="collect-ecords-source">
|
757
|
+
<pre>
|
758
|
+
<span class="ruby-comment cmt"># File lib/reports/TimeSheetReport.rb, line 166</span>
|
759
|
+
166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectRecords</span>(<span class="ruby-identifier">from</span>, <span class="ruby-identifier">to</span>)
|
760
|
+
167: <span class="ruby-comment cmt"># Prepare the resource list.</span>
|
761
|
+
168: <span class="ruby-identifier">resourceList</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">resources</span>)
|
762
|
+
169: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'sortResources'</span>))
|
763
|
+
170: <span class="ruby-identifier">resourceList</span> = <span class="ruby-identifier">filterResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-keyword kw">nil</span>,
|
764
|
+
171: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'hideResource'</span>),
|
765
|
+
172: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupResource'</span>))
|
766
|
+
173: <span class="ruby-comment cmt"># Prepare a template for the Query we will use to get all the data.</span>
|
767
|
+
174: <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>)[<span class="ruby-value">0</span>]
|
768
|
+
175: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>,
|
769
|
+
176: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
770
|
+
177: <span class="ruby-value str">'scenarioIdx'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">scenarioIdx</span>,
|
771
|
+
178: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>),
|
772
|
+
179: <span class="ruby-value str">'numberFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>),
|
773
|
+
180: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'timeFormat'</span>),
|
774
|
+
181: <span class="ruby-value str">'currencyFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'currencyFormat'</span>),
|
775
|
+
182: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">from</span>, <span class="ruby-value str">'end'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">to</span>,
|
776
|
+
183: <span class="ruby-value str">'costAccount'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'costAccount'</span>),
|
777
|
+
184: <span class="ruby-value str">'revenueAccount'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'revenueAccount'</span>) }
|
778
|
+
185: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
|
779
|
+
186: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">sort!</span>
|
780
|
+
187:
|
781
|
+
188: <span class="ruby-comment cmt"># Prepare the task list.</span>
|
782
|
+
189: <span class="ruby-identifier">taskList</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">tasks</span>)
|
783
|
+
190: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'sortTasks'</span>))
|
784
|
+
191: <span class="ruby-identifier">taskList</span> = <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'hideTask'</span>),
|
785
|
+
192: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupTask'</span>))
|
786
|
+
193:
|
787
|
+
194: <span class="ruby-identifier">records</span> = []
|
788
|
+
195: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
789
|
+
196: <span class="ruby-comment cmt"># Time sheets only make sense for leaf resources that actuall do work.</span>
|
790
|
+
197: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">leaf?</span>
|
791
|
+
198:
|
792
|
+
199: <span class="ruby-comment cmt"># Create a new TSResourceRecord for the resource.</span>
|
793
|
+
200: <span class="ruby-identifier">records</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">resourceRecord</span> = <span class="ruby-constant">TSResourceRecord</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">resource</span>))
|
794
|
+
201:
|
795
|
+
202: <span class="ruby-comment cmt"># Calculate the average working days per week (usually 5)</span>
|
796
|
+
203: <span class="ruby-identifier">weeklyWorkingDays</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'yearlyworkingdays'</span>] <span class="ruby-operator">/</span> <span class="ruby-value">52.1428</span>
|
797
|
+
204: <span class="ruby-comment cmt"># Calculate the number of weeks in the report</span>
|
798
|
+
205: <span class="ruby-identifier">weeksToReport</span> = (<span class="ruby-identifier">to</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">from</span>) <span class="ruby-operator">/</span> (<span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span> * <span class="ruby-value">7</span>)
|
799
|
+
206:
|
800
|
+
207: <span class="ruby-comment cmt"># Get the vacation days for the resource for this period.</span>
|
801
|
+
208: <span class="ruby-identifier">queryAttrs</span>[<span class="ruby-value str">'property'</span>] = <span class="ruby-identifier">resource</span>
|
802
|
+
209: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
|
803
|
+
210: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-value str">'vacationdays'</span>
|
804
|
+
211: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">from</span>
|
805
|
+
212: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">to</span>
|
806
|
+
213: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">process</span>
|
807
|
+
214: <span class="ruby-identifier">resourceRecord</span>.<span class="ruby-identifier">vacationHours</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_s</span>
|
808
|
+
215: <span class="ruby-identifier">resourceRecord</span>.<span class="ruby-identifier">vacationPercent</span> =
|
809
|
+
216: (<span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_num</span> <span class="ruby-operator">/</span> (<span class="ruby-identifier">weeksToReport</span> * <span class="ruby-identifier">weeklyWorkingDays</span>)) * <span class="ruby-value">100.0</span>
|
810
|
+
217:
|
811
|
+
218:
|
812
|
+
219: <span class="ruby-comment cmt"># Now we have to find all the task that the resource is allocated to</span>
|
813
|
+
220: <span class="ruby-comment cmt"># during the report period.</span>
|
814
|
+
221: <span class="ruby-identifier">assignedTaskList</span> = <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-identifier">resource</span>,
|
815
|
+
222: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'hideTask'</span>),
|
816
|
+
223: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rollupTask'</span>))
|
817
|
+
224: <span class="ruby-identifier">queryAttrs</span>[<span class="ruby-value str">'scopeProperty'</span>] = <span class="ruby-identifier">resource</span>
|
818
|
+
225: <span class="ruby-identifier">assignedTaskList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
|
819
|
+
226: <span class="ruby-identifier">assignedTaskList</span>.<span class="ruby-identifier">sort!</span>
|
820
|
+
227:
|
821
|
+
228: <span class="ruby-identifier">assignedTaskList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
822
|
+
229: <span class="ruby-comment cmt"># Time sheet task records only make sense for leaf tasks.</span>
|
823
|
+
230: <span class="ruby-identifier">reportIv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">from</span>, <span class="ruby-identifier">to</span>)
|
824
|
+
231: <span class="ruby-identifier">taskIv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">task</span>[<span class="ruby-value str">'start'</span>, <span class="ruby-identifier">scenarioIdx</span>],
|
825
|
+
232: <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>])
|
826
|
+
233: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">task</span>.<span class="ruby-identifier">leaf?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">reportIv</span>.<span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">taskIv</span>)
|
827
|
+
234:
|
828
|
+
235: <span class="ruby-identifier">queryAttrs</span>[<span class="ruby-value str">'property'</span>] = <span class="ruby-identifier">task</span>
|
829
|
+
236: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
|
830
|
+
237:
|
831
|
+
238: <span class="ruby-comment cmt"># Get the allocated effort for the task for this period.</span>
|
832
|
+
239: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-value str">'effort'</span>
|
833
|
+
240: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">from</span>
|
834
|
+
241: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">to</span>
|
835
|
+
242: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">process</span>
|
836
|
+
243: <span class="ruby-comment cmt"># The Query.to_num of an effort always returns the value in days.</span>
|
837
|
+
244: <span class="ruby-identifier">workDays</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_num</span>
|
838
|
+
245: <span class="ruby-identifier">workPercent</span> = (<span class="ruby-identifier">workDays</span> <span class="ruby-operator">/</span> (<span class="ruby-identifier">weeksToReport</span> * <span class="ruby-identifier">weeklyWorkingDays</span>)) *
|
839
|
+
246: <span class="ruby-value">100.0</span>
|
840
|
+
247:
|
841
|
+
248: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>[<span class="ruby-value str">'effort'</span>, <span class="ruby-identifier">scenarioIdx</span>] <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
842
|
+
249: <span class="ruby-comment cmt"># The task is an effort based task.</span>
|
843
|
+
250: <span class="ruby-comment cmt"># Get the remaining effort for this task.</span>
|
844
|
+
251: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span> = <span class="ruby-identifier">to</span>
|
845
|
+
252: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>]
|
846
|
+
253: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">loadUnit</span> = <span class="ruby-value">:days</span>
|
847
|
+
254: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">process</span>
|
848
|
+
255: <span class="ruby-identifier">remaining</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_s</span>
|
849
|
+
256: <span class="ruby-identifier">endDate</span> = <span class="ruby-keyword kw">nil</span>
|
850
|
+
257: <span class="ruby-keyword kw">else</span>
|
851
|
+
258: <span class="ruby-comment cmt"># The task is a duration task.</span>
|
852
|
+
259: <span class="ruby-comment cmt"># Get the planned task end date.</span>
|
853
|
+
260: <span class="ruby-identifier">remaining</span> = <span class="ruby-keyword kw">nil</span>
|
854
|
+
261: <span class="ruby-identifier">endDate</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>]
|
855
|
+
262: <span class="ruby-keyword kw">end</span>
|
856
|
+
263:
|
857
|
+
264: <span class="ruby-comment cmt"># Put all data into a TSTaskRecord and push it into the resource</span>
|
858
|
+
265: <span class="ruby-comment cmt"># record.</span>
|
859
|
+
266: <span class="ruby-identifier">resourceRecord</span>.<span class="ruby-identifier">tasks</span> <span class="ruby-operator"><<</span>
|
860
|
+
267: <span class="ruby-constant">TSTaskRecord</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">workDays</span>, <span class="ruby-identifier">workPercent</span>, <span class="ruby-identifier">remaining</span>, <span class="ruby-identifier">endDate</span>)
|
861
|
+
268: <span class="ruby-keyword kw">end</span>
|
862
|
+
269: <span class="ruby-keyword kw">end</span>
|
863
|
+
270:
|
864
|
+
271: <span class="ruby-identifier">records</span>
|
865
|
+
272: <span class="ruby-keyword kw">end</span></pre>
|
866
|
+
</div>
|
867
|
+
|
868
|
+
</div>
|
869
|
+
|
870
|
+
|
871
|
+
|
872
|
+
|
873
|
+
</div>
|
874
|
+
|
875
|
+
|
876
|
+
<div id="indent-lock-method" class="method-detail ">
|
877
|
+
<a name="M000946"></a>
|
878
|
+
|
879
|
+
<div class="method-heading">
|
880
|
+
|
881
|
+
<span class="method-name">indentBlock</span><span
|
882
|
+
class="method-args">(text, indent)</span>
|
883
|
+
<span class="method-click-advice">click to toggle source</span>
|
884
|
+
|
885
|
+
</div>
|
886
|
+
|
887
|
+
<div class="method-description">
|
888
|
+
|
889
|
+
<p>
|
890
|
+
This utility function is used to indent multi-line attributes. All
|
891
|
+
attributes should be filtered through this function. Attributes that
|
892
|
+
contain line breaks will be indented properly. In addition to the
|
893
|
+
indentation specified by <em>indent</em> all but the first line will be
|
894
|
+
indented after the first word of the first line. The text may not end with
|
895
|
+
a line break.
|
896
|
+
</p>
|
897
|
+
|
898
|
+
|
899
|
+
|
900
|
+
<div class="method-source-code"
|
901
|
+
id="indent-lock-source">
|
902
|
+
<pre>
|
903
|
+
<span class="ruby-comment cmt"># File lib/reports/TimeSheetReport.rb, line 280</span>
|
904
|
+
280: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indentBlock</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">indent</span>)
|
905
|
+
281: <span class="ruby-identifier">out</span> = <span class="ruby-value str">''</span>
|
906
|
+
282: <span class="ruby-identifier">firstSpace</span> = <span class="ruby-value">0</span>
|
907
|
+
283: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
908
|
+
284: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">firstSpace</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">text</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value">\ \</span><span class="ruby-comment cmt"># There must be a space after ?</span>
|
909
|
+
285: <span class="ruby-identifier">firstSpace</span> = <span class="ruby-identifier">i</span>
|
910
|
+
286: <span class="ruby-keyword kw">end</span>
|
911
|
+
287: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">text</span>[<span class="ruby-identifier">i</span>]
|
912
|
+
288: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value">\n\</span>
|
913
|
+
289: <span class="ruby-identifier">out</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">' '</span> * (<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">firstSpace</span>)
|
914
|
+
290: <span class="ruby-keyword kw">end</span>
|
915
|
+
291: <span class="ruby-keyword kw">end</span>
|
916
|
+
292: <span class="ruby-identifier">out</span>
|
917
|
+
293: <span class="ruby-keyword kw">end</span></pre>
|
918
|
+
</div>
|
919
|
+
|
920
|
+
</div>
|
921
|
+
|
922
|
+
|
923
|
+
|
924
|
+
|
925
|
+
</div>
|
926
|
+
|
927
|
+
|
928
|
+
</div>
|
929
|
+
|
930
|
+
|
931
|
+
</div>
|
932
|
+
|
933
|
+
|
934
|
+
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
935
|
+
|
936
|
+
<p>Disabled; run with --debug to generate this.</p>
|
937
|
+
|
938
|
+
</div>
|
939
|
+
|
940
|
+
<div id="validator-badges">
|
941
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
942
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
943
|
+
Rdoc Generator</a> 1.1.6</small>.</p>
|
944
|
+
</div>
|
945
|
+
|
946
|
+
</body>
|
947
|
+
</html>
|
948
|
+
|