Author: hansbak
Date: Wed Jun 24 15:07:27 2009 New Revision: 788048 URL: http://svn.apache.org/viewvc?rev=788048&view=rev Log: added a portlet edit form to configure which system notes should be sent Modified: ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml ofbiz/trunk/framework/common/entitydef/entitymodel.xml ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageMethods.xml ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml ofbiz/trunk/framework/common/servicedef/services.xml Modified: ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml?rev=788048&r1=788047&r2=788048&view=diff ============================================================================== --- ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml (original) +++ ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml Wed Jun 24 15:07:27 2009 @@ -24,7 +24,8 @@ <PortalPortlet portalPortletId="SystemInfoNotes" portletName="System notes reporting an event" screenName="SystemInfoNotes" - screenLocation="component://commonext/widget/SystemInfoScreens.xml" description="List of system notes for this specific party"/> + screenLocation="component://commonext/widget/SystemInfoScreens.xml" description="List of system notes for this specific party" + editFormName="EditSysInfoPortletParams" editFormLocation="component://commonext/widget/SystemInfoForms.xml"/> <PortletPortletCategory portalPortletId="SystemInfoNotes" portletCategoryId="SYSTEMINFO"/> <PortalPortlet portalPortletId="SystemInfoStatus" Modified: ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml?rev=788048&r1=788047&r2=788048&view=diff ============================================================================== --- ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml (original) +++ ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml Wed Jun 24 15:07:27 2009 @@ -34,38 +34,79 @@ <if-not-empty field="roles"> <iterate entry="role" list="roles"> <if-compare field="role.statusId" value="COM_ROLE_CREATED" operator="equals"> - <make-value value-field="noteData" entity-name="NoteData"/> - <set field="noteData.noteParty" from-field="role.partyId"/> - <set field="noteData.noteName" value="SYSTEMNOTE"/> - <now-timestamp field="noteData.noteDateTime"/> - <sequenced-id sequence-name="NoteData" field="noteData.noteId"/> - <set field="noteData.noteInfo" value="New incoming communication event: ${comm.subject} from ${comm.partyIdFrom}"/> - <set field="noteData.moreInfoPortletId" value="MyCommunications"/> - <create-value value-field="noteData"/> - </if-compare> + <set field="partyId" from-field="role.partyId"/> + <call-simple-method method-name="getPortletAttributeMap"/> + <log level="always" message="==========allNotificationsattrib: ${attributeMap.allNotifications}"></log> + <if> + <condition> + <and> + <if-compare field="attributeMap.allNotifications" value="Y" operator="not-equals"/> + <or> + <and> + <if-compare field="attributeMap.incomingEmail" value="Y" operator="not-equals"/> + <if-compare field="comm.communicationEventTypeId" value="AUTO_EMAIL" operator="equals"/> + </and> + <and> + <if-compare field="attributeMap.email" value="Y" operator="not-equals"/> + <or> + <if-compare field="comm.communicationEventTypeId" value="AUTO_EMAIL_COMM" operator="equals"/> + <if-compare field="comm.communicationEventTypeId" value="EMAIL_COMMUNICATION" operator="equals"/> + </or> + </and> + <and> + <if-compare field="attributeMap.internalNotes" value="Y" operator="not-equals"/> + <if-compare field="comm.communicationEventTypeId" value="COMMENT_NOTE" operator="equals"/> + </and> + </or> + </and> + </condition> + <then> + <make-value value-field="noteData" entity-name="NoteData"/> + <set field="noteData.noteParty" from-field="role.partyId"/> + <set field="noteData.noteName" value="SYSTEMNOTE"/> + <now-timestamp field="noteData.noteDateTime"/> + <sequenced-id sequence-name="NoteData" field="noteData.noteId"/> + <set field="noteData.noteInfo" value="New incoming communication event: ${comm.subject} from ${comm.partyIdFrom}"/> + <set field="noteData.moreInfoPortletId" value="MyCommunications"/> + <create-value value-field="noteData"/> + </then> + </if> + </if-compare> </iterate> </if-not-empty> </if-compare> <!-- new task assignments for the logged on user --> <if-compare field="parameters.entityName" value="WorkEffortPartyAssignment" operator="equals"> - <entity-one entity-name="WorkEffort" value-field="workEffort"> - <field-map field-name="workEffortId" from-field="parameters.entityNameId"/> - </entity-one> - <make-value value-field="noteData" entity-name="NoteData"/> - <set field="noteData.noteParty" from-field="partyId"/> - <set field="noteData.noteName" value="SYSTEMNOTE"/> - <now-timestamp field="noteData.noteDateTime"/> - <set field="noteData.noteInfo" value="New task assignment '${workEffort.workEffortName}' [${workEffort.workEffortId}]"/> - <sequenced-id sequence-name="NoteData" field="noteData.noteId"/> - <set field="noteData.moreInfoPortletId" value="mytasks"/> - <create-value value-field="noteData"/> + <call-simple-method method-name="getPortletAttributeMap"/> + <if-compare field="attributeMap.taskAssignment" value="Y" operator="not-equals"> + <entity-one entity-name="WorkEffort" value-field="workEffort"> + <field-map field-name="workEffortId" from-field="parameters.entityNameId"/> + </entity-one> + <make-value value-field="noteData" entity-name="NoteData"/> + <set field="noteData.noteParty" from-field="partyId"/> + <set field="noteData.noteName" value="SYSTEMNOTE"/> + <now-timestamp field="noteData.noteDateTime"/> + <set field="noteData.noteInfo" value="New task assignment '${workEffort.workEffortName}' [${workEffort.workEffortId}]"/> + <sequenced-id sequence-name="NoteData" field="noteData.noteId"/> + <set field="noteData.moreInfoPortletId" value="mytasks"/> + <create-value value-field="noteData"/> + </if-compare> </if-compare> - <if-empty field="noteData"> - <log level="error" message="No logic to create system note for entity name: ${parameters.entityName} "/> - </if-empty> - + </simple-method> + + <simple-method method-name="getPortletAttributeMap" short-description="get the attributes of the SystemInfoNotes portlet for a userlogin"> + <!-- get the portlet settings: works only if portlet is used only one time and the user only has a single userLogin --> + <entity-and entity-name="UserLogin" list="ulList"> + <field-map field-name="partyId" from-field="partyId"/> + </entity-and> + <first-from-list entry="userLogin" list="ulList"/> + <set field="paMap.ownerUserLoginId" from-field="userLogin.userLoginId"/> + <set field="paMap.portalPortletId" value="SystemInfoNotes"/> + <call-service service-name="getPortletAttributes" in-map-name="paMap"> + <result-to-field result-name="attributeMap" field="attributeMap"/> + </call-service> </simple-method> <simple-method method-name="deleteAllSystemNotes" short-description="delete all system notes from a particular user"> Modified: ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml?rev=788048&r1=788047&r2=788048&view=diff ============================================================================== --- ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml (original) +++ ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml Wed Jun 24 15:07:27 2009 @@ -26,6 +26,16 @@ <field name="noteDateTime" title="Date info created"><display type="date-time"/></field> <field name="noteInfo" title="System Info Note"><hyperlink target="/myportal/control/showPortletDecorator?portalPortletId=${moreInfoPortletId}" target-type="inter-app" description="${noteInfo}"></hyperlink></field> </form> + + <form name="EditSysInfoPortletParams" extends="CommonPortletEdit" extends-resource="component://common/widget/PortletEditForms.xml"> + <field name="dummy" title="BLOCK the following notifications:"><display/></field> + <field name="allNotifications" entry-name="attributeMap.allNotifications"><check/></field> + <field name="email" entry-name="attributeMap.email"><check/></field> + <field name="internalNotes" entry-name="attributeMap.internalNotes"><check/></field> + <field name="telephoneForwards" entry-name="attributeMap.telephoneForwards"><check/></field> + <field name="taskAssignment" entry-name="attributeMap.taskAssignment"><check/></field> + <field name="updateButton"><submit/></field> + </form> <form name="SystemInfoStatus" type="list" list-name="systemInfoStatus" odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar"> Modified: ofbiz/trunk/framework/common/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/entitydef/entitymodel.xml?rev=788048&r1=788047&r2=788048&view=diff ============================================================================== --- ofbiz/trunk/framework/common/entitydef/entitymodel.xml (original) +++ ofbiz/trunk/framework/common/entitydef/entitymodel.xml Wed Jun 24 15:07:27 2009 @@ -698,7 +698,7 @@ <key-map field-name="columnSeqId"/> </relation> </entity> - <view-entity entity-name="PortalPagePortletView" package-name="org.ofbiz.common.portal" title="View entity to have all Portal and Portlet information"> + <view-entity entity-name="PortalPagePortletView" package-name="org.ofbiz.common.portal" title="View entity to have all Portlet information with portalPageId "> <member-entity entity-alias="PPGPTLT" entity-name="PortalPagePortlet"/> <member-entity entity-alias="PTLT" entity-name="PortalPortlet"/> <alias-all entity-alias="PPGPTLT"/> @@ -722,4 +722,14 @@ <key-map field-name="portalPortletId"/> </relation> </entity> + + <view-entity entity-name="PortalPageAndPortlet" package-name="org.ofbiz.common.portal" title="View entity to have all Portal and Portlet information"> + <member-entity entity-alias="PP" entity-name="PortalPage"/> + <member-entity entity-alias="PPP" entity-name="PortalPagePortlet"/> + <alias-all entity-alias="PP"/> + <alias-all entity-alias="PPP"/> + <view-link entity-alias="PP" rel-entity-alias="PPP"> + <key-map field-name="portalPageId"/> + </view-link> + </view-entity> </entitymodel> Modified: ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageMethods.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageMethods.xml?rev=788048&r1=788047&r2=788048&view=diff ============================================================================== --- ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageMethods.xml (original) +++ ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageMethods.xml Wed Jun 24 15:07:27 2009 @@ -41,32 +41,44 @@ <simple-method method-name="setPortalPortletAttributes" short-description="Sets a PortalPortlet attributes"> <if-not-empty field="parameters"> <iterate-map map="parameters" key="attributeKey" value="attributeValue"> - <if-not-empty field="attributeKey"> - <if> - <condition> - <and> - <if-compare field="attributeKey" operator="not-equals" value="portalPageId"/> - <if-compare field="attributeKey" operator="not-equals" value="portalPortletId"/> - <if-compare field="attributeKey" operator="not-equals" value="portletSeqId"/> - </and> - </condition> - <then> - <clear-field field="attributeEntityMap"/> - <set-service-fields service-name="createPortletAttribute" to-map="attributeEntityMap" map="parameters"/> - <set field="attributeEntityMap.attrName" from-field="attributeKey"/> - <set field="attributeEntityMap.attrValue" from-field="attributeValue"/> - - <entity-one entity-name="PortletAttribute" value-field="attributeItem"> - <field-map field-name="attrName" from-field="attributeEntityMap.attrName"/> - </entity-one> - <if-not-empty field="attributeItem"> - <remove-value value-field="attributeItem"/> - </if-not-empty> - - <call-service in-map-name="attributeEntityMap" service-name="createPortletAttribute"/> - </then> - </if> - </if-not-empty> + <if> + <condition> + <and> + <if-compare field="attributeKey" operator="not-equals" value="portalPageId"/> + <if-compare field="attributeKey" operator="not-equals" value="portalPortletId"/> + <if-compare field="attributeKey" operator="not-equals" value="portletSeqId"/> + </and> + </condition> + <then> + <log level="always" message="===2==processing: ${attributeKey}"></log> + <clear-field field="attributeEntityMap"/> + <set-service-fields service-name="createPortletAttribute" map="parameters" to-map="attributeEntityMap"/> + <set field="attributeEntityMap.attrName" from-field="attributeKey"/> + <set field="attributeEntityMap.attrValue" from-field="attributeValue"/> + + <entity-one entity-name="PortletAttribute" value-field="attributeItem"> + <field-map field-name="attrName" from-field="attributeEntityMap.attrName"/> + </entity-one> + <if-not-empty field="attributeItem"> + <remove-value value-field="attributeItem"/> + </if-not-empty> + <call-service service-name="createPortletAttribute" in-map-name="attributeEntityMap"/> + <!-- remove all attributes which were not provided --> + <entity-condition entity-name="PortletAttribute" list="attributeList"> + <condition-list combine="and"> + <condition-expr field-name="portalPageId" operator="equals" from-field="parameters.portalPageId"/> + <condition-expr field-name="portalPortletId" operator="equals" from-field="parameters.portalPortletId"/> + <condition-expr field-name="portletSeqId" operator="equals" from-field="parameters.portletSeqId" ignore-if-null="true"/> + </condition-list> + </entity-condition> + <!-- remove all not supplied attributes --> + <iterate entry="attribute" list="attributeList"> + <if-empty field="parameters.${attribute.attrName}"> + <remove-value value-field="attribute"/> + </if-empty> + </iterate> + </then> + </if> </iterate-map> </if-not-empty> </simple-method> Modified: ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml?rev=788048&r1=788047&r2=788048&view=diff ============================================================================== --- ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml (original) +++ ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml Wed Jun 24 15:07:27 2009 @@ -92,16 +92,35 @@ </if-not-empty> </simple-method> - <simple-method method-name="getPortletAttributes" short-description="Get all attributes of a Portlet" login-required="true"> - <entity-and entity-name="PortletAttribute" list="attributeList"> - <field-map field-name="portalPageId" from-field="parameters.portalPageId"/> - <field-map field-name="portalPortletId" from-field="parameters.portalPortletId"/> - <field-map field-name="portletSeqId" from-field="parameters.portletSeqId"/> - </entity-and> - <iterate list="attributeList" entry="attributeRecord"> - <set field="attributeMap.${attributeRecord.attrName}" from-field="attributeRecord.attrValue"/> - </iterate> - <field-to-result field="attributeMap" result-name="attributeMap"/> + <simple-method method-name="getPortletAttributes" short-description="Get all attributes of a Portlet either by providing userLogin or portalPageid with portalPortletId" login-required="true"> + <if-empty field="parameters.ownerUserLoginId"> + <if-empty field="parameters.portalPageId"> + <log level="error" message="Service getPortletAttributes did not receive either ownerUserLoginId OR portalPageId"></log> + <return response-code="error"/> + </if-empty> + </if-empty> + <!-- if userLogin provided get the portalPageId with the required portlet --> + <if-not-empty field="parameters.ownerUserLoginId"> + <entity-and entity-name="PortalPageAndPortlet" list="ppList"> + <field-map field-name="ownerUserLoginId" from-field="parameters.ownerUserLoginId"/> + <field-map field-name="portalPortletId" from-field="parameters.portalPortletId"/> + </entity-and> + <first-from-list entry="portalPage" list="ppList"/> + <set field="parameters.portalPageId" from-field="portalPage.portalPageId"/> + </if-not-empty> + <entity-condition entity-name="PortletAttribute" list="attributeList"> + <condition-list combine="and"> + <condition-expr field-name="portalPageId" operator="equals" from-field="parameters.portalPageId"/> + <condition-expr field-name="portalPortletId" operator="equals" from-field="parameters.portalPortletId"/> + <condition-expr field-name="portletSeqId" operator="equals" from-field="parameters.portletSeqId" ignore-if-empty="true"/> + </condition-list> + </entity-condition> + <if-not-empty field="attributeList"> + <iterate list="attributeList" entry="attributeRecord"> + <set field="attributeMap.${attributeRecord.attrName}" from-field="attributeRecord.attrValue"/> + </iterate> + <field-to-result field="attributeMap" result-name="attributeMap"/> + </if-not-empty> </simple-method> <simple-method method-name="createPortalPage" short-description="Create a new Portal Page"> Modified: ofbiz/trunk/framework/common/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/servicedef/services.xml?rev=788048&r1=788047&r2=788048&view=diff ============================================================================== --- ofbiz/trunk/framework/common/servicedef/services.xml (original) +++ ofbiz/trunk/framework/common/servicedef/services.xml Wed Jun 24 15:07:27 2009 @@ -637,9 +637,10 @@ <service name="getPortletAttributes" engine="simple" auth="true" location="component://common/script/org/ofbiz/common/PortalPageServices.xml" invoke="getPortletAttributes"> <description>Get all attributes of a Portlet</description> - <attribute name="portalPageId" type="String" mode="IN" optional="false"/> + <attribute name="portalPageId" type="String" mode="IN" optional="true"/> + <attribute name="ownerUserLoginId" type="String" mode="IN" optional="true"/> <attribute name="portalPortletId" type="String" mode="IN" optional="false"/> - <attribute name="portletSeqId" type="String" mode="IN" optional="false"/> + <attribute name="portletSeqId" type="String" mode="IN" optional="true"/> <attribute name="attributeMap" type="Map" mode="OUT" optional="true"/> </service> </services> |
Free forum by Nabble | Edit this page |