Fixed test notAllowRemoveCalendarWithChildrenInOtherVersions

Removed reference to calendar in CalendarData and implemented the method
for checking if a calendar is being used by a resource in another manner

FEA: ItEr74S04BugFixing
This commit is contained in:
Diego Pino Garcia 2011-04-25 19:26:39 +02:00
parent c3208fa78c
commit b896b6824b
3 changed files with 4 additions and 14 deletions

View file

@ -148,12 +148,10 @@ public class BaseCalendarDAO extends IntegrationEntityDAO<BaseCalendar>
* @param calendar
*/
private void checkHasResources(BaseCalendar calendar) {
Query query = getSession().createQuery(
"FROM CalendarData "
+ "WHERE calendar IN (FROM ResourceCalendar) "
+ "AND parent = :parent");
query.setParameter("parent", calendar);
if (!query.list().isEmpty()) {
List calendars = getSession().createCriteria(ResourceCalendar.class)
.createCriteria("calendarDataVersions", "calendarData")
.add(Restrictions.eq("calendarData.parent", calendar)).list();
if (!calendars.isEmpty()) {
throw ValidationException
.invalidValue(
"Cannot delete calendar. It is being used at this moment by some resources.",

View file

@ -79,8 +79,6 @@ public class CalendarData extends IntegrationEntity {
private BaseCalendar parent;
private BaseCalendar calendar;
public enum Days {
MONDAY(_("Monday")), TUESDAY(_("Tuesday")), WEDNESDAY(_("Wednesday")), THURSDAY(
_("Thursday")), FRIDAY(_("Friday")), SATURDAY(_("Saturday")), SUNDAY(
@ -223,8 +221,4 @@ public class CalendarData extends IntegrationEntity {
return Registry.getCalendarDataDAO();
}
public BaseCalendar getCalendar() {
return calendar;
}
}

View file

@ -127,8 +127,6 @@
<!-- Not indexed -->
<many-to-one name="parent" class="BaseCalendar" access="field" />
<many-to-one name="calendar" class="BaseCalendar" column="base_calendar_id" />
<property name="expiringDate" access="field"
type="org.joda.time.contrib.hibernate.PersistentLocalDate"
column="expiring_date" />