Bug #1440: Add calendar field while editing project templates
FEA: ItEr76S04BugFixing
This commit is contained in:
parent
bda28676ee
commit
ecbd5bbd46
7 changed files with 70 additions and 4 deletions
|
|
@ -587,4 +587,6 @@ public abstract class OrderElementTemplate extends BaseEntity implements
|
|||
|
||||
public abstract BigDecimal getBudget();
|
||||
|
||||
public abstract boolean isOrderTemplate();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -286,4 +286,9 @@ public class OrderLineGroupTemplate extends OrderElementTemplate implements
|
|||
return budget;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOrderTemplate() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -237,4 +237,9 @@ public class OrderLineTemplate extends OrderElementTemplate {
|
|||
return budget;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOrderTemplate() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,10 +22,7 @@ package org.libreplan.business.templates.entities;
|
|||
|
||||
import static org.libreplan.business.i18n.I18nHelper._;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.libreplan.business.calendars.entities.BaseCalendar;
|
||||
import org.libreplan.business.orders.entities.Order;
|
||||
import org.libreplan.business.orders.entities.OrderElement;
|
||||
|
|
@ -45,7 +42,6 @@ public class OrderTemplate extends OrderLineGroupTemplate {
|
|||
return create(beingBuilt, order);
|
||||
}
|
||||
|
||||
@NotNull(message = "project calendar not specified")
|
||||
private BaseCalendar calendar;
|
||||
|
||||
@Override
|
||||
|
|
@ -68,4 +64,18 @@ public class OrderTemplate extends OrderLineGroupTemplate {
|
|||
return _("Project");
|
||||
}
|
||||
|
||||
public void setCalendar(BaseCalendar calendar) {
|
||||
this.calendar = calendar;
|
||||
}
|
||||
|
||||
@NotNull(message = "template calendar not specified")
|
||||
public BaseCalendar getCalendar() {
|
||||
return calendar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOrderTemplate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,9 +29,11 @@ import javax.annotation.Resource;
|
|||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.hibernate.validator.InvalidValue;
|
||||
import org.libreplan.business.calendars.entities.BaseCalendar;
|
||||
import org.libreplan.business.common.exceptions.ValidationException;
|
||||
import org.libreplan.business.orders.entities.OrderElement;
|
||||
import org.libreplan.business.templates.entities.OrderElementTemplate;
|
||||
import org.libreplan.business.templates.entities.OrderTemplate;
|
||||
import org.libreplan.web.common.ConstraintChecker;
|
||||
import org.libreplan.web.common.IMessagesForUser;
|
||||
import org.libreplan.web.common.Level;
|
||||
|
|
@ -261,6 +263,13 @@ public class OrderTemplatesController extends GenericForwardComposer implements
|
|||
showInvalidWorkReportTypeName();
|
||||
return false;
|
||||
}
|
||||
if (model.getTemplate().isOrderTemplate()) {
|
||||
OrderTemplate orderTemplate = (OrderTemplate) model.getTemplate();
|
||||
if (orderTemplate.getCalendar() == null) {
|
||||
throw new WrongValueException(editWindow.getFellow("calendar"),
|
||||
_("calendar not specified"));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -412,4 +421,24 @@ public class OrderTemplatesController extends GenericForwardComposer implements
|
|||
return Util.getMoneyFormat();
|
||||
}
|
||||
|
||||
public boolean isOrderTemplate() {
|
||||
if (model.getTemplate() == null) {
|
||||
return false;
|
||||
}
|
||||
return model.getTemplate().isOrderTemplate();
|
||||
}
|
||||
|
||||
public BaseCalendar getCalendar() {
|
||||
if (isOrderTemplate()) {
|
||||
return ((OrderTemplate) model.getTemplate()).getCalendar();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setCalendar(BaseCalendar calendar) {
|
||||
if (isOrderTemplate()) {
|
||||
((OrderTemplate) model.getTemplate()).setCalendar(calendar);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ import org.libreplan.business.scenarios.IScenarioManager;
|
|||
import org.libreplan.business.scenarios.entities.Scenario;
|
||||
import org.libreplan.business.templates.daos.IOrderElementTemplateDAO;
|
||||
import org.libreplan.business.templates.entities.OrderElementTemplate;
|
||||
import org.libreplan.business.templates.entities.OrderTemplate;
|
||||
import org.libreplan.web.common.concurrentdetection.OnConcurrentModification;
|
||||
import org.libreplan.web.orders.QualityFormsOnConversation;
|
||||
import org.libreplan.web.orders.labels.LabelsOnConversation;
|
||||
|
|
@ -191,6 +192,7 @@ public class OrderTemplatesModel implements IOrderTemplatesModel {
|
|||
}
|
||||
|
||||
private void loadAssociatedData(OrderElementTemplate template) {
|
||||
loadCalendar(template);
|
||||
loadAdvanceAssignments(template);
|
||||
loadQualityForms(template);
|
||||
loadLabels(template);
|
||||
|
|
@ -198,6 +200,13 @@ public class OrderTemplatesModel implements IOrderTemplatesModel {
|
|||
getOrderElementsOnConversation().initialize(template);
|
||||
}
|
||||
|
||||
private void loadCalendar(OrderElementTemplate template) {
|
||||
if (template.isOrderTemplate()) {
|
||||
OrderTemplate orderTemplate = (OrderTemplate) template;
|
||||
orderTemplate.getCalendar().getName();
|
||||
}
|
||||
}
|
||||
|
||||
private static void loadCriterionRequirements(OrderElementTemplate orderElement) {
|
||||
orderElement.getHoursGroups().size();
|
||||
for (HoursGroup hoursGroup : orderElement.getHoursGroups()) {
|
||||
|
|
|
|||
|
|
@ -86,6 +86,12 @@
|
|||
constraint="no negative:${i18n:_('Budget value cannot be negative')}"
|
||||
format="@{templatesForOrdersController.moneyFormat}" />
|
||||
</row>
|
||||
<row visible="@{templatesForOrdersController.orderTemplate}">
|
||||
<label value="${i18n:_('Calendar')}" />
|
||||
<bandboxSearch id="calendar"
|
||||
finder="BaseCalendarBandboxFinder"
|
||||
selectedElement="@{templatesForOrdersController.calendar, access='both'}" />
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</tabpanel>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue