List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_DRAFT
int STATUS_DRAFT
To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_DRAFT.
Click Source Link
From source file:com.liferay.dynamic.data.lists.service.impl.DDLRecordLocalServiceImpl.java
License:Open Source License
/** * Updates the record, replacing its display index and values. * * @param userId the primary key of the user updating the record * @param recordId the primary key of the record * @param majorVersion whether this update is a major change. A major * change increments the record's major version number. * @param displayIndex the index position in which the record is displayed * in the spreadsheet view//w w w.j a v a 2 s. c o m * @param ddmFormValues the record values. See <code>DDMFormValues</code> * in the <code>dynamic.data.mapping.api</code> module. * @param serviceContext the service context to be applied. This can set * the record modified date. * @return the record * @throws PortalException if a portal exception occurred */ @Indexable(type = IndexableType.REINDEX) @Override public DDLRecord updateRecord(long userId, long recordId, boolean majorVersion, int displayIndex, DDMFormValues ddmFormValues, ServiceContext serviceContext) throws PortalException { // Record User user = userLocalService.getUser(userId); DDLRecord record = ddlRecordPersistence.findByPrimaryKey(recordId); record.setModifiedDate(serviceContext.getModifiedDate(null)); ddlRecordPersistence.update(record); // Record version DDLRecordVersion recordVersion = record.getLatestRecordVersion(); if (recordVersion.isApproved()) { DDLRecordSet recordSet = record.getRecordSet(); long ddmStorageId = storageEngine.create(recordSet.getCompanyId(), recordSet.getDDMStructureId(), ddmFormValues, serviceContext); String version = getNextVersion(recordVersion.getVersion(), majorVersion, serviceContext.getWorkflowAction()); recordVersion = addRecordVersion(user, record, ddmStorageId, version, displayIndex, WorkflowConstants.STATUS_DRAFT); } else { storageEngine.update(recordVersion.getDDMStorageId(), ddmFormValues, serviceContext); String version = recordVersion.getVersion(); updateRecordVersion(user, recordVersion, version, displayIndex, recordVersion.getStatus(), serviceContext); } if (isKeepRecordVersionLabel(record.getRecordVersion(), recordVersion, serviceContext)) { ddlRecordVersionPersistence.remove(recordVersion); // Dynamic data mapping storage storageEngine.deleteByClass(recordVersion.getDDMStorageId()); return record; } // Workflow WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(), record.getGroupId(), userId, DDLRecord.class.getName(), recordVersion.getRecordVersionId(), recordVersion, serviceContext); return record; }
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();// w w w. j a va 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()); }
From source file:com.liferay.dynamic.data.mapping.form.web.internal.display.context.DDMFormDisplayContext.java
License:Open Source License
public String getDDMFormHTML() throws PortalException { DDMFormInstance ddmFormInstance = getFormInstance(); if (ddmFormInstance == null) { return StringPool.BLANK; }/*from w w w . jav a 2 s . c o m*/ DDMStructure ddmStructure = ddmFormInstance.getStructure(); boolean requireCaptcha = isCaptchaRequired(ddmFormInstance); DDMForm ddmForm = getDDMForm(ddmStructure, requireCaptcha); DDMFormLayout ddmFormLayout = getDDMFormLayout(ddmStructure, requireCaptcha); DDMFormRenderingContext ddmFormRenderingContext = createDDMFormRenderingContext(ddmForm); ddmFormRenderingContext.setGroupId(ddmFormInstance.getGroupId()); DDMFormInstanceRecordVersion ddmFormInstanceRecordVersion = _ddmFormInstanceRecordVersionLocalService .fetchLatestFormInstanceRecordVersion(getUserId(), getFormInstanceId(), getFormInstanceVersion(), WorkflowConstants.STATUS_DRAFT); if (ddmFormInstanceRecordVersion != null) { DDMFormValues mergedDDMFormValues = _ddmFormValuesMerger.merge( ddmFormInstanceRecordVersion.getDDMFormValues(), ddmFormRenderingContext.getDDMFormValues()); ddmFormRenderingContext.setDDMFormValues(mergedDDMFormValues); } boolean showSubmitButton = isShowSubmitButton(); ddmFormRenderingContext.setShowSubmitButton(showSubmitButton); String submitLabel = getSubmitLabel(ddmFormInstance); ddmFormRenderingContext.setSubmitLabel(submitLabel); return _ddmFormRenderer.render(ddmForm, ddmFormLayout, ddmFormRenderingContext); }
From source file:com.liferay.dynamic.data.mapping.form.web.internal.portlet.action.AddFormInstanceRecordMVCActionCommand.java
License:Open Source License
@Override protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { PortletSession portletSession = actionRequest.getPortletSession(); long groupId = ParamUtil.getLong(actionRequest, "groupId"); if (groupId == 0) { groupId = GetterUtil.getLong(portletSession.getAttribute(DDMFormWebKeys.GROUP_ID)); }//w w w . jav a2 s. c om long formInstanceId = ParamUtil.getLong(actionRequest, "formInstanceId"); if (formInstanceId == 0) { formInstanceId = GetterUtil .getLong(portletSession.getAttribute(DDMFormWebKeys.DYNAMIC_DATA_MAPPING_FORM_INSTANCE_ID)); } DDMFormInstance ddmFormInstance = _ddmFormInstanceService.getFormInstance(formInstanceId); validateCaptcha(actionRequest, ddmFormInstance); DDMForm ddmForm = getDDMForm(ddmFormInstance); DDMFormValues ddmFormValues = _ddmFormValuesFactory.create(actionRequest, ddmForm); ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); _addFormInstanceMVCCommandHelper.updateRequiredFieldsAccordingToVisibility(actionRequest, ddmForm, ddmFormValues, themeDisplay.getLocale()); ServiceContext serviceContext = ServiceContextFactory.getInstance(DDMFormInstanceRecord.class.getName(), actionRequest); DDMFormInstanceRecordVersion ddmFormInstanceRecordVersion = _ddmFormInstanceRecordVersionLocalService .fetchLatestFormInstanceRecordVersion(themeDisplay.getUserId(), formInstanceId, ddmFormInstance.getVersion(), WorkflowConstants.STATUS_DRAFT); DDMFormInstanceRecord ddmFormInstanceRecord; if (ddmFormInstanceRecordVersion == null) { ddmFormInstanceRecord = _ddmFormInstanceRecordService.addFormInstanceRecord(groupId, formInstanceId, ddmFormValues, serviceContext); } else { ddmFormInstanceRecord = _ddmFormInstanceRecordService.updateFormInstanceRecord( ddmFormInstanceRecordVersion.getFormInstanceRecordId(), false, ddmFormValues, serviceContext); } if (isEmailNotificationEnabled(ddmFormInstance)) { _ddmFormEmailNotificationSender.sendEmailNotification(actionRequest, ddmFormInstanceRecord); } if (SessionErrors.isEmpty(actionRequest)) { DDMFormInstanceSettings formInstanceSettings = ddmFormInstance.getSettingsModel(); String redirectURL = formInstanceSettings.redirectURL(); if (Validator.isNotNull(redirectURL)) { portletSession.setAttribute(DDMFormWebKeys.DYNAMIC_DATA_MAPPING_FORM_INSTANCE_ID, formInstanceId); portletSession.setAttribute(DDMFormWebKeys.GROUP_ID, groupId); sendRedirect(actionRequest, actionResponse, redirectURL); } else { DDMFormSuccessPageSettings ddmFormSuccessPageSettings = ddmForm.getDDMFormSuccessPageSettings(); if (ddmFormSuccessPageSettings.isEnabled()) { String portletId = _portal.getPortletId(actionRequest); SessionMessages.add(actionRequest, portletId.concat(SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_SUCCESS_MESSAGE)); } } } }
From source file:com.liferay.dynamic.data.mapping.form.web.internal.portlet.action.AddFormInstanceRecordMVCResourceCommand.java
License:Open Source License
protected ServiceContext createServiceContext(ResourceRequest resourceRequest) throws PortalException { ServiceContext serviceContext = ServiceContextFactory.getInstance(DDMFormInstanceRecord.class.getName(), resourceRequest);/*from w w w. j a va2s . 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.mapping.form.web.internal.portlet.action.AddFormInstanceRecordMVCResourceCommand.java
License:Open Source License
@Override protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception { boolean preview = ParamUtil.getBoolean(resourceRequest, "preview"); if (preview) { return;/* w w w .ja va 2s . c o m*/ } ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); long formInstanceId = ParamUtil.getLong(resourceRequest, "formInstanceId"); DDMFormInstance ddmFormInstance = _ddmFormInstanceService.getFormInstance(formInstanceId); DDMFormValues ddmFormValues = createDDMFormValues(ddmFormInstance, resourceRequest); if (ddmFormValues == null) { return; } DDMFormInstanceRecordVersion ddmFormInstanceRecordVersion = _ddmFormInstanceRecordVersionLocalService .fetchLatestFormInstanceRecordVersion(themeDisplay.getUserId(), formInstanceId, ddmFormInstance.getVersion(), WorkflowConstants.STATUS_DRAFT); ServiceContext serviceContext = createServiceContext(resourceRequest); if (ddmFormInstanceRecordVersion == null) { _ddmFormInstanceRecordService.addFormInstanceRecord(ddmFormInstance.getGroupId(), formInstanceId, ddmFormValues, serviceContext); } else { _ddmFormInstanceRecordService.updateFormInstanceRecord( ddmFormInstanceRecordVersion.getFormInstanceRecordId(), false, ddmFormValues, serviceContext); } }
From source file:com.liferay.dynamic.data.mapping.form.web.internal.portlet.action.SaveFormInstanceMVCCommandHelper.java
License:Open Source License
protected DDMFormInstance addFormInstance(PortletRequest portletRequest, long ddmStructureId, Map<Locale, String> nameMap, Map<Locale, String> descriptionMap, DDMFormValues settingsDDMFormValues) throws Exception { long groupId = ParamUtil.getLong(portletRequest, "groupId"); ServiceContext serviceContext = ServiceContextFactory.getInstance(DDMFormInstance.class.getName(), portletRequest);/*from ww w . ja va 2s .co m*/ if (ParamUtil.getBoolean(portletRequest, "autoSave")) { serviceContext.setAttribute("status", WorkflowConstants.STATUS_DRAFT); } validateRedirectURL(settingsDDMFormValues); return formInstanceService.addFormInstance(groupId, ddmStructureId, nameMap, descriptionMap, settingsDDMFormValues, serviceContext); }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceLocalServiceImpl.java
License:Open Source License
protected DDMFormInstance doUpdateFormInstance(long userId, long ddmStructureId, Map<Locale, String> nameMap, Map<Locale, String> descriptionMap, DDMFormValues settingsDDMFormValues, ServiceContext serviceContext, DDMFormInstance ddmFormInstance) throws PortalException { Locale defaultLocale = getDDMFormDefaultLocale(ddmStructureId); validate(ddmStructureId, nameMap, settingsDDMFormValues, defaultLocale); User user = userLocalService.getUser(userId); long oldDDMStructureId = ddmFormInstance.getStructureId(); ddmFormInstance.setStructureId(ddmStructureId); DDMFormInstanceVersion latestDDMFormInstanceVersion = ddmFormInstanceVersionLocalService .getLatestFormInstanceVersion(ddmFormInstance.getFormInstanceId()); int status = GetterUtil.getInteger(serviceContext.getAttribute("status"), WorkflowConstants.STATUS_APPROVED); boolean updateVersion = false; if ((latestDDMFormInstanceVersion.getStatus() == WorkflowConstants.STATUS_DRAFT) && (status == WorkflowConstants.STATUS_DRAFT)) { updateVersion = true;// www .j a va2 s . c o m } boolean majorVersion = GetterUtil.getBoolean(serviceContext.getAttribute("majorVersion")); String version = getNextVersion(latestDDMFormInstanceVersion.getVersion(), majorVersion); if (!updateVersion) { ddmFormInstance.setVersion(version); ddmFormInstance.setVersionUserId(user.getUserId()); ddmFormInstance.setVersionUserName(user.getFullName()); } ddmFormInstance.setNameMap(nameMap, defaultLocale); ddmFormInstance.setDescriptionMap(descriptionMap, defaultLocale); ddmFormInstance.setSettings(ddmFormValuesJSONSerializer.serialize(settingsDDMFormValues)); DDMFormInstance updatedDDMFormInstance = ddmFormInstancePersistence.update(ddmFormInstance); updateWorkflowDefinitionLink(ddmFormInstance, settingsDDMFormValues, serviceContext); long ddmStructureVersionId = getStructureVersionId(ddmStructureId); if (updateVersion) { updateFormInstanceVersion(ddmStructureVersionId, user, ddmFormInstance); } else { addFormInstanceVersion(ddmStructureVersionId, user, ddmFormInstance, version, serviceContext); } if (oldDDMStructureId != ddmStructureId) { ddmFormInstanceRecordLocalService.deleteFormInstanceRecords(ddmFormInstance.getFormInstanceId()); } return updatedDDMFormInstance; }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceRecordLocalServiceImpl.java
License:Open Source License
@Indexable(type = IndexableType.REINDEX) @Override/*w w w.j ava2 s . co m*/ public DDMFormInstanceRecord addFormInstanceRecord(long userId, long groupId, long ddmFormInstanceId, DDMFormValues ddmFormValues, ServiceContext serviceContext) throws PortalException { User user = userLocalService.getUser(userId); DDMFormInstance ddmFormInstance = ddmFormInstancePersistence.findByPrimaryKey(ddmFormInstanceId); validate(groupId, ddmFormInstance); long recordId = counterLocalService.increment(); DDMFormInstanceRecord ddmFormInstanceRecord = ddmFormInstanceRecordPersistence.create(recordId); ddmFormInstanceRecord.setUuid(serviceContext.getUuid()); ddmFormInstanceRecord.setGroupId(groupId); ddmFormInstanceRecord.setCompanyId(user.getCompanyId()); ddmFormInstanceRecord.setUserId(user.getUserId()); ddmFormInstanceRecord.setUserName(user.getFullName()); ddmFormInstanceRecord.setVersionUserId(user.getUserId()); ddmFormInstanceRecord.setVersionUserName(user.getFullName()); StorageEngine storageEngine = storageEngineAccessor.getStorageEngine(); long ddmStorageId = storageEngine.create(ddmFormInstance.getCompanyId(), ddmFormInstance.getStructureId(), ddmFormValues, serviceContext); ddmFormInstanceRecord.setStorageId(ddmStorageId); ddmFormInstanceRecord.setFormInstanceId(ddmFormInstanceId); ddmFormInstanceRecord.setFormInstanceVersion(ddmFormInstance.getVersion()); ddmFormInstanceRecord.setVersion(_VERSION_DEFAULT); ddmFormInstanceRecordPersistence.update(ddmFormInstanceRecord); int status = GetterUtil.getInteger(serviceContext.getAttribute("status"), WorkflowConstants.STATUS_DRAFT); DDMFormInstanceRecordVersion ddmFormInstanceRecordVersion = addFormInstanceRecordVersion(user, ddmFormInstanceRecord, ddmStorageId, status, _VERSION_DEFAULT); // Asset Locale locale = serviceContext.getLocale(); updateAsset(userId, ddmFormInstanceRecord, ddmFormInstanceRecordVersion, serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(), locale, serviceContext.getAssetPriority()); if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_PUBLISH) { WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(), groupId, userId, DDMFormInstanceRecord.class.getName(), ddmFormInstanceRecordVersion.getFormInstanceRecordVersionId(), ddmFormInstanceRecordVersion, serviceContext); } return ddmFormInstanceRecord; }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceRecordLocalServiceImpl.java
License:Open Source License
@Indexable(type = IndexableType.REINDEX) @Override// w w w . j av a2 s .c o m public DDMFormInstanceRecord updateFormInstanceRecord(long userId, long ddmFormInstanceRecordId, boolean majorVersion, DDMFormValues ddmFormValues, ServiceContext serviceContext) throws PortalException { User user = userLocalService.getUser(userId); DDMFormInstanceRecord ddmFormInstanceRecord = ddmFormInstanceRecordPersistence .findByPrimaryKey(ddmFormInstanceRecordId); ddmFormInstanceRecord.setModifiedDate(serviceContext.getModifiedDate(null)); ddmFormInstanceRecord = ddmFormInstanceRecordPersistence.update(ddmFormInstanceRecord); StorageEngine storageEngine = storageEngineAccessor.getStorageEngine(); DDMFormInstanceRecordVersion ddmFormInstanceRecordVersion = ddmFormInstanceRecord .getLatestFormInstanceRecordVersion(); if (ddmFormInstanceRecordVersion.isApproved()) { DDMFormInstance ddmFormInstance = ddmFormInstanceRecord.getFormInstance(); long ddmStorageId = storageEngine.create(ddmFormInstance.getCompanyId(), ddmFormInstance.getStructureId(), ddmFormValues, serviceContext); String version = getNextVersion(ddmFormInstanceRecordVersion.getVersion(), majorVersion, serviceContext.getWorkflowAction()); ddmFormInstanceRecordVersion = addFormInstanceRecordVersion(user, ddmFormInstanceRecord, ddmStorageId, WorkflowConstants.STATUS_DRAFT, version); } else { storageEngine.update(ddmFormInstanceRecordVersion.getStorageId(), ddmFormValues, serviceContext); String version = ddmFormInstanceRecordVersion.getVersion(); updateFormInstanceRecordVersion(user, ddmFormInstanceRecordVersion, ddmFormInstanceRecordVersion.getStatus(), version, serviceContext); } if (isKeepFormInstanceRecordVersionLabel(ddmFormInstanceRecord.getFormInstanceRecordVersion(), ddmFormInstanceRecordVersion, serviceContext)) { ddmFormInstanceRecordVersionPersistence.remove(ddmFormInstanceRecordVersion); storageEngine.deleteByClass(ddmFormInstanceRecordVersion.getStorageId()); return ddmFormInstanceRecord; } if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_PUBLISH) { WorkflowHandlerRegistryUtil.startWorkflowInstance(user.getCompanyId(), ddmFormInstanceRecord.getGroupId(), userId, DDMFormInstanceRecord.class.getName(), ddmFormInstanceRecordVersion.getFormInstanceRecordVersionId(), ddmFormInstanceRecordVersion, serviceContext); } return ddmFormInstanceRecord; }