Example usage for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_SAVE_DRAFT

List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_SAVE_DRAFT

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_SAVE_DRAFT.

Prototype

int ACTION_SAVE_DRAFT

To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants ACTION_SAVE_DRAFT.

Click Source Link

Usage

From source file:com.liferay.calendar.service.test.CalendarBookingLocalServiceTest.java

License:Open Source License

@Test
public void testSaveAsDraftPublishedCalendarBooking() throws Exception {
    ServiceContext serviceContext = createServiceContext();

    Calendar calendar = CalendarTestUtil.addCalendar(_user, serviceContext);

    long startTime = System.currentTimeMillis();

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    CalendarBooking calendarBooking = CalendarBookingTestUtil.addRegularCalendarBooking(_user, calendar,
            startTime, startTime + (Time.HOUR * 10), serviceContext);

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);

    calendarBooking = CalendarBookingLocalServiceUtil.updateCalendarBooking(_user.getUserId(),
            calendarBooking.getCalendarBookingId(), calendar.getCalendarId(), new long[0],
            RandomTestUtil.randomLocaleStringMap(), RandomTestUtil.randomLocaleStringMap(),
            RandomTestUtil.randomString(), startTime, startTime + (Time.HOUR * 10), false, null, 0, null, 0,
            null, serviceContext);//  w  w  w.j  a  v  a 2 s  .c o  m

    calendarBooking = CalendarBookingLocalServiceUtil
            .fetchCalendarBooking(calendarBooking.getCalendarBookingId());

    Assert.assertEquals(WorkflowConstants.STATUS_DRAFT, calendarBooking.getStatus());
}

From source file:com.liferay.calendar.test.util.CalendarBookingTestUtil.java

License:Open Source License

public static CalendarBooking addDraftCalendarBooking(User user) throws PortalException {

    return addCalendarBookingWithAction(user, WorkflowConstants.ACTION_SAVE_DRAFT);
}

From source file:com.liferay.calendar.test.util.CalendarBookingTestUtil.java

License:Open Source License

public static CalendarBooking addRegularCalendarBookingWithWorkflow(User user, Calendar calendar,
        ServiceContext serviceContext) throws PortalException {

    boolean workflowEnabled = WorkflowThreadLocal.isEnabled();

    try {//from ww  w. j a v  a  2  s.  co m
        WorkflowThreadLocal.setEnabled(true);

        serviceContext = (ServiceContext) serviceContext.clone();

        serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);

        return addRegularCalendarBooking(user, calendar, serviceContext);
    } finally {
        WorkflowThreadLocal.setEnabled(workflowEnabled);
    }
}

From source file:com.liferay.document.library.trash.test.DLFileShortcutTrashHandlerTest.java

License:Open Source License

@Override
public BaseModel<?> updateBaseModel(long primaryKey, ServiceContext serviceContext) throws Exception {

    DLFileShortcut dlFileShortcut = DLFileShortcutLocalServiceUtil.getFileShortcut(primaryKey);

    if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_SAVE_DRAFT) {

        DLFileShortcutLocalServiceUtil.updateStatus(TestPropsValues.getUserId(), primaryKey,
                WorkflowConstants.STATUS_DRAFT, serviceContext);
    }// w w  w.j  ava  2 s .com

    return dlFileShortcut;
}

From source file:com.liferay.document.library.trash.test.DLFolderTrashHandlerTest.java

License:Open Source License

@Override
public BaseModel<?> updateBaseModel(long primaryKey, ServiceContext serviceContext) throws Exception {

    DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(primaryKey);

    if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_SAVE_DRAFT) {

        dlFolder = DLFolderLocalServiceUtil.updateStatus(TestPropsValues.getUserId(), primaryKey,
                WorkflowConstants.STATUS_DRAFT, null, serviceContext);
    }//  w ww.  j a v a  2  s  .  com

    return dlFolder;
}

From source file:com.liferay.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    FileEntry fileEntry = null;//from  w  w  w. j  av a 2s  .co  m

    PortletConfig portletConfig = getPortletConfig(actionRequest);

    try {
        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            Throwable cause = uploadException.getCause();

            if (cmd.equals(Constants.ADD_TEMP)) {
                if (cause instanceof FileUploadBase.IOFileUploadException) {
                    if (_log.isInfoEnabled()) {
                        _log.info("Temporary upload was cancelled");
                    }
                }
            } else {
                if (uploadException.isExceededFileSizeLimit()) {
                    throw new FileSizeException(cause);
                }

                if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                    throw new LiferayFileItemException(cause);
                }

                if (uploadException.isExceededUploadRequestSizeLimit()) {
                    throw new UploadRequestSizeException(cause);
                }

                throw new PortalException(cause);
            }
        } else if (cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC)
                || cmd.equals(Constants.UPDATE) || cmd.equals(Constants.UPDATE_AND_CHECKIN)) {

            fileEntry = updateFileEntry(portletConfig, actionRequest, actionResponse);
        } else if (cmd.equals(Constants.ADD_MULTIPLE)) {
            addMultipleFileEntries(portletConfig, actionRequest, actionResponse);

            hideDefaultSuccessMessage(actionRequest);
        } else if (cmd.equals(Constants.ADD_TEMP)) {
            addTempFileEntry(actionRequest, actionResponse);
        } else if (cmd.equals(Constants.DELETE)) {
            deleteFileEntry(actionRequest, false);
        } else if (cmd.equals(Constants.DELETE_TEMP)) {
            deleteTempFileEntry(actionRequest, actionResponse);
        } else if (cmd.equals(Constants.CANCEL_CHECKOUT)) {
            cancelFileEntriesCheckOut(actionRequest);
        } else if (cmd.equals(Constants.CHECKIN)) {
            checkInFileEntries(actionRequest);
        } else if (cmd.equals(Constants.CHECKOUT)) {
            checkOutFileEntries(actionRequest);
        } else if (cmd.equals(Constants.MOVE_TO_TRASH)) {
            deleteFileEntry(actionRequest, true);
        } else if (cmd.equals(Constants.RESTORE)) {
            restoreTrashEntries(actionRequest);
        } else if (cmd.equals(Constants.REVERT)) {
            revertFileEntry(actionRequest);
        }

        WindowState windowState = actionRequest.getWindowState();

        if (cmd.equals(Constants.ADD_TEMP) || cmd.equals(Constants.DELETE_TEMP)) {

            actionResponse.setRenderParameter("mvcPath", "/null.jsp");
        } else if (cmd.equals(Constants.PREVIEW)) {
            SessionMessages.add(actionRequest,
                    _portal.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_FORCE_SEND_REDIRECT);

            hideDefaultSuccessMessage(actionRequest);

            actionResponse.setRenderParameter("mvcRenderCommandName", "/document_library/edit_file_entry");
        } else if (!windowState.equals(LiferayWindowState.POP_UP)) {
        } else {
            String redirect = ParamUtil.getString(actionRequest, "redirect");
            int workflowAction = ParamUtil.getInteger(actionRequest, "workflowAction",
                    WorkflowConstants.ACTION_SAVE_DRAFT);

            if ((fileEntry != null) && (workflowAction == WorkflowConstants.ACTION_SAVE_DRAFT)) {

                redirect = getSaveAndContinueRedirect(portletConfig, actionRequest, fileEntry, redirect);

                sendRedirect(actionRequest, actionResponse, redirect);
            } else {
                if (windowState.equals(LiferayWindowState.POP_UP)) {
                    redirect = _portal.escapeRedirect(ParamUtil.getString(actionRequest, "redirect"));

                    if (Validator.isNotNull(redirect)) {
                        if (cmd.equals(Constants.ADD) && (fileEntry != null)) {

                            String portletId = HttpUtil.getParameter(redirect, "p_p_id", false);

                            String namespace = _portal.getPortletNamespace(portletId);

                            redirect = HttpUtil.addParameter(redirect, namespace + "className",
                                    DLFileEntry.class.getName());
                            redirect = HttpUtil.addParameter(redirect, namespace + "classPK",
                                    fileEntry.getFileEntryId());
                        }

                        actionRequest.setAttribute(WebKeys.REDIRECT, redirect);
                    }
                }
            }
        }
    } catch (Exception e) {
        handleUploadException(portletConfig, actionRequest, actionResponse, cmd, e);
    }
}

From source file:com.liferay.dynamic.data.lists.form.web.internal.portlet.action.AddRecordMVCResourceCommand.java

License:Open Source License

protected ServiceContext createServiceContext(ResourceRequest resourceRequest) throws PortalException {

    ServiceContext serviceContext = ServiceContextFactory.getInstance(DDLRecord.class.getName(),
            resourceRequest);/*from   w w w  .  ja va2 s .  c om*/

    serviceContext.setAttribute("status", WorkflowConstants.STATUS_DRAFT);
    serviceContext.setAttribute("validateDDMFormValues", Boolean.FALSE);
    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);

    return serviceContext;
}

From source file:com.liferay.dynamic.data.lists.service.impl.DDLRecordLocalServiceImpl.java

License:Open Source License

protected String getNextVersion(String version, boolean majorVersion, int workflowAction) {

    if (workflowAction == WorkflowConstants.ACTION_SAVE_DRAFT) {
        majorVersion = false;/*from   ww w .  j  a  v a2  s . c  o  m*/
    }

    int[] versionParts = StringUtil.split(version, StringPool.PERIOD, 0);

    if (majorVersion) {
        versionParts[0]++;
        versionParts[1] = 0;
    } else {
        versionParts[1]++;
    }

    return versionParts[0] + StringPool.PERIOD + versionParts[1];
}

From source file:com.liferay.dynamic.data.lists.service.impl.DDLRecordLocalServiceImpl.java

License:Open Source License

/**
 * See <code>DLFileVersionPolicyImpl#isKeepFileVersionLabel</code> in the
 * <code>com.liferay.document.library.service</code> module.
 *//*from   w  w w .ja va  2s. c  o m*/
protected boolean isKeepRecordVersionLabel(DDLRecordVersion lastRecordVersion,
        DDLRecordVersion latestRecordVersion, ServiceContext serviceContext) throws PortalException {

    if (Objects.equals(serviceContext.getCommand(), Constants.REVERT)) {
        return false;
    }

    if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_SAVE_DRAFT) {

        return false;
    }

    if (Objects.equals(lastRecordVersion.getVersion(), latestRecordVersion.getVersion())) {

        return false;
    }

    DDMFormValues lastDDMFormValues = storageEngine.getDDMFormValues(lastRecordVersion.getDDMStorageId());
    DDMFormValues latestDDMFormValues = storageEngine.getDDMFormValues(latestRecordVersion.getDDMStorageId());

    if (!lastDDMFormValues.equals(latestDDMFormValues)) {
        return false;
    }

    ExpandoBridge lastExpandoBridge = lastRecordVersion.getExpandoBridge();
    ExpandoBridge latestExpandoBridge = latestRecordVersion.getExpandoBridge();

    Map<String, Serializable> lastAttributes = lastExpandoBridge.getAttributes();
    Map<String, Serializable> latestAttributes = latestExpandoBridge.getAttributes();

    if (!lastAttributes.equals(latestAttributes)) {
        return false;
    }

    return true;
}

From source file:com.liferay.dynamic.data.lists.service.test.DDLRecordServiceTest.java

License:Open Source License

@Test
public void testPublishRecordDraftWithoutChanges() throws Exception {
    DDMForm ddmForm = createDDMForm();/*from   ww w .  j ava  2s . c om*/

    ddmForm.addDDMFormField(createTextDDMFormField("Name", true, false));

    DDLRecordSet recordSet = addRecordSet(ddmForm);

    DDLRecordTestHelper recordTestHelper = new DDLRecordTestHelper(_group, recordSet);

    DDMFormValues ddmFormValues = createDDMFormValues(ddmForm);

    ddmFormValues.addDDMFormFieldValue(createLocalizedDDMFormFieldValue("Name", "Joe Bloggs"));

    DDLRecord record = recordTestHelper.addRecord(ddmFormValues, WorkflowConstants.ACTION_SAVE_DRAFT);

    Assert.assertEquals(WorkflowConstants.STATUS_DRAFT, record.getStatus());

    DDLRecordVersion recordVersion = record.getRecordVersion();

    Assert.assertTrue(recordVersion.isDraft());

    record = updateRecord(record.getRecordId(), record.getDDMFormValues(), WorkflowConstants.ACTION_PUBLISH);

    Assert.assertEquals(WorkflowConstants.STATUS_APPROVED, record.getStatus());

    recordVersion = record.getRecordVersion();

    Assert.assertTrue(recordVersion.isApproved());
}