taskjuggler 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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,13 +69,13 @@
|
|
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-getResourceJournal">#getResourceJournal</a></li>
|
75
75
|
|
76
|
-
<li><a href="#
|
76
|
+
<li><a href="#method-i-sendReminder">#sendReminder</a></li>
|
77
77
|
|
78
|
-
<li><a href="#
|
78
|
+
<li><a href="#method-i-sendSummary">#sendSummary</a></li>
|
79
79
|
|
80
80
|
</ul>
|
81
81
|
</div>
|
@@ -92,6 +92,8 @@
|
|
92
92
|
<h3 class="section-header">Files</h3>
|
93
93
|
<ul>
|
94
94
|
|
95
|
+
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
96
|
+
|
95
97
|
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
96
98
|
|
97
99
|
<li class="file"><a href="../README.html">README</a></li>
|
@@ -261,6 +263,8 @@
|
|
261
263
|
|
262
264
|
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
263
265
|
|
266
|
+
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
267
|
+
|
264
268
|
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
265
269
|
|
266
270
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
@@ -275,6 +279,8 @@
|
|
275
279
|
|
276
280
|
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
277
281
|
|
282
|
+
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
283
|
+
|
278
284
|
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
279
285
|
|
280
286
|
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
@@ -291,12 +297,16 @@
|
|
291
297
|
|
292
298
|
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
293
299
|
|
300
|
+
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
301
|
+
|
294
302
|
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
295
303
|
|
296
304
|
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
297
305
|
|
298
306
|
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
299
307
|
|
308
|
+
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
309
|
+
|
300
310
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
301
311
|
|
302
312
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
@@ -315,6 +325,8 @@
|
|
315
325
|
|
316
326
|
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
317
327
|
|
328
|
+
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
329
|
+
|
318
330
|
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
319
331
|
|
320
332
|
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
@@ -443,6 +455,8 @@
|
|
443
455
|
|
444
456
|
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
445
457
|
|
458
|
+
<li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
459
|
+
|
446
460
|
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
447
461
|
|
448
462
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
@@ -487,8 +501,12 @@
|
|
487
501
|
|
488
502
|
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
489
503
|
|
504
|
+
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
505
|
+
|
490
506
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
491
507
|
|
508
|
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
509
|
+
|
492
510
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
493
511
|
|
494
512
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
@@ -515,6 +533,8 @@
|
|
515
533
|
|
516
534
|
<li><a href="../String.html">String</a></li>
|
517
535
|
|
536
|
+
<li><a href="../StringIO.html">StringIO</a></li>
|
537
|
+
|
518
538
|
</ul>
|
519
539
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
520
540
|
</div>
|
@@ -607,7 +627,7 @@ project data is accessed via tj3client on a tj3 server process.
|
|
607
627
|
|
608
628
|
|
609
629
|
<div id="new-method" class="method-detail ">
|
610
|
-
<a name="
|
630
|
+
<a name="method-c-new"></a>
|
611
631
|
|
612
632
|
<div class="method-heading">
|
613
633
|
|
@@ -631,7 +651,7 @@ project data is accessed via tj3client on a tj3 server process.
|
|
631
651
|
27: <span class="ruby-keyword kw">super</span>(<span class="ruby-value str">'tj3ts_summary'</span>, <span class="ruby-value str">'summary'</span>)
|
632
652
|
28:
|
633
653
|
29: <span class="ruby-comment cmt"># This is a LogicalExpression string that controls what resources should</span>
|
634
|
-
30: <span class="ruby-comment cmt"># not be
|
654
|
+
30: <span class="ruby-comment cmt"># not be considered in the summary.</span>
|
635
655
|
31: <span class="ruby-ivar">@hideResource</span> = <span class="ruby-value str">'0'</span>
|
636
656
|
32: <span class="ruby-comment cmt"># The base directory of the time sheet templates.</span>
|
637
657
|
33: <span class="ruby-ivar">@templateDir</span> = <span class="ruby-value str">'TimeSheetTemplates'</span>
|
@@ -648,9 +668,11 @@ project data is accessed via tj3client on a tj3 server process.
|
|
648
668
|
44: <span class="ruby-ivar">@resourceIntro</span> = <span class="ruby-value str">" Weekly Report from %s\n\n"</span>
|
649
669
|
45: <span class="ruby-ivar">@resourceSheetSubject</span> = <span class="ruby-value str">"Weekly report %s"</span>
|
650
670
|
46: <span class="ruby-ivar">@summarySubject</span> = <span class="ruby-value str">"Weekly staff reports %s"</span>
|
651
|
-
47: <span class="ruby-ivar">@reminderSubject</span> = <span class="ruby-value str">"Your
|
652
|
-
48: <span class="ruby-ivar">@reminderText</span> = <span class="ruby-value str">The deadline for your
|
653
|
-
49:
|
671
|
+
47: <span class="ruby-ivar">@reminderSubject</span> = <span class="ruby-value str">"Your time sheet for the period ending %s is overdue!"</span>
|
672
|
+
48: <span class="ruby-ivar">@reminderText</span> = <span class="ruby-value str">The deadline for your time sheet submission has passed but we haven't receivedit yet. Please submit your time sheet immediately so the content can still beincluded in the management reports. Please send a copy of your submissionnotification email to your manager. If possible, your manager will still tryto include your report data in his/her report.Please be aware that post deadline submissions must be processed manually andcreate an additional load for your manager and/or project manager. Please tryto submit in time in the future.Thanks for your cooperation!</span>
|
673
|
+
49: <span class="ruby-ivar">@defaulterHeader</span> = <span class="ruby-value str">"The following %d person(s) have not yet submitted "</span> <span class="ruby-operator">+</span>
|
674
|
+
50: <span class="ruby-value str">"their time sheets:\n\n"</span>
|
675
|
+
51: <span class="ruby-keyword kw">end</span></pre>
|
654
676
|
</div>
|
655
677
|
|
656
678
|
</div>
|
@@ -668,7 +690,7 @@ project data is accessed via tj3client on a tj3 server process.
|
|
668
690
|
|
669
691
|
|
670
692
|
<div id="send-ummary-method" class="method-detail ">
|
671
|
-
<a name="
|
693
|
+
<a name="method-i-sendSummary"></a>
|
672
694
|
|
673
695
|
<div class="method-heading">
|
674
696
|
|
@@ -687,54 +709,78 @@ project data is accessed via tj3client on a tj3 server process.
|
|
687
709
|
<div class="method-source-code"
|
688
710
|
id="send-ummary-source">
|
689
711
|
<pre>
|
690
|
-
<span class="ruby-comment cmt"># File lib/TimeSheetSummary.rb, line
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
712
|
+
<span class="ruby-comment cmt"># File lib/TimeSheetSummary.rb, line 66</span>
|
713
|
+
66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sendSummary</span>(<span class="ruby-identifier">resourceIds</span>)
|
714
|
+
67: <span class="ruby-identifier">setWorkingDir</span>
|
715
|
+
68:
|
716
|
+
69: <span class="ruby-identifier">summary</span> = <span class="ruby-value str">''</span>
|
717
|
+
70: <span class="ruby-identifier">defaulterList</span> = []
|
718
|
+
71: <span class="ruby-identifier">getResourceList</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>
|
719
|
+
72: <span class="ruby-identifier">resourceId</span> = <span class="ruby-identifier">resource</span>[<span class="ruby-value">0</span>]
|
720
|
+
73: <span class="ruby-identifier">resourceName</span> = <span class="ruby-identifier">resource</span>[<span class="ruby-value">1</span>]
|
721
|
+
74: <span class="ruby-identifier">resourceEmail</span> = <span class="ruby-identifier">resource</span>[<span class="ruby-value">2</span>]
|
722
|
+
75: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">resourceIds</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">resourceIds</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">resourceId</span>)
|
723
|
+
76:
|
724
|
+
77: <span class="ruby-identifier">templateFile</span> = <span class="ruby-node">"#{@templateDir}/#{@date}/#{resourceId}_#{@date}.tji"</span>
|
725
|
+
78: <span class="ruby-identifier">sheetFile</span> = <span class="ruby-node">"#{@sheetDir}/#{@date}/#{resourceId}_#{@date}.tji"</span>
|
726
|
+
79: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">templateFile</span>)
|
727
|
+
80: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">sheetFile</span>)
|
728
|
+
81: <span class="ruby-comment cmt"># If there are no recipients specified, we don't need to compile</span>
|
729
|
+
82: <span class="ruby-comment cmt"># the summary.</span>
|
730
|
+
83: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@digestRecipients</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@sheetRecipients</span>.<span class="ruby-identifier">empty?</span>
|
731
|
+
84: <span class="ruby-comment cmt"># Resource has submitted a time sheet</span>
|
732
|
+
85: <span class="ruby-identifier">sheet</span> = <span class="ruby-identifier">getResourceJournal</span>(<span class="ruby-identifier">sheetFile</span>)
|
733
|
+
86: <span class="ruby-identifier">summary</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-ivar">@resourceIntro</span>, <span class="ruby-identifier">resourceName</span>)
|
734
|
+
87: <span class="ruby-identifier">summary</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sheet</span> <span class="ruby-operator">+</span> <span class="ruby-node">"\n#{'-' * 74}\n\n"</span>
|
735
|
+
88: <span class="ruby-identifier">info</span>(<span class="ruby-node">"Adding report from #{resourceName} to summary"</span>)
|
736
|
+
89:
|
737
|
+
90: <span class="ruby-ivar">@sheetRecipients</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">to</span><span class="ruby-operator">|</span>
|
738
|
+
91: <span class="ruby-identifier">sendEmail</span>(<span class="ruby-identifier">to</span>, <span class="ruby-identifier">sprintf</span>(<span class="ruby-ivar">@resourceSheetSubject</span>, <span class="ruby-ivar">@date</span>), <span class="ruby-identifier">sheet</span>,
|
739
|
+
92: <span class="ruby-keyword kw">nil</span>, <span class="ruby-node">"#{resourceName} <#{resourceEmail}>"</span>)
|
740
|
+
93: <span class="ruby-keyword kw">end</span>
|
741
|
+
94: <span class="ruby-keyword kw">end</span>
|
742
|
+
95: <span class="ruby-keyword kw">else</span>
|
743
|
+
96: <span class="ruby-identifier">defaulterList</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">resource</span>
|
744
|
+
97: <span class="ruby-comment cmt"># Resource did not submit a time sheet</span>
|
745
|
+
98: <span class="ruby-identifier">info</span>(<span class="ruby-node">"Report from #{resourceId} is missing"</span>)
|
746
|
+
99: <span class="ruby-keyword kw">end</span>
|
747
|
+
100: <span class="ruby-keyword kw">end</span>
|
748
|
+
101: <span class="ruby-keyword kw">end</span>
|
749
|
+
102:
|
750
|
+
103: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">defaulterList</span>.<span class="ruby-identifier">empty?</span>
|
751
|
+
104: <span class="ruby-comment cmt"># Prepend the defaulter list to the summary.</span>
|
752
|
+
105: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">sprintf</span>(<span class="ruby-ivar">@defaulterHeader</span>, <span class="ruby-identifier">defaulterList</span>.<span class="ruby-identifier">length</span>)
|
753
|
+
106: <span class="ruby-identifier">defaulterList</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>
|
754
|
+
107: <span class="ruby-identifier">text</span> <span class="ruby-operator">+=</span> <span class="ruby-node">" * #{resource[1]}\n"</span>
|
755
|
+
108: <span class="ruby-keyword kw">end</span>
|
756
|
+
109: <span class="ruby-identifier">text</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"\n#{'-' * 74}\n\n"</span>
|
757
|
+
110: <span class="ruby-identifier">summary</span> = <span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">summary</span>
|
758
|
+
111:
|
759
|
+
112: <span class="ruby-comment cmt"># Create a file with the IDs of the resources who's reports are</span>
|
760
|
+
113: <span class="ruby-comment cmt"># missing.</span>
|
761
|
+
114: <span class="ruby-identifier">missingFile</span> = <span class="ruby-node">"#{@sheetDir}/#{@date}/missing-reports"</span>
|
762
|
+
115: <span class="ruby-keyword kw">begin</span>
|
763
|
+
116: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">missingFile</span>, <span class="ruby-value str">'w'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
764
|
+
117: <span class="ruby-identifier">defaulterList</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">resource</span>[<span class="ruby-value">0</span>] }
|
765
|
+
118: <span class="ruby-keyword kw">end</span>
|
766
|
+
119: <span class="ruby-keyword kw">rescue</span>
|
767
|
+
120: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Cannot write file with missing reports (#missingFile): #{$!}"</span>)
|
768
|
+
121: <span class="ruby-keyword kw">end</span>
|
769
|
+
122: <span class="ruby-keyword kw">end</span>
|
770
|
+
123:
|
771
|
+
124: <span class="ruby-comment cmt"># Send out the summary text to the list of digest recipients.</span>
|
772
|
+
125: <span class="ruby-ivar">@digestRecipients</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">to</span><span class="ruby-operator">|</span>
|
773
|
+
126: <span class="ruby-identifier">sendEmail</span>(<span class="ruby-identifier">to</span>, <span class="ruby-identifier">sprintf</span>(<span class="ruby-ivar">@summarySubject</span>, <span class="ruby-ivar">@date</span>), <span class="ruby-identifier">summary</span>)
|
774
|
+
127: <span class="ruby-keyword kw">end</span>
|
775
|
+
128:
|
776
|
+
129: <span class="ruby-comment cmt"># If there is a reminder text defined, resend the template to those</span>
|
777
|
+
130: <span class="ruby-comment cmt"># individuals that have not yet submitted their report yet.</span>
|
778
|
+
131: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@reminderText</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@reminderText</span>.<span class="ruby-identifier">empty?</span>
|
779
|
+
132: <span class="ruby-identifier">defaulterList</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>
|
780
|
+
133: <span class="ruby-identifier">sendReminder</span>(<span class="ruby-identifier">resource</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">resource</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">resource</span>[<span class="ruby-value">2</span>])
|
781
|
+
134: <span class="ruby-keyword kw">end</span>
|
782
|
+
135: <span class="ruby-keyword kw">end</span>
|
783
|
+
136: <span class="ruby-keyword kw">end</span></pre>
|
738
784
|
</div>
|
739
785
|
|
740
786
|
</div>
|
@@ -752,7 +798,7 @@ project data is accessed via tj3client on a tj3 server process.
|
|
752
798
|
|
753
799
|
|
754
800
|
<div id="get-esource-ournal-method" class="method-detail ">
|
755
|
-
<a name="
|
801
|
+
<a name="method-i-getResourceJournal"></a>
|
756
802
|
|
757
803
|
<div class="method-heading">
|
758
804
|
|
@@ -771,25 +817,25 @@ project data is accessed via tj3client on a tj3 server process.
|
|
771
817
|
<div class="method-source-code"
|
772
818
|
id="get-esource-ournal-source">
|
773
819
|
<pre>
|
774
|
-
<span class="ruby-comment cmt"># File lib/TimeSheetSummary.rb, line
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
820
|
+
<span class="ruby-comment cmt"># File lib/TimeSheetSummary.rb, line 152</span>
|
821
|
+
152: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getResourceJournal</span>(<span class="ruby-identifier">sheetFile</span>)
|
822
|
+
153: <span class="ruby-identifier">err</span> = <span class="ruby-value str">''</span>
|
823
|
+
154: <span class="ruby-identifier">status</span> = <span class="ruby-keyword kw">nil</span>
|
824
|
+
155: <span class="ruby-identifier">report</span> = <span class="ruby-keyword kw">nil</span>
|
825
|
+
156: <span class="ruby-identifier">warnings</span> = <span class="ruby-keyword kw">nil</span>
|
826
|
+
157: <span class="ruby-keyword kw">begin</span>
|
827
|
+
158: <span class="ruby-comment cmt"># Save a copy of the sheet for debugging purposes.</span>
|
828
|
+
159: <span class="ruby-identifier">command</span> = <span class="ruby-node">"tj3client --silent check-ts #{@projectId} #{sheetFile}"</span>
|
829
|
+
160: <span class="ruby-identifier">status</span> = <span class="ruby-constant">Open4</span>.<span class="ruby-identifier">popen4</span>(<span class="ruby-identifier">command</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pid</span>, <span class="ruby-identifier">stdin</span>, <span class="ruby-identifier">stdout</span>, <span class="ruby-identifier">stderr</span><span class="ruby-operator">|</span>
|
830
|
+
161: <span class="ruby-comment cmt"># Send the report to the tj3client process via stdin.</span>
|
831
|
+
162: <span class="ruby-identifier">report</span> = <span class="ruby-identifier">stdout</span>.<span class="ruby-identifier">read</span>
|
832
|
+
163: <span class="ruby-identifier">warnings</span> = <span class="ruby-identifier">stderr</span>.<span class="ruby-identifier">read</span>
|
833
|
+
164: <span class="ruby-keyword kw">end</span>
|
834
|
+
165: <span class="ruby-keyword kw">rescue</span>
|
835
|
+
166: <span class="ruby-identifier">fatal</span>(<span class="ruby-node">"Cannot summarize sheet: #{$!}"</span>)
|
836
|
+
167: <span class="ruby-keyword kw">end</span>
|
837
|
+
168: <span class="ruby-identifier">report</span>
|
838
|
+
169: <span class="ruby-keyword kw">end</span></pre>
|
793
839
|
</div>
|
794
840
|
|
795
841
|
</div>
|
@@ -801,7 +847,7 @@ project data is accessed via tj3client on a tj3 server process.
|
|
801
847
|
|
802
848
|
|
803
849
|
<div id="send-eminder-method" class="method-detail ">
|
804
|
-
<a name="
|
850
|
+
<a name="method-i-sendReminder"></a>
|
805
851
|
|
806
852
|
<div class="method-heading">
|
807
853
|
|
@@ -820,18 +866,18 @@ project data is accessed via tj3client on a tj3 server process.
|
|
820
866
|
<div class="method-source-code"
|
821
867
|
id="send-eminder-source">
|
822
868
|
<pre>
|
823
|
-
<span class="ruby-comment cmt"># File lib/TimeSheetSummary.rb, line
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
869
|
+
<span class="ruby-comment cmt"># File lib/TimeSheetSummary.rb, line 140</span>
|
870
|
+
140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sendReminder</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">email</span>)
|
871
|
+
141: <span class="ruby-identifier">attachment</span> = <span class="ruby-node">"#{@templateDir}/#{@date}/#{id}_#{@date}.tji"</span>
|
872
|
+
142: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">attachment</span>)
|
873
|
+
143: <span class="ruby-identifier">error</span>(<span class="ruby-value str">"sendReportTemplates: "</span> <span class="ruby-operator">+</span>
|
874
|
+
144: <span class="ruby-node">"#{@sheetType} sheet #{attachment} for #{name} not found"</span>)
|
875
|
+
145: <span class="ruby-keyword kw">end</span>
|
876
|
+
146:
|
877
|
+
147: <span class="ruby-identifier">message</span> = <span class="ruby-node">"Hello #{name}!\n\n#{@reminderText}"</span> <span class="ruby-operator">+</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">attachment</span>)
|
878
|
+
148:
|
879
|
+
149: <span class="ruby-identifier">sendEmail</span>(<span class="ruby-identifier">email</span>, <span class="ruby-identifier">sprintf</span>(<span class="ruby-ivar">@reminderSubject</span>, <span class="ruby-ivar">@date</span>), <span class="ruby-identifier">message</span>, <span class="ruby-identifier">attachment</span>)
|
880
|
+
150: <span class="ruby-keyword kw">end</span></pre>
|
835
881
|
</div>
|
836
882
|
|
837
883
|
</div>
|
@@ -69,11 +69,11 @@
|
|
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-check">#check</a></li>
|
75
75
|
|
76
|
-
<li><a href="#
|
76
|
+
<li><a href="#method-i-warnOnDelta">#warnOnDelta</a></li>
|
77
77
|
|
78
78
|
</ul>
|
79
79
|
</div>
|
@@ -90,6 +90,8 @@
|
|
90
90
|
<h3 class="section-header">Files</h3>
|
91
91
|
<ul>
|
92
92
|
|
93
|
+
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
94
|
+
|
93
95
|
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
94
96
|
|
95
97
|
<li class="file"><a href="../README.html">README</a></li>
|
@@ -259,6 +261,8 @@
|
|
259
261
|
|
260
262
|
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
261
263
|
|
264
|
+
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
265
|
+
|
262
266
|
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
263
267
|
|
264
268
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
@@ -273,6 +277,8 @@
|
|
273
277
|
|
274
278
|
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
275
279
|
|
280
|
+
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
281
|
+
|
276
282
|
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
277
283
|
|
278
284
|
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
@@ -289,12 +295,16 @@
|
|
289
295
|
|
290
296
|
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
291
297
|
|
298
|
+
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
299
|
+
|
292
300
|
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
293
301
|
|
294
302
|
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
295
303
|
|
296
304
|
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
297
305
|
|
306
|
+
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
307
|
+
|
298
308
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
299
309
|
|
300
310
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
@@ -313,6 +323,8 @@
|
|
313
323
|
|
314
324
|
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
315
325
|
|
326
|
+
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
327
|
+
|
316
328
|
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
317
329
|
|
318
330
|
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
@@ -441,6 +453,8 @@
|
|
441
453
|
|
442
454
|
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
443
455
|
|
456
|
+
<li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
457
|
+
|
444
458
|
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
445
459
|
|
446
460
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
@@ -485,8 +499,12 @@
|
|
485
499
|
|
486
500
|
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
487
501
|
|
502
|
+
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
503
|
+
|
488
504
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
489
505
|
|
506
|
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
507
|
+
|
490
508
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
491
509
|
|
492
510
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
@@ -513,6 +531,8 @@
|
|
513
531
|
|
514
532
|
<li><a href="../String.html">String</a></li>
|
515
533
|
|
534
|
+
<li><a href="../StringIO.html">StringIO</a></li>
|
535
|
+
|
516
536
|
</ul>
|
517
537
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
518
538
|
</div>
|
@@ -544,7 +564,7 @@ A class to hold all time sheets of a project.
|
|
544
564
|
|
545
565
|
|
546
566
|
<div id="new-method" class="method-detail ">
|
547
|
-
<a name="
|
567
|
+
<a name="method-c-new"></a>
|
548
568
|
|
549
569
|
<div class="method-heading">
|
550
570
|
|
@@ -584,7 +604,7 @@ A class to hold all time sheets of a project.
|
|
584
604
|
|
585
605
|
|
586
606
|
<div id="check-method" class="method-detail ">
|
587
|
-
<a name="
|
607
|
+
<a name="method-i-check"></a>
|
588
608
|
|
589
609
|
<div class="method-heading">
|
590
610
|
|
@@ -618,7 +638,7 @@ A class to hold all time sheets of a project.
|
|
618
638
|
|
619
639
|
|
620
640
|
<div id="warn-n-elta-method" class="method-detail ">
|
621
|
-
<a name="
|
641
|
+
<a name="method-i-warnOnDelta"></a>
|
622
642
|
|
623
643
|
<div class="method-heading">
|
624
644
|
|