- In OrderSyncInfoDAO the method name findByKeyAndConnectorId is changed to findByKeyOrderAndConnectorId and
a parameter Order is added. The files that uses this method are modified accordingly
- In JiraSynchronizationController refresh added. If OrderSyncInfo is saved the jira sync info screen will be
updated to show the change
- OrderCRUDController refactored
- Save or update for OrderSyncInfo instead of creating new instance for each sync
- Name change for TimImpExpInfo to SynchronizationInfo
- JiraSyncInfo is removed instead SynchronizationInfo is used
- All files which are affected by name changes are modified
- Translations added where applicable
- clean up unused variables etc
The problem was that when you add a child to a newly created empty task, it
become the task in a container, and then mark the container as selected to ease
the insertion of new children.
In order to mark the container as selected the element needs to be renderer
before we try to select it, otherwise we have been getting a NPE.
FEA: ItEr77S04BugFixing
- JIRA is moved to connectors and all files modified that has to do with this change.
- JiraConfiguration file is removed
- ImportedLabel attribute is deleted from Order and order.hbm.xml
- Imstead of importedLabel is now used the key from OrderSyncInfo
- and some more changes where applicable
Better error handling:
* check if connector connection values are valid
* New ConnectorException
* New .zul file to show import/export failed/success information
* All files modified affected by these changes
These icons are disabled when the WBS is showed filtered, as the manipulation
operations could be ambiguous or problematic, but it was treating wrongly
empty predicates.
FEA: ItEr77S15FilteringEnhancements
* CRUD for scheduler
* The UI job_scheduling.zul for CRUD is splits to _editJobScheduling.zul and _listJobScheduling.zul
* Lots of changes in scheduler to make it generic
- jobs can be scheduled, rescheduled and deleted
- check if job has a connector and is enabled
- check if job is allowed to be scheduled
- do manual is moved to JobConfigurationController
* attributes connectorName and scheduled added to JobSchedulerConfiguration modified
* triggerGroup and triggerName deleted from JobScheduleerConfiguration
* In JobConfigurationDAO findByConnectorName added
* New JobClassNameEnum added to be used as data type for JobClassName in JobSchedulerConfiguration
* Import/Export Jobs read the beans that do the real work from ApplicationContext
* Some minor changes in ConfigurationController
AppProperties entity has been removed as it stores the same information
(majorId) repeated in each database record and it doesn't match with the real
model that we need.
A new entity Connector with a majorId identifier has been created, this entity
contains a list of properties (pairs key-value).
Moreover it has been created the predefined Tim connector with its own
properties (predefined too).
For new connectors, apart from the specific classes implementing them it would
be only needed to modify PredefinedConnectors and PredefinedConnectorProperties.
The database will be updated automatically on LibrePlan startup thanks to the
ConnectorBootstrap.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
This will refresh all company-level variables with the corresponding
values depending on the filtering preferences saved.
FEA: ItEr77S15FilteringEnhancements
Either in the Company view/Projects list perspectives and the Project Gantt/WBS ones,
their filter values are synchronized when shitching between them. All the perspectives
were loading the rigth session values when they were loaded for the first time, but
needed to be updated after changes in the filter values to actualize the widgets
on the sibling perspective.
FEA: ItEr77S15FilteringEnhancements
Calling getSelectedElemets was returning a WrongFilterValue exception, and filling
in the bandbox value with the partial string used to filter the listbox.
FEA: ItEr77S15FilteringEnhancements
There was an issue that was causing bandbox search filter in company view to be
cleared, and deleting the corresponding session variable, the second time
that perspective was accesed without changing the filter.
FEA: ItEr77S15FilteringEnhancements
- Import rosters for all departments configured in DB implemented
- Unneeded checks for resource calendar removed
- Some hardcoded strings moved to constants
- Exception with 0h effort allowed
- confirmSave is used to update exceptions
- RESOURCE_HOLIDAY or BANK_HOLIDAY used correctly
- calculating exception hours solved
The new listener registered to track changes on ResourceLoad perspective zoomLevel
was not always being called. An explicit reference was defined to avoid that
listener to be wrongly freed.
FEA: ItEr77S15FilteringEnhancements
* Renamed .zul file and page to "Job Scheduling".
* Include ROLE_JOB_SCHEDULING in default profile SYSTEMS_ADMINISTRATOR.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Like in the case of JIRA, the Tim synchronization UI in the project edition will
only appear if Tim connector is activated.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Lots of changes:
* Created a new model to follow the standard structure of controllers in
LibrePlan.
* Marked several strings to be internationalized.
* Improved .zul page, removing unneeded stuff and simplifying code.
* Checked that cron expression is right, otherwise inform the user.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
Maybe it's not needed to get all workers, so the call to findAll has been changed by findByCode.
Moreover, it was using code in ExportTimesheetsToTim and NIF in
ImportRosterFromTim which was not coherent, so it has been changed to use code
in both places.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
It makes code simpler than using Calendar API, and it's the common way to manage
dates into LibrePlan.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
This allows to add a task over a leaf in a filtered WBS, and being able to keep
seeing the 3 elements: the new container (with the name of the previous leaf),
the previous leaf without name and the new task added.
It's easier to understand with an example. Imagine you have the following WBS:
* Task 1
* Task 2
And you filter by task name using "2", then you'll have:
* Task 2
Then you select "Task 2" and add a new task called "Subtask A".
Without this patch you'll only see:
* Task 2 (the new container using the name of the old leaf)
|- Subtask A (the new task)
However, it's better you see the following
* Task 2 (the new container using the name of the old leaf)
|- (empty task) (the old leaf that you should rename)
|- Subtask A (the new task)
FEA: ItEr77S15FilteringEnhancements
This will allow to get a already filtered WBS if you have been inside the
project before and you have applied some filters, as the filter is already
stored in the session.
FEA: ItEr77S15FilteringEnhancements