Only bound users will have access to page "Personal Area > Home".
Moreover bound users will have access to expenses sheet edition form, even if
they don't have access to "Cost > Expenses" page.
Finally users with role ROLE_SUERUSER, ROLE_SUERUSER or ROLE_TIMESHEETS will
have access to monthly timesheets edition page.
FEA: ItEr76S30PermissionsEnhancements
* Move code for calculating all critical paths to its own class
* The former code broke in many clases so I reimplemented the algorithm
FEA: ItEr76S04BugFixing
The error was in the code that builds the graph for calculating the
CriticalPath. There was a very similar code for building the graph in
TemplateModel, the only difference were the two lines of the patch.
These two lines were changed for fixing bug #1423. I tried this bug
again with the patch applied and it works too.
FEA: ItEr76S04BugFixing
New role ROLE_WS_SUBCONTRACTING has been created, now the web services are
separated in two parts:
* Common web services are allowed to be read by role ROLE_WS_READER and written
by role ROLE_WS_WRITER
* Subcontracting web services are allowed to be read and written by role
ROLE_WS_SUBCONTRACTING
In this way you can give access to a different companies to your subcontracting
services, however prevent them to access to the rest of your data (via common
web services).
FEA: ItEr76S30PermissionsEnhancements
The problem was that before the change, the children of the order returned a
proxy when you used the method getOrder() over them. However, this doesn't
happen if you change the order of the parameters.
I guess that this is because of the converter of the Order is now called before
the converter of the OrderElement and the problem disappears.
FEA: ItEr76S04BugFixing
The casting was failing for milestones, because of they're leafs but not tasks.
Using method TaskElement.isTask() instead of TaskElement.isLeaf() to ensure that
the TaskElement is a Task and can be casted accordingly.
FEA: ItEr76S04BugFixing
The value of 'order' in OrderResourceLoadCalculator was set in the Gantt
View. Switching from 'Project Details' to 'Dashboard' directly caused a
NullPointerException.
FEA: ItEr76S15OrganizingPerProjectDashboard
Dashboard view needs the CriticalPath. The path should be calculated
before opening the view, no inside the view as this could result into a
NullPointerException sometimes (the user should have opened the Gantt
view before). The very same error happened in MonteCarlo and it was
fixed.
The solution is to use CriticalPathBuilder to construct the
CriticalPath.
FEA: ItEr76S15OrganizingPerProjectDashboard
String.format caused a syntax error in Javascript. Depending on
the locale settings a double could be formatted as "X,YY" instead
of "X.YY", as expected.
Use Local.ROOT to force doubles to be formatted as "X.YY"
FEA: ItEr76S15OrganizingPerProjectDashboard
Moved internal class MonthlyTimesheet to a proper file and renamed to
MonthlyTimesheetDTO.
In MonthlyTimesheetDTO all the data showed in the list will be precalculated.
FEA: ItEr76S28UserDashboard