taskjuggler 0.0.5 → 0.0.6
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/CHANGELOG +2086 -0
- data/benchmarks/666tasks.tjp +3183 -0
- data/benchmarks/booking.tjp +14 -10
- data/doc/AppConfig.html +95 -73
- data/doc/Arguments.html +22 -2
- data/doc/CHANGELOG.html +2587 -0
- data/doc/COPYING.html +21 -1
- data/doc/Object.html +161 -122
- data/doc/README.html +21 -1
- data/doc/RuntimeConfig.html +26 -6
- data/doc/String.html +38 -18
- data/doc/StringIO.html +579 -0
- data/doc/TaskJuggler.html +251 -143
- data/doc/TaskJuggler/Account.html +26 -6
- data/doc/TaskJuggler/AccountAttribute.html +28 -8
- data/doc/TaskJuggler/AccountScenario.html +24 -4
- data/doc/TaskJuggler/Allocation.html +30 -10
- data/doc/TaskJuggler/AllocationAttribute.html +28 -8
- data/doc/TaskJuggler/AttributeBase.html +46 -26
- data/doc/TaskJuggler/AttributeDefinition.html +22 -2
- data/doc/TaskJuggler/BatchProcessor.html +40 -20
- data/doc/TaskJuggler/Booking.html +26 -6
- data/doc/TaskJuggler/BookingListAttribute.html +28 -8
- data/doc/TaskJuggler/BooleanAttribute.html +28 -8
- data/doc/TaskJuggler/CSVFile.html +308 -146
- data/doc/TaskJuggler/CellSettingPattern.html +22 -2
- data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
- data/doc/TaskJuggler/Charge.html +26 -6
- data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
- data/doc/TaskJuggler/ChargeSet.html +33 -13
- data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
- data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
- data/doc/TaskJuggler/ColumnTable.html +24 -4
- data/doc/TaskJuggler/Daemon.html +26 -6
- data/doc/TaskJuggler/DateAttribute.html +26 -6
- data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
- data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
- data/doc/TaskJuggler/DurationAttribute.html +28 -8
- data/doc/TaskJuggler/FixnumAttribute.html +24 -4
- data/doc/TaskJuggler/FlagListAttribute.html +28 -8
- data/doc/TaskJuggler/FloatAttribute.html +26 -6
- data/doc/TaskJuggler/FormatListAttribute.html +24 -4
- data/doc/TaskJuggler/GanttChart.html +147 -126
- data/doc/TaskJuggler/GanttContainer.html +34 -14
- data/doc/TaskJuggler/GanttHeader.html +28 -8
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
- data/doc/TaskJuggler/GanttLine.html +38 -18
- data/doc/TaskJuggler/GanttLoadStack.html +26 -6
- data/doc/TaskJuggler/GanttMilestone.html +34 -14
- data/doc/TaskJuggler/GanttRouter.html +50 -30
- data/doc/TaskJuggler/GanttTaskBar.html +34 -14
- data/doc/TaskJuggler/HTMLDocument.html +26 -6
- data/doc/TaskJuggler/HTMLGraphics.html +30 -10
- data/doc/TaskJuggler/Interval.html +40 -22
- data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
- data/doc/TaskJuggler/JobInfo.html +24 -4
- data/doc/TaskJuggler/Journal.html +226 -147
- data/doc/TaskJuggler/JournalEntry.html +22 -2
- data/doc/TaskJuggler/JournalEntryList.html +129 -112
- data/doc/TaskJuggler/KeywordArray.html +26 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
- data/doc/TaskJuggler/Limits.html +152 -123
- data/doc/TaskJuggler/Limits/Limit.html +149 -70
- data/doc/TaskJuggler/LimitsAttribute.html +36 -51
- data/doc/TaskJuggler/ListAttributeBase.html +24 -4
- data/doc/TaskJuggler/Log.html +50 -32
- data/doc/TaskJuggler/LogFile.html +37 -17
- data/doc/TaskJuggler/LogicalAttribute.html +53 -33
- data/doc/TaskJuggler/LogicalExpression.html +26 -6
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
- data/doc/TaskJuggler/LogicalFlag.html +42 -22
- data/doc/TaskJuggler/LogicalFunction.html +204 -140
- data/doc/TaskJuggler/LogicalOperation.html +135 -111
- data/doc/TaskJuggler/Macro.html +22 -2
- data/doc/TaskJuggler/MacroParser.html +32 -12
- data/doc/TaskJuggler/MacroTable.html +32 -12
- data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
- data/doc/TaskJuggler/Message.html +24 -4
- data/doc/TaskJuggler/MessageHandler.html +24 -4
- data/doc/TaskJuggler/Navigator.html +104 -71
- data/doc/TaskJuggler/NavigatorElement.html +32 -12
- data/doc/TaskJuggler/NikuProject.html +22 -2
- data/doc/TaskJuggler/NikuReport.html +310 -228
- data/doc/TaskJuggler/NikuResource.html +22 -2
- data/doc/TaskJuggler/NodeListAttribute.html +615 -0
- data/doc/TaskJuggler/OnShiftCache.html +32 -12
- data/doc/TaskJuggler/ProcessIntercom.html +205 -78
- data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
- data/doc/TaskJuggler/Project.html +708 -660
- data/doc/TaskJuggler/ProjectBroker.html +506 -304
- data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
- data/doc/TaskJuggler/ProjectFileParser.html +429 -373
- data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
- data/doc/TaskJuggler/ProjectRecord.html +80 -60
- data/doc/TaskJuggler/ProjectServer.html +312 -237
- data/doc/TaskJuggler/ProjectServerIface.html +101 -43
- data/doc/TaskJuggler/PropertyAttribute.html +32 -12
- data/doc/TaskJuggler/PropertyList.html +166 -145
- data/doc/TaskJuggler/PropertySet.html +254 -224
- data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
- data/doc/TaskJuggler/Query.html +169 -148
- data/doc/TaskJuggler/RTFHandlers.html +622 -0
- data/doc/TaskJuggler/RTFNavigator.html +28 -8
- data/doc/TaskJuggler/RTFQuery.html +40 -20
- data/doc/TaskJuggler/RTFReport.html +62 -25
- data/doc/TaskJuggler/RTFReportLink.html +765 -0
- data/doc/TaskJuggler/RealFormat.html +26 -6
- data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
- data/doc/TaskJuggler/Report.html +402 -251
- data/doc/TaskJuggler/ReportBase.html +162 -137
- data/doc/TaskJuggler/ReportContext.html +112 -29
- data/doc/TaskJuggler/ReportServer.html +89 -64
- data/doc/TaskJuggler/ReportServerIface.html +75 -55
- data/doc/TaskJuggler/ReportServerRecord.html +54 -31
- data/doc/TaskJuggler/ReportServlet.html +980 -0
- data/doc/TaskJuggler/ReportTable.html +41 -21
- data/doc/TaskJuggler/ReportTableCell.html +214 -170
- data/doc/TaskJuggler/ReportTableColumn.html +30 -10
- data/doc/TaskJuggler/ReportTableLegend.html +36 -16
- data/doc/TaskJuggler/ReportTableLine.html +32 -12
- data/doc/TaskJuggler/Resource.html +99 -87
- data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
- data/doc/TaskJuggler/ResourceListRE.html +47 -26
- data/doc/TaskJuggler/ResourceScenario.html +403 -437
- data/doc/TaskJuggler/RichText.html +26 -6
- data/doc/TaskJuggler/RichTextAttribute.html +50 -30
- data/doc/TaskJuggler/RichTextDocument.html +37 -17
- data/doc/TaskJuggler/RichTextElement.html +475 -413
- data/doc/TaskJuggler/RichTextException.html +22 -2
- data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
- data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
- data/doc/TaskJuggler/RichTextImage.html +22 -2
- data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
- data/doc/TaskJuggler/RichTextParser.html +56 -34
- data/doc/TaskJuggler/RichTextScanner.html +82 -61
- data/doc/TaskJuggler/RichTextSnip.html +34 -14
- data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
- data/doc/TaskJuggler/Scenario.html +22 -2
- data/doc/TaskJuggler/ScenarioData.html +30 -46
- data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
- data/doc/TaskJuggler/Scoreboard.html +42 -22
- data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
- data/doc/TaskJuggler/SheetReceiver.html +333 -295
- data/doc/TaskJuggler/SheetSender.html +253 -230
- data/doc/TaskJuggler/Shift.html +26 -6
- data/doc/TaskJuggler/ShiftAssignment.html +89 -73
- data/doc/TaskJuggler/ShiftAssignments.html +226 -234
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
- data/doc/TaskJuggler/ShiftScenario.html +28 -8
- data/doc/TaskJuggler/SortListAttribute.html +34 -14
- data/doc/TaskJuggler/SourceFileInfo.html +24 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
- data/doc/TaskJuggler/StatusSheetReport.html +168 -153
- data/doc/TaskJuggler/StatusSheetSender.html +24 -3
- data/doc/TaskJuggler/StringAttribute.html +38 -18
- data/doc/TaskJuggler/SymbolAttribute.html +32 -12
- data/doc/TaskJuggler/SyntaxReference.html +40 -20
- data/doc/TaskJuggler/TOCEntry.html +26 -6
- data/doc/TaskJuggler/TSResourceRecord.html +22 -2
- data/doc/TaskJuggler/TSTaskRecord.html +22 -2
- data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
- data/doc/TaskJuggler/TableOfContents.html +26 -6
- data/doc/TaskJuggler/TableReport.html +937 -904
- data/doc/TaskJuggler/Task.html +55 -36
- data/doc/TaskJuggler/TaskDependency.html +24 -4
- data/doc/TaskJuggler/TaskListAttribute.html +50 -30
- data/doc/TaskJuggler/TaskListRE.html +27 -7
- data/doc/TaskJuggler/TaskScenario.html +1273 -1153
- data/doc/TaskJuggler/TextFormatter.html +28 -8
- data/doc/TaskJuggler/TextParser.html +585 -338
- data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
- data/doc/TaskJuggler/TextParser/Rule.html +95 -73
- data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
- data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
- data/doc/TaskJuggler/TextReport.html +28 -8
- data/doc/TaskJuggler/TextScanner.html +400 -1404
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
- data/doc/TaskJuggler/TimeSheet.html +48 -28
- data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
- data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
- data/doc/TaskJuggler/TimeSheetReport.html +154 -133
- data/doc/TaskJuggler/TimeSheetSender.html +24 -3
- data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
- data/doc/TaskJuggler/TimeSheets.html +26 -6
- data/doc/TaskJuggler/Tj3AppBase.html +85 -58
- data/doc/TaskJuggler/Tj3Client.html +292 -238
- data/doc/TaskJuggler/Tj3Daemon.html +159 -74
- data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
- data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
- data/doc/TaskJuggler/Tj3SsSender.html +53 -26
- data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
- data/doc/TaskJuggler/Tj3TsSender.html +26 -6
- data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
- data/doc/TaskJuggler/TjException.html +22 -2
- data/doc/TaskJuggler/TjTime.html +216 -160
- data/doc/TaskJuggler/TjpExample.html +34 -14
- data/doc/TaskJuggler/TjpExportRE.html +403 -407
- data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
- data/doc/TaskJuggler/URLParameter.html +649 -0
- data/doc/TaskJuggler/UserManual.html +42 -22
- data/doc/TaskJuggler/WebServer.html +702 -0
- data/doc/TaskJuggler/WorkingHours.html +38 -18
- data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
- data/doc/TaskJuggler/XMLBlob.html +24 -4
- data/doc/TaskJuggler/XMLComment.html +24 -4
- data/doc/TaskJuggler/XMLDocument.html +30 -10
- data/doc/TaskJuggler/XMLElement.html +34 -14
- data/doc/TaskJuggler/XMLNamedText.html +22 -2
- data/doc/TaskJuggler/XMLText.html +24 -4
- data/doc/index.html +1841 -1666
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +2 -2
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +2 -2
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +2 -2
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +2 -2
- data/doc/lib/LogFile_rb.html +2 -2
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +2 -2
- data/doc/lib/LogicalOperation_rb.html +2 -2
- data/doc/lib/MacroParser_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -1
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/Message_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +4 -8
- data/doc/lib/ProjectFileScanner_rb.html +67 -0
- data/doc/lib/Project_rb.html +2 -2
- data/doc/lib/PropertyList_rb.html +2 -2
- data/doc/lib/PropertySet_rb.html +2 -2
- data/doc/lib/PropertyTreeNode_rb.html +2 -2
- data/doc/lib/Query_rb.html +2 -2
- data/doc/lib/RTFHandlers_rb.html +73 -0
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +1 -1
- data/doc/lib/RTFReportLink_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +2 -2
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +2 -2
- data/doc/lib/Resource_rb.html +2 -2
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +2 -2
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +2 -2
- data/doc/lib/RichTextScanner_rb.html +2 -2
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +1 -1
- data/doc/lib/SheetReceiver_rb.html +2 -2
- data/doc/lib/SheetSender_rb.html +4 -2
- data/doc/lib/ShiftAssignments_rb.html +4 -2
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +2 -2
- data/doc/lib/StatusSheetSender_rb.html +2 -2
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +2 -2
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +2 -2
- data/doc/lib/TaskScenario_rb.html +2 -2
- data/doc/lib/Task_rb.html +2 -2
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +2 -2
- data/doc/lib/TextParser/StackElement_rb.html +2 -2
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +2 -2
- data/doc/lib/TextScanner_rb.html +6 -2
- data/doc/lib/TimeSheetReceiver_rb.html +2 -2
- data/doc/lib/TimeSheetSender_rb.html +2 -2
- data/doc/lib/TimeSheetSummary_rb.html +2 -2
- data/doc/lib/TimeSheets_rb.html +2 -2
- data/doc/lib/Tj3AppBase_rb.html +2 -2
- data/doc/lib/Tj3Config_rb.html +2 -2
- data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +2 -2
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +2 -2
- data/doc/lib/URLParameter_rb.html +67 -0
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +2 -2
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
- data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
- data/doc/lib/daemon/ProjectServer_rb.html +2 -2
- data/doc/lib/daemon/ReportServer_rb.html +2 -2
- data/doc/lib/daemon/WebServer_rb.html +75 -0
- data/doc/lib/deep_copy_rb.html +2 -2
- data/doc/lib/reports/CSVFile_rb.html +2 -2
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +2 -2
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +2 -2
- data/doc/lib/reports/NikuReport_rb.html +2 -2
- data/doc/lib/reports/ReportBase_rb.html +2 -2
- data/doc/lib/reports/ReportContext_rb.html +2 -2
- data/doc/lib/reports/ReportTableCell_rb.html +2 -2
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +2 -2
- data/doc/lib/reports/Report_rb.html +2 -2
- data/doc/lib/reports/ResourceListRE_rb.html +2 -2
- data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
- data/doc/lib/reports/TableReport_rb.html +2 -2
- data/doc/lib/reports/TaskListRE_rb.html +2 -2
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
- data/doc/lib/reports/TjpExportRE_rb.html +2 -2
- data/doc/lib/ruby-signal-bug_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +2 -2
- data/doc/lib/tj3client_rb.html +2 -2
- data/doc/lib/tj3d_rb.html +2 -2
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +2 -2
- data/doc/lib/tj3ts_receiver_rb.html +2 -2
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/doc/rdoc.css +9 -4
- data/examples/tutorial.tjp +17 -15
- data/gem_spec.rb +3 -0
- data/lib/AppConfig.rb +3 -1
- data/lib/Attributes.rb +10 -8
- data/lib/Journal.rb +55 -20
- data/lib/Limits.rb +72 -46
- data/lib/LogFile.rb +3 -3
- data/lib/LogicalFunction.rb +19 -6
- data/lib/LogicalOperation.rb +5 -1
- data/lib/Project.rb +37 -9
- data/lib/ProjectFileParser.rb +25 -22
- data/lib/ProjectFileScanner.rb +365 -0
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +14 -4
- data/lib/PropertyTreeNode.rb +42 -29
- data/lib/Query.rb +3 -1
- data/lib/RTFHandlers.rb +35 -0
- data/lib/RTFReport.rb +23 -6
- data/lib/RTFReportLink.rb +72 -0
- data/lib/Resource.rb +8 -16
- data/lib/ResourceScenario.rb +1 -22
- data/lib/RichTextElement.rb +42 -0
- data/lib/RichTextParser.rb +6 -4
- data/lib/RichTextScanner.rb +5 -5
- data/lib/RichTextSyntaxRules.rb +48 -10
- data/lib/ScenarioData.rb +5 -3
- data/lib/SheetReceiver.rb +24 -6
- data/lib/SheetSender.rb +17 -13
- data/lib/ShiftAssignments.rb +56 -52
- data/lib/StatusSheetReceiver.rb +1 -0
- data/lib/StatusSheetSender.rb +1 -0
- data/lib/TableColumnDefinition.rb +4 -2
- data/lib/Task.rb +8 -9
- data/lib/TaskJuggler.rb +21 -11
- data/lib/TaskScenario.rb +61 -26
- data/lib/TextParser.rb +268 -106
- data/lib/TextParser/Rule.rb +4 -2
- data/lib/TextParser/StackElement.rb +6 -4
- data/lib/TextScanner.rb +283 -700
- data/lib/TimeSheetReceiver.rb +1 -0
- data/lib/TimeSheetSender.rb +1 -0
- data/lib/TimeSheetSummary.rb +51 -26
- data/lib/TimeSheets.rb +1 -1
- data/lib/Tj3AppBase.rb +8 -1
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +5 -0
- data/lib/TjpSyntaxRules.rb +360 -144
- data/lib/URLParameter.rb +30 -0
- data/lib/XMLDocument.rb +2 -2
- data/lib/daemon/ProcessIntercom.rb +50 -9
- data/lib/daemon/ProjectBroker.rb +63 -10
- data/lib/daemon/ProjectServer.rb +47 -16
- data/lib/daemon/ReportServer.rb +9 -4
- data/lib/daemon/WebServer.rb +204 -0
- data/lib/deep_copy.rb +4 -1
- data/lib/reports/CSVFile.rb +150 -66
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/Navigator.rb +18 -5
- data/lib/reports/NikuReport.rb +32 -2
- data/lib/reports/Report.rb +65 -37
- data/lib/reports/ReportBase.rb +14 -9
- data/lib/reports/ReportContext.rb +19 -4
- data/lib/reports/ReportTable.rb +2 -2
- data/lib/reports/ReportTableCell.rb +54 -30
- data/lib/reports/ResourceListRE.rb +4 -3
- data/lib/reports/StatusSheetReport.rb +8 -13
- data/lib/reports/TableReport.rb +47 -32
- data/lib/reports/TaskListRE.rb +3 -3
- data/lib/reports/TimeSheetReport.rb +14 -5
- data/lib/reports/TjpExportRE.rb +14 -19
- data/lib/taskjuggler3.rb +15 -0
- data/lib/tj3client.rb +9 -7
- data/lib/tj3d.rb +38 -10
- data/lib/tj3ss_sender.rb +7 -0
- data/lib/tj3ts_receiver.rb +1 -0
- data/manual/Day_To_Day_Juggling +1 -1
- data/manual/Rich_Text_Attributes +8 -0
- data/manual/TaskJuggler_2x_Migration +7 -0
- data/manual/The_TaskJuggler_Syntax +20 -6
- data/prj_cfg.rb +3 -2
- data/tasks/changelog.rake +36 -0
- data/tasks/csts.rake +2 -3
- data/tasks/gem.rake +10 -0
- data/tasks/missing.rake +0 -17
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
- data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
- data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
- data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
- data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
- data/test/TestSuite/StatusSheets/run +3 -2
- data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
- data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
- data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
- 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/icons/resource.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +5 -5
- data/test/test_CSVFile.rb +75 -0
- data/test/test_Limits.rb +63 -5
- data/test/test_ProjectFileScanner.rb +163 -0
- data/test/test_ReportGenerator.rb +81 -0
- data/test/test_RichText.rb +21 -3
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +4 -4
- data/test/test_Syntax.rb +1 -1
- data/test/test_URLParameter.rb +30 -0
- metadata +126 -32
- data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
- data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
- data/test/TestSuite/TimeSheets/receiver.log +0 -102
- data/test/TestSuite/TimeSheets/sender.log +0 -794
- data/test/TestSuite/TimeSheets/summary.log +0 -884
- data/test/TestSuite/TimeSheets/timesheets.log +0 -45
- data/test/TestSuite/TimeSheets/tj3d.log +0 -292
- data/test/test_TextScanner.rb +0 -95
|
@@ -69,17 +69,17 @@
|
|
|
69
69
|
<h3 class="section-header">Methods</h3>
|
|
70
70
|
<ul class="link-list">
|
|
71
71
|
|
|
72
|
-
<li><a href="#
|
|
72
|
+
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
|
-
<li><a href="#
|
|
74
|
+
<li><a href="#method-i-currentUrl">#currentUrl</a></li>
|
|
75
75
|
|
|
76
|
-
<li><a href="#
|
|
76
|
+
<li><a href="#method-i-currentUrl%3D">#currentUrl=</a></li>
|
|
77
77
|
|
|
78
|
-
<li><a href="#
|
|
78
|
+
<li><a href="#method-i-root">#root</a></li>
|
|
79
79
|
|
|
80
|
-
<li><a href="#
|
|
80
|
+
<li><a href="#method-i-to_html">#to_html</a></li>
|
|
81
81
|
|
|
82
|
-
<li><a href="#
|
|
82
|
+
<li><a href="#method-i-to_s">#to_s</a></li>
|
|
83
83
|
|
|
84
84
|
</ul>
|
|
85
85
|
</div>
|
|
@@ -96,6 +96,8 @@
|
|
|
96
96
|
<h3 class="section-header">Files</h3>
|
|
97
97
|
<ul>
|
|
98
98
|
|
|
99
|
+
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
|
100
|
+
|
|
99
101
|
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
|
100
102
|
|
|
101
103
|
<li class="file"><a href="../README.html">README</a></li>
|
|
@@ -265,6 +267,8 @@
|
|
|
265
267
|
|
|
266
268
|
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
267
269
|
|
|
270
|
+
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
271
|
+
|
|
268
272
|
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
|
269
273
|
|
|
270
274
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
@@ -279,6 +283,8 @@
|
|
|
279
283
|
|
|
280
284
|
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
281
285
|
|
|
286
|
+
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
287
|
+
|
|
282
288
|
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
283
289
|
|
|
284
290
|
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
@@ -295,12 +301,16 @@
|
|
|
295
301
|
|
|
296
302
|
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
297
303
|
|
|
304
|
+
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
305
|
+
|
|
298
306
|
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
299
307
|
|
|
300
308
|
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
301
309
|
|
|
302
310
|
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
303
311
|
|
|
312
|
+
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
313
|
+
|
|
304
314
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
305
315
|
|
|
306
316
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -319,6 +329,8 @@
|
|
|
319
329
|
|
|
320
330
|
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
321
331
|
|
|
332
|
+
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
333
|
+
|
|
322
334
|
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
323
335
|
|
|
324
336
|
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
@@ -447,6 +459,8 @@
|
|
|
447
459
|
|
|
448
460
|
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
449
461
|
|
|
462
|
+
<li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
463
|
+
|
|
450
464
|
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
451
465
|
|
|
452
466
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
@@ -491,8 +505,12 @@
|
|
|
491
505
|
|
|
492
506
|
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
493
507
|
|
|
508
|
+
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
509
|
+
|
|
494
510
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
495
511
|
|
|
512
|
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
513
|
+
|
|
496
514
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
497
515
|
|
|
498
516
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -519,6 +537,8 @@
|
|
|
519
537
|
|
|
520
538
|
<li><a href="../String.html">String</a></li>
|
|
521
539
|
|
|
540
|
+
<li><a href="../StringIO.html">StringIO</a></li>
|
|
541
|
+
|
|
522
542
|
</ul>
|
|
523
543
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
524
544
|
</div>
|
|
@@ -634,7 +654,7 @@
|
|
|
634
654
|
|
|
635
655
|
|
|
636
656
|
<div id="new-method" class="method-detail ">
|
|
637
|
-
<a name="
|
|
657
|
+
<a name="method-c-new"></a>
|
|
638
658
|
|
|
639
659
|
<div class="method-heading">
|
|
640
660
|
|
|
@@ -680,7 +700,7 @@
|
|
|
680
700
|
|
|
681
701
|
|
|
682
702
|
<div id="current-rl-method" class="method-detail ">
|
|
683
|
-
<a name="
|
|
703
|
+
<a name="method-i-currentUrl"></a>
|
|
684
704
|
|
|
685
705
|
<div class="method-heading">
|
|
686
706
|
|
|
@@ -716,7 +736,7 @@ Get the URL of the current report from the root node.
|
|
|
716
736
|
|
|
717
737
|
|
|
718
738
|
<div id="current-rl--method" class="method-detail ">
|
|
719
|
-
<a name="
|
|
739
|
+
<a name="method-i-currentUrl%3D"></a>
|
|
720
740
|
|
|
721
741
|
<div class="method-heading">
|
|
722
742
|
|
|
@@ -754,7 +774,7 @@ used, we use it to store the current URL there.
|
|
|
754
774
|
|
|
755
775
|
|
|
756
776
|
<div id="root-method" class="method-detail ">
|
|
757
|
-
<a name="
|
|
777
|
+
<a name="method-i-root"></a>
|
|
758
778
|
|
|
759
779
|
<div class="method-heading">
|
|
760
780
|
|
|
@@ -794,7 +814,7 @@ Traverse the tree all the way to the top and return the root element.
|
|
|
794
814
|
|
|
795
815
|
|
|
796
816
|
<div id="to-html-method" class="method-detail ">
|
|
797
|
-
<a name="
|
|
817
|
+
<a name="method-i-to_html"></a>
|
|
798
818
|
|
|
799
819
|
<div class="method-heading">
|
|
800
820
|
|
|
@@ -869,7 +889,7 @@ Traverse the tree all the way to the top and return the root element.
|
|
|
869
889
|
|
|
870
890
|
|
|
871
891
|
<div id="to-s-method" class="method-detail ">
|
|
872
|
-
<a name="
|
|
892
|
+
<a name="method-i-to_s"></a>
|
|
873
893
|
|
|
874
894
|
<div class="method-heading">
|
|
875
895
|
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
<h3 class="section-header">Methods</h3>
|
|
70
70
|
<ul class="link-list">
|
|
71
71
|
|
|
72
|
-
<li><a href="#
|
|
72
|
+
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
74
|
</ul>
|
|
75
75
|
</div>
|
|
@@ -86,6 +86,8 @@
|
|
|
86
86
|
<h3 class="section-header">Files</h3>
|
|
87
87
|
<ul>
|
|
88
88
|
|
|
89
|
+
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
|
90
|
+
|
|
89
91
|
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
|
90
92
|
|
|
91
93
|
<li class="file"><a href="../README.html">README</a></li>
|
|
@@ -255,6 +257,8 @@
|
|
|
255
257
|
|
|
256
258
|
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
257
259
|
|
|
260
|
+
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
261
|
+
|
|
258
262
|
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
|
259
263
|
|
|
260
264
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
@@ -269,6 +273,8 @@
|
|
|
269
273
|
|
|
270
274
|
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
271
275
|
|
|
276
|
+
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
277
|
+
|
|
272
278
|
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
273
279
|
|
|
274
280
|
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
@@ -285,12 +291,16 @@
|
|
|
285
291
|
|
|
286
292
|
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
287
293
|
|
|
294
|
+
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
295
|
+
|
|
288
296
|
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
289
297
|
|
|
290
298
|
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
291
299
|
|
|
292
300
|
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
293
301
|
|
|
302
|
+
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
303
|
+
|
|
294
304
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
295
305
|
|
|
296
306
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -309,6 +319,8 @@
|
|
|
309
319
|
|
|
310
320
|
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
311
321
|
|
|
322
|
+
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
323
|
+
|
|
312
324
|
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
313
325
|
|
|
314
326
|
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
@@ -437,6 +449,8 @@
|
|
|
437
449
|
|
|
438
450
|
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
439
451
|
|
|
452
|
+
<li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
453
|
+
|
|
440
454
|
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
441
455
|
|
|
442
456
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
@@ -481,8 +495,12 @@
|
|
|
481
495
|
|
|
482
496
|
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
483
497
|
|
|
498
|
+
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
499
|
+
|
|
484
500
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
485
501
|
|
|
502
|
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
503
|
+
|
|
486
504
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
487
505
|
|
|
488
506
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -509,6 +527,8 @@
|
|
|
509
527
|
|
|
510
528
|
<li><a href="../String.html">String</a></li>
|
|
511
529
|
|
|
530
|
+
<li><a href="../StringIO.html">StringIO</a></li>
|
|
531
|
+
|
|
512
532
|
</ul>
|
|
513
533
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
514
534
|
</div>
|
|
@@ -603,7 +623,7 @@
|
|
|
603
623
|
|
|
604
624
|
|
|
605
625
|
<div id="new-method" class="method-detail ">
|
|
606
|
-
<a name="
|
|
626
|
+
<a name="method-c-new"></a>
|
|
607
627
|
|
|
608
628
|
<div class="method-heading">
|
|
609
629
|
|
|
@@ -69,29 +69,31 @@
|
|
|
69
69
|
<h3 class="section-header">Methods</h3>
|
|
70
70
|
<ul class="link-list">
|
|
71
71
|
|
|
72
|
-
<li><a href="#
|
|
72
|
+
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
|
-
<li><a href="#
|
|
74
|
+
<li><a href="#method-i-collectProjects">#collectProjects</a></li>
|
|
75
75
|
|
|
76
|
-
<li><a href="#
|
|
76
|
+
<li><a href="#method-i-computeProjectAllocations">#computeProjectAllocations</a></li>
|
|
77
77
|
|
|
78
|
-
<li><a href="#
|
|
78
|
+
<li><a href="#method-i-computeResourceTotals">#computeResourceTotals</a></li>
|
|
79
79
|
|
|
80
|
-
<li><a href="#
|
|
80
|
+
<li><a href="#method-i-generateIntermediateFormat">#generateIntermediateFormat</a></li>
|
|
81
81
|
|
|
82
|
-
<li><a href="#
|
|
82
|
+
<li><a href="#method-i-htmlTabCell">#htmlTabCell</a></li>
|
|
83
83
|
|
|
84
|
-
<li><a href="#
|
|
84
|
+
<li><a href="#method-i-projectTotal">#projectTotal</a></li>
|
|
85
85
|
|
|
86
|
-
<li><a href="#
|
|
86
|
+
<li><a href="#method-i-resourceTotal">#resourceTotal</a></li>
|
|
87
87
|
|
|
88
|
-
<li><a href="#
|
|
88
|
+
<li><a href="#method-i-sum">#sum</a></li>
|
|
89
89
|
|
|
90
|
-
<li><a href="#
|
|
90
|
+
<li><a href="#method-i-to_csv">#to_csv</a></li>
|
|
91
91
|
|
|
92
|
-
<li><a href="#
|
|
92
|
+
<li><a href="#method-i-to_html">#to_html</a></li>
|
|
93
93
|
|
|
94
|
-
<li><a href="#
|
|
94
|
+
<li><a href="#method-i-to_niku">#to_niku</a></li>
|
|
95
|
+
|
|
96
|
+
<li><a href="#method-i-total">#total</a></li>
|
|
95
97
|
|
|
96
98
|
</ul>
|
|
97
99
|
</div>
|
|
@@ -108,6 +110,8 @@
|
|
|
108
110
|
<h3 class="section-header">Files</h3>
|
|
109
111
|
<ul>
|
|
110
112
|
|
|
113
|
+
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
|
114
|
+
|
|
111
115
|
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
|
112
116
|
|
|
113
117
|
<li class="file"><a href="../README.html">README</a></li>
|
|
@@ -277,6 +281,8 @@
|
|
|
277
281
|
|
|
278
282
|
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
279
283
|
|
|
284
|
+
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
285
|
+
|
|
280
286
|
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
|
281
287
|
|
|
282
288
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
@@ -291,6 +297,8 @@
|
|
|
291
297
|
|
|
292
298
|
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
293
299
|
|
|
300
|
+
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
301
|
+
|
|
294
302
|
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
295
303
|
|
|
296
304
|
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
@@ -307,12 +315,16 @@
|
|
|
307
315
|
|
|
308
316
|
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
309
317
|
|
|
318
|
+
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
319
|
+
|
|
310
320
|
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
311
321
|
|
|
312
322
|
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
313
323
|
|
|
314
324
|
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
315
325
|
|
|
326
|
+
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
327
|
+
|
|
316
328
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
317
329
|
|
|
318
330
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -331,6 +343,8 @@
|
|
|
331
343
|
|
|
332
344
|
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
333
345
|
|
|
346
|
+
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
347
|
+
|
|
334
348
|
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
335
349
|
|
|
336
350
|
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
@@ -459,6 +473,8 @@
|
|
|
459
473
|
|
|
460
474
|
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
461
475
|
|
|
476
|
+
<li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
477
|
+
|
|
462
478
|
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
463
479
|
|
|
464
480
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
@@ -503,8 +519,12 @@
|
|
|
503
519
|
|
|
504
520
|
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
505
521
|
|
|
522
|
+
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
523
|
+
|
|
506
524
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
507
525
|
|
|
526
|
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
527
|
+
|
|
508
528
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
509
529
|
|
|
510
530
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -531,6 +551,8 @@
|
|
|
531
551
|
|
|
532
552
|
<li><a href="../String.html">String</a></li>
|
|
533
553
|
|
|
554
|
+
<li><a href="../StringIO.html">StringIO</a></li>
|
|
555
|
+
|
|
534
556
|
</ul>
|
|
535
557
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
536
558
|
</div>
|
|
@@ -570,7 +592,7 @@ other Clarity installations.
|
|
|
570
592
|
|
|
571
593
|
|
|
572
594
|
<div id="new-method" class="method-detail ">
|
|
573
|
-
<a name="
|
|
595
|
+
<a name="method-c-new"></a>
|
|
574
596
|
|
|
575
597
|
<div class="method-heading">
|
|
576
598
|
|
|
@@ -621,7 +643,7 @@ other Clarity installations.
|
|
|
621
643
|
|
|
622
644
|
|
|
623
645
|
<div id="generate-ntermediate-ormat-method" class="method-detail ">
|
|
624
|
-
<a name="
|
|
646
|
+
<a name="method-i-generateIntermediateFormat"></a>
|
|
625
647
|
|
|
626
648
|
<div class="method-heading">
|
|
627
649
|
|
|
@@ -657,11 +679,70 @@ other Clarity installations.
|
|
|
657
679
|
|
|
658
680
|
|
|
659
681
|
|
|
682
|
+
</div>
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
<div id="to-csv-method" class="method-detail ">
|
|
686
|
+
<a name="method-i-to_csv"></a>
|
|
687
|
+
|
|
688
|
+
<div class="method-heading">
|
|
689
|
+
|
|
690
|
+
<span class="method-name">to_csv</span><span
|
|
691
|
+
class="method-args">()</span>
|
|
692
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
693
|
+
|
|
694
|
+
</div>
|
|
695
|
+
|
|
696
|
+
<div class="method-description">
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
<div class="method-source-code"
|
|
703
|
+
id="to-csv-source">
|
|
704
|
+
<pre>
|
|
705
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 196</span>
|
|
706
|
+
196: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
|
|
707
|
+
197: <span class="ruby-identifier">table</span> = []
|
|
708
|
+
198: <span class="ruby-comment cmt"># Header line with project names</span>
|
|
709
|
+
199: <span class="ruby-identifier">table</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">row</span> = [])
|
|
710
|
+
200: <span class="ruby-comment cmt"># First column is the resource name and ID.</span>
|
|
711
|
+
201: <span class="ruby-identifier">row</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">""</span>
|
|
712
|
+
202: <span class="ruby-ivar">@projects</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">projectId</span><span class="ruby-operator">|</span>
|
|
713
|
+
203: <span class="ruby-identifier">row</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@projects</span>[<span class="ruby-identifier">projectId</span>].<span class="ruby-identifier">name</span>
|
|
714
|
+
204: <span class="ruby-keyword kw">end</span>
|
|
715
|
+
205:
|
|
716
|
+
206: <span class="ruby-comment cmt"># Header line with project IDs</span>
|
|
717
|
+
207: <span class="ruby-identifier">table</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">row</span> = [])
|
|
718
|
+
208: <span class="ruby-identifier">row</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"Resource"</span>
|
|
719
|
+
209: <span class="ruby-ivar">@projects</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">projectId</span><span class="ruby-operator">|</span>
|
|
720
|
+
210: <span class="ruby-identifier">row</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">projectId</span>
|
|
721
|
+
211: <span class="ruby-keyword kw">end</span>
|
|
722
|
+
212:
|
|
723
|
+
213: <span class="ruby-ivar">@resourcesTotalEffort</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resourceId</span><span class="ruby-operator">|</span>
|
|
724
|
+
214: <span class="ruby-comment cmt"># Add one line per resource.</span>
|
|
725
|
+
215: <span class="ruby-identifier">table</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">row</span> = [])
|
|
726
|
+
216: <span class="ruby-identifier">row</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{@resources[resourceId].name} (#{resourceId})"</span>
|
|
727
|
+
217: <span class="ruby-ivar">@projects</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">projectId</span><span class="ruby-operator">|</span>
|
|
728
|
+
218: <span class="ruby-identifier">row</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">sum</span>(<span class="ruby-identifier">projectId</span>, <span class="ruby-identifier">resourceId</span>)
|
|
729
|
+
219: <span class="ruby-keyword kw">end</span>
|
|
730
|
+
220: <span class="ruby-keyword kw">end</span>
|
|
731
|
+
221:
|
|
732
|
+
222: <span class="ruby-identifier">table</span>
|
|
733
|
+
223: <span class="ruby-keyword kw">end</span></pre>
|
|
734
|
+
</div>
|
|
735
|
+
|
|
736
|
+
</div>
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
|
|
660
741
|
</div>
|
|
661
742
|
|
|
662
743
|
|
|
663
744
|
<div id="to-html-method" class="method-detail ">
|
|
664
|
-
<a name="
|
|
745
|
+
<a name="method-i-to_html"></a>
|
|
665
746
|
|
|
666
747
|
<div class="method-heading">
|
|
667
748
|
|
|
@@ -753,7 +834,7 @@ other Clarity installations.
|
|
|
753
834
|
|
|
754
835
|
|
|
755
836
|
<div id="to-niku-method" class="method-detail ">
|
|
756
|
-
<a name="
|
|
837
|
+
<a name="method-i-to_niku"></a>
|
|
757
838
|
|
|
758
839
|
<div class="method-heading">
|
|
759
840
|
|
|
@@ -838,7 +919,7 @@ other Clarity installations.
|
|
|
838
919
|
|
|
839
920
|
|
|
840
921
|
<div id="collect-rojects-method" class="method-detail ">
|
|
841
|
-
<a name="
|
|
922
|
+
<a name="method-i-collectProjects"></a>
|
|
842
923
|
|
|
843
924
|
<div class="method-heading">
|
|
844
925
|
|
|
@@ -860,66 +941,66 @@ and create a new <a href="Task.html">Task</a> list for each ClarityPID.
|
|
|
860
941
|
<div class="method-source-code"
|
|
861
942
|
id="collect-rojects-source">
|
|
862
943
|
<pre>
|
|
863
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
944
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 335</span>
|
|
945
|
+
335: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectProjects</span>
|
|
946
|
+
336: <span class="ruby-comment cmt"># Prepare the task list.</span>
|
|
947
|
+
337: <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>)
|
|
948
|
+
338: <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>))
|
|
949
|
+
339: <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>),
|
|
950
|
+
340: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupTask'</span>), <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'openNodes'</span>))
|
|
951
|
+
341:
|
|
952
|
+
342:
|
|
953
|
+
343: <span class="ruby-identifier">taskList</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>
|
|
954
|
+
344: <span class="ruby-comment cmt"># We only care about tasks that are leaf tasks and have resource</span>
|
|
955
|
+
345: <span class="ruby-comment cmt"># allocations.</span>
|
|
956
|
+
346: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">leaf?</span> <span class="ruby-operator">||</span>
|
|
957
|
+
347: <span class="ruby-identifier">task</span>[<span class="ruby-value str">'assignedresources'</span>, <span class="ruby-ivar">@scenarioIdx</span>].<span class="ruby-identifier">empty?</span>
|
|
958
|
+
348:
|
|
959
|
+
349: <span class="ruby-identifier">id</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'ClarityPID'</span>)
|
|
960
|
+
350: <span class="ruby-comment cmt"># Ignore tasks without a ClarityPID attribute.</span>
|
|
961
|
+
351: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">id</span>.<span class="ruby-identifier">nil?</span>
|
|
962
|
+
352: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">id</span>.<span class="ruby-identifier">empty?</span>
|
|
963
|
+
353: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
964
|
+
354: <span class="ruby-node">"ClarityPID of task #{task.fullId} may not be empty"</span>
|
|
965
|
+
355: <span class="ruby-keyword kw">end</span>
|
|
966
|
+
356:
|
|
967
|
+
357: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'ClarityPName'</span>)
|
|
968
|
+
358: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">nil?</span>
|
|
969
|
+
359: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
970
|
+
360: <span class="ruby-node">"ClarityPName of task #{task.fullId} has not been set!"</span>
|
|
971
|
+
361: <span class="ruby-keyword kw">end</span>
|
|
972
|
+
362: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">empty?</span>
|
|
973
|
+
363: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
974
|
+
364: <span class="ruby-node">"ClarityPName of task #{task.fullId} may not be empty!"</span>
|
|
975
|
+
365: <span class="ruby-keyword kw">end</span>
|
|
976
|
+
366:
|
|
977
|
+
367: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">project</span> = <span class="ruby-ivar">@projects</span>[<span class="ruby-identifier">id</span>]).<span class="ruby-identifier">nil?</span>
|
|
978
|
+
368: <span class="ruby-comment cmt"># We don't have a record for the Clarity project yet, so we create a</span>
|
|
979
|
+
369: <span class="ruby-comment cmt"># new NikuProject object.</span>
|
|
980
|
+
370: <span class="ruby-identifier">project</span> = <span class="ruby-constant">NikuProject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>)
|
|
981
|
+
371: <span class="ruby-comment cmt"># And store it in the project list hashed by the ClarityPID.</span>
|
|
982
|
+
372: <span class="ruby-ivar">@projects</span>[<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">project</span>
|
|
983
|
+
373: <span class="ruby-keyword kw">else</span>
|
|
984
|
+
374: <span class="ruby-comment cmt"># Due to a design flaw in the Niku file format, Clarity projects are</span>
|
|
985
|
+
375: <span class="ruby-comment cmt"># identified by a name and an ID. We have to check that those pairs</span>
|
|
986
|
+
376: <span class="ruby-comment cmt"># are always the same.</span>
|
|
987
|
+
377: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">fTask</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">first</span>).<span class="ruby-identifier">get</span>(<span class="ruby-value str">'ClarityPName'</span>) <span class="ruby-operator">!=</span> <span class="ruby-identifier">name</span>
|
|
988
|
+
378: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
989
|
+
379: <span class="ruby-node">"Task #{task.fullId} and task #{fTask.fullId} "</span> <span class="ruby-operator">+</span>
|
|
990
|
+
380: <span class="ruby-node">"have same ClarityPID (#{id}) but different ClarityPName "</span> <span class="ruby-operator">+</span>
|
|
991
|
+
381: <span class="ruby-node">"(#{name}/#{fTask.get('ClarityPName')})"</span>
|
|
992
|
+
382: <span class="ruby-keyword kw">end</span>
|
|
993
|
+
383: <span class="ruby-keyword kw">end</span>
|
|
994
|
+
384: <span class="ruby-comment cmt"># Append the Task to the task list of the Clarity project.</span>
|
|
995
|
+
385: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">task</span>
|
|
996
|
+
386: <span class="ruby-keyword kw">end</span>
|
|
997
|
+
387:
|
|
998
|
+
388: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@projects</span>.<span class="ruby-identifier">empty?</span>
|
|
999
|
+
389: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
1000
|
+
390: <span class="ruby-value str">'No tasks with the custom attributes ClarityPID and ClarityPName '</span> <span class="ruby-operator">+</span>
|
|
1001
|
+
391: <span class="ruby-value str">'were found!'</span>
|
|
1002
|
+
392: <span class="ruby-keyword kw">end</span>
|
|
1003
|
+
393: <span class="ruby-keyword kw">end</span></pre>
|
|
923
1004
|
</div>
|
|
924
1005
|
|
|
925
1006
|
</div>
|
|
@@ -931,7 +1012,7 @@ and create a new <a href="Task.html">Task</a> list for each ClarityPID.
|
|
|
931
1012
|
|
|
932
1013
|
|
|
933
1014
|
<div id="compute-roject-llocations-method" class="method-detail ">
|
|
934
|
-
<a name="
|
|
1015
|
+
<a name="method-i-computeProjectAllocations"></a>
|
|
935
1016
|
|
|
936
1017
|
<div class="method-heading">
|
|
937
1018
|
|
|
@@ -954,50 +1035,50 @@ ClarityPID.
|
|
|
954
1035
|
<div class="method-source-code"
|
|
955
1036
|
id="compute-roject-llocations-source">
|
|
956
1037
|
<pre>
|
|
957
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1038
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 397</span>
|
|
1039
|
+
397: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">computeProjectAllocations</span>
|
|
1040
|
+
398: <span class="ruby-ivar">@projects</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">project</span><span class="ruby-operator">|</span>
|
|
1041
|
+
399: <span class="ruby-identifier">project</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">task</span><span class="ruby-operator">|</span>
|
|
1042
|
+
400: <span class="ruby-identifier">task</span>[<span class="ruby-value str">'assignedresources'</span>, <span class="ruby-ivar">@scenarioIdx</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>
|
|
1043
|
+
401: <span class="ruby-comment cmt"># Only consider resources that are in the filtered resource list.</span>
|
|
1044
|
+
402: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@resources</span>[<span class="ruby-identifier">resource</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'ClarityRID'</span>)]
|
|
1045
|
+
403:
|
|
1046
|
+
404: <span class="ruby-comment cmt"># Prepare a template for the Query we will use to get all the data.</span>
|
|
1047
|
+
405: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>,
|
|
1048
|
+
406: <span class="ruby-value str">'property'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">task</span>,
|
|
1049
|
+
407: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">resource</span>,
|
|
1050
|
+
408: <span class="ruby-value str">'scenarioIdx'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@scenarioIdx</span>,
|
|
1051
|
+
409: <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>),
|
|
1052
|
+
410: <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>),
|
|
1053
|
+
411: <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>),
|
|
1054
|
+
412: <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>),
|
|
1055
|
+
413: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</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>),
|
|
1056
|
+
414: <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>),
|
|
1057
|
+
415: <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>) }
|
|
1058
|
+
416:
|
|
1059
|
+
417: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
|
|
1060
|
+
418: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-value str">'effort'</span>
|
|
1061
|
+
419: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">process</span>
|
|
1062
|
+
420: <span class="ruby-identifier">work</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_num</span>
|
|
1063
|
+
421:
|
|
1064
|
+
422: <span class="ruby-comment cmt"># If the resource was not actually working on this task during the</span>
|
|
1065
|
+
423: <span class="ruby-comment cmt"># report period, we don't create a record for it.</span>
|
|
1066
|
+
424: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">work</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0.0</span>
|
|
1067
|
+
425:
|
|
1068
|
+
426: <span class="ruby-identifier">resourceId</span> = <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'ClarityRID'</span>)
|
|
1069
|
+
427: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">resourceRecord</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>[<span class="ruby-identifier">resourceId</span>]).<span class="ruby-identifier">nil?</span>
|
|
1070
|
+
428: <span class="ruby-comment cmt"># If we don't already have a NikuResource object for the</span>
|
|
1071
|
+
429: <span class="ruby-comment cmt"># Resource, we create a new one.</span>
|
|
1072
|
+
430: <span class="ruby-identifier">resourceRecord</span> = <span class="ruby-constant">NikuResource</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">resourceId</span>)
|
|
1073
|
+
431: <span class="ruby-comment cmt"># Store the new NikuResource in the resource list of the</span>
|
|
1074
|
+
432: <span class="ruby-comment cmt"># NikuProject record.</span>
|
|
1075
|
+
433: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>[<span class="ruby-identifier">resourceId</span>] = <span class="ruby-identifier">resourceRecord</span>
|
|
1076
|
+
434: <span class="ruby-keyword kw">end</span>
|
|
1077
|
+
435: <span class="ruby-identifier">resourceRecord</span>.<span class="ruby-identifier">sum</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_num</span>
|
|
1078
|
+
436: <span class="ruby-keyword kw">end</span>
|
|
1079
|
+
437: <span class="ruby-keyword kw">end</span>
|
|
1080
|
+
438: <span class="ruby-keyword kw">end</span>
|
|
1081
|
+
439: <span class="ruby-keyword kw">end</span></pre>
|
|
1001
1082
|
</div>
|
|
1002
1083
|
|
|
1003
1084
|
</div>
|
|
@@ -1009,7 +1090,7 @@ ClarityPID.
|
|
|
1009
1090
|
|
|
1010
1091
|
|
|
1011
1092
|
<div id="compute-esource-otals-method" class="method-detail ">
|
|
1012
|
-
<a name="
|
|
1093
|
+
<a name="method-i-computeResourceTotals"></a>
|
|
1013
1094
|
|
|
1014
1095
|
<div class="method-heading">
|
|
1015
1096
|
|
|
@@ -1033,62 +1114,63 @@ the maximum possible allocation.
|
|
|
1033
1114
|
<div class="method-source-code"
|
|
1034
1115
|
id="compute-esource-otals-source">
|
|
1035
1116
|
<pre>
|
|
1036
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1117
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 276</span>
|
|
1118
|
+
276: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">computeResourceTotals</span>
|
|
1119
|
+
277: <span class="ruby-comment cmt"># Prepare the resource list.</span>
|
|
1120
|
+
278: <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>)
|
|
1121
|
+
279: <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>))
|
|
1122
|
+
280: <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>,
|
|
1123
|
+
281: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'hideResource'</span>),
|
|
1124
|
+
282: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupResource'</span>),
|
|
1125
|
+
283: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'openNodes'</span>))
|
|
1126
|
+
284:
|
|
1127
|
+
285: <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>
|
|
1128
|
+
286: <span class="ruby-comment cmt"># We only care about leaf resources that have the custom attribute</span>
|
|
1129
|
+
287: <span class="ruby-comment cmt"># 'ClarityRID' set.</span>
|
|
1130
|
+
288: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">resource</span>.<span class="ruby-identifier">leaf?</span> <span class="ruby-operator">||</span>
|
|
1131
|
+
289: (<span class="ruby-identifier">resourceId</span> = <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'ClarityRID'</span>)).<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span>
|
|
1132
|
+
290: <span class="ruby-identifier">resourceId</span>.<span class="ruby-identifier">empty?</span>
|
|
1133
|
+
291:
|
|
1134
|
+
292: <span class="ruby-comment cmt"># Prepare a template for the Query we will use to get all the data.</span>
|
|
1135
|
+
293: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@project</span>,
|
|
1136
|
+
294: <span class="ruby-value str">'property'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">resource</span>,
|
|
1137
|
+
295: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
1138
|
+
296: <span class="ruby-value str">'scenarioIdx'</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@scenarioIdx</span>,
|
|
1139
|
+
297: <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>),
|
|
1140
|
+
298: <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>),
|
|
1141
|
+
299: <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>),
|
|
1142
|
+
300: <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>),
|
|
1143
|
+
301: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</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>),
|
|
1144
|
+
302: <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>),
|
|
1145
|
+
303: <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>) }
|
|
1146
|
+
304:
|
|
1147
|
+
305: <span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
|
|
1148
|
+
306:
|
|
1149
|
+
307: <span class="ruby-comment cmt"># First get the allocated effort.</span>
|
|
1150
|
+
308: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-value str">'effort'</span>
|
|
1151
|
+
309: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">process</span>
|
|
1152
|
+
310: <span class="ruby-identifier">total</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_num</span>
|
|
1153
|
+
311:
|
|
1154
|
+
312: <span class="ruby-comment cmt"># Then add the still available effort.</span>
|
|
1155
|
+
313: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-value str">'freework'</span>
|
|
1156
|
+
314: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">process</span>
|
|
1157
|
+
315: <span class="ruby-identifier">total</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">to_num</span>
|
|
1158
|
+
316:
|
|
1159
|
+
317: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">total</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0.0</span>
|
|
1160
|
+
318:
|
|
1161
|
+
319: <span class="ruby-ivar">@resources</span>[<span class="ruby-identifier">resourceId</span>] = <span class="ruby-identifier">resource</span>
|
|
1162
|
+
320:
|
|
1163
|
+
321: <span class="ruby-comment cmt"># This is the maximum possible work of this resource in the report</span>
|
|
1164
|
+
322: <span class="ruby-comment cmt"># period.</span>
|
|
1165
|
+
323: <span class="ruby-ivar">@resourcesTotalEffort</span>[<span class="ruby-identifier">resourceId</span>] = <span class="ruby-identifier">total</span>
|
|
1166
|
+
324: <span class="ruby-keyword kw">end</span>
|
|
1167
|
+
325:
|
|
1168
|
+
326: <span class="ruby-comment cmt"># Make sure that we have at least one Resource with a ClarityRID.</span>
|
|
1169
|
+
327: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@resourcesTotalEffort</span>.<span class="ruby-identifier">empty?</span>
|
|
1170
|
+
328: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
1171
|
+
329: <span class="ruby-value str">'No resources with the custom attribute ClarityRID were found!'</span>
|
|
1172
|
+
330: <span class="ruby-keyword kw">end</span>
|
|
1173
|
+
331: <span class="ruby-keyword kw">end</span></pre>
|
|
1092
1174
|
</div>
|
|
1093
1175
|
|
|
1094
1176
|
</div>
|
|
@@ -1100,7 +1182,7 @@ the maximum possible allocation.
|
|
|
1100
1182
|
|
|
1101
1183
|
|
|
1102
1184
|
<div id="html-ab-ell-method" class="method-detail ">
|
|
1103
|
-
<a name="
|
|
1185
|
+
<a name="method-i-htmlTabCell"></a>
|
|
1104
1186
|
|
|
1105
1187
|
<div class="method-heading">
|
|
1106
1188
|
|
|
@@ -1119,14 +1201,14 @@ the maximum possible allocation.
|
|
|
1119
1201
|
<div class="method-source-code"
|
|
1120
1202
|
id="html-ab-ell-source">
|
|
1121
1203
|
<pre>
|
|
1122
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1204
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 263</span>
|
|
1205
|
+
263: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">htmlTabCell</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">headerCell</span> = <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">align</span> = <span class="ruby-value str">'right'</span>)
|
|
1206
|
+
264: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">headerCell</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'tabhead'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'taskcell1'</span>)
|
|
1207
|
+
265: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>, <span class="ruby-value str">'div'</span>,
|
|
1208
|
+
266: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">headerCell</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'headercelldiv'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'celldiv'</span>,
|
|
1209
|
+
267: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"text-align:#{align}"</span>)
|
|
1210
|
+
268: <span class="ruby-identifier">td</span>
|
|
1211
|
+
269: <span class="ruby-keyword kw">end</span></pre>
|
|
1130
1212
|
</div>
|
|
1131
1213
|
|
|
1132
1214
|
</div>
|
|
@@ -1138,7 +1220,7 @@ the maximum possible allocation.
|
|
|
1138
1220
|
|
|
1139
1221
|
|
|
1140
1222
|
<div id="project-otal-method" class="method-detail ">
|
|
1141
|
-
<a name="
|
|
1223
|
+
<a name="method-i-projectTotal"></a>
|
|
1142
1224
|
|
|
1143
1225
|
<div class="method-heading">
|
|
1144
1226
|
|
|
@@ -1157,14 +1239,14 @@ the maximum possible allocation.
|
|
|
1157
1239
|
<div class="method-source-code"
|
|
1158
1240
|
id="project-otal-source">
|
|
1159
1241
|
<pre>
|
|
1160
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1242
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 245</span>
|
|
1243
|
+
245: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">projectTotal</span>(<span class="ruby-identifier">projectId</span>)
|
|
1244
|
+
246: <span class="ruby-identifier">total</span> = <span class="ruby-value">0.0</span>
|
|
1245
|
+
247: <span class="ruby-ivar">@resources</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resourceId</span><span class="ruby-operator">|</span>
|
|
1246
|
+
248: <span class="ruby-identifier">total</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sum</span>(<span class="ruby-identifier">projectId</span>, <span class="ruby-identifier">resourceId</span>)
|
|
1247
|
+
249: <span class="ruby-keyword kw">end</span>
|
|
1248
|
+
250: <span class="ruby-identifier">total</span>
|
|
1249
|
+
251: <span class="ruby-keyword kw">end</span></pre>
|
|
1168
1250
|
</div>
|
|
1169
1251
|
|
|
1170
1252
|
</div>
|
|
@@ -1176,7 +1258,7 @@ the maximum possible allocation.
|
|
|
1176
1258
|
|
|
1177
1259
|
|
|
1178
1260
|
<div id="resource-otal-method" class="method-detail ">
|
|
1179
|
-
<a name="
|
|
1261
|
+
<a name="method-i-resourceTotal"></a>
|
|
1180
1262
|
|
|
1181
1263
|
<div class="method-heading">
|
|
1182
1264
|
|
|
@@ -1195,14 +1277,14 @@ the maximum possible allocation.
|
|
|
1195
1277
|
<div class="method-source-code"
|
|
1196
1278
|
id="resource-otal-source">
|
|
1197
1279
|
<pre>
|
|
1198
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1280
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 237</span>
|
|
1281
|
+
237: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resourceTotal</span>(<span class="ruby-identifier">resourceId</span>)
|
|
1282
|
+
238: <span class="ruby-identifier">total</span> = <span class="ruby-value">0.0</span>
|
|
1283
|
+
239: <span class="ruby-ivar">@projects</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">projectId</span><span class="ruby-operator">|</span>
|
|
1284
|
+
240: <span class="ruby-identifier">total</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sum</span>(<span class="ruby-identifier">projectId</span>, <span class="ruby-identifier">resourceId</span>)
|
|
1285
|
+
241: <span class="ruby-keyword kw">end</span>
|
|
1286
|
+
242: <span class="ruby-identifier">total</span>
|
|
1287
|
+
243: <span class="ruby-keyword kw">end</span></pre>
|
|
1206
1288
|
</div>
|
|
1207
1289
|
|
|
1208
1290
|
</div>
|
|
@@ -1214,7 +1296,7 @@ the maximum possible allocation.
|
|
|
1214
1296
|
|
|
1215
1297
|
|
|
1216
1298
|
<div id="sum-method" class="method-detail ">
|
|
1217
|
-
<a name="
|
|
1299
|
+
<a name="method-i-sum"></a>
|
|
1218
1300
|
|
|
1219
1301
|
<div class="method-heading">
|
|
1220
1302
|
|
|
@@ -1233,16 +1315,16 @@ the maximum possible allocation.
|
|
|
1233
1315
|
<div class="method-source-code"
|
|
1234
1316
|
id="sum-source">
|
|
1235
1317
|
<pre>
|
|
1236
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1318
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 227</span>
|
|
1319
|
+
227: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sum</span>(<span class="ruby-identifier">projectId</span>, <span class="ruby-identifier">resourceId</span>)
|
|
1320
|
+
228: <span class="ruby-identifier">project</span> = <span class="ruby-ivar">@projects</span>[<span class="ruby-identifier">projectId</span>]
|
|
1321
|
+
229: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0.0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">project</span>
|
|
1322
|
+
230:
|
|
1323
|
+
231: <span class="ruby-identifier">resource</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>[<span class="ruby-identifier">resourceId</span>]
|
|
1324
|
+
232: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0.0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resource</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@resourcesTotalEffort</span>[<span class="ruby-identifier">resourceId</span>]
|
|
1325
|
+
233:
|
|
1326
|
+
234: <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">sum</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@resourcesTotalEffort</span>[<span class="ruby-identifier">resourceId</span>]
|
|
1327
|
+
235: <span class="ruby-keyword kw">end</span></pre>
|
|
1246
1328
|
</div>
|
|
1247
1329
|
|
|
1248
1330
|
</div>
|
|
@@ -1254,7 +1336,7 @@ the maximum possible allocation.
|
|
|
1254
1336
|
|
|
1255
1337
|
|
|
1256
1338
|
<div id="total-method" class="method-detail ">
|
|
1257
|
-
<a name="
|
|
1339
|
+
<a name="method-i-total"></a>
|
|
1258
1340
|
|
|
1259
1341
|
<div class="method-heading">
|
|
1260
1342
|
|
|
@@ -1273,16 +1355,16 @@ the maximum possible allocation.
|
|
|
1273
1355
|
<div class="method-source-code"
|
|
1274
1356
|
id="total-source">
|
|
1275
1357
|
<pre>
|
|
1276
|
-
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1358
|
+
<span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 253</span>
|
|
1359
|
+
253: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">total</span>
|
|
1360
|
+
254: <span class="ruby-identifier">total</span> = <span class="ruby-value">0.0</span>
|
|
1361
|
+
255: <span class="ruby-ivar">@projects</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">projectId</span><span class="ruby-operator">|</span>
|
|
1362
|
+
256: <span class="ruby-ivar">@resources</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resourceId</span><span class="ruby-operator">|</span>
|
|
1363
|
+
257: <span class="ruby-identifier">total</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sum</span>(<span class="ruby-identifier">projectId</span>, <span class="ruby-identifier">resourceId</span>)
|
|
1364
|
+
258: <span class="ruby-keyword kw">end</span>
|
|
1365
|
+
259: <span class="ruby-keyword kw">end</span>
|
|
1366
|
+
260: <span class="ruby-identifier">total</span>
|
|
1367
|
+
261: <span class="ruby-keyword kw">end</span></pre>
|
|
1286
1368
|
</div>
|
|
1287
1369
|
|
|
1288
1370
|
</div>
|