taskjuggler 3.4.0 → 3.5.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.
- data/CHANGELOG +41 -0
- data/data/css/tjreport.css +4 -1
- data/data/tjp.vim +22 -11
- data/examples/ToDo-List/todolist.tjp +1 -1
- data/lib/header.tmpl +1 -1
- data/lib/taskjuggler/Account.rb +1 -1
- data/lib/taskjuggler/AccountCredit.rb +1 -1
- data/lib/taskjuggler/AccountScenario.rb +1 -1
- data/lib/taskjuggler/AlertLevelDefinitions.rb +1 -1
- data/lib/taskjuggler/AlgorithmDiff.rb +1 -1
- data/lib/taskjuggler/Allocation.rb +1 -1
- data/lib/taskjuggler/AppConfig.rb +1 -1
- data/lib/taskjuggler/AttributeBase.rb +11 -1
- data/lib/taskjuggler/AttributeDefinition.rb +1 -1
- data/lib/taskjuggler/Attributes.rb +3 -3
- data/lib/taskjuggler/BatchProcessor.rb +1 -1
- data/lib/taskjuggler/Booking.rb +1 -1
- data/lib/taskjuggler/Charge.rb +1 -1
- data/lib/taskjuggler/ChargeSet.rb +1 -1
- data/lib/taskjuggler/DataCache.rb +1 -1
- data/lib/taskjuggler/FileList.rb +1 -1
- data/lib/taskjuggler/HTMLDocument.rb +2 -2
- data/lib/taskjuggler/HTMLElements.rb +1 -1
- data/lib/taskjuggler/ICalendar.rb +2 -2
- data/lib/taskjuggler/Interval.rb +1 -1
- data/lib/taskjuggler/IntervalList.rb +1 -1
- data/lib/taskjuggler/Journal.rb +1 -1
- data/lib/taskjuggler/KateSyntax.rb +1 -1
- data/lib/taskjuggler/KeywordArray.rb +1 -1
- data/lib/taskjuggler/KeywordDocumentation.rb +3 -2
- data/lib/taskjuggler/LeaveList.rb +1 -1
- data/lib/taskjuggler/Limits.rb +1 -1
- data/lib/taskjuggler/Log.rb +1 -1
- data/lib/taskjuggler/LogicalExpression.rb +1 -1
- data/lib/taskjuggler/LogicalFunction.rb +23 -1
- data/lib/taskjuggler/LogicalOperation.rb +5 -2
- data/lib/taskjuggler/MessageHandler.rb +9 -3
- data/lib/taskjuggler/PTNProxy.rb +1 -1
- data/lib/taskjuggler/Painter.rb +1 -1
- data/lib/taskjuggler/Project.rb +4 -3
- data/lib/taskjuggler/ProjectFileParser.rb +15 -4
- data/lib/taskjuggler/ProjectFileScanner.rb +1 -1
- data/lib/taskjuggler/PropertyList.rb +2 -2
- data/lib/taskjuggler/PropertySet.rb +2 -2
- data/lib/taskjuggler/PropertyTreeNode.rb +44 -16
- data/lib/taskjuggler/Query.rb +23 -10
- data/lib/taskjuggler/RealFormat.rb +1 -1
- data/lib/taskjuggler/Resource.rb +1 -1
- data/lib/taskjuggler/ResourceScenario.rb +6 -1
- data/lib/taskjuggler/RichText.rb +1 -1
- data/lib/taskjuggler/RichText/Document.rb +1 -1
- data/lib/taskjuggler/RichText/Element.rb +1 -1
- data/lib/taskjuggler/RichText/FunctionExample.rb +3 -3
- data/lib/taskjuggler/RichText/FunctionHandler.rb +1 -1
- data/lib/taskjuggler/RichText/Parser.rb +1 -1
- data/lib/taskjuggler/RichText/RTFHandlers.rb +1 -1
- data/lib/taskjuggler/RichText/RTFNavigator.rb +1 -1
- data/lib/taskjuggler/RichText/RTFQuery.rb +4 -3
- data/lib/taskjuggler/RichText/RTFReport.rb +1 -1
- data/lib/taskjuggler/RichText/RTFReportLink.rb +1 -1
- data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +1 -1
- data/lib/taskjuggler/RichText/Scanner.rb +2 -1
- data/lib/taskjuggler/RichText/Snip.rb +1 -1
- data/lib/taskjuggler/RichText/SyntaxRules.rb +1 -1
- data/lib/taskjuggler/RichText/TOCEntry.rb +1 -1
- data/lib/taskjuggler/RichText/TableOfContents.rb +1 -1
- data/lib/taskjuggler/RuntimeConfig.rb +1 -1
- data/lib/taskjuggler/Scenario.rb +1 -1
- data/lib/taskjuggler/ScenarioData.rb +1 -1
- data/lib/taskjuggler/Scoreboard.rb +10 -6
- data/lib/taskjuggler/SheetHandlerBase.rb +1 -1
- data/lib/taskjuggler/SheetReceiver.rb +1 -1
- data/lib/taskjuggler/SheetSender.rb +1 -1
- data/lib/taskjuggler/Shift.rb +1 -1
- data/lib/taskjuggler/ShiftAssignments.rb +1 -1
- data/lib/taskjuggler/ShiftScenario.rb +1 -1
- data/lib/taskjuggler/SimpleQueryExpander.rb +1 -1
- data/lib/taskjuggler/StatusSheetReceiver.rb +1 -1
- data/lib/taskjuggler/StatusSheetSender.rb +1 -1
- data/lib/taskjuggler/StdIoWrapper.rb +1 -1
- data/lib/taskjuggler/SyntaxReference.rb +15 -1
- data/lib/taskjuggler/TableColumnDefinition.rb +1 -1
- data/lib/taskjuggler/TableColumnSorter.rb +1 -1
- data/lib/taskjuggler/Task.rb +1 -1
- data/lib/taskjuggler/TaskDependency.rb +1 -1
- data/lib/taskjuggler/TaskJuggler.rb +7 -4
- data/lib/taskjuggler/TaskScenario.rb +95 -72
- data/lib/taskjuggler/TernarySearchTree.rb +1 -1
- data/lib/taskjuggler/TextFormatter.rb +1 -1
- data/lib/taskjuggler/TextParser.rb +1 -1
- data/lib/taskjuggler/TextParser/MacroTable.rb +1 -1
- data/lib/taskjuggler/TextParser/Pattern.rb +1 -1
- data/lib/taskjuggler/TextParser/Rule.rb +6 -1
- data/lib/taskjuggler/TextParser/Scanner.rb +1 -1
- data/lib/taskjuggler/TextParser/SourceFileInfo.rb +1 -1
- data/lib/taskjuggler/TextParser/StackElement.rb +1 -1
- data/lib/taskjuggler/TextParser/State.rb +1 -1
- data/lib/taskjuggler/TextParser/TokenDoc.rb +1 -1
- data/lib/taskjuggler/TimeSheetReceiver.rb +1 -1
- data/lib/taskjuggler/TimeSheetSender.rb +1 -1
- data/lib/taskjuggler/TimeSheetSummary.rb +1 -1
- data/lib/taskjuggler/TimeSheets.rb +1 -1
- data/lib/taskjuggler/Tj3AppBase.rb +3 -2
- data/lib/taskjuggler/Tj3Config.rb +3 -3
- data/lib/taskjuggler/Tj3SheetAppBase.rb +1 -1
- data/lib/taskjuggler/TjException.rb +1 -1
- data/lib/taskjuggler/TjTime.rb +17 -12
- data/lib/taskjuggler/TjpExample.rb +1 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +378 -303
- data/lib/taskjuggler/URLParameter.rb +1 -1
- data/lib/taskjuggler/UTF8String.rb +1 -1
- data/lib/taskjuggler/UserManual.rb +3 -3
- data/lib/taskjuggler/VimSyntax.rb +1 -1
- data/lib/taskjuggler/WorkingHours.rb +1 -1
- data/lib/taskjuggler/XMLDocument.rb +1 -1
- data/lib/taskjuggler/XMLElement.rb +1 -1
- data/lib/taskjuggler/apps/Tj3.rb +20 -6
- data/lib/taskjuggler/apps/Tj3Client.rb +1 -1
- data/lib/taskjuggler/apps/Tj3Daemon.rb +1 -1
- data/lib/taskjuggler/apps/Tj3Man.rb +2 -2
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +1 -1
- data/lib/taskjuggler/apps/Tj3SsSender.rb +1 -1
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +1 -1
- data/lib/taskjuggler/apps/Tj3TsSender.rb +1 -1
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +1 -1
- data/lib/taskjuggler/apps/Tj3WebD.rb +2 -2
- data/lib/taskjuggler/daemon/Daemon.rb +1 -1
- data/lib/taskjuggler/daemon/DaemonConnector.rb +1 -1
- data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -1
- data/lib/taskjuggler/daemon/ProjectBroker.rb +1 -1
- data/lib/taskjuggler/daemon/ProjectServer.rb +1 -1
- data/lib/taskjuggler/daemon/ReportServer.rb +1 -1
- data/lib/taskjuggler/daemon/ReportServlet.rb +1 -1
- data/lib/taskjuggler/daemon/WebServer.rb +1 -1
- data/lib/taskjuggler/daemon/WelcomePage.rb +1 -1
- data/lib/taskjuggler/deep_copy.rb +1 -1
- data/lib/taskjuggler/reports/AccountListRE.rb +1 -1
- data/lib/taskjuggler/reports/CSVFile.rb +1 -1
- data/lib/taskjuggler/reports/ChartPlotter.rb +1 -1
- data/lib/taskjuggler/reports/CollisionDetector.rb +1 -1
- data/lib/taskjuggler/reports/ColumnTable.rb +1 -1
- data/lib/taskjuggler/reports/ExportRE.rb +1 -1
- data/lib/taskjuggler/reports/GanttChart.rb +1 -1
- data/lib/taskjuggler/reports/GanttContainer.rb +1 -1
- data/lib/taskjuggler/reports/GanttHeader.rb +1 -1
- data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +1 -1
- data/lib/taskjuggler/reports/GanttLine.rb +1 -1
- data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -1
- data/lib/taskjuggler/reports/GanttMilestone.rb +1 -1
- data/lib/taskjuggler/reports/GanttRouter.rb +1 -1
- data/lib/taskjuggler/reports/GanttTaskBar.rb +1 -1
- data/lib/taskjuggler/reports/HTMLGraphics.rb +1 -1
- data/lib/taskjuggler/reports/ICalReport.rb +1 -1
- data/lib/taskjuggler/reports/MspXmlRE.rb +1 -1
- data/lib/taskjuggler/reports/Navigator.rb +1 -1
- data/lib/taskjuggler/reports/NikuReport.rb +1 -1
- data/lib/taskjuggler/reports/Report.rb +31 -19
- data/lib/taskjuggler/reports/ReportBase.rb +1 -1
- data/lib/taskjuggler/reports/ReportContext.rb +1 -1
- data/lib/taskjuggler/reports/ReportTable.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableCell.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableColumn.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableLegend.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableLine.rb +1 -1
- data/lib/taskjuggler/reports/ResourceListRE.rb +1 -1
- data/lib/taskjuggler/reports/StatusSheetReport.rb +1 -1
- data/lib/taskjuggler/reports/TableReport.rb +4 -5
- data/lib/taskjuggler/reports/TableReportColumn.rb +1 -1
- data/lib/taskjuggler/reports/TagFile.rb +1 -1
- data/lib/taskjuggler/reports/TaskListRE.rb +1 -1
- data/lib/taskjuggler/reports/TextReport.rb +1 -1
- data/lib/taskjuggler/reports/TimeSheetReport.rb +1 -1
- data/lib/taskjuggler/reports/TjpExportRE.rb +9 -2
- data/lib/taskjuggler/reports/TraceReport.rb +1 -1
- data/lib/tj3.rb +1 -1
- data/lib/tj3client.rb +1 -1
- data/lib/tj3d.rb +1 -1
- data/lib/tj3man.rb +1 -1
- data/lib/tj3ss_receiver.rb +1 -1
- data/lib/tj3ss_sender.rb +1 -1
- data/lib/tj3ts_receiver.rb +1 -1
- data/lib/tj3ts_sender.rb +1 -1
- data/lib/tj3ts_summary.rb +1 -1
- data/lib/tj3webd.rb +1 -1
- data/manual/How_To_Contribute +5 -6
- data/manual/Installation +3 -3
- data/manual/Rich_Text_Attributes +8 -3
- data/manual/html/Day_To_Day_Juggling.html +3 -3
- data/manual/html/Getting_Started.html +3 -3
- data/manual/html/How_To_Contribute.html +6 -7
- data/manual/html/Installation.html +6 -6
- data/manual/html/Intro.html +3 -3
- data/manual/html/Reporting_Bugs.html +3 -3
- data/manual/html/Rich_Text_Attributes.html +5 -4
- data/manual/html/Software.html +3 -3
- data/manual/html/TaskJuggler_2x_Migration.html +3 -3
- data/manual/html/TaskJuggler_Internals.html +3 -3
- data/manual/html/The_TaskJuggler_Syntax.html +3 -3
- data/manual/html/Tutorial.html +3 -3
- data/manual/html/account.html +3 -3
- data/manual/html/account.task.html +3 -3
- data/manual/html/accountprefix.html +3 -3
- data/manual/html/accountreport.html +5 -5
- data/manual/html/accountroot.html +3 -3
- data/manual/html/active.html +3 -3
- data/manual/html/adopt.task.html +3 -3
- data/manual/html/aggregate.html +3 -3
- data/manual/html/alert.html +3 -3
- data/manual/html/alertlevels.html +3 -3
- data/manual/html/allocate.html +3 -3
- data/manual/html/alphabet.html +11 -4
- data/manual/html/alternative.html +3 -3
- data/manual/html/author.html +3 -3
- data/manual/html/auxdir.html +7 -9
- data/manual/html/auxdir.report.html +69 -0
- data/manual/html/balance.html +5 -5
- data/manual/html/booking.resource.html +3 -3
- data/manual/html/booking.task.html +3 -3
- data/manual/html/caption.html +3 -3
- data/manual/html/cellcolor.column.html +4 -4
- data/manual/html/celltext.column.html +3 -3
- data/manual/html/center.html +3 -3
- data/manual/html/charge.html +3 -3
- data/manual/html/chargeset.html +3 -3
- data/manual/html/columnid.html +10 -6
- data/manual/html/columns.html +3 -3
- data/manual/html/complete.html +3 -3
- data/manual/html/copyright.html +3 -3
- data/manual/html/credits.html +3 -3
- data/manual/html/css/tjreport.css +4 -1
- data/manual/html/currency.html +3 -3
- data/manual/html/currencyformat.html +3 -3
- data/manual/html/dailymax.html +3 -3
- data/manual/html/dailymin.html +3 -3
- data/manual/html/dailyworkinghours.html +3 -3
- data/manual/html/date.extend.html +3 -3
- data/manual/html/date.html +4 -3
- data/manual/html/definitions.html +3 -3
- data/manual/html/depends.html +3 -3
- data/manual/html/details.html +3 -3
- data/manual/html/disabled.html +3 -3
- data/manual/html/duration.html +3 -3
- data/manual/html/efficiency.html +3 -3
- data/manual/html/effort.html +3 -3
- data/manual/html/email.html +3 -3
- data/manual/html/enabled.html +3 -3
- data/manual/html/end.column.html +3 -3
- data/manual/html/end.html +3 -3
- data/manual/html/end.limit.html +3 -3
- data/manual/html/end.report.html +3 -3
- data/manual/html/end.timesheet.html +3 -3
- data/manual/html/endcredit.html +3 -3
- data/manual/html/epilog.html +3 -3
- data/manual/html/export.html +3 -3
- data/manual/html/extend.html +58 -13
- data/manual/html/fail.html +4 -4
- data/manual/html/fdl.html +3 -3
- data/manual/html/flags.account.html +3 -3
- data/manual/html/flags.html +3 -3
- data/manual/html/flags.journalentry.html +3 -3
- data/manual/html/flags.report.html +3 -3
- data/manual/html/flags.resource.html +3 -3
- data/manual/html/flags.statussheet.html +3 -3
- data/manual/html/flags.task.html +3 -3
- data/manual/html/flags.timesheet.html +3 -3
- data/manual/html/fontcolor.column.html +4 -4
- data/manual/html/footer.html +3 -3
- data/manual/html/formats.export.html +3 -3
- data/manual/html/formats.html +3 -3
- data/manual/html/functions.html +4 -4
- data/manual/html/gapduration.html +3 -3
- data/manual/html/gaplength.html +3 -3
- data/manual/html/halign.center.html +3 -3
- data/manual/html/halign.column.html +4 -4
- data/manual/html/halign.left.html +3 -3
- data/manual/html/halign.right.html +3 -3
- data/manual/html/hasalert.html +3 -3
- data/manual/html/header.html +3 -3
- data/manual/html/headline.html +3 -3
- data/manual/html/height.html +3 -3
- data/manual/html/hideaccount.html +5 -4
- data/manual/html/hidejournalentry.html +3 -3
- data/manual/html/hidereport.html +4 -4
- data/manual/html/hideresource.html +5 -4
- data/manual/html/hidetask.html +5 -4
- data/manual/html/icalreport.html +3 -3
- data/manual/html/include.macro.html +3 -3
- data/manual/html/include.project.html +3 -3
- data/manual/html/include.properties.html +3 -3
- data/manual/html/index.html +2 -2
- data/manual/html/inherit.extend.html +4 -4
- data/manual/html/interval1.html +3 -3
- data/manual/html/interval2.html +3 -3
- data/manual/html/interval3.html +3 -3
- data/manual/html/interval4.html +3 -3
- data/manual/html/isactive.html +3 -3
- data/manual/html/ischildof.html +3 -3
- data/manual/html/isdependencyof.html +3 -3
- data/manual/html/isdutyof.html +3 -3
- data/manual/html/isfeatureof.html +3 -3
- data/manual/html/isleaf.html +3 -3
- data/manual/html/ismilestone.html +3 -3
- data/manual/html/isongoing.html +3 -3
- data/manual/html/isresource.html +3 -3
- data/manual/html/isresponsibilityof.html +3 -3
- data/manual/html/istask.html +5 -5
- data/manual/html/isvalid.html +66 -0
- data/manual/html/journalattributes.html +5 -5
- data/manual/html/journalentry.html +3 -3
- data/manual/html/journalmode.html +3 -3
- data/manual/html/leaveallowance.html +3 -3
- data/manual/html/leaves.html +3 -3
- data/manual/html/left.html +3 -3
- data/manual/html/length.html +5 -5
- data/manual/html/limits.allocate.html +3 -3
- data/manual/html/limits.html +3 -3
- data/manual/html/limits.resource.html +3 -3
- data/manual/html/limits.task.html +3 -3
- data/manual/html/listitem.column.html +3 -3
- data/manual/html/listtype.column.html +3 -3
- data/manual/html/loadunit.html +3 -3
- data/manual/html/logicalexpression.html +14 -4
- data/manual/html/logicalflagexpression.html +3 -3
- data/manual/html/macro.html +3 -3
- data/manual/html/managers.html +3 -3
- data/manual/html/mandatory.html +3 -3
- data/manual/html/maxend.html +3 -3
- data/manual/html/maximum.html +3 -3
- data/manual/html/maxstart.html +3 -3
- data/manual/html/milestone.html +3 -3
- data/manual/html/minend.html +3 -3
- data/manual/html/minimum.html +3 -3
- data/manual/html/minstart.html +3 -3
- data/manual/html/monthlymax.html +3 -3
- data/manual/html/monthlymin.html +3 -3
- data/manual/html/navbar.html +10 -2
- data/manual/html/navigator.html +3 -3
- data/manual/html/newtask.html +4 -4
- data/manual/html/nikureport.html +3 -3
- data/manual/html/note.task.html +3 -3
- data/manual/html/now.html +5 -5
- data/manual/html/number.extend.html +77 -0
- data/manual/html/numberformat.html +5 -5
- data/manual/html/onend.html +3 -3
- data/manual/html/onstart.html +3 -3
- data/manual/html/opennodes.html +5 -5
- data/manual/html/outputdir.html +67 -0
- data/manual/html/overtime.booking.html +5 -5
- data/manual/html/period.column.html +3 -3
- data/manual/html/period.limit.html +3 -3
- data/manual/html/period.report.html +3 -3
- data/manual/html/period.task.html +3 -3
- data/manual/html/persistent.html +3 -3
- data/manual/html/precedes.html +3 -3
- data/manual/html/priority.html +3 -3
- data/manual/html/priority.timesheet.html +3 -3
- data/manual/html/project.html +4 -4
- data/manual/html/projectid.html +3 -3
- data/manual/html/projectid.task.html +3 -3
- data/manual/html/projectids.html +3 -3
- data/manual/html/projection.html +3 -3
- data/manual/html/prolog.html +3 -3
- data/manual/html/properties.html +10 -4
- data/manual/html/purge.html +3 -3
- data/manual/html/rate.html +3 -3
- data/manual/html/rate.resource.html +3 -3
- data/manual/html/rawhtmlhead.html +3 -3
- data/manual/html/reference.extend.html +3 -3
- data/manual/html/remaining.html +3 -3
- data/manual/html/replace.html +3 -3
- data/manual/html/reportprefix.html +3 -3
- data/manual/html/resource.html +3 -3
- data/manual/html/resourceattributes.html +3 -3
- data/manual/html/resourceprefix.html +3 -3
- data/manual/html/resourcereport.html +5 -5
- data/manual/html/resourceroot.html +3 -3
- data/manual/html/resources.limit.html +3 -3
- data/manual/html/responsible.html +3 -3
- data/manual/html/richtext.extend.html +3 -3
- data/manual/html/right.html +3 -3
- data/manual/html/rollupaccount.html +4 -4
- data/manual/html/rollupresource.html +4 -4
- data/manual/html/rolluptask.html +4 -4
- data/manual/html/scale.column.html +3 -3
- data/manual/html/scenario.html +3 -3
- data/manual/html/scenario.ical.html +3 -3
- data/manual/html/scenarios.export.html +3 -3
- data/manual/html/scenarios.html +3 -3
- data/manual/html/scenariospecific.extend.html +4 -4
- data/manual/html/scheduled.html +3 -3
- data/manual/html/scheduling.html +3 -3
- data/manual/html/select.html +3 -3
- data/manual/html/selfcontained.html +3 -3
- data/manual/html/shift.allocate.html +3 -3
- data/manual/html/shift.html +4 -4
- data/manual/html/shift.resource.html +3 -3
- data/manual/html/shift.task.html +3 -3
- data/manual/html/shift.timesheet.html +3 -3
- data/manual/html/shifts.allocate.html +3 -3
- data/manual/html/shifts.resource.html +3 -3
- data/manual/html/shifts.task.html +3 -3
- data/manual/html/shorttimeformat.html +3 -3
- data/manual/html/sloppy.booking.html +3 -3
- data/manual/html/sloppy.projection.html +3 -3
- data/manual/html/sortaccounts.html +3 -3
- data/manual/html/sortjournalentries.html +3 -3
- data/manual/html/sortresources.html +3 -3
- data/manual/html/sorttasks.html +3 -3
- data/manual/html/start.column.html +3 -3
- data/manual/html/start.html +3 -3
- data/manual/html/start.limit.html +3 -3
- data/manual/html/start.report.html +3 -3
- data/manual/html/startcredit.html +3 -3
- data/manual/html/status.statussheet.html +3 -3
- data/manual/html/status.timesheet.html +3 -3
- data/manual/html/statussheet.html +3 -3
- data/manual/html/statussheetreport.html +3 -3
- data/manual/html/strict.projection.html +3 -3
- data/manual/html/summary.html +3 -3
- data/manual/html/supplement.html +3 -3
- data/manual/html/supplement.resource.html +3 -3
- data/manual/html/supplement.task.html +3 -3
- data/manual/html/tagfile.html +3 -3
- data/manual/html/task.html +3 -3
- data/manual/html/task.statussheet.html +3 -3
- data/manual/html/task.timesheet.html +3 -3
- data/manual/html/taskattributes.html +3 -3
- data/manual/html/taskprefix.html +3 -3
- data/manual/html/taskreport.html +5 -5
- data/manual/html/taskroot.export.html +3 -3
- data/manual/html/taskroot.html +3 -3
- data/manual/html/text.extend.html +3 -3
- data/manual/html/textreport.html +5 -5
- data/manual/html/timeformat.html +3 -3
- data/manual/html/timeformat1.html +3 -3
- data/manual/html/timeformat2.html +3 -3
- data/manual/html/timeoff.nikureport.html +3 -3
- data/manual/html/timesheet.html +3 -3
- data/manual/html/timesheetreport.html +3 -3
- data/manual/html/timezone.export.html +3 -3
- data/manual/html/timezone.html +3 -3
- data/manual/html/timezone.report.html +3 -3
- data/manual/html/timezone.shift.html +3 -3
- data/manual/html/timingresolution.html +3 -3
- data/manual/html/title.column.html +3 -3
- data/manual/html/title.html +3 -3
- data/manual/html/toc.html +276 -248
- data/manual/html/tooltip.column.html +4 -4
- data/manual/html/tracereport.html +5 -5
- data/manual/html/trackingscenario.html +3 -3
- data/manual/html/treelevel.html +3 -3
- data/manual/html/vacation.html +3 -3
- data/manual/html/vacation.resource.html +3 -3
- data/manual/html/vacation.shift.html +3 -3
- data/manual/html/warn.html +4 -4
- data/manual/html/weeklymax.html +3 -3
- data/manual/html/weeklymin.html +3 -3
- data/manual/html/weekstartsmonday.html +3 -3
- data/manual/html/weekstartssunday.html +3 -3
- data/manual/html/width.column.html +4 -4
- data/manual/html/width.html +3 -3
- data/manual/html/work.html +3 -3
- data/manual/html/workinghours.project.html +3 -3
- data/manual/html/workinghours.resource.html +3 -3
- data/manual/html/workinghours.shift.html +3 -3
- data/manual/html/yearlyworkingdays.html +3 -3
- data/spec/Color_spec.rb +2 -2
- data/spec/ICalendar_spec.rb +1 -1
- data/spec/IntervalList_spec.rb +1 -1
- data/spec/ProjectBroker_spec.rb +1 -1
- data/spec/StatusSheets_spec.rb +1 -1
- data/spec/TableColumnSorter_spec.rb +2 -2
- data/spec/TernarySearchTree_spec.rb +1 -1
- data/spec/TimeSheets_spec.rb +1 -1
- data/spec/Tj3Daemon_spec.rb +1 -1
- data/spec/Tj3_spec.rb +1 -1
- data/spec/TraceReport_spec.rb +2 -2
- data/spec/support/DaemonControl.rb +1 -1
- data/spec/support/spec_helper.rb +1 -1
- data/tasks/gem.rake +7 -1
- data/tasks/rdoc.rake +5 -1
- data/test/MessageChecker.rb +1 -1
- data/test/ReferenceGenerator.rb +1 -1
- data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +1 -1
- data/test/TestSuite/Export-Reports/refs/CustomAttributes.tjp +62 -10
- data/test/TestSuite/Export-Reports/refs/Shift.tjp +1 -1
- data/test/TestSuite/Scheduler/Correct/DateAndDep.tjp +25 -0
- data/test/TestSuite/Scheduler/Correct/hammock.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/container_milestone.tjp +13 -0
- data/test/TestSuite/Scheduler/Errors/{weak_end_dep.tjp → impossible_end_dep.tjp} +2 -2
- data/test/TestSuite/Scheduler/Errors/{weak_start_dep.tjp → impossible_start_dep.tjp} +2 -2
- data/test/TestSuite/Scheduler/Errors/sched_runaway.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/{task_pred_before_gl.tjp → task_pred_before_1.tjp} +1 -1
- data/test/TestSuite/Scheduler/Errors/{task_pred_before_gd.tjp → task_pred_before_2.tjp} +1 -1
- data/test/TestSuite/Scheduler/Errors/{task_succ_after_gl.tjp → task_succ_after_1.tjp} +1 -1
- data/test/TestSuite/Scheduler/Errors/{task_succ_after_gd.tjp → task_succ_after_2.tjp} +1 -1
- data/test/TestSuite/Syntax/Correct/CustomAttributes.tjp +53 -9
- data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +11 -0
- data/test/TjpGen.rb +1 -1
- data/test/all.rb +1 -1
- data/test/test_AlgorithmDiff.rb +1 -1
- data/test/test_BatchProcessor.rb +1 -1
- data/test/test_CSV-Reports.rb +1 -1
- data/test/test_CSVFile.rb +1 -1
- data/test/test_CollisionDetector.rb +1 -1
- data/test/test_Export-Reports.rb +1 -1
- data/test/test_Journal.rb +1 -1
- data/test/test_Limits.rb +1 -1
- data/test/test_LogicalExpression.rb +1 -1
- data/test/test_MacroTable.rb +1 -1
- data/test/test_Project.rb +1 -1
- data/test/test_ProjectFileScanner.rb +1 -1
- data/test/test_PropertySet.rb +1 -1
- data/test/test_Query.rb +1 -1
- data/test/test_RealFormat.rb +1 -1
- data/test/test_ReportGenerator.rb +1 -1
- data/test/test_RichText.rb +1 -1
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +1 -1
- data/test/test_SimpleQueryExpander.rb +1 -1
- data/test/test_Syntax.rb +1 -1
- data/test/test_TextFormatter.rb +1 -1
- data/test/test_TjTime.rb +1 -1
- data/test/test_TjpExample.rb +1 -1
- data/test/test_URLParameter.rb +1 -1
- data/test/test_UTF8String.rb +1 -1
- data/test/test_WorkingHours.rb +1 -1
- data/test/test_deep_copy.rb +1 -1
- metadata +26 -14
data/lib/taskjuggler/Interval.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Interval.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = IntervalList.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/taskjuggler/Journal.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Journal.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = KateSyntax.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = KeywordArray.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = KeywordDocumentation.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -688,7 +688,8 @@ class TaskJuggler
|
|
|
688
688
|
return nil if @pattern.supportLevel == :removed
|
|
689
689
|
|
|
690
690
|
if @pattern.exampleFile
|
|
691
|
-
exampleDir = AppConfig.dataDirs('test')[0]
|
|
691
|
+
exampleDir = File.join(AppConfig.dataDirs('test')[0], 'TestSuite',
|
|
692
|
+
'Syntax', 'Correct')
|
|
692
693
|
example = TjpExample.new
|
|
693
694
|
fileName = "#{exampleDir}/#{@pattern.exampleFile}.tjp"
|
|
694
695
|
example.open(fileName)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = LeaveList.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/taskjuggler/Limits.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Limits.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/taskjuggler/Log.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Log.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = LogicalExpression.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = LogicalFunction.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -36,6 +36,7 @@ class TaskJuggler
|
|
|
36
36
|
'isresource' => 0,
|
|
37
37
|
'isresponsibilityof' => 2,
|
|
38
38
|
'istask' => 0,
|
|
39
|
+
'isvalid' => 1,
|
|
39
40
|
'treelevel' => 0
|
|
40
41
|
}
|
|
41
42
|
|
|
@@ -231,6 +232,27 @@ class TaskJuggler
|
|
|
231
232
|
property.is_a?(Task)
|
|
232
233
|
end
|
|
233
234
|
|
|
235
|
+
def isvalid(expr, args)
|
|
236
|
+
property = properties(expr)[0]
|
|
237
|
+
project = property.project
|
|
238
|
+
attr = args[0]
|
|
239
|
+
scenario, attr = args[0].split('.')
|
|
240
|
+
if attr.nil?
|
|
241
|
+
attr = scenario
|
|
242
|
+
scenario = nil
|
|
243
|
+
end
|
|
244
|
+
expr.error("Argument must not be empty") unless attr
|
|
245
|
+
if scenario && (scenarioIdx = project.scenarioIdx(scenario)).nil?
|
|
246
|
+
expr.error("Unknown scenario '#{scenario}' used for function " +
|
|
247
|
+
"isvalid()")
|
|
248
|
+
end
|
|
249
|
+
unless property.propertySet.knownAttribute?(attr)
|
|
250
|
+
expr.error("Unknown attribute '#{attr}' used for function " +
|
|
251
|
+
"isvalid()")
|
|
252
|
+
end
|
|
253
|
+
!property[attr, scenarioIdx].nil?
|
|
254
|
+
end
|
|
255
|
+
|
|
234
256
|
def treelevel(expr, args)
|
|
235
257
|
property = properties(expr)[0]
|
|
236
258
|
return 0 unless property
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = LogicalOperation.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -191,7 +191,7 @@ class TaskJuggler
|
|
|
191
191
|
# To evaluate a property attribute we use the Query mechanism to retrieve
|
|
192
192
|
# the value.
|
|
193
193
|
def eval(expr)
|
|
194
|
-
query = expr.query
|
|
194
|
+
query = expr.query.dup
|
|
195
195
|
query.scenarioIdx = @scenario.sequenceNo - 1
|
|
196
196
|
query.attributeId = @operand1
|
|
197
197
|
query.process
|
|
@@ -207,6 +207,9 @@ class TaskJuggler
|
|
|
207
207
|
# names are shown, otherwise their values.
|
|
208
208
|
def to_s(query)
|
|
209
209
|
if query
|
|
210
|
+
query = query.dup
|
|
211
|
+
query.scenarioIdx = @scenario.sequenceNo - 1
|
|
212
|
+
query.attributeId = @operand1
|
|
210
213
|
query.process
|
|
211
214
|
query.to_s
|
|
212
215
|
else
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = MessageHandler.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -136,6 +136,8 @@ class TaskJuggler
|
|
|
136
136
|
@logLevel = 3
|
|
137
137
|
# The full file name of the log file.
|
|
138
138
|
@logFile = nil
|
|
139
|
+
# Toggle if scenario ids are included in the messages or not.
|
|
140
|
+
@hideScenario = true
|
|
139
141
|
# The name of the current application
|
|
140
142
|
@appName = 'unknown'
|
|
141
143
|
# Set to true if program should be exited on warnings.
|
|
@@ -168,7 +170,6 @@ class TaskJuggler
|
|
|
168
170
|
@messages = []
|
|
169
171
|
end
|
|
170
172
|
|
|
171
|
-
|
|
172
173
|
# Set the console output level.
|
|
173
174
|
def outputLevel=(level)
|
|
174
175
|
@outputLevel = checkLevel(level)
|
|
@@ -179,6 +180,10 @@ class TaskJuggler
|
|
|
179
180
|
@logLevel = checkLevel(level)
|
|
180
181
|
end
|
|
181
182
|
|
|
183
|
+
def hideScenario=(yesNo)
|
|
184
|
+
@hideScenario = yesNo
|
|
185
|
+
end
|
|
186
|
+
|
|
182
187
|
# Generate a fatal message that will abort the application.
|
|
183
188
|
def fatal(id, message, sourceFileInfo = nil, line = nil, data = nil,
|
|
184
189
|
scenario = nil)
|
|
@@ -268,7 +273,8 @@ class TaskJuggler
|
|
|
268
273
|
# Treat criticals like errors but without generating another
|
|
269
274
|
# exception.
|
|
270
275
|
msg = Message.new(type == :critical ? :error : type, id, message,
|
|
271
|
-
sourceFileInfo, line, data,
|
|
276
|
+
sourceFileInfo, line, data,
|
|
277
|
+
@hideScenario ? nil : scenario)
|
|
272
278
|
@messages << msg
|
|
273
279
|
|
|
274
280
|
# Append the message to the log file if requested by the user.
|
data/lib/taskjuggler/PTNProxy.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = PTNProxy.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/taskjuggler/Painter.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Painter.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/taskjuggler/Project.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = Project.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -71,6 +71,7 @@ class TaskJuggler
|
|
|
71
71
|
# members: the tjp syntax token, the user visible name and the
|
|
72
72
|
# associated color as RGB byte array.
|
|
73
73
|
'alertLevels' => AlertLevelDefinitions.new,
|
|
74
|
+
'auxdir' => '',
|
|
74
75
|
'copyright' => nil,
|
|
75
76
|
'costaccount' => nil,
|
|
76
77
|
'currency' => "EUR",
|
|
@@ -337,7 +338,7 @@ class TaskJuggler
|
|
|
337
338
|
[ 'accountroot', 'Account Root', PropertyAttribute,
|
|
338
339
|
true, false, false, nil ],
|
|
339
340
|
[ 'auxdir', 'Auxiliary files directory', StringAttribute,
|
|
340
|
-
true,
|
|
341
|
+
true, true, false, '' ],
|
|
341
342
|
[ 'bsi', 'BSI', StringAttribute,
|
|
342
343
|
false, false, false, '' ],
|
|
343
344
|
[ 'caption', 'Caption', RichTextAttribute,
|
|
@@ -477,7 +478,7 @@ class TaskJuggler
|
|
|
477
478
|
# context of enclosing reports needs to be preserved. Therefor we use a
|
|
478
479
|
# stack to implement this.
|
|
479
480
|
@reportContexts = []
|
|
480
|
-
@outputDir = ''
|
|
481
|
+
@outputDir = './'
|
|
481
482
|
@warnTsDeltas = false
|
|
482
483
|
end
|
|
483
484
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ProjectFileParser.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -193,14 +193,17 @@ class TaskJuggler
|
|
|
193
193
|
# Register the new Attribute type with the Property set it should belong
|
|
194
194
|
# to.
|
|
195
195
|
@propertySet.addAttributeType(AttributeDefinition.new(
|
|
196
|
-
@val[1], @val[2], type, inherit, false, scenarioSpecific, default,
|
|
196
|
+
@val[1], @val[2], type, inherit, false, scenarioSpecific, default,
|
|
197
|
+
true))
|
|
197
198
|
|
|
198
199
|
# Add the new user-defined attribute as reportable attribute to the parser
|
|
199
200
|
# rule.
|
|
200
201
|
oldCurrentRule = @cr
|
|
201
202
|
@cr = @rules[:reportableAttributes]
|
|
202
|
-
|
|
203
|
-
|
|
203
|
+
unless @cr.include?(@val[1])
|
|
204
|
+
singlePattern('_' + @val[1])
|
|
205
|
+
descr(@val[2])
|
|
206
|
+
end
|
|
204
207
|
@cr = oldCurrentRule
|
|
205
208
|
|
|
206
209
|
scenarioSpecific
|
|
@@ -265,6 +268,14 @@ class TaskJuggler
|
|
|
265
268
|
@property.typeSpec = type
|
|
266
269
|
@property.sourceFileInfo = sourceFileInfo
|
|
267
270
|
@property.inheritAttributes
|
|
271
|
+
|
|
272
|
+
if block_given?
|
|
273
|
+
# The default attribute values for this report type have to be set in
|
|
274
|
+
# 'inherited' mode since they are not user provided.
|
|
275
|
+
AttributeBase.setMode(1)
|
|
276
|
+
yield
|
|
277
|
+
AttributeBase.setMode(0)
|
|
278
|
+
end
|
|
268
279
|
end
|
|
269
280
|
|
|
270
281
|
# If the @limitResources list is not empty, we have to create a Limits
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = ProjectFileScanner.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = PropertyList.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -191,7 +191,7 @@ class TaskJuggler
|
|
|
191
191
|
def index
|
|
192
192
|
i = 0
|
|
193
193
|
@items.each do |p|
|
|
194
|
-
p.
|
|
194
|
+
p.force('index', i += 1)
|
|
195
195
|
end
|
|
196
196
|
end
|
|
197
197
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = PropertySet.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -242,7 +242,7 @@ class TaskJuggler
|
|
|
242
242
|
end
|
|
243
243
|
bsi += idx.to_s
|
|
244
244
|
end
|
|
245
|
-
p.
|
|
245
|
+
p.force('bsi', bsi)
|
|
246
246
|
end
|
|
247
247
|
end
|
|
248
248
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = PropertyTreeNode.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -423,10 +423,28 @@ class TaskJuggler
|
|
|
423
423
|
end
|
|
424
424
|
end
|
|
425
425
|
|
|
426
|
+
# Set the non-scenario-specific attribute with ID _attributeId_ to
|
|
427
|
+
# _value_. No further checks are done.
|
|
428
|
+
def force(attributeId, value)
|
|
429
|
+
@attributes[attributeId].set(value)
|
|
430
|
+
end
|
|
431
|
+
|
|
426
432
|
# Set the non-scenario-specific attribute with ID _attributeId_ to _value_.
|
|
427
|
-
# In case
|
|
433
|
+
# In case an already provided value is overwritten again, an exeception is
|
|
434
|
+
# raised.
|
|
428
435
|
def set(attributeId, value)
|
|
429
|
-
@attributes[attributeId]
|
|
436
|
+
attr = @attributes[attributeId]
|
|
437
|
+
# Assignments to list attributes always append. We don't
|
|
438
|
+
# consider this an overwrite.
|
|
439
|
+
overwrite = attr.provided && !attr.isList?
|
|
440
|
+
attr.set(value)
|
|
441
|
+
|
|
442
|
+
# We only raise the overwrite error after the value has been set.
|
|
443
|
+
if overwrite
|
|
444
|
+
raise AttributeOverwrite,
|
|
445
|
+
"Overwriting a previously provided value for attribute " +
|
|
446
|
+
"#{attributeId}"
|
|
447
|
+
end
|
|
430
448
|
end
|
|
431
449
|
|
|
432
450
|
# Set the scenario specific attribute with ID _attributeId_ for the
|
|
@@ -434,36 +452,46 @@ class TaskJuggler
|
|
|
434
452
|
# attribute must not be scenario specific. In case the attribute does not
|
|
435
453
|
# exist, an exception is raised.
|
|
436
454
|
def []=(attributeId, scenario, value)
|
|
455
|
+
overwrite = false
|
|
456
|
+
|
|
437
457
|
if scenario
|
|
438
458
|
if AttributeBase.mode == 0
|
|
439
459
|
# If we get values in 'provided' mode, we copy them immedidately to
|
|
440
460
|
# all derived scenarios.
|
|
441
|
-
overwrite = false
|
|
442
461
|
@project.scenario(scenario).all.each do |sc|
|
|
443
462
|
scenarioIdx = @project.scenarioIdx(sc)
|
|
463
|
+
attr = @scenarioAttributes[scenarioIdx][attributeId]
|
|
444
464
|
|
|
445
|
-
if
|
|
465
|
+
if attr.provided && !attr.isList?
|
|
466
|
+
# Assignments to list attributes always append. We don't
|
|
467
|
+
# consider this an overwrite.
|
|
446
468
|
overwrite = true
|
|
447
469
|
end
|
|
448
470
|
|
|
449
471
|
if scenarioIdx == scenario
|
|
450
|
-
|
|
472
|
+
attr.set(value)
|
|
451
473
|
else
|
|
452
|
-
|
|
474
|
+
attr.inherit(value)
|
|
453
475
|
end
|
|
454
476
|
end
|
|
455
|
-
# We only raise the overwrite error after all scenarios have been
|
|
456
|
-
# set. For some attributes the overwrite is actually allowed.
|
|
457
|
-
if overwrite
|
|
458
|
-
raise AttributeOverwrite,
|
|
459
|
-
"Overwriting a previously provided value for attribute " +
|
|
460
|
-
"#{attributeId}"
|
|
461
|
-
end
|
|
462
477
|
else
|
|
463
|
-
@scenarioAttributes[scenario][attributeId]
|
|
478
|
+
attr = @scenarioAttributes[scenario][attributeId]
|
|
479
|
+
overwrite = attr.provided && !attr.isList?
|
|
480
|
+
|
|
481
|
+
attr.set(value)
|
|
464
482
|
end
|
|
465
483
|
else
|
|
466
|
-
@attributes[attributeId]
|
|
484
|
+
attr = @attributes[attributeId]
|
|
485
|
+
overwrite = attr.provided && !attr.isList?
|
|
486
|
+
attr.set(value)
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
# We only raise the overwrite error after all scenarios have been
|
|
490
|
+
# set. For some attributes the overwrite is actually allowed.
|
|
491
|
+
if overwrite
|
|
492
|
+
raise AttributeOverwrite,
|
|
493
|
+
"Overwriting a previously provided value for attribute " +
|
|
494
|
+
"#{attributeId}"
|
|
467
495
|
end
|
|
468
496
|
end
|
|
469
497
|
|