Author: nmalin
Date: Sat Sep 7 15:51:06 2019 New Revision: 1866558 URL: http://svn.apache.org/viewvc?rev=1866558&view=rev Log: Improved: PicklistStatusHistory doesn't follow history entity status pattern (OFBIZ-11182) The entity PicklistStatusHistory record each status change realized on picklist. It can't be convert to entity-auto easily because PicklistStatusHistory's fields pattern doesn't follow same entities like ShipmentStatus and PartyStatus. To solve this issue, I deprecate PicklistStatusHistory and move it to OldPicklistStatusHistory and replace it by new entity PicklistStatus that can use natively with entityauto. I added a new migration service migrateOldPicklistStatusHistoryToPickListStatus to forward all picklist status history to new entity. Added: ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/ ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/ ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy (with props) ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml (with props) Modified: ofbiz/ofbiz-framework/trunk/applications/datamodel/entitydef/shipment-entitymodel.xml ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/picklist/PicklistServices.xml ofbiz/ofbiz-framework/trunk/applications/product/ofbiz-component.xml ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_picklist.xml ofbiz/ofbiz-framework/trunk/applications/product/template/facility/PicklistManage.ftl Modified: ofbiz/ofbiz-framework/trunk/applications/datamodel/entitydef/shipment-entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/datamodel/entitydef/shipment-entitymodel.xml?rev=1866558&r1=1866557&r2=1866558&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/datamodel/entitydef/shipment-entitymodel.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/datamodel/entitydef/shipment-entitymodel.xml Sat Sep 7 15:51:06 2019 @@ -309,9 +309,10 @@ under the License. <key-map field-name="lastModifiedByUserLogin" rel-field-name="userLoginId"/> </relation> </entity> - <entity entity-name="PicklistStatusHistory" + <entity entity-name="OldPicklistStatusHistory" table-name="PICKLIST_STATUS_HISTORY" package-name="org.apache.ofbiz.shipment.picklist" title="Picklist Status History"> + <description>Deprecated since branch release: PicklistStatus instead</description> <field name="picklistId" type="id"></field> <field name="changeDate" type="date-time"></field> <field name="changeUserLoginId" type="id-vlong"></field> @@ -338,6 +339,30 @@ under the License. </relation> </entity> + <entity entity-name="PicklistStatus" + package-name="org.apache.ofbiz.shipment.picklist" + title="Picklist Status History"> + <field name="picklistId" type="id"/> + <field name="statusDate" type="date-time"/> + <field name="changeByUserLoginId" type="id-vlong"/> + <field name="statusId" type="id"/> + <field name="statusIdTo" type="id"/> + <prim-key field="picklistId"/> + <prim-key field="statusDate"/> + <relation type="one" fk-name="PCKLST_STST_PKLT" rel-entity-name="Picklist"> + <key-map field-name="picklistId"/> + </relation> + <relation type="one" fk-name="PCKLST_STST_CUL" title="Change" rel-entity-name="UserLogin"> + <key-map field-name="changeByUserLoginId" rel-field-name="userLoginId"/> + </relation> + <relation type="one" fk-name="PCKLST_STST_FSI" rel-entity-name="StatusItem"> + <key-map field-name="statusId"/> + </relation> + <relation type="one" fk-name="PCKLST_STST_TSI" title="To" rel-entity-name="StatusItem"> + <key-map field-name="statusIdTo" rel-field-name="statusId"/> + </relation> + </entity> + <!-- ========================================================= --> <!-- org.apache.ofbiz.shipment.receipt --> <!-- ========================================================= --> Added: ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy?rev=1866558&view=auto ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy (added) +++ ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy Sat Sep 7 15:51:06 2019 @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.ofbiz.entity.GenericValue + +/* + * Migrate all element present on entity OldPicklistStatusHistory to entity PickListStatus + * Update service for Deprecate since: branch release + */ +def migrateOldPicklistStatusHistoryToPickListStatus() { + List<GenericValue> oldPicklistStatusHistories = delegator.findAll("OldPicklistStatusHistory", false) + oldPicklistStatusHistories.each { + GenericValue picklistStatus = makeValue("PicklistStatus") + picklistStatus.statusId = it.statusId + picklistStatus.statusIdTo = it.statusIdTo + picklistStatus.picklistId = it.picklistId + picklistStatus.changeByUserLoginId = it.changeUserLoginId + picklistStatus.statusDate = it.changeDate + picklistStatus.create() + it.remove() + } + return success() +} \ No newline at end of file Propchange: ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/ofbiz-framework/trunk/applications/product/groovyScripts/shipment/picklist/PicklistServices.groovy ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/picklist/PicklistServices.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/picklist/PicklistServices.xml?rev=1866558&r1=1866557&r2=1866558&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/picklist/PicklistServices.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/picklist/PicklistServices.xml Sat Sep 7 15:51:06 2019 @@ -799,12 +799,12 @@ under the License. </if-empty> <check-errors/> - <make-value entity-name="PicklistStatusHistory" value-field="newStatusValue"/> + <make-value entity-name="PicklistStatus" value-field="newStatusValue"/> <set from-field="parameters.picklistId" field="newStatusValue.picklistId"/> <set from-field="lookedUpValue.statusId" field="newStatusValue.statusId"/> <set from-field="parameters.statusId" field="newStatusValue.statusIdTo"/> - <now-timestamp field="newStatusValue.changeDate"/> - <set from-field="userLogin.userLoginId" field="newStatusValue.changeUserLoginId"/> + <now-timestamp field="newStatusValue.statusDate"/> + <set from-field="userLogin.userLoginId" field="newStatusValue.changeByUserLoginId"/> <create-value value-field="newStatusValue"/> </if-compare-field> </if-not-empty> @@ -1352,7 +1352,7 @@ under the License. </iterate> <clear-field field="picklistStatusHistoryInfoList"/> - <get-related value-field="picklist" relation-name="PicklistStatusHistory" list="picklistStatusHistoryList"/> + <get-related value-field="picklist" relation-name="PicklistStatus" list="picklistStatusHistoryList"/> <iterate list="picklistStatusHistoryList" entry="picklistStatusHistory"> <clear-field field="picklistStatusHistoryInfo"/> <get-related-one value-field="picklistStatusHistory" relation-name="StatusItem" to-value-field="picklistStatusHistoryInfo.statusItem" use-cache="true"/> Modified: ofbiz/ofbiz-framework/trunk/applications/product/ofbiz-component.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/ofbiz-component.xml?rev=1866558&r1=1866557&r2=1866558&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/ofbiz-component.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/ofbiz-component.xml Sat Sep 7 15:51:06 2019 @@ -60,6 +60,7 @@ under the License. <service-resource type="model" loader="main" location="servicedef/services_config.xml"/> <service-resource type="model" loader="main" location="servicedef/services_cost.xml"/> <service-resource type="model" loader="main" location="servicedef/services_uom.xml"/> + <service-resource type="model" loader="main" location="servicedef/services_upgrade.xml"/> <service-resource type="eca" loader="main" location="servicedef/secas.xml"/> <service-resource type="eca" loader="main" location="servicedef/secas_shipment.xml"/> <service-resource type="group" loader="main" location="servicedef/groups.xml"/> Modified: ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_picklist.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_picklist.xml?rev=1866558&r1=1866557&r2=1866558&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_picklist.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_picklist.xml Sat Sep 7 15:51:06 2019 @@ -130,6 +130,15 @@ under the License. <permission-service service-name="facilityPermissionCheck" main-action="DELETE"/> <auto-attributes include="pk" mode="IN" optional="false"/> </service> + <service name="createPicklistStatus" default-entity-name="PicklistStatus" engine="entity-auto" invoke="create" auth="true"> + <description>Create Picklist status History</description> + <permission-service service-name="facilityPermissionCheck" main-action="CREATE"/> + <auto-attributes include="pk" mode="IN" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + <override name="statusId" optional="false"/> + <override name="statusIdTo" optional="false"/> + <override name="statusDate" optional="true"/> + </service> <!-- PicklistBin --> <service name="createPicklistBin" default-entity-name="PicklistBin" engine="simple" Added: ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml?rev=1866558&view=auto ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml (added) +++ ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml Sat Sep 7 15:51:06 2019 @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd"> + <description>Migration services on product component</description> + <vendor>OFBiz</vendor> + <version>1.0</version> + + <service name="migrateOldPicklistStatusHistoryToPickListStatus" engine="groovy" + location="component://product/groovyScripts/shipment/picklist/PicklistServices.groovy" invoke="migrateOldPicklistStatusHistoryToPickListStatus" auth="true"> + <description>Migration service to convert entries from OldPicklistStatusHistory to new Entity PickListStatus</description> + </service> +</services> Propchange: ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_upgrade.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: ofbiz/ofbiz-framework/trunk/applications/product/template/facility/PicklistManage.ftl URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/template/facility/PicklistManage.ftl?rev=1866558&r1=1866557&r2=1866558&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/product/template/facility/PicklistManage.ftl (original) +++ ofbiz/ofbiz-framework/trunk/applications/product/template/facility/PicklistManage.ftl Sat Sep 7 15:51:06 2019 @@ -111,8 +111,8 @@ under the License. <div style="margin-left: 15px;"> <span class="label">${uiLabelMap.CommonStatus}</span> ${uiLabelMap.CommonChange} ${uiLabelMap.CommonFrom} ${picklistStatusHistoryInfo.statusItem.get("description",locale)} ${uiLabelMap.CommonTo} ${picklistStatusHistoryInfo.statusItemTo.description} - ${uiLabelMap.CommonOn} ${picklistStatusHistoryInfo.picklistStatusHistory.changeDate} - ${uiLabelMap.CommonBy} ${picklistStatusHistoryInfo.picklistStatusHistory.changeUserLoginId} + ${uiLabelMap.CommonOn} ${picklistStatusHistoryInfo.picklistStatusHistory.statusDate} + ${uiLabelMap.CommonBy} ${picklistStatusHistoryInfo.picklistStatusHistory.changeByUserLoginId} </div> </#list> <hr /> |
Free forum by Nabble | Edit this page |