taskjuggler 3.5.0 → 3.6.0
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.
- checksums.yaml +7 -0
- data/CHANGELOG +31 -0
- data/COPYING +72 -13
- data/README.rdoc +8 -8
- data/bin/tj3 +1 -1
- data/bin/tj3client +1 -1
- data/bin/tj3d +1 -1
- data/bin/tj3man +1 -1
- data/bin/tj3ss_receiver +1 -1
- data/bin/tj3ss_sender +1 -1
- data/bin/tj3ts_receiver +1 -1
- data/bin/tj3ts_sender +1 -1
- data/bin/tj3ts_summary +1 -1
- data/bin/tj3webd +1 -1
- data/data/tjp.vim +13 -5
- data/examples/Fedora-20/f-20.tjp +15 -15
- data/examples/ProjectTemplate/template.tjp +2 -2
- data/lib/header.tmpl +2 -2
- data/lib/taskjuggler/Account.rb +2 -2
- data/lib/taskjuggler/AccountCredit.rb +2 -2
- data/lib/taskjuggler/AccountScenario.rb +2 -2
- data/lib/taskjuggler/AlertLevelDefinitions.rb +2 -2
- data/lib/taskjuggler/AlgorithmDiff.rb +4 -4
- data/lib/taskjuggler/Allocation.rb +2 -2
- data/lib/taskjuggler/AppConfig.rb +3 -3
- data/lib/taskjuggler/AttributeBase.rb +12 -4
- data/lib/taskjuggler/AttributeDefinition.rb +2 -2
- data/lib/taskjuggler/Attributes.rb +3 -3
- data/lib/taskjuggler/BatchProcessor.rb +2 -2
- data/lib/taskjuggler/Booking.rb +2 -2
- data/lib/taskjuggler/Charge.rb +2 -2
- data/lib/taskjuggler/ChargeSet.rb +2 -2
- data/lib/taskjuggler/DataCache.rb +2 -2
- data/lib/taskjuggler/FileList.rb +2 -2
- data/lib/taskjuggler/HTMLDocument.rb +2 -2
- data/lib/taskjuggler/HTMLElements.rb +3 -3
- data/lib/taskjuggler/ICalendar.rb +2 -2
- data/lib/taskjuggler/Interval.rb +2 -2
- data/lib/taskjuggler/IntervalList.rb +2 -2
- data/lib/taskjuggler/Journal.rb +2 -2
- data/lib/taskjuggler/KateSyntax.rb +2 -2
- data/lib/taskjuggler/KeywordArray.rb +2 -2
- data/lib/taskjuggler/KeywordDocumentation.rb +55 -33
- data/lib/taskjuggler/LeaveList.rb +4 -3
- data/lib/taskjuggler/Limits.rb +2 -2
- data/lib/taskjuggler/Log.rb +2 -2
- data/lib/taskjuggler/LogicalExpression.rb +2 -2
- data/lib/taskjuggler/LogicalFunction.rb +15 -3
- data/lib/taskjuggler/LogicalOperation.rb +15 -10
- data/lib/taskjuggler/MessageHandler.rb +2 -2
- data/lib/taskjuggler/PTNProxy.rb +2 -2
- data/lib/taskjuggler/Painter.rb +2 -2
- data/lib/taskjuggler/Project.rb +8 -2
- data/lib/taskjuggler/ProjectFileParser.rb +3 -3
- data/lib/taskjuggler/ProjectFileScanner.rb +2 -2
- data/lib/taskjuggler/PropertyList.rb +8 -15
- data/lib/taskjuggler/PropertySet.rb +6 -2
- data/lib/taskjuggler/PropertyTreeNode.rb +20 -2
- data/lib/taskjuggler/Query.rb +9 -4
- data/lib/taskjuggler/RealFormat.rb +2 -2
- data/lib/taskjuggler/Resource.rb +2 -2
- data/lib/taskjuggler/ResourceScenario.rb +45 -33
- data/lib/taskjuggler/RichText.rb +2 -2
- data/lib/taskjuggler/RichText/Document.rb +2 -2
- data/lib/taskjuggler/RichText/Element.rb +2 -2
- data/lib/taskjuggler/RichText/FunctionExample.rb +2 -2
- data/lib/taskjuggler/RichText/FunctionHandler.rb +2 -2
- data/lib/taskjuggler/RichText/Parser.rb +2 -2
- data/lib/taskjuggler/RichText/RTFHandlers.rb +2 -2
- data/lib/taskjuggler/RichText/RTFNavigator.rb +2 -2
- data/lib/taskjuggler/RichText/RTFQuery.rb +2 -2
- data/lib/taskjuggler/RichText/RTFReport.rb +2 -2
- data/lib/taskjuggler/RichText/RTFReportLink.rb +2 -2
- data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +2 -2
- data/lib/taskjuggler/RichText/Scanner.rb +2 -2
- data/lib/taskjuggler/RichText/Snip.rb +2 -2
- data/lib/taskjuggler/RichText/SyntaxRules.rb +2 -2
- data/lib/taskjuggler/RichText/TOCEntry.rb +2 -2
- data/lib/taskjuggler/RichText/TableOfContents.rb +2 -2
- data/lib/taskjuggler/RuntimeConfig.rb +4 -4
- data/lib/taskjuggler/Scenario.rb +2 -2
- data/lib/taskjuggler/ScenarioData.rb +2 -2
- data/lib/taskjuggler/Scoreboard.rb +2 -2
- data/lib/taskjuggler/SheetHandlerBase.rb +3 -3
- data/lib/taskjuggler/SheetReceiver.rb +2 -2
- data/lib/taskjuggler/SheetSender.rb +2 -2
- data/lib/taskjuggler/Shift.rb +2 -2
- data/lib/taskjuggler/ShiftAssignments.rb +2 -2
- data/lib/taskjuggler/ShiftScenario.rb +2 -2
- data/lib/taskjuggler/SimpleQueryExpander.rb +2 -2
- data/lib/taskjuggler/StatusSheetReceiver.rb +2 -2
- data/lib/taskjuggler/StatusSheetSender.rb +4 -4
- data/lib/taskjuggler/StdIoWrapper.rb +2 -2
- data/lib/taskjuggler/SyntaxReference.rb +3 -3
- data/lib/taskjuggler/TableColumnDefinition.rb +2 -2
- data/lib/taskjuggler/TableColumnSorter.rb +2 -2
- data/lib/taskjuggler/Task.rb +2 -2
- data/lib/taskjuggler/TaskDependency.rb +2 -2
- data/lib/taskjuggler/TaskJuggler.rb +3 -4
- data/lib/taskjuggler/TaskScenario.rb +138 -60
- data/lib/taskjuggler/TernarySearchTree.rb +2 -2
- data/lib/taskjuggler/TextFormatter.rb +2 -2
- data/lib/taskjuggler/TextParser.rb +2 -2
- data/lib/taskjuggler/TextParser/MacroTable.rb +2 -2
- data/lib/taskjuggler/TextParser/Pattern.rb +2 -2
- data/lib/taskjuggler/TextParser/Rule.rb +2 -2
- data/lib/taskjuggler/TextParser/Scanner.rb +3 -3
- data/lib/taskjuggler/TextParser/SourceFileInfo.rb +2 -2
- data/lib/taskjuggler/TextParser/StackElement.rb +2 -2
- data/lib/taskjuggler/TextParser/State.rb +2 -2
- data/lib/taskjuggler/TextParser/TokenDoc.rb +2 -2
- data/lib/taskjuggler/TimeSheetReceiver.rb +2 -2
- data/lib/taskjuggler/TimeSheetSender.rb +2 -2
- data/lib/taskjuggler/TimeSheetSummary.rb +3 -3
- data/lib/taskjuggler/TimeSheets.rb +2 -2
- data/lib/taskjuggler/Tj3AppBase.rb +2 -2
- data/lib/taskjuggler/Tj3Config.rb +5 -5
- data/lib/taskjuggler/Tj3SheetAppBase.rb +2 -2
- data/lib/taskjuggler/TjException.rb +2 -2
- data/lib/taskjuggler/TjTime.rb +2 -2
- data/lib/taskjuggler/TjpExample.rb +2 -2
- data/lib/taskjuggler/TjpSyntaxRules.rb +206 -52
- data/lib/taskjuggler/URLParameter.rb +2 -2
- data/lib/taskjuggler/UTF8String.rb +2 -2
- data/lib/taskjuggler/UserManual.rb +3 -2
- data/lib/taskjuggler/VimSyntax.rb +4 -4
- data/lib/taskjuggler/WorkingHours.rb +2 -2
- data/lib/taskjuggler/XMLDocument.rb +2 -2
- data/lib/taskjuggler/XMLElement.rb +2 -2
- data/lib/taskjuggler/apps/Tj3.rb +2 -2
- data/lib/taskjuggler/apps/Tj3Client.rb +2 -2
- data/lib/taskjuggler/apps/Tj3Daemon.rb +7 -3
- data/lib/taskjuggler/apps/Tj3Man.rb +3 -3
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +2 -2
- data/lib/taskjuggler/apps/Tj3SsSender.rb +2 -2
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +2 -2
- data/lib/taskjuggler/apps/Tj3TsSender.rb +2 -2
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +2 -2
- data/lib/taskjuggler/apps/Tj3WebD.rb +7 -3
- data/lib/taskjuggler/daemon/Daemon.rb +2 -2
- data/lib/taskjuggler/daemon/DaemonConnector.rb +2 -2
- data/lib/taskjuggler/daemon/ProcessIntercom.rb +4 -3
- data/lib/taskjuggler/daemon/ProjectBroker.rb +2 -2
- data/lib/taskjuggler/daemon/ProjectServer.rb +2 -2
- data/lib/taskjuggler/daemon/ReportServer.rb +2 -2
- data/lib/taskjuggler/daemon/ReportServlet.rb +22 -11
- data/lib/taskjuggler/daemon/WebServer.rb +2 -2
- data/lib/taskjuggler/daemon/WelcomePage.rb +2 -2
- data/lib/taskjuggler/deep_copy.rb +2 -2
- data/lib/taskjuggler/reports/AccountListRE.rb +2 -2
- data/lib/taskjuggler/reports/CSVFile.rb +2 -2
- data/lib/taskjuggler/reports/ChartPlotter.rb +2 -2
- data/lib/taskjuggler/reports/CollisionDetector.rb +2 -2
- data/lib/taskjuggler/reports/ColumnTable.rb +2 -2
- data/lib/taskjuggler/reports/ExportRE.rb +2 -2
- data/lib/taskjuggler/reports/GanttChart.rb +2 -2
- data/lib/taskjuggler/reports/GanttContainer.rb +2 -2
- data/lib/taskjuggler/reports/GanttHeader.rb +2 -2
- data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +2 -2
- data/lib/taskjuggler/reports/GanttLine.rb +8 -5
- data/lib/taskjuggler/reports/GanttLoadStack.rb +2 -2
- data/lib/taskjuggler/reports/GanttMilestone.rb +2 -2
- data/lib/taskjuggler/reports/GanttRouter.rb +2 -2
- data/lib/taskjuggler/reports/GanttTaskBar.rb +2 -2
- data/lib/taskjuggler/reports/HTMLGraphics.rb +2 -2
- data/lib/taskjuggler/reports/ICalReport.rb +2 -2
- data/lib/taskjuggler/reports/MspXmlRE.rb +6 -3
- data/lib/taskjuggler/reports/Navigator.rb +2 -2
- data/lib/taskjuggler/reports/NikuReport.rb +2 -2
- data/lib/taskjuggler/reports/Report.rb +6 -6
- data/lib/taskjuggler/reports/ReportBase.rb +2 -2
- data/lib/taskjuggler/reports/ReportContext.rb +2 -2
- data/lib/taskjuggler/reports/ReportTable.rb +2 -2
- data/lib/taskjuggler/reports/ReportTableCell.rb +2 -2
- data/lib/taskjuggler/reports/ReportTableColumn.rb +2 -2
- data/lib/taskjuggler/reports/ReportTableLegend.rb +2 -2
- data/lib/taskjuggler/reports/ReportTableLine.rb +2 -2
- data/lib/taskjuggler/reports/ResourceListRE.rb +2 -2
- data/lib/taskjuggler/reports/StatusSheetReport.rb +2 -2
- data/lib/taskjuggler/reports/TableReport.rb +22 -19
- data/lib/taskjuggler/reports/TableReportColumn.rb +2 -2
- data/lib/taskjuggler/reports/TagFile.rb +2 -2
- data/lib/taskjuggler/reports/TaskListRE.rb +2 -2
- data/lib/taskjuggler/reports/TextReport.rb +2 -2
- data/lib/taskjuggler/reports/TimeSheetReport.rb +2 -2
- data/lib/taskjuggler/reports/TjpExportRE.rb +2 -2
- data/lib/taskjuggler/reports/TraceReport.rb +3 -3
- data/lib/tj3.rb +2 -2
- data/lib/tj3client.rb +2 -2
- data/lib/tj3d.rb +2 -2
- data/lib/tj3man.rb +2 -2
- data/lib/tj3ss_receiver.rb +2 -2
- data/lib/tj3ss_sender.rb +2 -2
- data/lib/tj3ts_receiver.rb +2 -2
- data/lib/tj3ts_sender.rb +2 -2
- data/lib/tj3ts_summary.rb +2 -2
- data/lib/tj3webd.rb +2 -2
- data/manual/Day_To_Day_Juggling +7 -7
- data/manual/Getting_Started +2 -2
- data/manual/Installation +4 -4
- data/manual/Intro +1 -1
- data/manual/List_Attributes +45 -0
- data/manual/Rich_Text_Attributes +5 -5
- data/manual/Software +1 -1
- data/manual/TaskJuggler_2x_Migration +2 -2
- data/manual/html/Day_To_Day_Juggling.html +9 -9
- data/manual/html/Getting_Started.html +3 -3
- data/manual/html/How_To_Contribute.html +2 -2
- data/manual/html/Installation.html +6 -6
- data/manual/html/Intro.html +3 -3
- data/manual/html/List_Attributes.html +76 -0
- data/manual/html/Reporting_Bugs.html +2 -2
- data/manual/html/Rich_Text_Attributes.html +9 -9
- data/manual/html/Software.html +5 -5
- data/manual/html/TaskJuggler_2x_Migration.html +4 -4
- data/manual/html/TaskJuggler_Internals.html +2 -2
- data/manual/html/The_TaskJuggler_Syntax.html +2 -2
- data/manual/html/Tutorial.html +2 -2
- data/manual/html/account.html +5 -3
- data/manual/html/account.task.html +5 -3
- data/manual/html/accountprefix.html +5 -3
- data/manual/html/accountreport.html +5 -3
- data/manual/html/accountroot.html +5 -3
- data/manual/html/active.html +5 -3
- data/manual/html/adopt.task.html +5 -3
- data/manual/html/aggregate.html +5 -3
- data/manual/html/alert.html +5 -3
- data/manual/html/alertlevels.html +5 -3
- data/manual/html/allocate.html +6 -3
- data/manual/html/alphabet.html +1 -1
- data/manual/html/alternative.html +5 -3
- data/manual/html/author.html +5 -3
- data/manual/html/auxdir.html +5 -3
- data/manual/html/auxdir.report.html +5 -3
- data/manual/html/balance.html +5 -3
- data/manual/html/booking.resource.html +6 -4
- data/manual/html/booking.task.html +7 -4
- data/manual/html/caption.html +5 -3
- data/manual/html/cellcolor.column.html +5 -3
- data/manual/html/celltext.column.html +5 -3
- data/manual/html/center.html +5 -3
- data/manual/html/charge.html +6 -3
- data/manual/html/chargeset.html +6 -3
- data/manual/html/columnid.html +24 -15
- data/manual/html/columns.html +6 -3
- data/manual/html/complete.html +5 -3
- data/manual/html/copyright.html +5 -3
- data/manual/html/credits.html +6 -3
- data/manual/html/currency.html +5 -3
- data/manual/html/currencyformat.html +5 -3
- data/manual/html/dailymax.html +5 -3
- data/manual/html/dailymin.html +5 -3
- data/manual/html/dailyworkinghours.html +5 -3
- data/manual/html/date.extend.html +5 -3
- data/manual/html/date.html +5 -3
- data/manual/html/definitions.html +5 -3
- data/manual/html/depends.html +6 -3
- data/manual/html/details.html +5 -3
- data/manual/html/disabled.html +5 -3
- data/manual/html/duration.html +5 -3
- data/manual/html/efficiency.html +5 -3
- data/manual/html/effort.html +7 -5
- data/manual/html/effortdone.html +105 -0
- data/manual/html/effortleft.html +105 -0
- data/manual/html/email.html +7 -5
- data/manual/html/enabled.html +5 -3
- data/manual/html/end.column.html +5 -3
- data/manual/html/end.html +5 -3
- data/manual/html/end.limit.html +5 -3
- data/manual/html/end.report.html +5 -3
- data/manual/html/end.timesheet.html +5 -3
- data/manual/html/endcredit.html +5 -3
- data/manual/html/epilog.html +5 -3
- data/manual/html/export.html +5 -3
- data/manual/html/extend.html +5 -3
- data/manual/html/fail.html +6 -3
- data/manual/html/fdl.html +2 -2
- data/manual/html/flags.account.html +6 -3
- data/manual/html/flags.html +5 -3
- data/manual/html/flags.journalentry.html +5 -3
- data/manual/html/flags.report.html +6 -3
- data/manual/html/flags.resource.html +6 -3
- data/manual/html/flags.statussheet.html +5 -3
- data/manual/html/flags.task.html +6 -3
- data/manual/html/flags.timesheet.html +5 -3
- data/manual/html/fontcolor.column.html +5 -3
- data/manual/html/footer.html +5 -3
- data/manual/html/formats.export.html +6 -4
- data/manual/html/formats.html +6 -3
- data/manual/html/functions.html +5 -3
- data/manual/html/gapduration.html +6 -4
- data/manual/html/gaplength.html +6 -4
- data/manual/html/halign.center.html +5 -3
- data/manual/html/halign.column.html +5 -3
- data/manual/html/halign.left.html +5 -3
- data/manual/html/halign.right.html +5 -3
- data/manual/html/hasalert.html +5 -3
- data/manual/html/header.html +5 -3
- data/manual/html/headline.html +5 -3
- data/manual/html/height.html +5 -3
- data/manual/html/hideaccount.html +5 -3
- data/manual/html/hidejournalentry.html +5 -3
- data/manual/html/hidereport.html +5 -3
- data/manual/html/hideresource.html +5 -3
- data/manual/html/hidetask.html +5 -3
- data/manual/html/icalreport.html +5 -3
- data/manual/html/include.macro.html +5 -3
- data/manual/html/include.project.html +5 -3
- data/manual/html/include.properties.html +5 -3
- data/manual/html/index.html +1 -1
- data/manual/html/inherit.extend.html +5 -3
- data/manual/html/interval1.html +5 -3
- data/manual/html/interval2.html +5 -3
- data/manual/html/interval3.html +5 -3
- data/manual/html/interval4.html +5 -3
- data/manual/html/isactive.html +5 -3
- data/manual/html/ischildof.html +5 -3
- data/manual/html/isdependencyof.html +5 -3
- data/manual/html/isdutyof.html +5 -3
- data/manual/html/isfeatureof.html +5 -3
- data/manual/html/isleaf.html +5 -3
- data/manual/html/ismilestone.html +5 -3
- data/manual/html/isongoing.html +5 -3
- data/manual/html/isresource.html +5 -3
- data/manual/html/isresponsibilityof.html +5 -3
- data/manual/html/istask.html +5 -3
- data/manual/html/isvalid.html +5 -3
- data/manual/html/journalattributes.html +5 -3
- data/manual/html/journalentry.html +5 -3
- data/manual/html/journalmode.html +5 -3
- data/manual/html/leaveallowance.html +5 -3
- data/manual/html/leaves.html +13 -6
- data/manual/html/left.html +5 -3
- data/manual/html/length.html +5 -3
- data/manual/html/limits.allocate.html +5 -3
- data/manual/html/limits.html +5 -3
- data/manual/html/limits.resource.html +5 -3
- data/manual/html/limits.task.html +5 -3
- data/manual/html/listitem.column.html +5 -3
- data/manual/html/listtype.column.html +5 -3
- data/manual/html/loadunit.html +5 -3
- data/manual/html/logicalexpression.html +6 -4
- data/manual/html/logicalflagexpression.html +5 -3
- data/manual/html/macro.html +5 -3
- data/manual/html/managers.html +6 -3
- data/manual/html/mandatory.html +5 -3
- data/manual/html/maxend.html +5 -3
- data/manual/html/maximum.html +5 -3
- data/manual/html/maxstart.html +5 -3
- data/manual/html/milestone.html +5 -3
- data/manual/html/minend.html +5 -3
- data/manual/html/minimum.html +5 -3
- data/manual/html/minstart.html +5 -3
- data/manual/html/monthlymax.html +5 -3
- data/manual/html/monthlymin.html +5 -3
- data/manual/html/navbar.html +7 -1
- data/manual/html/navigator.html +5 -3
- data/manual/html/newtask.html +5 -3
- data/manual/html/nikureport.html +5 -3
- data/manual/html/note.task.html +5 -3
- data/manual/html/now.html +5 -3
- data/manual/html/number.extend.html +5 -3
- data/manual/html/numberformat.html +5 -3
- data/manual/html/onend.html +5 -3
- data/manual/html/onstart.html +5 -3
- data/manual/html/opennodes.html +5 -3
- data/manual/html/outputdir.html +5 -3
- data/manual/html/overtime.booking.html +5 -3
- data/manual/html/period.column.html +5 -3
- data/manual/html/period.limit.html +5 -3
- data/manual/html/period.report.html +5 -3
- data/manual/html/period.task.html +5 -3
- data/manual/html/persistent.html +5 -3
- data/manual/html/precedes.html +6 -3
- data/manual/html/priority.html +5 -3
- data/manual/html/priority.timesheet.html +5 -3
- data/manual/html/project.html +5 -3
- data/manual/html/projectid.html +5 -3
- data/manual/html/projectid.task.html +5 -3
- data/manual/html/projectids.html +5 -3
- data/manual/html/projection.html +5 -3
- data/manual/html/prolog.html +5 -3
- data/manual/html/properties.html +5 -3
- data/manual/html/purge.html +5 -3
- data/manual/html/rate.html +5 -3
- data/manual/html/rate.resource.html +5 -3
- data/manual/html/rawhtmlhead.html +5 -3
- data/manual/html/reference.extend.html +5 -3
- data/manual/html/remaining.html +5 -3
- data/manual/html/replace.html +5 -3
- data/manual/html/reportprefix.html +5 -3
- data/manual/html/resource.html +5 -3
- data/manual/html/resourceattributes.html +5 -3
- data/manual/html/resourceprefix.html +5 -3
- data/manual/html/resourcereport.html +5 -3
- data/manual/html/resourceroot.html +5 -3
- data/manual/html/resources.limit.html +5 -3
- data/manual/html/responsible.html +6 -3
- data/manual/html/richtext.extend.html +5 -3
- data/manual/html/right.html +5 -3
- data/manual/html/rollupaccount.html +5 -3
- data/manual/html/rollupresource.html +5 -3
- data/manual/html/rolluptask.html +5 -3
- data/manual/html/scale.column.html +5 -3
- data/manual/html/scenario.html +5 -3
- data/manual/html/scenario.ical.html +5 -3
- data/manual/html/scenarios.export.html +5 -3
- data/manual/html/scenarios.html +6 -3
- data/manual/html/scenariospecific.extend.html +5 -3
- data/manual/html/scheduled.html +6 -4
- data/manual/html/scheduling.html +7 -5
- data/manual/html/schedulingmode.html +74 -0
- data/manual/html/select.html +7 -5
- data/manual/html/selfcontained.html +5 -3
- data/manual/html/shift.allocate.html +5 -3
- data/manual/html/shift.html +5 -3
- data/manual/html/shift.resource.html +5 -3
- data/manual/html/shift.task.html +5 -3
- data/manual/html/shift.timesheet.html +5 -3
- data/manual/html/shifts.allocate.html +5 -3
- data/manual/html/shifts.resource.html +5 -3
- data/manual/html/shifts.task.html +6 -4
- data/manual/html/shorttimeformat.html +5 -3
- data/manual/html/sloppy.booking.html +5 -3
- data/manual/html/sloppy.projection.html +5 -3
- data/manual/html/sortaccounts.html +6 -4
- data/manual/html/sortjournalentries.html +5 -3
- data/manual/html/sortresources.html +6 -4
- data/manual/html/sorttasks.html +6 -4
- data/manual/html/start.column.html +5 -3
- data/manual/html/start.html +5 -3
- data/manual/html/start.limit.html +5 -3
- data/manual/html/start.report.html +5 -3
- data/manual/html/startcredit.html +5 -3
- data/manual/html/status.statussheet.html +5 -3
- data/manual/html/status.timesheet.html +5 -3
- data/manual/html/statussheet.html +5 -3
- data/manual/html/statussheetreport.html +5 -3
- data/manual/html/strict.projection.html +5 -3
- data/manual/html/summary.html +5 -3
- data/manual/html/supplement.html +5 -3
- data/manual/html/supplement.resource.html +5 -3
- data/manual/html/supplement.task.html +24 -4
- data/manual/html/tagfile.html +5 -3
- data/manual/html/task.html +24 -4
- data/manual/html/task.statussheet.html +5 -3
- data/manual/html/task.timesheet.html +5 -3
- data/manual/html/taskattributes.html +5 -3
- data/manual/html/taskprefix.html +5 -3
- data/manual/html/taskreport.html +5 -3
- data/manual/html/taskroot.export.html +5 -3
- data/manual/html/taskroot.html +5 -3
- data/manual/html/text.extend.html +5 -3
- data/manual/html/textreport.html +5 -3
- data/manual/html/timeformat.html +5 -3
- data/manual/html/timeformat1.html +5 -3
- data/manual/html/timeformat2.html +5 -3
- data/manual/html/timeoff.nikureport.html +5 -3
- data/manual/html/timesheet.html +5 -3
- data/manual/html/timesheetreport.html +5 -3
- data/manual/html/timezone.export.html +5 -3
- data/manual/html/timezone.html +5 -3
- data/manual/html/timezone.report.html +5 -3
- data/manual/html/timezone.shift.html +5 -3
- data/manual/html/timingresolution.html +5 -3
- data/manual/html/title.column.html +5 -3
- data/manual/html/title.html +5 -3
- data/manual/html/toc.html +251 -223
- data/manual/html/tooltip.column.html +5 -3
- data/manual/html/tracereport.html +6 -3
- data/manual/html/trackingscenario.html +5 -3
- data/manual/html/treelevel.html +5 -3
- data/manual/html/vacation.html +5 -3
- data/manual/html/vacation.resource.html +5 -3
- data/manual/html/vacation.shift.html +5 -3
- data/manual/html/warn.html +6 -3
- data/manual/html/weeklymax.html +5 -3
- data/manual/html/weeklymin.html +5 -3
- data/manual/html/weekstartsmonday.html +5 -3
- data/manual/html/weekstartssunday.html +5 -3
- data/manual/html/width.column.html +5 -3
- data/manual/html/width.html +5 -3
- data/manual/html/work.html +5 -3
- data/manual/html/workinghours.project.html +5 -3
- data/manual/html/workinghours.resource.html +5 -3
- data/manual/html/workinghours.shift.html +5 -3
- data/manual/html/yearlyworkingdays.html +5 -3
- data/spec/Color_spec.rb +6 -2
- data/spec/ICalendar_spec.rb +6 -2
- data/spec/IntervalList_spec.rb +7 -3
- data/spec/ProjectBroker_spec.rb +6 -2
- data/spec/StatusSheets_spec.rb +6 -2
- data/spec/TableColumnSorter_spec.rb +6 -2
- data/spec/TernarySearchTree_spec.rb +8 -4
- data/spec/TimeSheets_spec.rb +6 -2
- data/spec/Tj3Daemon_spec.rb +6 -2
- data/spec/Tj3_spec.rb +6 -2
- data/spec/TraceReport_spec.rb +2 -2
- data/spec/support/DaemonControl.rb +2 -2
- data/spec/support/spec_helper.rb +2 -2
- data/taskjuggler.gemspec +1 -1
- data/test/MessageChecker.rb +2 -2
- data/test/ReferenceGenerator.rb +2 -2
- data/test/TestSuite/CSV-Reports/headcount.tjp +1 -0
- data/test/TestSuite/ReportGenerator/Correct/JournalMode.tjp +1 -1
- data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-1.csv +9 -9
- data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-2.csv +46 -48
- data/test/TestSuite/Scheduler/Correct/Depends.tjp +17 -0
- data/test/TestSuite/Scheduler/Correct/Precedes.tjp +17 -0
- data/test/TestSuite/Scheduler/Correct/Scheduled.tjp +11 -0
- data/test/TestSuite/Scheduler/Correct/SchedulingMode.tjp +45 -0
- data/test/TestSuite/{Syntax → Scheduler}/Errors/not_scheduled.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Booking.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/ListAttributes.tjp +48 -0
- data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/working_duration_too_small.tjp +6 -0
- data/test/TjpGen.rb +2 -2
- data/test/all.rb +2 -2
- data/test/test_AlgorithmDiff.rb +2 -2
- data/test/test_BatchProcessor.rb +2 -2
- data/test/test_CSV-Reports.rb +2 -2
- data/test/test_CSVFile.rb +2 -2
- data/test/test_CollisionDetector.rb +2 -2
- data/test/test_Export-Reports.rb +2 -2
- data/test/test_Journal.rb +2 -2
- data/test/test_Limits.rb +2 -2
- data/test/test_LogicalExpression.rb +2 -2
- data/test/test_MacroTable.rb +2 -2
- data/test/test_Project.rb +2 -2
- data/test/test_ProjectFileScanner.rb +2 -2
- data/test/test_PropertySet.rb +2 -2
- data/test/test_Query.rb +2 -2
- data/test/test_RealFormat.rb +2 -2
- data/test/test_ReportGenerator.rb +2 -2
- data/test/test_RichText.rb +2 -2
- data/test/test_Scheduler.rb +2 -2
- data/test/test_ShiftAssignments.rb +2 -2
- data/test/test_SimpleQueryExpander.rb +2 -2
- data/test/test_Syntax.rb +2 -2
- data/test/test_TextFormatter.rb +2 -2
- data/test/test_TjTime.rb +2 -2
- data/test/test_TjpExample.rb +2 -2
- data/test/test_URLParameter.rb +2 -2
- data/test/test_UTF8String.rb +2 -2
- data/test/test_WorkingHours.rb +2 -2
- data/test/test_deep_copy.rb +2 -2
- metadata +346 -350
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = CSVFile.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ChartPlotter.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = CollisionDetector.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ColumnTable.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ExportRE.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttChart.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttContainer.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttHeader.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttHeaderScaleItem.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttLine.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -32,7 +32,7 @@ class TaskJuggler
|
|
32
32
|
attr_reader :y, :height, :query
|
33
33
|
|
34
34
|
# Create a GanttLine object and generate the abstract representation.
|
35
|
-
def initialize(chart, query, y, height, tooltip)
|
35
|
+
def initialize(chart, query, y, height, lineIndex, tooltip)
|
36
36
|
# A reference to the chart that the line belongs to.
|
37
37
|
@chart = chart
|
38
38
|
# Register the line with the chart.
|
@@ -49,6 +49,9 @@ class TaskJuggler
|
|
49
49
|
@y = y + chart.header.height + 1
|
50
50
|
# The height of the line in screen pixels.
|
51
51
|
@height = height
|
52
|
+
# The index of the line in the chart. It starts with 0 and is
|
53
|
+
# incremented for each line by one.
|
54
|
+
@lineIndex = lineIndex
|
52
55
|
# The x coordinates of the time-off zones. It's an Array of [ startX, endX
|
53
56
|
# ] touples.
|
54
57
|
@timeOffZones = []
|
@@ -133,7 +136,7 @@ class TaskJuggler
|
|
133
136
|
# appear in the scope of a resource.
|
134
137
|
def generateTask
|
135
138
|
# Set the background color
|
136
|
-
@category = "taskcell#{(@
|
139
|
+
@category = "taskcell#{(@lineIndex + 1) % 2 + 1}"
|
137
140
|
|
138
141
|
project = @query.project
|
139
142
|
property = @query.property
|
@@ -228,7 +231,7 @@ class TaskJuggler
|
|
228
231
|
# line or appear in the scope of a task.
|
229
232
|
def generateResource
|
230
233
|
# Set the alternating background color
|
231
|
-
@category = "resourcecell#{(@
|
234
|
+
@category = "resourcecell#{(@lineIndex + 1) % 2 + 1}"
|
232
235
|
|
233
236
|
# The cellStartDate Array contains the end of the final cell as last
|
234
237
|
# element. We need to use a shift mechanism to start and end
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttLoadStack.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttMilestone.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttRouter.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = GanttTaskBar.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = HTMLGraphics.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ICalReport.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = MspXmlRE.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -53,7 +53,10 @@ class TaskJuggler
|
|
53
53
|
# Prepare the task list.
|
54
54
|
@taskList = PropertyList.new(@project.tasks)
|
55
55
|
@taskList.includeAdopted
|
56
|
-
|
56
|
+
# The MSP XML format requires that the tasks are listed in 'tree' order.
|
57
|
+
# We purposely ignore the user provided sorting criteria.
|
58
|
+
@taskList.setSorting([ [ 'tree', true, -1 ],
|
59
|
+
[ 'seqno', true, -1 ] ])
|
57
60
|
@taskList = filterTaskList(@taskList, nil, a('hideTask'), a('rollupTask'),
|
58
61
|
a('openNodes'))
|
59
62
|
@taskList.sort!
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = Navigator.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = NikuReport.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = Report.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -187,7 +187,7 @@ class TaskJuggler
|
|
187
187
|
auxSrcDir = AppConfig.dataDirs('data/css')[0]
|
188
188
|
cssFileName = (auxSrcDir ? auxSrcDir + '/tjreport.css' : '')
|
189
189
|
# Raise an error if we haven't found the data directory
|
190
|
-
if auxSrcDir.nil? || !File.
|
190
|
+
if auxSrcDir.nil? || !File.exist?(cssFileName)
|
191
191
|
dataDirError(cssFileName, AppConfig.dataSearchDirs('data/css'))
|
192
192
|
end
|
193
193
|
cssFile = IO.read(cssFileName)
|
@@ -403,7 +403,7 @@ EOT
|
|
403
403
|
# Find the data directory that came with the TaskJuggler installation.
|
404
404
|
auxSrcDir = AppConfig.dataDirs("data/#{dirName}")[0].untaint
|
405
405
|
# Raise an error if we haven't found the data directory
|
406
|
-
if auxSrcDir.nil? || !File.
|
406
|
+
if auxSrcDir.nil? || !File.exist?(auxSrcDir)
|
407
407
|
dataDirError(dirName, AppConfig.dataSearchDirs("data/#{dirName}"))
|
408
408
|
end
|
409
409
|
# Don't copy directory if all files are up-to-date.
|
@@ -419,7 +419,7 @@ EOT
|
|
419
419
|
end
|
420
420
|
|
421
421
|
def directoryUpToDate?(auxSrcDir, auxDstDir)
|
422
|
-
return false unless File.
|
422
|
+
return false unless File.exist?(auxDstDir.untaint)
|
423
423
|
|
424
424
|
Dir.entries(auxSrcDir).each do |file|
|
425
425
|
next if file == '.' || file == '..'
|
@@ -466,7 +466,7 @@ EOT
|
|
466
466
|
|
467
467
|
def absoluteFileName?(name)
|
468
468
|
if windowsOS?
|
469
|
-
name[0] =~ /a-zA-Z/ && name[1] == ?:
|
469
|
+
name[0] =~ /[a-zA-Z]/ && name[1] == ?:
|
470
470
|
else
|
471
471
|
name[0] == ?/
|
472
472
|
end
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ReportBase.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ReportContext.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ReportTable.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ReportTableCell.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ReportTableColumn.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ReportTableLegend.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ReportTableLine.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = ResourceListRE.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = StatusSheetReport.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -3,8 +3,8 @@
|
|
3
3
|
#
|
4
4
|
# = TableReport.rb -- The TaskJuggler III Project Management Software
|
5
5
|
#
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
7
|
-
# by Chris Schlaeger <
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
7
|
+
# by Chris Schlaeger <cs@taskjuggler.org>
|
8
8
|
#
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
10
10
|
# it under the terms of version 2 of the GNU General Public License as
|
@@ -38,6 +38,7 @@ class TaskJuggler
|
|
38
38
|
'alerttrend' => [ 'Alert Trend', false, :left, false ],
|
39
39
|
'balance' => [ 'Balance', true, :right, true ],
|
40
40
|
'bsi' => [ 'BSI', false, :left, false ],
|
41
|
+
'children' => [ 'Children' , false, :left, false ],
|
41
42
|
'closedtasks' => [ 'Closed Tasks', true, :right, true ],
|
42
43
|
'competitorcount' => [ 'Competitor count', true, :right, true ],
|
43
44
|
'competitors' => [ 'Competitors', true, :left, true ],
|
@@ -162,7 +163,7 @@ class TaskJuggler
|
|
162
163
|
|
163
164
|
# Return if the column values should be indented based on the _colId_ or the
|
164
165
|
# _propertyType_.
|
165
|
-
def indent(colId, propertyType)
|
166
|
+
def TableReport::indent(colId, propertyType)
|
166
167
|
if @@propertiesById.has_key?(colId)
|
167
168
|
return @@propertiesById[colId][1]
|
168
169
|
elsif @@propertiesByType.has_key?(propertyType)
|
@@ -174,7 +175,7 @@ class TaskJuggler
|
|
174
175
|
|
175
176
|
# Return the alignment of the column based on the _colId_ or the
|
176
177
|
# _attributeType_.
|
177
|
-
def alignment(colId, attributeType)
|
178
|
+
def TableReport::alignment(colId, attributeType)
|
178
179
|
if @@propertiesById.has_key?(colId)
|
179
180
|
return @@propertiesById[colId][2]
|
180
181
|
elsif @@propertiesByType.has_key?(attributeType)
|
@@ -186,22 +187,22 @@ class TaskJuggler
|
|
186
187
|
|
187
188
|
# This function returns true if the values for the _colId_ column need to be
|
188
189
|
# calculated.
|
189
|
-
def calculated?(colId)
|
190
|
+
def TableReport::calculated?(colId)
|
190
191
|
return @@propertiesById.has_key?(colId)
|
191
192
|
end
|
192
193
|
|
193
194
|
# This functions returns true if the values for the _col_id_ column are
|
194
195
|
# scenario specific.
|
195
|
-
def scenarioSpecific?(colId)
|
196
|
+
def TableReport::scenarioSpecific?(colId)
|
196
197
|
if @@propertiesById.has_key?(colId)
|
197
198
|
return @@propertiesById[colId][3]
|
198
199
|
end
|
199
200
|
return false
|
200
201
|
end
|
201
202
|
|
202
|
-
def supportedColumns
|
203
|
-
|
204
|
-
end
|
203
|
+
#def TableReport::supportedColumns
|
204
|
+
# @@propertiesById.keys
|
205
|
+
#end
|
205
206
|
|
206
207
|
protected
|
207
208
|
|
@@ -650,7 +651,8 @@ class TaskJuggler
|
|
650
651
|
# header.
|
651
652
|
chart = columnDef.column.cell1.special
|
652
653
|
GanttLine.new(chart, query, (line.subLineNo - 1) * (line.height + 1),
|
653
|
-
line.height,
|
654
|
+
line.height, line.subLineNo,
|
655
|
+
a('selfcontained') ? nil : columnDef.tooltip)
|
654
656
|
return true
|
655
657
|
# The calendar cells can be all generated by the same function. But we
|
656
658
|
# need to use different parameters.
|
@@ -673,7 +675,7 @@ class TaskJuggler
|
|
673
675
|
start = query.start.beginOfYear
|
674
676
|
sameTimeNextFunc = :sameTimeNextYear
|
675
677
|
else
|
676
|
-
if calculated?(columnDef.id)
|
678
|
+
if TableReport.calculated?(columnDef.id)
|
677
679
|
return genCalculatedCell(query, line, columnDef)
|
678
680
|
else
|
679
681
|
return genStandardCell(query, line, columnDef)
|
@@ -687,6 +689,7 @@ class TaskJuggler
|
|
687
689
|
line.property, line.scopeLine)
|
688
690
|
|
689
691
|
PlaceHolderCell.new(line, tcLine)
|
692
|
+
tcLine.subLineNo = line.subLineNo
|
690
693
|
# Depending on the property type we use different generator functions.
|
691
694
|
if query.property.is_a?(Task)
|
692
695
|
genCalChartTaskCell(query, tcLine, columnDef, start, sameTimeNextFunc)
|
@@ -753,7 +756,7 @@ class TaskJuggler
|
|
753
756
|
cell = newCell(query, line)
|
754
757
|
|
755
758
|
unless setScenarioSettings(cell, query.scenarioIdx,
|
756
|
-
scenarioSpecific?(columnDef.id))
|
759
|
+
TableReport.scenarioSpecific?(columnDef.id))
|
757
760
|
return false
|
758
761
|
end
|
759
762
|
|
@@ -924,7 +927,7 @@ class TaskJuggler
|
|
924
927
|
# The cell is just filled with the background color.
|
925
928
|
cell.category = 'taskcell'
|
926
929
|
end
|
927
|
-
cell.category += line.
|
930
|
+
cell.category += line.subLineNo % 2 == 1 ? '1' : '2'
|
928
931
|
|
929
932
|
setCustomCellAttributes(cell, columnDef, query)
|
930
933
|
tryCellMerging(cell, line, firstCell)
|
@@ -1052,7 +1055,7 @@ class TaskJuggler
|
|
1052
1055
|
'offduty'
|
1053
1056
|
end
|
1054
1057
|
end
|
1055
|
-
cell.category += line.
|
1058
|
+
cell.category += line.subLineNo % 2 == 1 ? '1' : '2'
|
1056
1059
|
|
1057
1060
|
setCustomCellAttributes(cell, columnDef, query)
|
1058
1061
|
|
@@ -1072,20 +1075,20 @@ class TaskJuggler
|
|
1072
1075
|
# alignment and background color.
|
1073
1076
|
def setStandardCellAttributes(query, cell, columnDef, attributeType, line)
|
1074
1077
|
# Determine whether it should be indented
|
1075
|
-
if indent(columnDef.id, attributeType)
|
1078
|
+
if TableReport.indent(columnDef.id, attributeType)
|
1076
1079
|
cell.indent = line.indentation
|
1077
1080
|
end
|
1078
1081
|
|
1079
1082
|
# Determine the cell alignment
|
1080
|
-
cell.alignment = alignment(columnDef.id, attributeType)
|
1083
|
+
cell.alignment = TableReport.alignment(columnDef.id, attributeType)
|
1081
1084
|
|
1082
1085
|
# Set background color
|
1083
1086
|
if line.property.is_a?(Task)
|
1084
1087
|
cell.category = 'taskcell'
|
1085
|
-
cell.category += line.
|
1088
|
+
cell.category += line.subLineNo % 2 == 1 ? '1' : '2'
|
1086
1089
|
elsif line.property.is_a?(Resource)
|
1087
1090
|
cell.category = 'resourcecell'
|
1088
|
-
cell.category += line.
|
1091
|
+
cell.category += line.subLineNo % 2 == 1 ? '1' : '2'
|
1089
1092
|
elsif line.property.is_a?(Account)
|
1090
1093
|
setAccountCellBgColor(query, line, cell)
|
1091
1094
|
end
|
@@ -1173,7 +1176,7 @@ class TaskJuggler
|
|
1173
1176
|
end
|
1174
1177
|
|
1175
1178
|
cell.category = prefix + 'accountcell' +
|
1176
|
-
(line.
|
1179
|
+
(line.subLineNo % 2 == 1 ? '1' : '2')
|
1177
1180
|
end
|
1178
1181
|
|
1179
1182
|
# Make sure we have a valid cell text. If not, this is the result of an
|