Add license header to many files.
Add new strings to i18n.
Code refactoring.
Add few comments to classes.
Add new method for NotificationModel.
Optimizing imports.
Manually add constraints for email/username at E-mail connector page.
A lot of changes to SendEmail class.
Add DAOs for EmailNotification/Template.
Add entities for EmailNotification/Template.
Add models for EmailNotification/Template.
Add Hibernate mapping for email tables.
Some changes to resources mapping.
Add classes for job scheduling of emails.
Code refactoring.
Test email button changes.
Add solution to get welcome page URL from system.
Remarks to method that adds new row to notification_queue table.
New role in Spring security.
New content of Edit E-mail templates page.
All that is referencing to email template - moved into another package.
Add classes/mapping for notification_queue table.
Update Hibernate version in pom file.
Add role to accept email.
Changed quartz scheduler version
Add opportunity to Schedule E-mail class
Add opportunity to test E-mail connector
Minor changes to BaseCRUDController
Add new strings for i18n
Some changes to editJobScheduling form
Move to a Hibernate version compatible with Jahira. When running with
Java 8 an exception was caused when initializing the session factory.
java.lang.NoSuchMethodError: org.hibernate.engine.jdbc.spi.JdbcServices.getConnectionProvider()Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
at org.jadira.usertype.spi.shared.AbstractUserTypeHibernateIntegrator.use42Api(AbstractUserTypeHibernateIntegrator.java:80)
Now Libreplan can be run on Java8.
This implied some changes:
* Latest versions of hibernate use the Bean Validation API. This
implied renaming the imports and use ConstraintViolationException
instead of InvalidValue. Besides some constraints had to be renamed,
otherwise they wouldn't be recognized by Hibernate validation. In
the new version of Hibernate validator @AssertTrue can only be
applied to properties. So all methods it was applied to must follow
the is.* format.
Automatic execution of Bean Validation API is disabled, otherwise an
infinite loop would happen. This is because there are some
validation constraints that do launch queries to the database. This
causes a flush of the objects in the session and automatic
validation is called again.
* A new library for persisting JodaTime is necessary since
joda-time-hibernate is incompatible with hibernate 4. This library
can automatically register its types for Date conversion so they're
removed from configuration.
* Now, in some places, an InvalidDataAccessApiUsageException is thrown
instead of a DataIntegrityViolationException.
This is because no constraint is violated, the API is being used
incorrectly because a transient instance is being provided where a
persisted one was expected.
* In hibernate 4 listeners cannot be configured via properties.
HibernateDatabaseModificationsListener registers itself in its @PostConstruct method.
* ehcache classes used are now different.
The manually introduced budget cell will be representing the total
amount for the budget on that item, and the expenses cell will
show the difference between that total and the resources costs
for the task hours and required criteria.
FEA: ItEr77S17AutomaticBudgeting
The budget cell will represent the total available budget, and the calculated
read-only total, will be the result of substracting the consumed budget due
to the hours and cost categories of the assinged task criteria.
FEA: ItEr77S17AutomaticBudgeting
FEA: ItEr77S17AutomaticBudgeting
Several components were using Criteria collections not initialized on the
planning state, so when adding dinamically new CriterionRequirements
or HourGroups the group hours were not attached.