Author: jonesde
Date: Sun Dec 17 12:37:42 2006 New Revision: 488043 URL: http://svn.apache.org/viewvc?view=rev&rev=488043 Log: Applied patch from Anil Patel in Jira #OFBIZ-549 to implement WorkEffort keyword indexing and a manual keyword admin screen; this is a good start but still a couple of things to do on it Added: incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties (with props) incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml (with props) incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java (with props) Modified: incubator/ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.properties incubator/ofbiz/trunk/applications/workeffort/entitydef/entitygroup.xml incubator/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml incubator/ofbiz/trunk/applications/workeffort/ofbiz-component.xml incubator/ofbiz/trunk/applications/workeffort/servicedef/services.xml incubator/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml Modified: incubator/ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.properties URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.properties?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.properties (original) +++ incubator/ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.properties Sun Dec 17 12:37:42 2006 @@ -31,7 +31,8 @@ PageTitleAddWorkEffortCommEvent=Add Work Effort Communication Event PageTitleEditWorkEffortCommEvent=Edit Work Effort CommEvent PageTitleListWorkEffortCommEvents=Work Effort Communication Events - +PageTitleListWorkEffortKeyword = Work Effort Keywords +PageTitleAddWorkEffortKeyword = Add Work Effort Keyword PageTitleAddWorkEffortPartyAssign=Add Work Effort Party Assignment PageTitleEditWorkEffortPartyAssign=Edit Work Effort Party Assignment PageTitleListWorkEffortPartyAssigns=Work Effort Party Assignments @@ -217,6 +218,7 @@ WorkEffortItem=Item WorkEffortKeyword=Keyword WorkEffortKeywordAllWordsMatch=all words match +WorkEffortKeywordAlreadyExist=WorkEffort - Keyword already exist WorkEffortKeywordAnyWordMatches=any word matches WorkEffortKeywordRelevency=Keyword Relevency WorkEffortKeywords=Keywords Added: incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties?view=auto&rev=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties (added) +++ incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties Sun Dec 17 12:37:42 2006 @@ -0,0 +1,35 @@ +##################################################################### +# +# Copyright 2001-2006 The Apache Software Foundation +# +# Licensed 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. +###################################################################### + +# Assign a weight to each workeffort keyword source during indexing/keywork inuduction +index.weight.WorkEffort.workEffortId=1 +index.weight.WorkEffort.workEffortName=1 +index.weight.WorkEffort.workEffortTypeId=1 +index.weight.WorkEffort.currentStatusId=1 +index.weight.WorkEffort.actualStartDate=1 +index.weight.WorkEffort.actualCompletionDate=1 + +index.weight.WorkEffortNoteAndData.noteInfo=1 + +index.weight.WorkEffortAttribute.attrName=1 +index.weight.WorkEffortAttribute.attrValue=1 + +index.include.WorkEffortContentTypes=CREATED_MEDIA,PROJECT_SPEC,PROPOSAL_MEDIA,SUPPORTING_MEDIA +index.weight.WorkEffortContent.CREATED_MEDIA=1 +index.weight.WorkEffortContent.PROJECT_SPEC=1 +index.weight.WorkEffortContent.PROPOSAL_MEDIA=1 +index.weight.WorkEffortContent.SUPPORTING_MEDIA=1 Propchange: incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: incubator/ofbiz/trunk/applications/workeffort/config/workeffortsearch.properties ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml?view=auto&rev=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml (added) +++ incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml Sun Dec 17 12:37:42 2006 @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Copyright 2001-2006 The Apache Software Foundation + +Licensed 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. +--> + +<entity-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/entity-eca.xsd"> + <!-- WorkEffort Keyword Indexing ECAs --> + <eca entity="WorkEffort" operation="create-store" event="return"> + <action service="indexWorkEffortKeywords" mode="sync" value-attr="workEffortInstance"/> + </eca> + <eca entity="WorkEffortAttribute" operation="create-store" event="return"> + <action service="indexWorkEffortKeywords" mode="sync"/> + </eca> + <eca entity="WorkEffortContent" operation="create-store" event="return"> + <action service="indexWorkEffortKeywords" mode="sync"/> + </eca> + <eca entity="WorkEffortNote" operation="create-store" event="return"> + <action service="indexWorkEffortKeywords" mode="sync"/> + </eca> +</entity-eca> Propchange: incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: incubator/ofbiz/trunk/applications/workeffort/entitydef/eecas.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: incubator/ofbiz/trunk/applications/workeffort/entitydef/entitygroup.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/entitydef/entitygroup.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/entitydef/entitygroup.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/entitydef/entitygroup.xml Sun Dec 17 12:37:42 2006 @@ -52,6 +52,7 @@ <entity-group group="org.ofbiz" entity="WorkEffortContactMech" /> <entity-group group="org.ofbiz" entity="WorkEffortContent" /> <entity-group group="org.ofbiz" entity="WorkEffortContentType" /> + <entity-group group="org.ofbiz" entity="WorkEffortContentAndInfo" /> <entity-group group="org.ofbiz" entity="WorkEffortDeliverableProd" /> <entity-group group="org.ofbiz" entity="WorkEffortFixedAssetAssign" /> <entity-group group="org.ofbiz" entity="WorkEffortFixedAssetStd" /> Modified: incubator/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml Sun Dec 17 12:37:42 2006 @@ -663,4 +663,35 @@ </relation> </view-entity> + <view-entity entity-name="WorkEffortContentAndInfo" + package-name="org.ofbiz.workeffort.workeffort" + title="WorkEffortContent, Content and DataResource View Entity"> + <member-entity entity-alias="WC" entity-name="WorkEffortContent"/> + <member-entity entity-alias="CO" entity-name="Content"/> + <member-entity entity-alias="DR" entity-name="DataResource"/> + <alias-all entity-alias="WC" /> + <alias-all entity-alias="CO" /> + <alias-all entity-alias="DR" prefix="dr"/> + <view-link entity-alias="WC" rel-entity-alias="CO"> + <key-map field-name="contentId"/> + </view-link> + <view-link entity-alias="CO" rel-entity-alias="DR"> + <key-map field-name="dataResourceId"/> + </view-link> + <relation type="one-nofk" rel-entity-name="ElectronicText"> + <key-map field-name="dataResourceId"/> + </relation> + <relation type="one-nofk" rel-entity-name="ImageDataResource"> + <key-map field-name="dataResourceId" /> + </relation> + <relation type="one-nofk" rel-entity-name="OtherDataResource"> + <key-map field-name="dataResourceId" /> + </relation> + <relation type="many" rel-entity-name="ContentAssocDataResourceViewFrom"> + <key-map field-name="contentId" rel-field-name="contentIdStart" /> + </relation> + <relation type="many" rel-entity-name="ContentAssocDataResourceViewTo"> + <key-map field-name="contentId" rel-field-name="contentIdStart" /> + </relation> + </view-entity> </entitymodel> Modified: incubator/ofbiz/trunk/applications/workeffort/ofbiz-component.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/ofbiz-component.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/ofbiz-component.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/ofbiz-component.xml Sun Dec 17 12:37:42 2006 @@ -26,6 +26,7 @@ <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/> <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_view.xml"/> <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/> + <entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/> <entity-resource type="data" reader-name="seed" loader="main" location="data/WorkEffortTypeData.xml"/> <entity-resource type="data" reader-name="seed" loader="main" location="data/WorkEffortSecurityData.xml"/> <service-resource type="model" loader="main" location="servicedef/services.xml"/> Modified: incubator/ofbiz/trunk/applications/workeffort/servicedef/services.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/servicedef/services.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/servicedef/services.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/servicedef/services.xml Sun Dec 17 12:37:42 2006 @@ -450,4 +450,33 @@ <description>Remove a Work Effort Review</description> <auto-attributes entity-name="WorkEffortReview" include="pk" mode="IN" optional="false"/> </service> + + <service name="indexWorkEffortKeywords" engine="simple" + location="org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="indexWorkEffortKeywords"> + <description>Index the Keywords for a WorkEffort</description> + <attribute name="workEffortId" type="String" mode="IN" optional="false"/> + <attribute name="workEffortInstance" type="GenericValue" mode="IN" optional="true"/> + </service> + <service name="createWorkEffortKeyword" default-entity-name="WorkEffortKeyword" engine="simple" + location="org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortKeyword" auth="true"> + <description>Create a Work Effort Keyword</description> + <auto-attributes include="pk" mode="IN" optional="true"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + </service> + <service name="deleteWorkEffortKeyword" engine="simple" + location="org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="deleteWorkEffortKeyword" auth="true"> + <description>Remove a Work Effort Keyword</description> + <auto-attributes entity-name="WorkEffortKeyword" include="pk" mode="IN" optional="false"/> + </service> + <service name="createWorkEffortKeywords" default-entity-name="WorkEffortKeyword" engine="simple" + location="org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortKeywords" auth="true"> + <description>Create a Work Effort Keyword</description> + <auto-attributes include="pk" mode="IN" optional="true"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + </service> + <service name="deleteWorkEffortKeywords" engine="simple" + location="org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="deleteWorkEffortKeywords" auth="true"> + <description>Remove all Work Effort Keyword</description> + <auto-attributes entity-name="WorkEffort" include="pk" mode="IN" optional="false"/> + </service> </services> Added: incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java?view=auto&rev=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java (added) +++ incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java Sun Dec 17 12:37:42 2006 @@ -0,0 +1,164 @@ +/* + * + * Copyright 2001-2006 The Apache Software Foundation + * + * Licensed 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. + */ + +package org.ofbiz.workeffort.workeffort; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + +import org.ofbiz.base.util.Debug; +import org.ofbiz.base.util.GeneralException; +import org.ofbiz.base.util.UtilDateTime; +import org.ofbiz.base.util.UtilMisc; +import org.ofbiz.base.util.UtilProperties; +import org.ofbiz.common.KeywordSearchUtil; +import org.ofbiz.content.data.DataResourceWorker; +import org.ofbiz.entity.GenericDelegator; +import org.ofbiz.entity.GenericEntityException; +import org.ofbiz.entity.GenericValue; +import org.ofbiz.entity.util.EntityUtil; + +public class WorkEffortKeywordIndex { + public static final String module = WorkEffortKeywordIndex.class.getName(); + public static void indexKeywords(GenericValue workEffort) throws GenericEntityException { + if (workEffort == null) return; + + GenericDelegator delegator = workEffort.getDelegator(); + if (delegator == null) return; + String workEffortId = workEffort.getString("workEffortId"); + String separators = KeywordSearchUtil.getSeparators(); + String stopWordBagOr = KeywordSearchUtil.getStopWordBagOr(); + String stopWordBagAnd = KeywordSearchUtil.getStopWordBagAnd(); + boolean removeStems = KeywordSearchUtil.getRemoveStems(); + Set stemSet = KeywordSearchUtil.getStemSet(); + + Map keywords = new TreeMap(); + List strings = new ArrayList(50); + int widWeight = 1; + try { + widWeight = Integer.parseInt(UtilProperties.getPropertyValue("workeffortsearch", "index.weight.WorkEffort.workEffortId", "1")); + } catch (Exception e) { + Debug.logWarning("Could not parse weight number: " + e.toString(), module); + } + keywords.put(workEffort.getString("workEffortId").toLowerCase(), new Long(widWeight)); + + addWeightedKeywordSourceString(workEffort, "workEffortName", strings); + addWeightedKeywordSourceString(workEffort, "workEffortTypeId", strings); + addWeightedKeywordSourceString(workEffort, "currentStatusId", strings); + + if (!"0".equals(UtilProperties.getPropertyValue("workeffortsearch", "index.weight.WorkEffortNoteAndData.noteInfo", "1"))) { + Iterator workEffortNotes = UtilMisc.toIterator(delegator.findByAnd("WorkEffortNoteAndData", UtilMisc.toMap("workEffortId", workEffortId))); + while (workEffortNotes != null && workEffortNotes.hasNext()) { + GenericValue workEffortNote = (GenericValue) workEffortNotes.next(); + addWeightedKeywordSourceString(workEffortNote, "noteInfo", strings); + } + } + //WorkEffortAttribute + if (!"0".equals(UtilProperties.getPropertyValue("workeffortsearch", "index.weight.WorkEffortAttribute.attrName", "1")) || + !"0".equals(UtilProperties.getPropertyValue("workeffortsearch", "index.weight.WorkEffortAttribute.attrValue", "1"))) { + Iterator workEffortAttributes = UtilMisc.toIterator(delegator.findByAnd("WorkEffortAttribute", UtilMisc.toMap("workEffortId", workEffortId))); + while (workEffortAttributes != null && workEffortAttributes.hasNext()) { + GenericValue workEffortAttribute = (GenericValue) workEffortAttributes.next(); + addWeightedKeywordSourceString(workEffortAttribute, "attrName", strings); + addWeightedKeywordSourceString(workEffortAttribute, "attrValue", strings); + } + } + + String workEffortContentTypes = UtilProperties.getPropertyValue("workeffortsearch", "index.include.WorkEffortContentTypes"); + List workEffortContentTypeList = Arrays.asList(workEffortContentTypes.split(",")); + Iterator workEffortContentTypeIter = workEffortContentTypeList.iterator(); + while (workEffortContentTypeIter.hasNext()) { + String workEffortContentTypeId = (String) workEffortContentTypeIter.next(); + int weight = 1; + try { + weight = Integer.parseInt(UtilProperties.getPropertyValue("workeffortsearch", "index.weight.WorkEffortContent." + workEffortContentTypeId, "1")); + } catch (Exception e) { + Debug.logWarning("Could not parse weight number: " + e.toString(), module); + } + + List workEffortContentAndInfos = delegator.findByAnd("WorkEffortContentAndInfo", UtilMisc.toMap("workEffortId", workEffortId, "workEffortContentTypeId", workEffortContentTypeId), null); + Iterator workEffortContentAndInfoIter = workEffortContentAndInfos.iterator(); + while (workEffortContentAndInfoIter.hasNext()) { + GenericValue workEffortContentAndInfo = (GenericValue) workEffortContentAndInfoIter.next(); + addWeightedDataResourceString(workEffortContentAndInfo, weight, strings, delegator, workEffort); + List alternateViews = workEffortContentAndInfo.getRelated("ContentAssocDataResourceViewTo", UtilMisc.toMap("caContentAssocTypeId", "ALTERNATE_LOCALE"), UtilMisc.toList("-caFromDate")); + alternateViews = EntityUtil.filterByDate(alternateViews, UtilDateTime.nowTimestamp(), "caFromDate", "caThruDate", true); + Iterator alternateViewIter = alternateViews.iterator(); + while (alternateViewIter.hasNext()) { + GenericValue thisView = (GenericValue) alternateViewIter.next(); + addWeightedDataResourceString(thisView, weight, strings, delegator, workEffort); + } + } + } + Iterator strIter = strings.iterator(); + while (strIter.hasNext()) { + String str = (String) strIter.next(); + // call process keywords method here + KeywordSearchUtil.processKeywordsForIndex(str, keywords, separators, stopWordBagAnd, stopWordBagOr, removeStems, stemSet); + } + + List toBeStored = new LinkedList(); + Iterator kiter = keywords.entrySet().iterator(); + while (kiter.hasNext()) { + Map.Entry entry = (Map.Entry) kiter.next(); + GenericValue workEffortKeyword = delegator.makeValue("WorkEffortKeyword", UtilMisc.toMap("workEffortId", workEffort.getString("workEffortId"), "keyword", entry.getKey(), "relevancyWeight", entry.getValue())); + toBeStored.add(workEffortKeyword); + } + if (toBeStored.size() > 0) { + if (Debug.verboseOn()) Debug.logVerbose("KeywordSearch induceKeywords Storing " + toBeStored.size() + " keywords for workEffortId " + workEffort.getString("workEffortId"), module); + delegator.storeAll(toBeStored); + } + + } + + public static void addWeightedDataResourceString(GenericValue dataResource, int weight, List strings, GenericDelegator delegator, GenericValue workEffort) { + Map workEffortCtx = UtilMisc.toMap("workEffort", workEffort); + try { + String contentText = DataResourceWorker.renderDataResourceAsText(delegator, dataResource.getString("dataResourceId"), workEffortCtx, dataResource, null, null); + for (int i = 0; i < weight; i++) { + strings.add(contentText); + } + } catch (IOException e1) { + Debug.logError(e1, "Error getting content text to index", module); + } catch (GeneralException e1) { + Debug.logError(e1, "Error getting content text to index", module); + } + } + public static void addWeightedKeywordSourceString(GenericValue value, String fieldName, List strings) { + if (value.getString(fieldName) != null) { + int weight = 1; + + try { + weight = Integer.parseInt(UtilProperties.getPropertyValue("workeffortsearch", "index.weight." + value.getEntityName() + "." + fieldName, "1")); + } catch (Exception e) { + Debug.logWarning("Could not parse weight number: " + e.toString(), module); + } + + for (int i = 0; i < weight; i++) { + strings.add(value.getString(fieldName)); + } + } + } + +} Propchange: incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: incubator/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: incubator/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml Sun Dec 17 12:37:42 2006 @@ -522,7 +522,37 @@ <response name="success" type="view" value="EditWorkEffortReviews"/> <response name="error" type="view" value="EditWorkEffortReviews"/> </request-map> - + + <!-- WorkEffort Keyword --> + <request-map uri="EditWorkEffortKeywords"> + <security https="true" auth="true"/> + <response name="success" type="view" value="EditWorkEffortKeywords"/> + </request-map> + <request-map uri="createWorkEffortKeyword"> + <security https="true" auth="true"/> + <event type="service" invoke="createWorkEffortKeyword"/> + <response name="success" type="view" value="EditWorkEffortKeywords"/> + <response name="error" type="view" value="EditWorkEffortKeywords"/> + </request-map> + <request-map uri="deleteWorkEffortKeyword"> + <security https="true" auth="true"/> + <event type="service" invoke="deleteWorkEffortKeyword"/> + <response name="success" type="view" value="EditWorkEffortKeywords"/> + <response name="error" type="view" value="EditWorkEffortKeywords"/> + </request-map> + <request-map uri="createWorkEffortKeywords"> + <security https="true" auth="true"/> + <event type="service" invoke="createWorkEffortKeywords"/> + <response name="success" type="view" value="EditWorkEffortKeywords"/> + <response name="error" type="view" value="EditWorkEffortKeywords"/> + </request-map> + <request-map uri="deleteWorkEffortKeywords"> + <security https="true" auth="true"/> + <event type="service" invoke="deleteWorkEffortKeywords"/> + <response name="success" type="view" value="EditWorkEffortKeywords"/> + <response name="error" type="view" value="EditWorkEffortKeywords"/> + </request-map> + <!-- Lookup request mappings --> <request-map uri="LookupWorkEffort"><security https="true" auth="true"/><response name="success" type="view" value="LookupWorkEffort"/></request-map> @@ -601,6 +631,8 @@ <view-map name="EditWorkEffortContents" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditWorkEffortContents"/> <view-map name="EditWorkEffortGoodStandards" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditWorkEffortGoodStandards"/> <view-map name="EditWorkEffortReviews" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditWorkEffortReviews"/> + + <view-map name="EditWorkEffortKeywords" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditWorkEffortKeywords"/> <view-map name="LookupWorkEffort" type="screen" page="component://workeffort/widget/LookupScreens.xml#LookupWorkEffort"/> <view-map name="LookupTimesheet" type="screen" page="component://workeffort/widget/LookupScreens.xml#LookupTimesheet"/> Modified: incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml Sun Dec 17 12:37:42 2006 @@ -914,4 +914,29 @@ <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="deleteWorkEffortReview?workEffortId=${workEffortId}&userLoginId=${userLoginId}&reviewDate=${reviewDate}"/> </field> </form> + <!-- WorkEffortKeyword forms --> + <form name="AddWorkEffortKeyword" default-title-style="tableheadtext" + default-tooltip-style="tabletext" default-widget-style="inputBox" + target="createWorkEffortKeyword" title="" type="single"> + <auto-fields-service service-name="createWorkEffortKeyword"/> + <field name="workEffortId"><hidden value="${parameters.workEffortId}"/></field> + <field name="keyword" title="${uiLabelMap.WorkEffortKeyword}*"><text size="10"/></field> + <field name="relevancyWeight" title="${uiLabelMap.ProductWeight}"><text size="5"/></field> + <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field> + </form> + <form name="ListWorkEffortKeywords" type="list" target="" list-name="listWorkEffortKeywords" + default-title-style="tableheadtext" default-widget-style="tabletext" default-tooltip-style="tabletext"> + <actions> + <entity-and entity-name="WorkEffortKeyword" use-cache="true" list-name="workEffortkeywords"> + <field-map env-name="workEffortId" field-name="workEffortId" /> + </entity-and> + </actions> + <field name="workEffortId" widget-style="buttontext"><hidden/></field> + <field name="keyword" title="${uiLabelMap.WorkEffortKeywords}" widget-style="tabletext"><display/></field> + <field name="relevancyWeight" header-link="createWorkEffortKeywords?workEffortId=${workEffortId}" title="${uiLabelMap.ProductReInduceKeywords}" header-link-style="buttontext" ><display/></field> + <field name="deleteLink" title="${uiLabelMap.ProductDeleteAllKeywords}" header-link="deleteWorkEffortKeywords?workEffortId=${workEffortId}" widget-style="buttontext" header-link-style="buttontext" > + <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="deleteWorkEffortKeyword?workEffortId=${workEffortId}&keyword=${keyword}"/> + </field> + </form> + </forms> Modified: incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml Sun Dec 17 12:37:42 2006 @@ -89,5 +89,9 @@ <menu-item name="WorkEffortReviews" title="${uiLabelMap.WorkEffortReviews}"> <link target="EditWorkEffortReviews?workEffortId=${workEffortId}"/> </menu-item> + <menu-item name="WorkEffortKeywords" title="${uiLabelMap.WorkEffortKeywords}"> + <link target="EditWorkEffortKeywords?workEffortId=${workEffortId}"/> + </menu-item> </menu> + </menus> Modified: incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml?view=diff&rev=488043&r1=488042&r2=488043 ============================================================================== --- incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml (original) +++ incubator/ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml Sun Dec 17 12:37:42 2006 @@ -565,4 +565,24 @@ </widgets> </section> </screen> + <screen name="EditWorkEffortKeywords"> + <section> + <actions> + <set field="titleProperty" value="PageTitleListWorkEffortKeyword"/> + <set field="tabButtonItem" value="WorkEffortKeywords"/> + <set field="labelTitleProperty" value="PageTitleListWorkEffortKeyword"/> + <set field="workEffortId" from-field="parameters.workEffortId"/> + </actions> + <widgets> + <decorator-screen name="CommonWorkEffortDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <container><label style="head1">${uiLabelMap.PageTitleAddWorkEffortKeyword}</label></container> + <include-form name="AddWorkEffortKeyword" location="component://workeffort/widget/WorkEffortForms.xml"/> + <container><label style="head1">${uiLabelMap.WorkEffortKeywords}</label></container> + <include-form name="ListWorkEffortKeywords" location="component://workeffort/widget/WorkEffortForms.xml"/> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> </screens> |
Free forum by Nabble | Edit this page |