taskjuggler 0.0.8 → 0.0.9
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 +1144 -2047
- data/README +1 -1
- data/Rakefile +6 -6
- data/data/css/tjmanual.css +20 -0
- data/data/css/tjreport.css +7 -6
- data/doc/AppConfig.html +136 -130
- data/doc/Arguments.html +46 -40
- data/doc/CHANGELOG.html +1162 -2057
- data/doc/COPYING.html +8 -2
- data/doc/Object.html +205 -199
- data/doc/README.html +9 -3
- data/doc/RuntimeConfig.html +75 -69
- data/doc/String.html +69 -63
- data/doc/TaskJuggler.html +350 -291
- data/doc/TaskJuggler/Account.html +26 -20
- data/doc/TaskJuggler/AccountAttribute.html +24 -18
- data/doc/TaskJuggler/AccountScenario.html +24 -18
- data/doc/TaskJuggler/Allocation.html +74 -68
- data/doc/TaskJuggler/AllocationAttribute.html +54 -48
- data/doc/TaskJuggler/AttributeBase.html +172 -93
- data/doc/TaskJuggler/AttributeDefinition.html +22 -16
- data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
- data/doc/TaskJuggler/BatchProcessor.html +263 -257
- data/doc/TaskJuggler/Booking.html +44 -38
- data/doc/TaskJuggler/BookingListAttribute.html +25 -21
- data/doc/TaskJuggler/BooleanAttribute.html +24 -18
- data/doc/TaskJuggler/CSVFile.html +193 -187
- data/doc/TaskJuggler/CellSettingPattern.html +13 -7
- data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
- data/doc/TaskJuggler/Charge.html +49 -43
- data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
- data/doc/TaskJuggler/ChargeSet.html +94 -88
- data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
- data/doc/TaskJuggler/CollisionDetector.html +142 -136
- data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
- data/doc/TaskJuggler/ColumnTable.html +50 -44
- data/doc/TaskJuggler/Daemon.html +71 -50
- data/doc/TaskJuggler/DataCache.html +110 -58
- data/doc/TaskJuggler/DataCacheEntry.html +22 -16
- data/doc/TaskJuggler/DateAttribute.html +24 -18
- data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
- data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
- data/doc/TaskJuggler/DurationAttribute.html +25 -19
- data/doc/TaskJuggler/FileList.html +25 -19
- data/doc/TaskJuggler/FileRecord.html +17 -11
- data/doc/TaskJuggler/FixnumAttribute.html +16 -10
- data/doc/TaskJuggler/FlagListAttribute.html +25 -21
- data/doc/TaskJuggler/FloatAttribute.html +20 -14
- data/doc/TaskJuggler/FormatListAttribute.html +17 -11
- data/doc/TaskJuggler/GanttChart.html +242 -236
- data/doc/TaskJuggler/GanttContainer.html +71 -67
- data/doc/TaskJuggler/GanttHeader.html +113 -107
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
- data/doc/TaskJuggler/GanttLine.html +217 -210
- data/doc/TaskJuggler/GanttLoadStack.html +89 -83
- data/doc/TaskJuggler/GanttMilestone.html +11 -6
- data/doc/TaskJuggler/GanttRouter.html +194 -186
- data/doc/TaskJuggler/GanttTaskBar.html +41 -34
- data/doc/TaskJuggler/HTMLDocument.html +52 -46
- data/doc/TaskJuggler/HTMLGraphics.html +58 -52
- data/doc/TaskJuggler/Interval.html +90 -84
- data/doc/TaskJuggler/IntervalList.html +777 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
- data/doc/TaskJuggler/JobInfo.html +36 -30
- data/doc/TaskJuggler/Journal.html +188 -177
- data/doc/TaskJuggler/JournalEntry.html +36 -30
- data/doc/TaskJuggler/JournalEntryList.html +88 -82
- data/doc/TaskJuggler/KeywordArray.html +12 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
- data/doc/TaskJuggler/Limits.html +111 -105
- data/doc/TaskJuggler/Limits/Limit.html +71 -65
- data/doc/TaskJuggler/LimitsAttribute.html +21 -15
- data/doc/TaskJuggler/ListAttributeBase.html +16 -10
- data/doc/TaskJuggler/Log.html +111 -105
- data/doc/TaskJuggler/LogFile.html +54 -48
- data/doc/TaskJuggler/LogicalAttribute.html +35 -29
- data/doc/TaskJuggler/LogicalExpression.html +32 -26
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
- data/doc/TaskJuggler/LogicalFlag.html +24 -18
- data/doc/TaskJuggler/LogicalFunction.html +164 -158
- data/doc/TaskJuggler/LogicalOperation.html +138 -132
- data/doc/TaskJuggler/Macro.html +14 -8
- data/doc/TaskJuggler/MacroTable.html +42 -36
- data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
- data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
- data/doc/TaskJuggler/Message.html +56 -50
- data/doc/TaskJuggler/MessageHandler.html +73 -67
- data/doc/TaskJuggler/Navigator.html +92 -86
- data/doc/TaskJuggler/NavigatorElement.html +88 -82
- data/doc/TaskJuggler/NikuProject.html +15 -9
- data/doc/TaskJuggler/NikuReport.html +405 -370
- data/doc/TaskJuggler/NikuResource.html +13 -7
- data/doc/TaskJuggler/NodeListAttribute.html +13 -9
- data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
- data/doc/TaskJuggler/ProcessIntercom.html +116 -110
- data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
- data/doc/TaskJuggler/Project.html +1064 -895
- data/doc/TaskJuggler/ProjectBroker.html +439 -366
- data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
- data/doc/TaskJuggler/ProjectFileParser.html +329 -319
- data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
- data/doc/TaskJuggler/ProjectRecord.html +66 -60
- data/doc/TaskJuggler/ProjectServer.html +287 -280
- data/doc/TaskJuggler/ProjectServerIface.html +43 -37
- data/doc/TaskJuggler/PropertyAttribute.html +16 -10
- data/doc/TaskJuggler/PropertyList.html +205 -199
- data/doc/TaskJuggler/PropertySet.html +264 -296
- data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
- data/doc/TaskJuggler/Query.html +309 -524
- data/doc/TaskJuggler/RTFHandlers.html +17 -11
- data/doc/TaskJuggler/RTFNavigator.html +33 -27
- data/doc/TaskJuggler/RTFQuery.html +135 -129
- data/doc/TaskJuggler/RTFReport.html +63 -57
- data/doc/TaskJuggler/RTFReportLink.html +55 -49
- data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
- data/doc/TaskJuggler/RealFormat.html +64 -58
- data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
- data/doc/TaskJuggler/Report.html +294 -249
- data/doc/TaskJuggler/ReportBase.html +229 -223
- data/doc/TaskJuggler/ReportContext.html +52 -46
- data/doc/TaskJuggler/ReportServer.html +143 -137
- data/doc/TaskJuggler/ReportServerIface.html +51 -43
- data/doc/TaskJuggler/ReportServerRecord.html +36 -30
- data/doc/TaskJuggler/ReportServlet.html +167 -140
- data/doc/TaskJuggler/ReportTable.html +137 -131
- data/doc/TaskJuggler/ReportTableCell.html +332 -292
- data/doc/TaskJuggler/ReportTableColumn.html +46 -40
- data/doc/TaskJuggler/ReportTableLegend.html +43 -38
- data/doc/TaskJuggler/ReportTableLine.html +66 -60
- data/doc/TaskJuggler/Resource.html +166 -160
- data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
- data/doc/TaskJuggler/ResourceListRE.html +47 -41
- data/doc/TaskJuggler/ResourceScenario.html +671 -644
- data/doc/TaskJuggler/RichText.html +51 -45
- data/doc/TaskJuggler/RichTextAttribute.html +28 -22
- data/doc/TaskJuggler/RichTextDocument.html +96 -90
- data/doc/TaskJuggler/RichTextElement.html +503 -497
- data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
- data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
- data/doc/TaskJuggler/RichTextImage.html +14 -8
- data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
- data/doc/TaskJuggler/RichTextParser.html +59 -53
- data/doc/TaskJuggler/RichTextScanner.html +184 -178
- data/doc/TaskJuggler/RichTextSnip.html +69 -63
- data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
- data/doc/TaskJuggler/Scenario.html +13 -7
- data/doc/TaskJuggler/ScenarioData.html +40 -34
- data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
- data/doc/TaskJuggler/Scoreboard.html +129 -107
- data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
- data/doc/TaskJuggler/SheetReceiver.html +333 -327
- data/doc/TaskJuggler/SheetSender.html +227 -221
- data/doc/TaskJuggler/Shift.html +26 -20
- data/doc/TaskJuggler/ShiftAssignment.html +45 -39
- data/doc/TaskJuggler/ShiftAssignments.html +178 -172
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
- data/doc/TaskJuggler/ShiftScenario.html +29 -23
- data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
- data/doc/TaskJuggler/SortListAttribute.html +17 -13
- data/doc/TaskJuggler/SourceFileInfo.html +19 -13
- data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
- data/doc/TaskJuggler/StatusSheetReport.html +166 -159
- data/doc/TaskJuggler/StatusSheetSender.html +80 -74
- data/doc/TaskJuggler/StringAttribute.html +20 -14
- data/doc/TaskJuggler/SymbolAttribute.html +16 -10
- data/doc/TaskJuggler/SyntaxReference.html +231 -225
- data/doc/TaskJuggler/TOCEntry.html +46 -40
- data/doc/TaskJuggler/TSResourceRecord.html +15 -9
- data/doc/TaskJuggler/TSTaskRecord.html +16 -10
- data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
- data/doc/TaskJuggler/TableOfContents.html +28 -22
- data/doc/TaskJuggler/TableReport.html +906 -866
- data/doc/TaskJuggler/Task.html +99 -93
- data/doc/TaskJuggler/TaskDependency.html +24 -18
- data/doc/TaskJuggler/TaskListAttribute.html +29 -25
- data/doc/TaskJuggler/TaskListRE.html +46 -39
- data/doc/TaskJuggler/TaskScenario.html +2218 -1965
- data/doc/TaskJuggler/TextFormatter.html +154 -148
- data/doc/TaskJuggler/TextParser.html +362 -348
- data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
- data/doc/TaskJuggler/TextParser/Rule.html +147 -141
- data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
- data/doc/TaskJuggler/TextParser/State.html +88 -82
- data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
- data/doc/TaskJuggler/TextReport.html +80 -74
- data/doc/TaskJuggler/TextScanner.html +284 -272
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +123 -117
- data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
- data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
- data/doc/TaskJuggler/TimeSheetReport.html +206 -199
- data/doc/TaskJuggler/TimeSheetSender.html +27 -21
- data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
- data/doc/TaskJuggler/TimeSheets.html +20 -14
- data/doc/TaskJuggler/Tj3AppBase.html +100 -94
- data/doc/TaskJuggler/Tj3Client.html +407 -483
- data/doc/TaskJuggler/Tj3Daemon.html +116 -107
- data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
- data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3SsSender.html +64 -58
- data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3TsSender.html +51 -45
- data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
- data/doc/TaskJuggler/TjException.html +13 -7
- data/doc/TaskJuggler/TjTime.html +444 -438
- data/doc/TaskJuggler/TjpExample.html +84 -78
- data/doc/TaskJuggler/TjpExportRE.html +356 -349
- data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
- data/doc/TaskJuggler/URLParameter.html +16 -10
- data/doc/TaskJuggler/UserManual.html +185 -179
- data/doc/TaskJuggler/VimSyntax.html +144 -138
- data/doc/TaskJuggler/WebServer.html +46 -39
- data/doc/TaskJuggler/WelcomePage.html +769 -0
- data/doc/TaskJuggler/WorkingHours.html +185 -179
- data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
- data/doc/TaskJuggler/XMLBlob.html +21 -15
- data/doc/TaskJuggler/XMLComment.html +17 -11
- data/doc/TaskJuggler/XMLDocument.html +33 -27
- data/doc/TaskJuggler/XMLElement.html +97 -91
- data/doc/TaskJuggler/XMLNamedText.html +13 -7
- data/doc/TaskJuggler/XMLText.html +32 -26
- data/doc/index.html +601 -563
- data/doc/lib/AccountScenario_rb.html +5 -3
- data/doc/lib/Account_rb.html +5 -3
- data/doc/lib/Allocation_rb.html +5 -3
- data/doc/lib/AppConfig_rb.html +5 -3
- data/doc/lib/AttributeBase_rb.html +5 -3
- data/doc/lib/AttributeDefinition_rb.html +5 -3
- data/doc/lib/Attributes_rb.html +5 -3
- data/doc/lib/BatchProcessor_rb.html +5 -3
- data/doc/lib/Booking_rb.html +5 -3
- data/doc/lib/ChargeSet_rb.html +5 -3
- data/doc/lib/Charge_rb.html +5 -3
- data/doc/lib/DataCache_rb.html +5 -3
- data/doc/lib/FileList_rb.html +5 -3
- data/doc/lib/HTMLDocument_rb.html +5 -3
- data/doc/lib/IntervalList_rb.html +69 -0
- data/doc/lib/Interval_rb.html +5 -3
- data/doc/lib/Journal_rb.html +5 -3
- data/doc/lib/KeywordArray_rb.html +5 -3
- data/doc/lib/KeywordDocumentation_rb.html +5 -3
- data/doc/lib/Limits_rb.html +5 -3
- data/doc/lib/LogFile_rb.html +5 -3
- data/doc/lib/Log_rb.html +5 -3
- data/doc/lib/LogicalExpression_rb.html +5 -3
- data/doc/lib/LogicalFunction_rb.html +5 -3
- data/doc/lib/LogicalOperation_rb.html +5 -3
- data/doc/lib/MacroTable_rb.html +5 -3
- data/doc/lib/MessageHandler_rb.html +5 -3
- data/doc/lib/ProjectFileParser_rb.html +5 -3
- data/doc/lib/ProjectFileScanner_rb.html +5 -3
- data/doc/lib/Project_rb.html +5 -3
- data/doc/lib/PropertyList_rb.html +5 -3
- data/doc/lib/PropertySet_rb.html +5 -3
- data/doc/lib/PropertyTreeNode_rb.html +5 -3
- data/doc/lib/Query_rb.html +5 -3
- data/doc/lib/RTFHandlers_rb.html +5 -3
- data/doc/lib/RTFNavigator_rb.html +5 -3
- data/doc/lib/RTFQuery_rb.html +5 -3
- data/doc/lib/RTFReportLink_rb.html +5 -3
- data/doc/lib/RTFReport_rb.html +5 -3
- data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
- data/doc/lib/RealFormat_rb.html +5 -3
- data/doc/lib/ResourceScenario_rb.html +5 -3
- data/doc/lib/Resource_rb.html +5 -3
- data/doc/lib/RichTextDocument_rb.html +5 -3
- data/doc/lib/RichTextElement_rb.html +5 -3
- data/doc/lib/RichTextFunctionExample_rb.html +5 -3
- data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
- data/doc/lib/RichTextParser_rb.html +5 -3
- data/doc/lib/RichTextScanner_rb.html +5 -3
- data/doc/lib/RichTextSnip_rb.html +5 -3
- data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
- data/doc/lib/RichText_rb.html +5 -3
- data/doc/lib/RuntimeConfig_rb.html +5 -3
- data/doc/lib/ScenarioData_rb.html +5 -3
- data/doc/lib/Scenario_rb.html +5 -3
- data/doc/lib/Scoreboard_rb.html +7 -3
- data/doc/lib/SheetHandlerBase_rb.html +5 -3
- data/doc/lib/SheetReceiver_rb.html +5 -3
- data/doc/lib/SheetSender_rb.html +5 -3
- data/doc/lib/ShiftAssignments_rb.html +5 -3
- data/doc/lib/ShiftScenario_rb.html +5 -3
- data/doc/lib/Shift_rb.html +5 -3
- data/doc/lib/SimpleQueryExpander_rb.html +5 -3
- data/doc/lib/SourceFileInfo_rb.html +5 -3
- data/doc/lib/StatusSheetReceiver_rb.html +5 -3
- data/doc/lib/StatusSheetSender_rb.html +5 -3
- data/doc/lib/SyntaxReference_rb.html +5 -3
- data/doc/lib/TOCEntry_rb.html +5 -3
- data/doc/lib/TableColumnDefinition_rb.html +5 -3
- data/doc/lib/TableOfContents_rb.html +5 -3
- data/doc/lib/TaskDependency_rb.html +5 -3
- data/doc/lib/TaskJuggler_rb.html +5 -3
- data/doc/lib/TaskScenario_rb.html +5 -3
- data/doc/lib/Task_rb.html +5 -3
- data/doc/lib/TextFormatter_rb.html +6 -4
- data/doc/lib/TextParser/Pattern_rb.html +5 -3
- data/doc/lib/TextParser/Rule_rb.html +5 -3
- data/doc/lib/TextParser/StackElement_rb.html +5 -3
- data/doc/lib/TextParser/State_rb.html +6 -4
- data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
- data/doc/lib/TextParser_rb.html +5 -3
- data/doc/lib/TextScanner_rb.html +5 -3
- data/doc/lib/TimeSheetReceiver_rb.html +5 -3
- data/doc/lib/TimeSheetSender_rb.html +5 -3
- data/doc/lib/TimeSheetSummary_rb.html +6 -4
- data/doc/lib/TimeSheets_rb.html +5 -3
- data/doc/lib/Tj3AppBase_rb.html +5 -3
- data/doc/lib/Tj3Config_rb.html +5 -3
- data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
- data/doc/lib/TjException_rb.html +5 -3
- data/doc/lib/TjTime_rb.html +5 -3
- data/doc/lib/TjpExample_rb.html +5 -3
- data/doc/lib/TjpSyntaxRules_rb.html +5 -3
- data/doc/lib/URLParameter_rb.html +5 -3
- data/doc/lib/UTF8String_rb.html +5 -3
- data/doc/lib/UserManual_rb.html +5 -3
- data/doc/lib/VimSyntax_rb.html +6 -4
- data/doc/lib/WorkingHours_rb.html +5 -3
- data/doc/lib/XMLDocument_rb.html +5 -3
- data/doc/lib/XMLElement_rb.html +5 -3
- data/doc/lib/daemon/Daemon_rb.html +5 -3
- data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
- data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
- data/doc/lib/daemon/ProjectServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/daemon/WebServer_rb.html +9 -3
- data/doc/lib/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/deep_copy_rb.html +5 -3
- data/doc/lib/reports/CSVFile_rb.html +5 -3
- data/doc/lib/reports/CollisionDetector_rb.html +5 -3
- data/doc/lib/reports/ColumnTable_rb.html +5 -3
- data/doc/lib/reports/GanttChart_rb.html +5 -3
- data/doc/lib/reports/GanttContainer_rb.html +5 -3
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
- data/doc/lib/reports/GanttHeader_rb.html +5 -3
- data/doc/lib/reports/GanttLine_rb.html +5 -3
- data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
- data/doc/lib/reports/GanttMilestone_rb.html +5 -3
- data/doc/lib/reports/GanttRouter_rb.html +5 -3
- data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
- data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
- data/doc/lib/reports/Navigator_rb.html +5 -3
- data/doc/lib/reports/NikuReport_rb.html +5 -3
- data/doc/lib/reports/ReportBase_rb.html +5 -3
- data/doc/lib/reports/ReportContext_rb.html +5 -3
- data/doc/lib/reports/ReportTableCell_rb.html +5 -3
- data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
- data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
- data/doc/lib/reports/ReportTableLine_rb.html +5 -3
- data/doc/lib/reports/ReportTable_rb.html +5 -3
- data/doc/lib/reports/Report_rb.html +5 -3
- data/doc/lib/reports/ResourceListRE_rb.html +5 -3
- data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
- data/doc/lib/reports/TableReport_rb.html +5 -3
- data/doc/lib/reports/TaskListRE_rb.html +5 -3
- data/doc/lib/reports/TextReport_rb.html +5 -3
- data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
- data/doc/lib/reports/TjpExportRE_rb.html +5 -3
- data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
- data/doc/lib/tj3client_rb.html +5 -3
- data/doc/lib/tj3d_rb.html +6 -4
- data/doc/lib/tj3man_rb.html +5 -3
- data/doc/lib/tj3ss_receiver_rb.html +5 -3
- data/doc/lib/tj3ss_sender_rb.html +5 -3
- data/doc/lib/tj3ts_receiver_rb.html +5 -3
- data/doc/lib/tj3ts_sender_rb.html +5 -3
- data/doc/lib/tj3ts_summary_rb.html +5 -3
- data/examples/tutorial.tjp +13 -5
- data/gem_spec.rb +3 -0
- data/lib/Account.rb +2 -1
- data/lib/AccountScenario.rb +2 -1
- data/lib/Allocation.rb +2 -1
- data/lib/AppConfig.rb +2 -1
- data/lib/AttributeBase.rb +19 -5
- data/lib/AttributeDefinition.rb +2 -1
- data/lib/Attributes.rb +49 -38
- data/lib/BatchProcessor.rb +2 -1
- data/lib/Booking.rb +2 -1
- data/lib/Charge.rb +2 -1
- data/lib/ChargeSet.rb +2 -1
- data/lib/DataCache.rb +15 -1
- data/lib/FileList.rb +2 -1
- data/lib/HTMLDocument.rb +2 -1
- data/lib/Interval.rb +2 -1
- data/lib/IntervalList.rb +100 -0
- data/lib/Journal.rb +8 -2
- data/lib/KeywordArray.rb +2 -1
- data/lib/KeywordDocumentation.rb +10 -6
- data/lib/Limits.rb +2 -1
- data/lib/Log.rb +3 -2
- data/lib/LogFile.rb +2 -1
- data/lib/LogicalExpression.rb +2 -1
- data/lib/LogicalFunction.rb +2 -1
- data/lib/LogicalOperation.rb +2 -1
- data/lib/MacroTable.rb +2 -1
- data/lib/MessageHandler.rb +2 -1
- data/lib/Project.rb +92 -25
- data/lib/ProjectFileParser.rb +7 -2
- data/lib/ProjectFileScanner.rb +2 -1
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +2 -6
- data/lib/PropertyTreeNode.rb +22 -44
- data/lib/Query.rb +32 -13
- data/lib/RTFHandlers.rb +2 -1
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +3 -2
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +2 -1
- data/lib/RTFWithQuerySupport.rb +2 -1
- data/lib/RealFormat.rb +2 -1
- data/lib/Resource.rb +2 -1
- data/lib/ResourceScenario.rb +35 -14
- data/lib/RichText.rb +2 -1
- data/lib/RichTextDocument.rb +2 -1
- data/lib/RichTextElement.rb +2 -1
- data/lib/RichTextFunctionExample.rb +2 -1
- data/lib/RichTextFunctionHandler.rb +2 -1
- data/lib/RichTextParser.rb +2 -1
- data/lib/RichTextScanner.rb +2 -1
- data/lib/RichTextSnip.rb +2 -1
- data/lib/RichTextSyntaxRules.rb +2 -1
- data/lib/RuntimeConfig.rb +2 -1
- data/lib/Scenario.rb +2 -1
- data/lib/ScenarioData.rb +2 -1
- data/lib/Scoreboard.rb +27 -8
- data/lib/SheetHandlerBase.rb +2 -1
- data/lib/SheetReceiver.rb +2 -1
- data/lib/SheetSender.rb +2 -1
- data/lib/Shift.rb +2 -1
- data/lib/ShiftAssignments.rb +2 -1
- data/lib/ShiftScenario.rb +2 -1
- data/lib/SimpleQueryExpander.rb +2 -1
- data/lib/SourceFileInfo.rb +2 -1
- data/lib/StatusSheetReceiver.rb +2 -1
- data/lib/StatusSheetSender.rb +2 -1
- data/lib/SyntaxReference.rb +2 -1
- data/lib/TOCEntry.rb +2 -1
- data/lib/TableColumnDefinition.rb +9 -2
- data/lib/TableOfContents.rb +2 -1
- data/lib/Task.rb +2 -1
- data/lib/TaskDependency.rb +2 -1
- data/lib/TaskJuggler.rb +8 -6
- data/lib/TaskScenario.rb +337 -153
- data/lib/TextFormatter.rb +3 -2
- data/lib/TextParser.rb +7 -2
- data/lib/TextParser/Pattern.rb +2 -1
- data/lib/TextParser/Rule.rb +2 -1
- data/lib/TextParser/StackElement.rb +2 -1
- data/lib/TextParser/State.rb +3 -2
- data/lib/TextParser/TokenDoc.rb +2 -1
- data/lib/TextScanner.rb +12 -5
- data/lib/TimeSheetReceiver.rb +2 -1
- data/lib/TimeSheetSender.rb +2 -1
- data/lib/TimeSheetSummary.rb +3 -2
- data/lib/TimeSheets.rb +2 -1
- data/lib/Tj3AppBase.rb +6 -5
- data/lib/Tj3Config.rb +5 -4
- data/lib/Tj3SheetAppBase.rb +2 -1
- data/lib/TjException.rb +2 -1
- data/lib/TjTime.rb +2 -1
- data/lib/TjpExample.rb +2 -1
- data/lib/TjpSyntaxRules.rb +264 -65
- data/lib/URLParameter.rb +2 -1
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +2 -1
- data/lib/VimSyntax.rb +3 -2
- data/lib/WorkingHours.rb +2 -1
- data/lib/XMLDocument.rb +2 -1
- data/lib/XMLElement.rb +2 -1
- data/lib/daemon/Daemon.rb +3 -1
- data/lib/daemon/ProcessIntercom.rb +3 -1
- data/lib/daemon/ProjectBroker.rb +84 -32
- data/lib/daemon/ProjectServer.rb +5 -3
- data/lib/daemon/ReportServer.rb +8 -5
- data/lib/daemon/ReportServlet.rb +166 -0
- data/lib/daemon/WebServer.rb +6 -150
- data/lib/daemon/WelcomePage.rb +80 -0
- data/lib/deep_copy.rb +2 -1
- data/lib/reports/CSVFile.rb +2 -1
- data/lib/reports/CollisionDetector.rb +2 -1
- data/lib/reports/ColumnTable.rb +2 -1
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/GanttContainer.rb +3 -4
- data/lib/reports/GanttHeader.rb +2 -1
- data/lib/reports/GanttHeaderScaleItem.rb +2 -1
- data/lib/reports/GanttLine.rb +12 -10
- data/lib/reports/GanttLoadStack.rb +2 -1
- data/lib/reports/GanttMilestone.rb +3 -3
- data/lib/reports/GanttRouter.rb +4 -1
- data/lib/reports/GanttTaskBar.rb +9 -7
- data/lib/reports/HTMLGraphics.rb +2 -1
- data/lib/reports/Navigator.rb +2 -1
- data/lib/reports/NikuReport.rb +79 -49
- data/lib/reports/Report.rb +42 -10
- data/lib/reports/ReportBase.rb +2 -1
- data/lib/reports/ReportContext.rb +2 -1
- data/lib/reports/ReportTable.rb +2 -1
- data/lib/reports/ReportTableCell.rb +63 -28
- data/lib/reports/ReportTableColumn.rb +2 -1
- data/lib/reports/ReportTableLegend.rb +5 -5
- data/lib/reports/ReportTableLine.rb +2 -1
- data/lib/reports/ResourceListRE.rb +2 -1
- data/lib/reports/StatusSheetReport.rb +4 -2
- data/lib/reports/TableReport.rb +42 -38
- data/lib/reports/TaskListRE.rb +4 -2
- data/lib/reports/TextReport.rb +2 -1
- data/lib/reports/TimeSheetReport.rb +4 -2
- data/lib/reports/TjpExportRE.rb +4 -2
- data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
- data/lib/tj3client.rb +19 -36
- data/lib/tj3d.rb +6 -2
- data/lib/tj3man.rb +4 -3
- data/lib/tj3ss_receiver.rb +2 -1
- data/lib/tj3ss_sender.rb +2 -1
- data/lib/tj3ts_receiver.rb +2 -1
- data/lib/tj3ts_sender.rb +2 -1
- data/lib/tj3ts_summary.rb +2 -1
- data/manual/Day_To_Day_Juggling +36 -0
- data/manual/How_To_Contribute +9 -4
- data/manual/Installation +10 -3
- data/manual/TaskJuggler_Internals +0 -2
- data/manual/Tutorial +25 -3
- data/prj_cfg.rb +4 -2
- data/spec/IntervalList_spec.rb +138 -0
- data/spec/ProjectBroker_spec.rb +133 -0
- data/tasks/changelog.rake +41 -24
- data/tasks/csts.rake +1 -0
- data/tasks/gem.rake +1 -0
- data/tasks/rcov.rake +1 -1
- data/tasks/spec.rake +7 -0
- data/tasks/test.rake +1 -0
- data/test/MessageChecker.rb +2 -1
- data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
- data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
- data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
- data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
- data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
- data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
- data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/StatusSheets/sender.log +256 -0
- data/test/TestSuite/StatusSheets/statussheets.log +9 -0
- data/test/TestSuite/StatusSheets/tj3d.log +395 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
- data/test/all.rb +2 -4
- data/test/test_BatchProcessor.rb +2 -1
- data/test/test_CSV-Reports.rb +34 -23
- data/test/test_CSVFile.rb +2 -1
- data/test/test_CollisionDetector.rb +3 -2
- data/test/test_Journal.rb +2 -1
- data/test/test_Limits.rb +2 -1
- data/test/test_LogicalExpression.rb +2 -1
- data/test/test_MacroTable.rb +2 -1
- data/test/test_Project.rb +3 -2
- data/test/test_ProjectFileScanner.rb +2 -1
- data/test/test_PropertySet.rb +2 -1
- data/test/test_Query.rb +2 -1
- data/test/test_RealFormat.rb +2 -1
- data/test/test_ReportGenerator.rb +2 -1
- data/test/test_RichText.rb +2 -1
- data/test/test_Scheduler.rb +2 -1
- data/test/test_ShiftAssignments.rb +2 -1
- data/test/test_SimpleQueryExpander.rb +2 -1
- data/test/test_Syntax.rb +2 -1
- data/test/test_TextFormatter.rb +3 -2
- data/test/test_TjTime.rb +2 -1
- data/test/test_TjpExample.rb +2 -1
- data/test/test_URLParameter.rb +2 -1
- data/test/test_UTF8String.rb +2 -1
- data/test/test_WorkingHours.rb +2 -1
- data/test/test_deep_copy.rb +2 -1
- metadata +74 -20
- data/doc/StringIO.html +0 -595
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
|
@@ -127,6 +127,8 @@
|
|
|
127
127
|
|
|
128
128
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
129
129
|
|
|
130
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
131
|
+
|
|
130
132
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
131
133
|
|
|
132
134
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -205,6 +207,8 @@
|
|
|
205
207
|
|
|
206
208
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
207
209
|
|
|
210
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
211
|
+
|
|
208
212
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
209
213
|
|
|
210
214
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -237,6 +241,8 @@
|
|
|
237
241
|
|
|
238
242
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
239
243
|
|
|
244
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
245
|
+
|
|
240
246
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
241
247
|
|
|
242
248
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -517,6 +523,8 @@
|
|
|
517
523
|
|
|
518
524
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
519
525
|
|
|
526
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
527
|
+
|
|
520
528
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
521
529
|
|
|
522
530
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -543,8 +551,6 @@
|
|
|
543
551
|
|
|
544
552
|
<li><a href="../String.html">String</a></li>
|
|
545
553
|
|
|
546
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
547
|
-
|
|
548
554
|
</ul>
|
|
549
555
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
550
556
|
</div>
|
|
@@ -592,10 +598,10 @@
|
|
|
592
598
|
<div class="method-source-code"
|
|
593
599
|
id="new-source">
|
|
594
600
|
<pre>
|
|
595
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
601
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 392</span>
|
|
602
|
+
392: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
|
|
603
|
+
393: <span class="ruby-keyword kw">super</span>
|
|
604
|
+
394: <span class="ruby-keyword kw">end</span></pre>
|
|
599
605
|
</div>
|
|
600
606
|
|
|
601
607
|
</div>
|
|
@@ -137,6 +137,8 @@
|
|
|
137
137
|
|
|
138
138
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
139
139
|
|
|
140
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
141
|
+
|
|
140
142
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
141
143
|
|
|
142
144
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -215,6 +217,8 @@
|
|
|
215
217
|
|
|
216
218
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
217
219
|
|
|
220
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
221
|
+
|
|
218
222
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
219
223
|
|
|
220
224
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -247,6 +251,8 @@
|
|
|
247
251
|
|
|
248
252
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
249
253
|
|
|
254
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
255
|
+
|
|
250
256
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
251
257
|
|
|
252
258
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -527,6 +533,8 @@
|
|
|
527
533
|
|
|
528
534
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
529
535
|
|
|
536
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
537
|
+
|
|
530
538
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
531
539
|
|
|
532
540
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -553,8 +561,6 @@
|
|
|
553
561
|
|
|
554
562
|
<li><a href="../String.html">String</a></li>
|
|
555
563
|
|
|
556
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
557
|
-
|
|
558
564
|
</ul>
|
|
559
565
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
560
566
|
</div>
|
|
@@ -602,10 +608,10 @@
|
|
|
602
608
|
<div class="method-source-code"
|
|
603
609
|
id="new-source">
|
|
604
610
|
<pre>
|
|
605
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
611
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 399</span>
|
|
612
|
+
399: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
|
|
613
|
+
400: <span class="ruby-keyword kw">super</span>
|
|
614
|
+
401: <span class="ruby-keyword kw">end</span></pre>
|
|
609
615
|
</div>
|
|
610
616
|
|
|
611
617
|
</div>
|
|
@@ -636,10 +642,10 @@
|
|
|
636
642
|
<div class="method-source-code"
|
|
637
643
|
id="tjp-d-source">
|
|
638
644
|
<pre>
|
|
639
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
645
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 403</span>
|
|
646
|
+
403: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ReferenceAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
|
|
647
|
+
404: <span class="ruby-value str">'reference'</span>
|
|
648
|
+
405: <span class="ruby-keyword kw">end</span></pre>
|
|
643
649
|
</div>
|
|
644
650
|
|
|
645
651
|
</div>
|
|
@@ -676,10 +682,10 @@
|
|
|
676
682
|
<div class="method-source-code"
|
|
677
683
|
id="label-source">
|
|
678
684
|
<pre>
|
|
679
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
685
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 422</span>
|
|
686
|
+
422: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">label</span>
|
|
687
|
+
423: <span class="ruby-ivar">@value</span> <span class="ruby-operator">?</span> (<span class="ruby-ivar">@value</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">?</span> <span class="ruby-ivar">@value</span>[<span class="ruby-value">1</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-ivar">@value</span>[<span class="ruby-value">0</span>]) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
688
|
+
424: <span class="ruby-keyword kw">end</span></pre>
|
|
683
689
|
</div>
|
|
684
690
|
|
|
685
691
|
</div>
|
|
@@ -710,13 +716,13 @@
|
|
|
710
716
|
<div class="method-source-code"
|
|
711
717
|
id="to-rti-source">
|
|
712
718
|
<pre>
|
|
713
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
719
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 411</span>
|
|
720
|
+
411: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rti</span>(<span class="ruby-identifier">query</span>)
|
|
721
|
+
412: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@value</span>
|
|
722
|
+
413:
|
|
723
|
+
414: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"[#{url} #{label}]"</span>)
|
|
724
|
+
415: <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>
|
|
725
|
+
416: <span class="ruby-keyword kw">end</span></pre>
|
|
720
726
|
</div>
|
|
721
727
|
|
|
722
728
|
</div>
|
|
@@ -747,10 +753,10 @@
|
|
|
747
753
|
<div class="method-source-code"
|
|
748
754
|
id="to-s-source">
|
|
749
755
|
<pre>
|
|
750
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
756
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 407</span>
|
|
757
|
+
407: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span>)
|
|
758
|
+
408: <span class="ruby-identifier">url</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
|
|
759
|
+
409: <span class="ruby-keyword kw">end</span></pre>
|
|
754
760
|
</div>
|
|
755
761
|
|
|
756
762
|
</div>
|
|
@@ -781,10 +787,10 @@
|
|
|
781
787
|
<div class="method-source-code"
|
|
782
788
|
id="url-source">
|
|
783
789
|
<pre>
|
|
784
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
790
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 418</span>
|
|
791
|
+
418: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">url</span>
|
|
792
|
+
419: <span class="ruby-ivar">@value</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@value</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
793
|
+
420: <span class="ruby-keyword kw">end</span></pre>
|
|
788
794
|
</div>
|
|
789
795
|
|
|
790
796
|
</div>
|
data/doc/TaskJuggler/Report.html
CHANGED
|
@@ -157,6 +157,8 @@
|
|
|
157
157
|
|
|
158
158
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
159
159
|
|
|
160
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
161
|
+
|
|
160
162
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
161
163
|
|
|
162
164
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -235,6 +237,8 @@
|
|
|
235
237
|
|
|
236
238
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
237
239
|
|
|
240
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
241
|
+
|
|
238
242
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
239
243
|
|
|
240
244
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -267,6 +271,8 @@
|
|
|
267
271
|
|
|
268
272
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
269
273
|
|
|
274
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
275
|
+
|
|
270
276
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
271
277
|
|
|
272
278
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -547,6 +553,8 @@
|
|
|
547
553
|
|
|
548
554
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
549
555
|
|
|
556
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
557
|
+
|
|
550
558
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
551
559
|
|
|
552
560
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -573,8 +581,6 @@
|
|
|
573
581
|
|
|
574
582
|
<li><a href="../String.html">String</a></li>
|
|
575
583
|
|
|
576
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
577
|
-
|
|
578
584
|
</ul>
|
|
579
585
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
580
586
|
</div>
|
|
@@ -669,15 +675,15 @@ Create a new report object.
|
|
|
669
675
|
<div class="method-source-code"
|
|
670
676
|
id="new-source">
|
|
671
677
|
<pre>
|
|
672
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
678
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 38</span>
|
|
679
|
+
38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">project</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
|
|
680
|
+
39: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
|
|
681
|
+
40: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">addReport</span>(<span class="ruby-keyword kw">self</span>)
|
|
682
|
+
41:
|
|
683
|
+
42: <span class="ruby-comment cmt"># The type specifier must be set for every report. It tells whether this</span>
|
|
684
|
+
43: <span class="ruby-comment cmt"># is a task, resource, text or other report.</span>
|
|
685
|
+
44: <span class="ruby-ivar">@typeSpec</span> = <span class="ruby-keyword kw">nil</span>
|
|
686
|
+
45: <span class="ruby-keyword kw">end</span></pre>
|
|
681
687
|
</div>
|
|
682
688
|
|
|
683
689
|
</div>
|
|
@@ -714,16 +720,16 @@ Create a new report object.
|
|
|
714
720
|
<div class="method-source-code"
|
|
715
721
|
id="error-source">
|
|
716
722
|
<pre>
|
|
717
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
723
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 121</span>
|
|
724
|
+
121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>)
|
|
725
|
+
122: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
|
|
726
|
+
123: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>, <span class="ruby-ivar">@sourceFileInfo</span>)
|
|
727
|
+
124: <span class="ruby-keyword kw">else</span>
|
|
728
|
+
125: <span class="ruby-comment cmt"># We have no message, so the error has already been reported to the</span>
|
|
729
|
+
126: <span class="ruby-comment cmt"># MessageHandler. Just trigger another exception to signal the error.</span>
|
|
730
|
+
127: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>
|
|
731
|
+
128: <span class="ruby-keyword kw">end</span>
|
|
732
|
+
129: <span class="ruby-keyword kw">end</span></pre>
|
|
727
733
|
</div>
|
|
728
734
|
|
|
729
735
|
</div>
|
|
@@ -740,7 +746,7 @@ Create a new report object.
|
|
|
740
746
|
<div class="method-heading">
|
|
741
747
|
|
|
742
748
|
<span class="method-name">generate</span><span
|
|
743
|
-
class="method-args">()</span>
|
|
749
|
+
class="method-args">(requestedFormats = nil)</span>
|
|
744
750
|
<span class="method-click-advice">click to toggle source</span>
|
|
745
751
|
|
|
746
752
|
</div>
|
|
@@ -750,36 +756,50 @@ Create a new report object.
|
|
|
750
756
|
<p>
|
|
751
757
|
The generate function is where the action happens in this class. The report
|
|
752
758
|
defined by all the class attributes and report elements is generated
|
|
753
|
-
according the the requested output format(s).
|
|
759
|
+
according the the requested output format(s). <em>requestedFormats</em> can
|
|
760
|
+
be a list of formats that should be generated (e.
|
|
761
|
+
</p>
|
|
762
|
+
<ol style="display: lower-alpha">
|
|
763
|
+
<li><p>
|
|
764
|
+
:html, :csv, etc.).
|
|
754
765
|
</p>
|
|
766
|
+
</li>
|
|
767
|
+
</ol>
|
|
755
768
|
|
|
756
769
|
|
|
757
770
|
|
|
758
771
|
<div class="method-source-code"
|
|
759
772
|
id="generate-source">
|
|
760
773
|
<pre>
|
|
761
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
774
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 52</span>
|
|
775
|
+
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">requestedFormats</span> = <span class="ruby-keyword kw">nil</span>)
|
|
776
|
+
53: <span class="ruby-identifier">generateIntermediateFormat</span>
|
|
777
|
+
54:
|
|
778
|
+
55: <span class="ruby-comment cmt"># We either generate the requested formats or the list of formats that</span>
|
|
779
|
+
56: <span class="ruby-comment cmt"># was specified in the report definition.</span>
|
|
780
|
+
57: (<span class="ruby-identifier">requestedFormats</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>)).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">format</span><span class="ruby-operator">|</span>
|
|
781
|
+
58: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@name</span>.<span class="ruby-identifier">empty?</span>
|
|
782
|
+
59: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'empty_report_file_name'</span>,
|
|
783
|
+
60: <span class="ruby-node">"Report #{@id} has output formats requested, but the "</span> <span class="ruby-operator">+</span>
|
|
784
|
+
61: <span class="ruby-value str">"file name is empty."</span>)
|
|
785
|
+
62: <span class="ruby-keyword kw">end</span>
|
|
786
|
+
63:
|
|
787
|
+
64: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">format</span>
|
|
788
|
+
65: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:html</span>
|
|
789
|
+
66: <span class="ruby-identifier">generateHTML</span>
|
|
790
|
+
67: <span class="ruby-identifier">copyAuxiliaryFiles</span>
|
|
791
|
+
68: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:csv</span>
|
|
792
|
+
69: <span class="ruby-identifier">generateCSV</span>
|
|
793
|
+
70: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:niku</span>
|
|
794
|
+
71: <span class="ruby-identifier">generateNiku</span>
|
|
795
|
+
72: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:tjp</span>
|
|
796
|
+
73: <span class="ruby-identifier">generateTJP</span>
|
|
797
|
+
74: <span class="ruby-keyword kw">else</span>
|
|
798
|
+
75: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Unknown report output format #{format}.'</span>
|
|
799
|
+
76: <span class="ruby-keyword kw">end</span>
|
|
800
|
+
77: <span class="ruby-keyword kw">end</span>
|
|
801
|
+
78: <span class="ruby-keyword kw">true</span>
|
|
802
|
+
79: <span class="ruby-keyword kw">end</span></pre>
|
|
783
803
|
</div>
|
|
784
804
|
|
|
785
805
|
</div>
|
|
@@ -813,32 +833,32 @@ the respective output formats.
|
|
|
813
833
|
<div class="method-source-code"
|
|
814
834
|
id="generate-ntermediate-ormat-source">
|
|
815
835
|
<pre>
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
836
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 83</span>
|
|
837
|
+
83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
|
|
838
|
+
84: <span class="ruby-ivar">@content</span> = <span class="ruby-keyword kw">nil</span>
|
|
839
|
+
85: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@typeSpec</span>
|
|
840
|
+
86: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:export</span>
|
|
841
|
+
87: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TjpExportRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
842
|
+
88: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:niku</span>
|
|
843
|
+
89: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">NikuReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
844
|
+
90: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:resourcereport</span>
|
|
845
|
+
91: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">ResourceListRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
846
|
+
92: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:textreport</span>
|
|
847
|
+
93: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TextReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
848
|
+
94: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:taskreport</span>
|
|
849
|
+
95: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TaskListRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
850
|
+
96: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:statusSheet</span>
|
|
851
|
+
97: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">StatusSheetReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
852
|
+
98: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:timeSheet</span>
|
|
853
|
+
99: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TimeSheetReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
854
|
+
100: <span class="ruby-keyword kw">else</span>
|
|
855
|
+
101: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Unknown report type"</span>
|
|
856
|
+
102: <span class="ruby-keyword kw">end</span>
|
|
857
|
+
103:
|
|
858
|
+
104: <span class="ruby-comment cmt"># Most output format can be generated from a common intermediate</span>
|
|
859
|
+
105: <span class="ruby-comment cmt"># representation of the elements. We generate that IR first.</span>
|
|
860
|
+
106: <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">generateIntermediateFormat</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@content</span>
|
|
861
|
+
107: <span class="ruby-keyword kw">end</span></pre>
|
|
842
862
|
</div>
|
|
843
863
|
|
|
844
864
|
</div>
|
|
@@ -873,10 +893,10 @@ interactive setting.
|
|
|
873
893
|
<div class="method-source-code"
|
|
874
894
|
id="interactive--source">
|
|
875
895
|
<pre>
|
|
876
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
896
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 117</span>
|
|
897
|
+
117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">interactive?</span>
|
|
898
|
+
118: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContexts</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'interactive'</span>)
|
|
899
|
+
119: <span class="ruby-keyword kw">end</span></pre>
|
|
880
900
|
</div>
|
|
881
901
|
|
|
882
902
|
</div>
|
|
@@ -909,10 +929,10 @@ Render the content of the report as HTML (without the framing).
|
|
|
909
929
|
<div class="method-source-code"
|
|
910
930
|
id="to-html-source">
|
|
911
931
|
<pre>
|
|
912
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
932
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 110</span>
|
|
933
|
+
110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
|
|
934
|
+
111: <span class="ruby-ivar">@content</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
935
|
+
112: <span class="ruby-keyword kw">end</span></pre>
|
|
916
936
|
</div>
|
|
917
937
|
|
|
918
938
|
</div>
|
|
@@ -943,12 +963,12 @@ Render the content of the report as HTML (without the framing).
|
|
|
943
963
|
<div class="method-source-code"
|
|
944
964
|
id="warning-source">
|
|
945
965
|
<pre>
|
|
946
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
966
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 131</span>
|
|
967
|
+
131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>)
|
|
968
|
+
132: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
|
|
969
|
+
133: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>, <span class="ruby-ivar">@sourceFileInfo</span>)
|
|
970
|
+
134: <span class="ruby-keyword kw">end</span>
|
|
971
|
+
135: <span class="ruby-keyword kw">end</span></pre>
|
|
952
972
|
</div>
|
|
953
973
|
|
|
954
974
|
</div>
|
|
@@ -987,10 +1007,10 @@ Convenience function to access a report attribute
|
|
|
987
1007
|
<div class="method-source-code"
|
|
988
1008
|
id="a-source">
|
|
989
1009
|
<pre>
|
|
990
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
1010
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 139</span>
|
|
1011
|
+
139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">attribute</span>)
|
|
1012
|
+
140: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attribute</span>)
|
|
1013
|
+
141: <span class="ruby-keyword kw">end</span></pre>
|
|
994
1014
|
</div>
|
|
995
1015
|
|
|
996
1016
|
</div>
|
|
@@ -1021,15 +1041,15 @@ Convenience function to access a report attribute
|
|
|
1021
1041
|
<div class="method-source-code"
|
|
1022
1042
|
id="copy-uxiliary-iles-source">
|
|
1023
1043
|
<pre>
|
|
1024
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1044
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 290</span>
|
|
1045
|
+
290: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">copyAuxiliaryFiles</span>
|
|
1046
|
+
291: <span class="ruby-comment cmt"># Don't copy files if output is stdout.</span>
|
|
1047
|
+
292: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'interactive'</span>)
|
|
1048
|
+
293:
|
|
1049
|
+
294: <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-value str">'css'</span>)
|
|
1050
|
+
295: <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-value str">'icons'</span>)
|
|
1051
|
+
296: <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-value str">'scripts'</span>)
|
|
1052
|
+
297: <span class="ruby-keyword kw">end</span></pre>
|
|
1033
1053
|
</div>
|
|
1034
1054
|
|
|
1035
1055
|
</div>
|
|
@@ -1060,23 +1080,23 @@ Convenience function to access a report attribute
|
|
|
1060
1080
|
<div class="method-source-code"
|
|
1061
1081
|
id="copy-irectory-source">
|
|
1062
1082
|
<pre>
|
|
1063
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1083
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 299</span>
|
|
1084
|
+
299: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-identifier">dirName</span>)
|
|
1085
|
+
300: <span class="ruby-comment cmt"># The directory needs to be in the same directory as the HTML report.</span>
|
|
1086
|
+
301: <span class="ruby-identifier">auxDstDir</span> = (<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>((<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1087
|
+
302: <span class="ruby-ivar">@name</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>).<span class="ruby-identifier">untaint</span>
|
|
1088
|
+
303: <span class="ruby-comment cmt"># Find the data directory that came with the TaskJuggler installation.</span>
|
|
1089
|
+
304: <span class="ruby-identifier">auxSrcDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-node">"data/#{dirName}"</span>)[<span class="ruby-value">0</span>].<span class="ruby-identifier">untaint</span>
|
|
1090
|
+
305: <span class="ruby-comment cmt"># Raise an error if we haven't found the data directory</span>
|
|
1091
|
+
306: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">auxSrcDir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">auxSrcDir</span>)
|
|
1092
|
+
307: <span class="ruby-identifier">dataDirError</span>(<span class="ruby-identifier">dirName</span>, <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataSearchDirs</span>(<span class="ruby-node">"data/#{dirName}"</span>))
|
|
1093
|
+
308: <span class="ruby-keyword kw">end</span>
|
|
1094
|
+
309: <span class="ruby-comment cmt"># Don't copy directory if all files are up-to-date.</span>
|
|
1095
|
+
310: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directoryUpToDate?</span>(<span class="ruby-identifier">auxSrcDir</span>, <span class="ruby-identifier">auxDstDir</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">dirName</span>)
|
|
1096
|
+
311:
|
|
1097
|
+
312: <span class="ruby-comment cmt"># Recursively copy the directory and all content.</span>
|
|
1098
|
+
313: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp_r</span>(<span class="ruby-identifier">auxSrcDir</span>, <span class="ruby-identifier">auxDstDir</span>)
|
|
1099
|
+
314: <span class="ruby-keyword kw">end</span></pre>
|
|
1080
1100
|
</div>
|
|
1081
1101
|
|
|
1082
1102
|
</div>
|
|
@@ -1107,11 +1127,11 @@ Convenience function to access a report attribute
|
|
|
1107
1127
|
<div class="method-source-code"
|
|
1108
1128
|
id="data-ir-rror-source">
|
|
1109
1129
|
<pre>
|
|
1110
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1130
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 330</span>
|
|
1131
|
+
330: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dataDirError</span>(<span class="ruby-identifier">dirName</span>, <span class="ruby-identifier">dirs</span>)
|
|
1132
|
+
331: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'data_dir_error'</span>, <span class="ruby-value str">Cannot find the #{dirName} directory. This is usually the result of animproper TaskJuggler installation. If you know the directory, you can use theTASKJUGGLER_DATA_PATH environment variable to specify the location. Thevariable should be set to the path without the /data at the end. Multipledirectories must be separated by colons. The following directories have beentried:#{dirs.join("\n")}</span>
|
|
1133
|
+
332: )
|
|
1134
|
+
333: <span class="ruby-keyword kw">end</span></pre>
|
|
1115
1135
|
</div>
|
|
1116
1136
|
|
|
1117
1137
|
</div>
|
|
@@ -1142,20 +1162,20 @@ Convenience function to access a report attribute
|
|
|
1142
1162
|
<div class="method-source-code"
|
|
1143
1163
|
id="directory-p-o-ate--source">
|
|
1144
1164
|
<pre>
|
|
1145
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1165
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 316</span>
|
|
1166
|
+
316: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">directoryUpToDate?</span>(<span class="ruby-identifier">auxSrcDir</span>, <span class="ruby-identifier">auxDstDir</span>)
|
|
1167
|
+
317: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">auxDstDir</span>.<span class="ruby-identifier">untaint</span>)
|
|
1168
|
+
318:
|
|
1169
|
+
319: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">entries</span>(<span class="ruby-identifier">auxSrcDir</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
|
1170
|
+
320: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'..'</span>
|
|
1171
|
+
321:
|
|
1172
|
+
322: <span class="ruby-identifier">srcFile</span> = (<span class="ruby-identifier">auxSrcDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">file</span>).<span class="ruby-identifier">untaint</span>
|
|
1173
|
+
323: <span class="ruby-identifier">dstFile</span> = (<span class="ruby-identifier">auxDstDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">file</span>).<span class="ruby-identifier">untaint</span>
|
|
1174
|
+
324: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">dstFile</span>) <span class="ruby-operator">||</span>
|
|
1175
|
+
325: <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">srcFile</span>) <span class="ruby-operator">></span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">dstFile</span>)
|
|
1176
|
+
326: <span class="ruby-keyword kw">end</span>
|
|
1177
|
+
327: <span class="ruby-keyword kw">true</span>
|
|
1178
|
+
328: <span class="ruby-keyword kw">end</span></pre>
|
|
1159
1179
|
</div>
|
|
1160
1180
|
|
|
1161
1181
|
</div>
|
|
@@ -1188,24 +1208,31 @@ Generate a CSV version of the report.
|
|
|
1188
1208
|
<div class="method-source-code"
|
|
1189
1209
|
id="generate--source">
|
|
1190
1210
|
<pre>
|
|
1191
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1211
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 229</span>
|
|
1212
|
+
229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateCSV</span>
|
|
1213
|
+
230: <span class="ruby-comment cmt"># The CSV format can only handle the first element of a report.</span>
|
|
1214
|
+
231: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@content</span>
|
|
1215
|
+
232:
|
|
1216
|
+
233: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'to_csv'</span>)
|
|
1217
|
+
234: <span class="ruby-identifier">warning</span>(<span class="ruby-value str">'csv_not_supported'</span>,
|
|
1218
|
+
235: <span class="ruby-node">"CSV format is not supported for report #{@id} of "</span> <span class="ruby-operator">+</span>
|
|
1219
|
+
236: <span class="ruby-node">"type #{@typeSpec}."</span>)
|
|
1220
|
+
237: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
1221
|
+
238: <span class="ruby-keyword kw">end</span>
|
|
1222
|
+
239:
|
|
1223
|
+
240: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">csv</span> = <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_csv</span>)
|
|
1224
|
+
241:
|
|
1225
|
+
242: <span class="ruby-comment cmt"># Use the CSVFile class to write the Array of Arrays to a colon</span>
|
|
1226
|
+
243: <span class="ruby-comment cmt"># separated file. Write to $stdout if the filename was set to '.'.</span>
|
|
1227
|
+
244: <span class="ruby-keyword kw">begin</span>
|
|
1228
|
+
245: <span class="ruby-identifier">fileName</span> = (<span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">:</span>
|
|
1229
|
+
246: (<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1230
|
+
247: <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.csv'</span>).<span class="ruby-identifier">untaint</span>
|
|
1231
|
+
248: <span class="ruby-constant">CSVFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-value str">';'</span>).<span class="ruby-identifier">write</span>(<span class="ruby-identifier">fileName</span>)
|
|
1232
|
+
249: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">IOError</span>
|
|
1233
|
+
250: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'write_csv'</span>, <span class="ruby-node">"Cannot write to file #{fileName}.\n#{$!}"</span>)
|
|
1234
|
+
251: <span class="ruby-keyword kw">end</span>
|
|
1235
|
+
252: <span class="ruby-keyword kw">end</span></pre>
|
|
1209
1236
|
</div>
|
|
1210
1237
|
|
|
1211
1238
|
</div>
|
|
@@ -1238,76 +1265,87 @@ Generate an HTML version of the report.
|
|
|
1238
1265
|
<div class="method-source-code"
|
|
1239
1266
|
id="generate--source">
|
|
1240
1267
|
<pre>
|
|
1241
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1268
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 144</span>
|
|
1269
|
+
144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>
|
|
1270
|
+
145: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@content</span>
|
|
1271
|
+
146:
|
|
1272
|
+
147: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'to_html'</span>)
|
|
1273
|
+
148: <span class="ruby-identifier">warning</span>(<span class="ruby-value str">'html_not_supported'</span>,
|
|
1274
|
+
149: <span class="ruby-node">"HTML format is not supported for report #{@id} of "</span> <span class="ruby-operator">+</span>
|
|
1275
|
+
150: <span class="ruby-node">"type #{@typeSpec}."</span>)
|
|
1276
|
+
151: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
1277
|
+
152: <span class="ruby-keyword kw">end</span>
|
|
1278
|
+
153:
|
|
1279
|
+
154: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>)
|
|
1280
|
+
155: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-node">"TaskJuggler Report - #{@name}"</span>,
|
|
1281
|
+
156: <span class="ruby-value str">'description'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'TaskJuggler Report'</span>,
|
|
1282
|
+
157: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'taskjuggler, project, management'</span>)
|
|
1283
|
+
158: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'selfcontained'</span>)
|
|
1284
|
+
159: <span class="ruby-identifier">auxSrcDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-value str">'data/css'</span>)[<span class="ruby-value">0</span>]
|
|
1285
|
+
160: <span class="ruby-identifier">cssFileName</span> = (<span class="ruby-identifier">auxSrcDir</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">auxSrcDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/tjreport.css'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>)
|
|
1286
|
+
161: <span class="ruby-comment cmt"># Raise an error if we haven't found the data directory</span>
|
|
1287
|
+
162: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">auxSrcDir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">cssFileName</span>)
|
|
1288
|
+
163: <span class="ruby-identifier">dataDirError</span>(<span class="ruby-identifier">cssFileName</span>, <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataSearchDirs</span>(<span class="ruby-value str">'data/css'</span>))
|
|
1289
|
+
164: <span class="ruby-keyword kw">end</span>
|
|
1290
|
+
165: <span class="ruby-identifier">cssFile</span> = <span class="ruby-constant">IO</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">cssFileName</span>)
|
|
1291
|
+
166: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cssFile</span>.<span class="ruby-identifier">empty?</span>
|
|
1292
|
+
167: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'css_file_error'</span>,
|
|
1293
|
+
168: <span class="ruby-node">"Cannot read '#{cssFileName}'. Make sure the file is not "</span> <span class="ruby-operator">+</span>
|
|
1294
|
+
169: <span class="ruby-value str">"empty and you have read access permission."</span>)
|
|
1295
|
+
170: <span class="ruby-keyword kw">end</span>
|
|
1296
|
+
171: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'meta'</span>, <span class="ruby-value str">'http-equiv'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Content-Style-Type'</span>,
|
|
1297
|
+
172: <span class="ruby-value str">'content'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/css; charset=utf-8'</span>)
|
|
1298
|
+
173: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">style</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'style'</span>, <span class="ruby-value str">'type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/css'</span>))
|
|
1299
|
+
174: <span class="ruby-identifier">style</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLBlob</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">cssFile</span>)
|
|
1300
|
+
175: <span class="ruby-keyword kw">else</span>
|
|
1301
|
+
176: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'link'</span>, <span class="ruby-value str">'rel'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'stylesheet'</span>,
|
|
1302
|
+
177: <span class="ruby-value str">'type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/css'</span>,
|
|
1303
|
+
178: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'css/tjreport.css'</span>)
|
|
1304
|
+
179: <span class="ruby-keyword kw">end</span>
|
|
1305
|
+
180: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLComment</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Dynamic Report ID: "</span> <span class="ruby-operator">+</span>
|
|
1306
|
+
181: <span class="ruby-node">"#{@project.reportContexts.last.dynamicReportId}"</span>)
|
|
1307
|
+
182: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>))
|
|
1308
|
+
183:
|
|
1309
|
+
184: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'selfcontained'</span>)
|
|
1310
|
+
185: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'script'</span>, <span class="ruby-value str">'type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/javascript'</span>,
|
|
1311
|
+
186: <span class="ruby-value str">'src'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'scripts/wz_tooltip.js'</span>)
|
|
1312
|
+
187: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">noscript</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'noscript'</span>))
|
|
1313
|
+
188: <span class="ruby-identifier">noscript</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">nsdiv</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
|
|
1314
|
+
189: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text-align:center; '</span> <span class="ruby-operator">+</span>
|
|
1315
|
+
190: <span class="ruby-value str">'color:#FF0000'</span>))
|
|
1316
|
+
191: <span class="ruby-identifier">nsdiv</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">This page requires Javascript for full functionality. Please enable itin your browser settings!</span>
|
|
1317
|
+
192: )
|
|
1318
|
+
193: <span class="ruby-keyword kw">end</span>
|
|
1319
|
+
194:
|
|
1320
|
+
195:
|
|
1321
|
+
196: <span class="ruby-comment cmt"># Make sure we have some margins around the report.</span>
|
|
1322
|
+
197: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">frame</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'tj_page'</span>))
|
|
1323
|
+
198:
|
|
1324
|
+
199: <span class="ruby-identifier">frame</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_html</span>
|
|
1325
|
+
200:
|
|
1326
|
+
201: <span class="ruby-comment cmt"># The footer with some administrative information.</span>
|
|
1327
|
+
202: <span class="ruby-identifier">frame</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'copyright'</span>))
|
|
1328
|
+
203: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'copyright'</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">" - "</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'copyright'</span>]
|
|
1329
|
+
204: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"Project: #{@project['name']} "</span> <span class="ruby-operator">+</span>
|
|
1330
|
+
205: <span class="ruby-node">"Version: #{@project['version']} - "</span> <span class="ruby-operator">+</span>
|
|
1331
|
+
206: <span class="ruby-node">"Created on #{TjTime.now.to_s("%Y-%m-%d %H:%M:%S")} "</span> <span class="ruby-operator">+</span>
|
|
1332
|
+
207: <span class="ruby-value str">"with "</span>)
|
|
1333
|
+
208: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{AppConfig.softwareName}"</span>, <span class="ruby-value str">'a'</span>,
|
|
1334
|
+
209: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{AppConfig.contact}"</span>)
|
|
1335
|
+
210: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">" v#{AppConfig.version}"</span>)
|
|
1336
|
+
211:
|
|
1337
|
+
212: <span class="ruby-identifier">fileName</span> =
|
|
1338
|
+
213: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'interactive'</span>) <span class="ruby-operator">||</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span>
|
|
1339
|
+
214: <span class="ruby-comment cmt"># Interactive HTML reports are always sent to stdout.</span>
|
|
1340
|
+
215: <span class="ruby-value str">'.'</span>
|
|
1341
|
+
216: <span class="ruby-keyword kw">else</span>
|
|
1342
|
+
217: <span class="ruby-comment cmt"># Prepend the specified output directory unless the provided file</span>
|
|
1343
|
+
218: <span class="ruby-comment cmt"># name is an absolute file name.</span>
|
|
1344
|
+
219: ((<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1345
|
+
220: <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.html'</span>).<span class="ruby-identifier">untaint</span>
|
|
1346
|
+
221: <span class="ruby-keyword kw">end</span>
|
|
1347
|
+
222: <span class="ruby-identifier">html</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">fileName</span>)
|
|
1348
|
+
223: <span class="ruby-keyword kw">end</span></pre>
|
|
1311
1349
|
</div>
|
|
1312
1350
|
|
|
1313
1351
|
</div>
|
|
@@ -1340,17 +1378,24 @@ Generate Niku report
|
|
|
1340
1378
|
<div class="method-source-code"
|
|
1341
1379
|
id="generate-iku-source">
|
|
1342
1380
|
<pre>
|
|
1343
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1381
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 272</span>
|
|
1382
|
+
272: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateNiku</span>
|
|
1383
|
+
273: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'to_niku'</span>)
|
|
1384
|
+
274: <span class="ruby-identifier">warning</span>(<span class="ruby-value str">'niku_not_supported'</span>,
|
|
1385
|
+
275: <span class="ruby-node">"niku format is not supported for report #{@id} of "</span> <span class="ruby-operator">+</span>
|
|
1386
|
+
276: <span class="ruby-node">"type #{@typeSpec}."</span>)
|
|
1387
|
+
277: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
1388
|
+
278: <span class="ruby-keyword kw">end</span>
|
|
1389
|
+
279:
|
|
1390
|
+
280: <span class="ruby-keyword kw">begin</span>
|
|
1391
|
+
281: <span class="ruby-identifier">f</span> = <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">$stdout</span> <span class="ruby-operator">:</span>
|
|
1392
|
+
282: <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(((<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1393
|
+
283: <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.xml'</span>).<span class="ruby-identifier">untaint</span>, <span class="ruby-value str">'w'</span>)
|
|
1394
|
+
284: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{@content.to_niku}"</span>
|
|
1395
|
+
285: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">IOError</span>
|
|
1396
|
+
286: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'write_niku'</span>, <span class="ruby-node">"Cannot write to file #{@name}.\n#{$!}"</span>)
|
|
1397
|
+
287: <span class="ruby-keyword kw">end</span>
|
|
1398
|
+
288: <span class="ruby-keyword kw">end</span></pre>
|
|
1354
1399
|
</div>
|
|
1355
1400
|
|
|
1356
1401
|
</div>
|
|
@@ -1383,22 +1428,22 @@ Generate time sheet drafts.
|
|
|
1383
1428
|
<div class="method-source-code"
|
|
1384
1429
|
id="generate--source">
|
|
1385
1430
|
<pre>
|
|
1386
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1431
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 255</span>
|
|
1432
|
+
255: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateTJP</span>
|
|
1433
|
+
256: <span class="ruby-keyword kw">begin</span>
|
|
1434
|
+
257: <span class="ruby-identifier">fileName</span> = <span class="ruby-value str">'.'</span>
|
|
1435
|
+
258: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span>
|
|
1436
|
+
259: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">write</span>(<span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_tjp</span>)
|
|
1437
|
+
260: <span class="ruby-keyword kw">else</span>
|
|
1438
|
+
261: <span class="ruby-identifier">fileName</span> = (<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span>
|
|
1439
|
+
262: <span class="ruby-identifier">fileName</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'definitions'</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'project'</span>) <span class="ruby-operator">?</span> <span class="ruby-value str">'.tjp'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'.tji'</span>
|
|
1440
|
+
263: <span class="ruby-identifier">fileName</span>.<span class="ruby-identifier">untaint</span>
|
|
1441
|
+
264: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-value str">'w'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span>(<span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_tjp</span>) }
|
|
1442
|
+
265: <span class="ruby-keyword kw">end</span>
|
|
1443
|
+
266: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">IOError</span>
|
|
1444
|
+
267: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'write_tjp'</span>, <span class="ruby-node">"Cannot write to file #{fileName}.\n#{$!}"</span>)
|
|
1445
|
+
268: <span class="ruby-keyword kw">end</span>
|
|
1446
|
+
269: <span class="ruby-keyword kw">end</span></pre>
|
|
1402
1447
|
</div>
|
|
1403
1448
|
|
|
1404
1449
|
</div>
|