CCM NG: Tab Veröffentlichen wirft Exception wenn keine Standard Lifecycle vorhanden ist. (#2797)

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5299 8810af33-2d31-482b-a856-94f89814c4df
jensp 2018-02-19 12:41:29 +00:00
parent 895fdc1f19
commit 5d1a33e6af
5 changed files with 24 additions and 27 deletions

View File

@ -144,7 +144,8 @@ class ItemLifecycleAdminController implements Serializable {
} }
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
public LifecycleDefinition getDefaultLifecycle(final ContentItem item) { public Optional<LifecycleDefinition> getDefaultLifecycle(
final ContentItem item) {
final ContentItem contentItem = itemRepo final ContentItem contentItem = itemRepo
.findById(item.getObjectId()) .findById(item.getObjectId())
@ -156,9 +157,14 @@ class ItemLifecycleAdminController implements Serializable {
.getContentType() .getContentType()
.getDefaultLifecycle(); .getDefaultLifecycle();
return lifecycleDefRepo if (definition == null) {
return Optional.empty();
} else {
return Optional
.of(lifecycleDefRepo
.findById(definition.getDefinitionId()) .findById(definition.getDefinitionId())
.get(); .get());
}
} }
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)

View File

@ -41,7 +41,6 @@ import com.arsdigita.bebop.parameters.IntegerParameter;
import com.arsdigita.bebop.parameters.NumberInRangeValidationListener; import com.arsdigita.bebop.parameters.NumberInRangeValidationListener;
import com.arsdigita.cms.CMS; import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ui.BaseForm; import com.arsdigita.cms.ui.BaseForm;
import com.arsdigita.cms.ui.ContentItemPage;
import com.arsdigita.cms.ui.item.ContentItemRequestLocal; import com.arsdigita.cms.ui.item.ContentItemRequestLocal;
import com.arsdigita.cms.ui.item.ItemWorkflowRequestLocal; import com.arsdigita.cms.ui.item.ItemWorkflowRequestLocal;
import com.arsdigita.cms.ui.workflow.WorkflowRequestLocal; import com.arsdigita.cms.ui.workflow.WorkflowRequestLocal;
@ -67,16 +66,9 @@ import org.libreccm.workflow.WorkflowRepository;
import org.librecms.CmsConstants; import org.librecms.CmsConstants;
import org.librecms.contentsection.ContentItem; import org.librecms.contentsection.ContentItem;
import org.librecms.contentsection.ContentItemManager; import org.librecms.contentsection.ContentItemManager;
import org.librecms.contentsection.ContentItemRepository;
import org.librecms.contentsection.ContentSection; import org.librecms.contentsection.ContentSection;
import org.librecms.contentsection.privileges.ItemPrivileges; import org.librecms.contentsection.privileges.ItemPrivileges;
import org.librecms.lifecycle.Lifecycle;
import org.librecms.lifecycle.LifecycleDefinition; import org.librecms.lifecycle.LifecycleDefinition;
import org.librecms.lifecycle.LifecycleDefinitionRepository;
import org.librecms.lifecycle.LifecycleManager;
import org.librecms.lifecycle.Phase;
import org.librecms.lifecycle.PhaseDefinition;
import org.librecms.lifecycle.PhaseRepository;
import org.librecms.workflow.CmsTask; import org.librecms.workflow.CmsTask;
import org.librecms.workflow.CmsTaskManager; import org.librecms.workflow.CmsTaskManager;
import org.librecms.workflow.CmsTaskType; import org.librecms.workflow.CmsTaskType;
@ -88,6 +80,7 @@ import java.math.BigDecimal;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Optional;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.TooManyListenersException; import java.util.TooManyListenersException;
@ -327,12 +320,10 @@ class ItemLifecycleSelectForm extends BaseForm {
cycleSelect.setValue(state, definition.getDefinitionId()); cycleSelect.setValue(state, definition.getDefinitionId());
} else { } else {
// Set the default lifecycle (if it exists). // Set the default lifecycle (if it exists).
final LifecycleDefinition definition = controller controller
.getDefaultLifecycle(item); .getDefaultLifecycle(item)
.ifPresent(definition -> cycleSelect.setValue(state,
if (definition != null) { definition));
cycleSelect.setValue(state, definition.getDefinitionId());
}
} }
// Set the default start date. // Set the default start date.

View File

@ -452,7 +452,7 @@ cms.ui.item.lifecycle=Lifecycle
cms.ui.item.lifecycle.start_date=Start date cms.ui.item.lifecycle.start_date=Start date
cms.ui.item.lifecycle.end_date=End date cms.ui.item.lifecycle.end_date=End date
cms.ui.item.lifecycle.start_time=Start time cms.ui.item.lifecycle.start_time=Start time
cms.ui.item.lifecycle.end_time\ =End time cms.ui.item.lifecycle.end_time=End time
cms.ui.item.notification_period=Notify in advance cms.ui.item.notification_period=Notify in advance
cms.ui.item.days=days cms.ui.item.days=days
cms.ui.item.hours=hours cms.ui.item.hours=hours

View File

@ -449,7 +449,7 @@ cms.ui.item.lifecycle=Ver\u00f6ffentlichungszyklus
cms.ui.item.lifecycle.start_date=Beginnt am cms.ui.item.lifecycle.start_date=Beginnt am
cms.ui.item.lifecycle.end_date=Endet am cms.ui.item.lifecycle.end_date=Endet am
cms.ui.item.lifecycle.start_time=Beginnt um cms.ui.item.lifecycle.start_time=Beginnt um
cms.ui.item.lifecycle.end_time\ =Endet um cms.ui.item.lifecycle.end_time=Endet um
cms.ui.item.notification_period=Vorab Benachrichtigung cms.ui.item.notification_period=Vorab Benachrichtigung
cms.ui.item.days=Tage cms.ui.item.days=Tage
cms.ui.item.hours=Stunden cms.ui.item.hours=Stunden

View File

@ -408,7 +408,7 @@ cms.ui.item.lifecycle=Lifecycle
cms.ui.item.lifecycle.start_date=Start date cms.ui.item.lifecycle.start_date=Start date
cms.ui.item.lifecycle.end_date=End date cms.ui.item.lifecycle.end_date=End date
cms.ui.item.lifecycle.start_time=Start time cms.ui.item.lifecycle.start_time=Start time
cms.ui.item.lifecycle.end_time\ =End time cms.ui.item.lifecycle.end_time=End time
cms.ui.item.notification_period=Notify in advance cms.ui.item.notification_period=Notify in advance
cms.ui.item.days=days cms.ui.item.days=days
cms.ui.item.hours=hours cms.ui.item.hours=hours