Added: ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="UTF-8"?> +<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> + + <form name="EditEmail" type="single" target="${target}" default-map-name="communicationEvent" id="updateEmailForProductBacklog"> + <actions> + <!--<set field="partyIdFrom" value="${communicationEvent.partyIdFrom}" default-value="${userLogin.partyId}"/>--> + <entity-one entity-name="ContactMech" value-field="contactMechMapFrom"> + <field-map field-name="contactMechId" from-field="contactMechIdFrom"/> + </entity-one> + <entity-one entity-name="ContactMech" value-field="contactMechMapTo"> + <field-map field-name="contactMechId" from-field="contactMechIdTo"/> + </entity-one> + </actions> + <field name="form"><hidden/></field> + <field name="communicationEventId"><hidden value="${communicationEvent.communicationEventId}"/></field> + <field name="custRequestId"><hidden value="${custRequest.custRequestId}"/></field> + <field name="productIdIn"><hidden value="${parameters.productId}"/></field> + <field name="partyIdFrom" title="${uiLabelMap.CommonFrom}"> <display description="${contactMechMapFrom.infoString}"></display></field> + <!--<field name="partyIdFrom" title="${uiLabelMap.CommonFrom}" use-when="partyIdFromIn!=null" ><display-entity entity-name="PartyNameView" description="${firstName} ${lastName} ${middleName}" key-field-name="partyId"/></field>--> + <field name="partyIdTo" title="${uiLabelMap.CommonTo}"><display description="${contactMechMapTo.infoString}"></display></field> + <!--<field name="partyIdTo" title="${uiLabelMap.CommonTo}" use-when="partyIdToIn!=null" ><display-entity entity-name="PartyNameView" description="${firstName} ${lastName} ${middleName} ${groupName}" key-field-name="partyId"/></field>--> + <field name="datetimeStarted"><hidden value="${communicationEvent.datetimeStarted}"/></field> + <field name="subject" tooltip="Do not remove the "CR#${custRequest.custRequestId}" number"><text size="74" maxlength="255" default-value="CR#${custRequest.custRequestId} - ${custRequest.description}"/></field> + <field name="statusId"><hidden value="COM_IN_PROGRESS"/></field> + <field name="contentMimeTypeId"><hidden value="text/plain"/></field> + <field name="contactMechPurposeTypeIdFrom"><hidden value="SUPPORT_EMAIL"/></field> + <field name="content" title="${uiLabelMap.CommonContent}" encode-output="false"><textarea cols="72" rows="15" default-value="${parameters.content}"/></field> + <field name="send" title="${uiLabelMap.CommonSend}" position="1" widget-style="buttontext" + use-when=""${communicationEvent.statusId}"!="COM_COMPLETE"&&"${communicationEvent.statusId}"!="COM_IN_PROGRESS""> + <submit button-type="button"/> + </field> + <field name="dummy" position="400"><hidden/></field> + </form> + <form name="ViewRequestCommunicationEvents" type="list" paginate="true" list-name="commEvents" + odd-row-style="alternate-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> + <row-actions> + <set field="subject" from-field="subject" default-value="${uiLabelMap.PartyNoSubject}"/> + </row-actions> + <field name="communicationEventId"><hidden/></field> + <field name="subject"> + <hyperlink description="${subject}[${communicationEventId}]" target="ViewProductBacklogEmail" link-type="hidden-form"> + <parameter param-name="communicationEventId"/> + <parameter param-name="partyIdFrom" from-field="partyId"/> + <parameter param-name="roleTypeId"/> + <parameter param-name="custRequestId" from-field="parameters.custRequestId"/> + <parameter param-name="productId" from-field="parameters.productId"/> + </hyperlink> + </field> + <field name="statusId"> + <display-entity description="${description}" entity-name="StatusItem" key-field-name="statusId"/> + </field> + <field name="partyIdFrom" title="${uiLabelMap.CommonFrom}"> + <display-entity description="${firstName} ${middleName} ${lastName} ${groupName}" entity-name="PartyNameView" key-field-name="partyId"> + <sub-hyperlink target="viewprofile" description="[${partyIdFrom}]"> + <parameter param-name="partyId" from-field="partyIdFrom"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="partyIdTo" title="${uiLabelMap.CommonTo}"> + <display-entity description="${firstName} ${middleName} ${lastName} ${groupName}" entity-name="PartyNameView" key-field-name="partyId"> + <sub-hyperlink target="viewprofile" description="[${partyIdTo}]"> + <parameter param-name="partyId" from-field="partyIdTo"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="entryDate" title="${uiLabelMap.CommonCreated}"><display type="date"/></field> + <field name="datetimeStarted" title="${uiLabelMap.CommonSend}"><hidden/></field> + </form> + <form name="uploadContent" type="upload" target="uploadAttachFiletoEmail?productId=${parameters.productId}&custRequestId=${parameters.custRequestId}"> + <field name="custRequestId"><hidden value="${parameters.custRequestId}"/></field> + <field name="dataCategoryId"><hidden value="PERSONAL"/></field> + <field name="contentTypeId"><hidden value="DOCUMENT"/></field> + <field name="resourceStatusId"><hidden value="CTNT_PUBLISHED"/></field> + <field name="partyId"><hidden value="${partyIdFrom}"/></field> + <field name="partyContentTypeId" ><hidden value="USERDEF"/></field> + <field name="roleTypeId"><hidden value="CONTENT"/></field> + <field name="communicationEventId"><hidden value="${communicationEvent.communicationEventId}"/></field> + <field name="communicationEventTypeId"><hidden value="${communicationEvent.communicationEventTypeId}"/></field> + <field name="parentCommEventId"><hidden value="${communicationEvent.parentCommEventId}"/></field> + <field name="origCommEventId"><hidden value="${communicationEvent.origCommEventId}"/></field> + <field name="subject"><hidden/></field> + <field name="content"><hidden/></field> + <field name="partyIdTo"><hidden/></field> + <field name="datetimeStarted"><hidden/></field> + <field name="my"><hidden value="${my}"/></field> + <field name="uploadedFile"><file/></field> + <field name="send" title=" " widget-style="buttontext"> + <hyperlink also-hidden="true" + target-type="plain" description="${uiLabelMap.CommonUpload}" + target="javascript: + (document.uploadContent.datetimeStarted.value=document.EditEmail.datetimeStarted.value), + (document.uploadContent.partyId.value=document.EditEmail.partyIdFrom.value), + (document.uploadContent.partyIdTo.value=document.EditEmail.partyIdTo.value), + (document.uploadContent.subject.value=document.EditEmail.subject.value), + (document.uploadContent.custRequestId.value=document.EditEmail.custRequestId.value), + (document.uploadContent.content.value=document.EditEmail.content.value), + (document.uploadContent.submit())"/> + </field> + </form> + <form name="listCommContent" type="list" list-name="contentDataResourceList" paginate-target="/ListCommContent" target="removeAttachFile" + odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <actions> + <entity-and entity-name="CommEventContentDataResource" list="contentDataResourceList"> + <field-map field-name="communicationEventId" from-field="parameters.communicationEventId"/> + </entity-and> + </actions> + <field name="custRequestId"><hidden value="${parameters.custRequestId}"/></field> + <field name="productId"><hidden value="${parameters.productId}"/></field> + <field name="communicationEventId"><hidden/></field> + <field name="contentId"><hidden/></field> + <field name="fromDate"><hidden/></field> + <field name="my"><hidden/></field> + <field name="contentName"> + <hyperlink also-hidden="false" description="${contentName} [${contentId}]" target="ViewSimpleContent"> + <parameter param-name="contentId"/> + <parameter param-name="dataResourceId"/> + <parameter param-name="communicationEventId"/> + <parameter param-name="fromDate"/> + <parameter param-name="productId"/> + <parameter param-name="custRequstId"/> + </hyperlink> + </field> + <field name="deleteButton"><submit button-type="text-link"/></field> + </form> + <form name="ListCommEvents" type="list" paginate="true" list-name="commEvents" extends="ListCommEvents" extends-resource="component://party/widget/partymgr/CommunicationEventForms.xml" + odd-row-style="alternate-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> + <field name="subject"> + <hyperlink description="${subject}[${communicationEventId}]" target="ViewCommunicationEvent" link-type="hidden-form"> + <parameter param-name="communicationEventId"/> + <parameter param-name="partyIdFrom" from-field="partyId"/> + <parameter param-name="roleTypeId"/> + <parameter param-name="custRequestId" from-field="parameters.custRequestId"/> + <parameter param-name="productId" from-field="parameters.productId"/> + </hyperlink> + </field> + <field name="partyId" title="${uiLabelMap.CommonFrom}"> + <display-entity description="${firstName} ${middleName} ${lastName} ${groupName}" entity-name="PartyNameView" key-field-name="partyId"> + <sub-hyperlink target="viewprofile" description="[${partyIdFrom}]"> + <parameter param-name="partyId" from-field="partyIdFrom"/> + </sub-hyperlink> + </display-entity> + </field> + </form> + + <!-- product Communication Events --> + <form name="ViewProductCommunicationEvents" type="list" extends="ViewRequestCommunicationEvents" paginate="true" list-name="commEvents" + odd-row-style="alternate-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> + <field name="roleTypeIdFrom"><hidden/> </field> + <field name="roleTypeIdTo"><hidden/> </field> + <field name="subject"> + <hyperlink description="${subject}[${communicationEventId}]" target="ViewProductEmail" link-type="hidden-form"> + <parameter param-name="communicationEventId"/> + <parameter param-name="partyIdFrom" from-field="userlogin.partyId"/> + <parameter param-name="roleTypeIdFrom"/> + <parameter param-name="productId" from-field="productId"/> + </hyperlink> + </field> + </form> + <form name="EditEmailForProduct" type="single" extends="EditEmail" target="${target}" default-map-name="communicationEvent" id="updateEmailForProduct"> + <field name="custRequestId"><ignored/> </field> + <field name="productId"><hidden value="${parameters.productId}"/></field> + <field name="subject" tooltip="Do not remove the "PD#${product.productId}" number"><text size="74" maxlength="255" default-value="PD#${product.productId} - ${product.internalName}"/></field> + <field name="send" title=" " position="1" widget-style="buttontext" + use-when=""${communicationEvent.statusId}"!="COM_COMPLETE"&&"${communicationEvent.statusId}"!="COM_IN_PROGRESS""> + <hyperlink also-hidden="false" target-type="plain" description="${uiLabelMap.CommonSend}" target="javascript:(document.EditEmailForProduct.form.value='list'),(document.EditEmailForProduct.statusId.value='COM_IN_PROGRESS'),(document.EditEmailForProduct.submit())"/> + </field> + </form> + <form name="ViewEmailForProduct" type="single" extends="EditEmail" target="${target}" default-map-name="communicationEvent" id="updateEmailForProduct"> + <field name="subject"><text size="74" maxlength="255" disabled="true"/> </field> + <field name="content"><textarea cols="72" rows="15" read-only="true"/> </field> + </form> + <form name="listCommContentForProduct" type="list" extends="listCommContent" list-name="contentDataResourceList" paginate-target="/ListCommContent" target="removeAttachFileForProduct" + odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <field name="custRequestId"><ignored/> </field> + <field name="contentName"> + <hyperlink also-hidden="false" description="${contentName} [${contentId}]" target="ViewSimpleContent"> + <parameter param-name="contentId"/> + <parameter param-name="dataResourceId"/> + <parameter param-name="communicationEventId"/> + <parameter param-name="fromDate"/> + <parameter param-name="productId"/> + </hyperlink> + </field> + </form> + <form name="uploadContentForProduct" type="upload" extends="uploadContent" target="uploadAttachFiletoEmailForProduct?productId=${parameters.productId}"> + <field name="custRequestId"><ignored/> </field> + <field name="productId"><hidden value="${parameters.productId}"/></field> + <field name="partyId"><hidden value="${userLogin.partyId}"/> </field> + <field name="send" title=" " widget-style="buttontext"> + <hyperlink also-hidden="true" + target-type="plain" description="${uiLabelMap.CommonUpload}" + target="javascript: + (document.uploadContentForProduct.datetimeStarted.value=document.EditEmailForProduct.datetimeStarted.value), + (document.uploadContentForProduct.partyIdTo.value=document.EditEmailForProduct.partyIdTo.value), + (document.uploadContentForProduct.subject.value=document.EditEmailForProduct.subject.value), + (document.uploadContentForProduct.productId.value=document.EditEmailForProduct.productId.value), + (document.uploadContentForProduct.content.value=document.EditEmailForProduct.content.value), + (document.uploadContentForProduct.submit())"/> + </field> + </form> + <form name="ListCommEventsForProduct" type="list" paginate="true" list-name="commEvents" extends="ListCommEvents" extends-resource="component://party/widget/partymgr/CommunicationEventForms.xml" + odd-row-style="alternate-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> + <field name="subject"> + <hyperlink description="${subject}[${communicationEventId}]" target="ViewProductEmail" link-type="hidden-form"> + <parameter param-name="communicationEventId"/> + <parameter param-name="partyIdFrom" from-field="userlogin.partyId"/> + <parameter param-name="roleTypeIdFrom"/> + <parameter param-name="productId" from-field="productId"/> + </hyperlink> + </field> + <field name="partyId" title="${uiLabelMap.CommonFrom}"> + <display-entity description="${firstName} ${middleName} ${lastName} ${groupName}" entity-name="PartyNameView" key-field-name="partyId"> + <sub-hyperlink target="viewprofile" description="[${partyIdFrom}]"> + <parameter param-name="partyId" from-field="partyIdFrom"/> + </sub-hyperlink> + </display-entity> + </field> + </form> +</forms> Propchange: ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/CommunicationEventForms.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="UTF-8"?> +<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd"> + + <screen name="ActiveSprintNotification"> + <section> + <condition> + <or> + <not><if-empty field="sprintId"/></not> + <not><if-empty field="partyIdTo"/></not> + </or> + </condition> + <actions> + <entity-one entity-name="WorkEffort" value-field="sprint"> + <field-map field-name="workEffortId" from-field="sprintId"/> + </entity-one> + <entity-and entity-name="WorkEffortAndProduct" list="projectList"> + <field-map field-name="workEffortId" from-field="sprint.workEffortParentId"/> + </entity-and> + <set field="project" from-field="projectList[0]"/> + <entity-one entity-name="Product" value-field="prodcut"> + <field-map field-name="productId" from-field="project.productId"/> + </entity-one> + <entity-one entity-name="PartyNameView" value-field="person"> + <field-map field-name="partyId" from-field="partyIdTo"/> + </entity-one> + <set field="title" value="Sprint Notification SprintId# ${sprintId}"/> + </actions> + <widgets> + <platform-specific><html><html-template location="component://scrum/templates/ActiveSprintNotification.ftl"/></html></platform-specific> + </widgets> + <fail-widgets> + <label text="SprintId is required or PartyId is required"></label> + </fail-widgets> + </section> + </screen> + <screen name="ClosedSprintNotification"> + <section> + <condition> + <or> + <not><if-empty field="sprintId"/></not> + <not><if-empty field="partyIdTo"/></not> + </or> + </condition> + <actions> + <entity-one entity-name="WorkEffort" value-field="sprint"> + <field-map field-name="workEffortId" from-field="sprintId"/> + </entity-one> + <entity-and entity-name="WorkEffortAndProduct" list="projectList"> + <field-map field-name="workEffortId" from-field="sprint.workEffortParentId"/> + </entity-and> + <set field="project" from-field="projectList[0]"/> + <entity-one entity-name="Product" value-field="prodcut"> + <field-map field-name="productId" from-field="project.productId"/> + </entity-one> + <entity-one entity-name="PartyNameView" value-field="person"> + <field-map field-name="partyId" from-field="partyIdTo"/> + </entity-one> + <set field="title" value="Sprint Notification SprintId# ${sprintId}"/> + </actions> + <widgets> + <platform-specific><html><html-template location="component://scrum/templates/ClosedSprintNotification.ftl"/></html></platform-specific> + </widgets> + <fail-widgets> + <label text="SprintId is required or PartyIdTo is required"></label> + </fail-widgets> + </section> + </screen> + <screen name="AcceptedBacklogNotification"> + <section> + <condition> + <not><if-empty field="custRequestId"/></not> + </condition> + <actions> + <set field="custRequestId" from-field="custRequestId"/> + <set field="partyIdTo" from-field="partyIdTo"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/BacklogNotifications.groovy"/> + <set field="title" value="Backlog Notification backlog item# ${custRequestId}"/> + </actions> + <widgets> + <platform-specific><html><html-template location="component://scrum/templates/AcceptedBacklogNotification.ftl"/></html></platform-specific> + </widgets> + <fail-widgets> + <label text="Backlog Id is required."></label> + </fail-widgets> + </section> + </screen> + <screen name="ReviewedBacklogNotification"> + <section> + <condition> + <or> + <not><if-empty field="custRequestId"/></not> + <not><if-empty field="partyIdTo"/></not> + </or> + </condition> + <actions> + <set field="custRequestId" from-field="custRequestId"/> + <set field="partyIdTo" from-field="partyIdTo"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/BacklogNotifications.groovy"/> + <set field="title" value="Backlog Notification backlog item# ${custRequestId}"/> + </actions> + <widgets> + <platform-specific><html><html-template location="component://scrum/templates/ReviewedBacklogNotification.ftl"/></html></platform-specific> + </widgets> + <fail-widgets> + <label text="Backlog Id is required."></label> + </fail-widgets> + </section> + </screen> + <screen name="CompletedBacklogNotification"> + <section> + <condition> + <not><if-empty field="custRequestId"/></not> + </condition> + <actions> + <set field="custRequestId" from-field="custRequestId"/> + <set field="partyIdTo" from-field="partyIdTo"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/BacklogNotifications.groovy"/> + <set field="title" value="Backlog Notification backlog item# ${custRequestId}"/> + </actions> + <widgets> + <platform-specific><html><html-template location="component://scrum/templates/CompletedBacklogNotification.ftl"/></html></platform-specific> + </widgets> + <fail-widgets> + <label text="Backlog Id is required."></label> + </fail-widgets> + </section> + </screen> + <screen name="CancelledBacklogNotification"> + <section> + <condition> + <or> + <not><if-empty field="custRequestId"/></not> + <not><if-empty field="partyIdTo"/></not> + </or> + </condition> + <actions> + <set field="custRequestId" from-field="custRequestId"/> + <set field="partyIdTo" from-field="partyIdTo"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/BacklogNotifications.groovy"/> + <set field="title" value="Backlog Notification backlog item# ${custRequestId}"/> + </actions> + <widgets> + <platform-specific><html><html-template location="component://scrum/templates/CancelledBacklogNotification.ftl"/></html></platform-specific> + </widgets> + <fail-widgets> + <label text="Backlog Id is required."></label> + </fail-widgets> + </section> + </screen> + +</screens> \ No newline at end of file Propchange: ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/EmailTemplates.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,58 @@ +<?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. +--> + +<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> + + <form name="lookupProductBacklog" target="LookupProductBacklog" title="" type="single" + header-row-style="header-row" default-table-style="basic-table"> + <field name="custRequestId" title="Product Backlog Id"><text-find/></field> + <field name="custRequestTypeId"><hidden value="RF_PROD_BACKLOG"/></field> + <field name="description" title="Product Backlog Item"><text-find/></field> + <field name="statusId" title="${uiLabelMap.CommonStatus}"> + <drop-down allow-empty="true"> + <entity-options entity-name="StatusItem" description="${description}"> + <entity-constraint name="statusTypeId" operator="equals" value="CUSTREQ_STTS"/> + <entity-order-by field-name="sequenceId"/> + </entity-options> + </drop-down> + </field> + + <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field> + <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field> + </form> + <form name="listLookupProductBacklog" list-name="listIt" title="" type="list" + odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="LookupProductBacklog"> + <actions> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="CustRequestAndCustRequestItem"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <field name="custRequestId" widget-style="buttontext" title="Product Backlog Item Id"> + <hyperlink also-hidden="false" target-type="plain" description="${custRequestId}" target="javascript:set_value('${custRequestId}')"/> + </field> + <field name="description" title="Product Backlog Item"><display/></field> + <field name="parentCustRequestId" title="Parent Product Backlog Item"><display/></field> + <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity also-hidden="false" entity-name="StatusItem"/></field> + </form> +</forms> \ No newline at end of file Propchange: ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/FieldLookupForms.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,51 @@ +<?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. +--> + +<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd"> + <screen name="LookupProductBacklog"> + <section> + <condition> + <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_VIEW"/> + </condition> + <actions> + <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/> + <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/> + <set field="title" value="${uiLabelMap.PageTitleLookupCustomerRequest}"/> + <set field="queryString" from-field="result.queryString"/> + <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer"/> + <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/> + <set field="entityName" value="CustRequest"/> + <set field="searchFields" value="[custRequestId, custRequestName]"/> + <set field="parameters.custRequestTypeId" value="RF_PROD_BACKLOG"/> + </actions> + <widgets> + <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml"> + <decorator-section name="search-options"> + <include-form name="lookupProductBacklog" location="component://scrum/widget/FieldLookupForms.xml"/> + </decorator-section> + <decorator-section name="search-results"> + <include-form name="listLookupProductBacklog" location="component://scrum/widget/FieldLookupForms.xml"/> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> +</screens> Propchange: ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/LookupScreens.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,166 @@ +<?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. +--> +<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> + + <form name="ListTimesheets" type="list" list-name="timesheets" paginate-target="MyWork" + odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <actions> + <set field="complete" value="${uiLabelMap.ScrumToComplete}"/> + </actions> + <field name="timesheetId" title="${uiLabelMap.WorkEffortTimesheetTimesheetId}" widget-style="buttontext"> + <hyperlink also-hidden="false" description="${timesheetId}" target="MyWork"> + <parameter param-name="timesheetId"/> + </hyperlink> + </field> + <field name="statusId"><display-entity entity-name="StatusItem" description="${description}"/></field> + <field name="fromDate" title="${uiLabelMap.CommonFromDate}"><display type="date"/></field> + <field name="thruDate" title="${uiLabelMap.CommonThruDate}"><display type="date"/></field> + <field name="hours"><display/></field> + <field name="comments" title="${uiLabelMap.CommonComments}"><display/></field> + <field name="completeLink" title="${uiLabelMap.CommonStatustoComplete}" widget-style="buttontext"> + <hyperlink target="${my}TimeSheetStatusToComplete" description="${groovy:statusId.equals("TIMESHEET_IN_PROCESS")?complete:""}" also-hidden="false"> + <parameter param-name="timesheetId"/> + <parameter param-name="statusId" value="TIMESHEET_COMPLETED"/> + </hyperlink> + </field> + </form> + + <form name="WeekTimesheet" type="list" list-name="timeEntries" separate-columns="true" paginate-target="MyWork" paginate-index-field="WeekTimesheet_index" paginate-size-field="WeekTimesheet_size" + odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <row-actions> + <service service-name="getProjectInfoFromTask" result-map="result"> + <field-map field-name="taskId" from-field="workEffortId"/> + </service> + <entity-and entity-name="EmplLeave" list="emplLeaveList"> + <field-map field-name="partyId" from-field="partyId"/> + <field-map field-name="leaveTypeId" from-field="leaveTypeId"/> + <field-map field-name="fromDate" from-field="leavefromDate"/> + </entity-and> + <set field="taskId" value="${emplLeaveList[0].leaveTypeId}" default-value="${result.taskId}"></set> + <set field="emplLeaveMap" from-field="emplLeaveList[0]"/> + <set field="custRequestId" from-field="result.backlogId"/> + </row-actions> + <field name="timesheetId"><hidden/></field> + <field name="taskWbsId"><hidden/></field> + <field name="taskId" use-when="emplLeaveMap!=null"><hidden/> </field> + <field name="taskId" use-when="emplLeaveMap==null"><hidden value="${workEffortId}"/></field> + <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}" use-when="emplLeaveMap!=null||emplLeaveMap!="""> + <display description="${emplLeaveList[0].description}"/> + </field> + <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}" use-when="emplLeaveMap==null||emplLeaveMap=="""> + <display-entity entity-name="WorkEffort" description="${workEffortName}" key-field-name="workEffortId"> + <sub-hyperlink target="taskView" description=" [${workEffortId}]"> + <parameter param-name="taskId" from-field="workEffortId"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="backlogName" entry-name="custRequestId" title="${uiLabelMap.ScrumProductBacklogName}" use-when="custRequestId!=null"> + <display-entity entity-name="CustRequest" description="${result.backlogName}" key-field-name="custRequestId"> + <sub-hyperlink target="ViewProdBacklogItem" description=" [${result.backlogId}]"> + <parameter param-name="custRequestId" from-field="result.backlogId"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="sprintName" ><display description="${result.sprintName}"></display> </field> + <field name="projectName" title="${uiLabelMap.ScrumProjectName}"> + <hyperlink target="viewScrumProject" description="${projectName}"> + <parameter param-name="projectId"/> + </hyperlink> + </field> + <field name="checkComplete" title="${uiLabelMap.ScrumCheckComplete}"><display/></field> + <field name="rateTypeId" title="${uiLabelMap.ScrumRateTypeId}"><display-entity entity-name="RateType" description="${description}"/></field> + <field name="planHours" title="${uiLabelMap.ScrumPlanHours}"><display/></field> + <field name="d0" parameter-name="hoursDay0" title="${uiLabelMap.ScrumMon}"><display/></field> + <field name="d1" parameter-name="hoursDay1" title="${uiLabelMap.ScrumTue}"><display/></field> + <field name="d2" parameter-name="hoursDay2" title="${uiLabelMap.ScrumWen}"><display/></field> + <field name="d3" parameter-name="hoursDay3" title="${uiLabelMap.ScrumThu}"><display/></field> + <field name="d4" parameter-name="hoursDay4" title="${uiLabelMap.ScrumFri}"><display/></field> + <field name="d5" parameter-name="hoursDay5" title="${uiLabelMap.ScrumSat}"><display/></field> + <field name="d6" parameter-name="hoursDay6" title="${uiLabelMap.ScrumSun}"><display/></field> + <field name="actualHours" title="${uiLabelMap.ScrumActualHours}"><display/></field> + </form> + + <form name="EditWeekTimesheet" type="multi" list-name="timeEntries" use-row-submit="true" paginate-target="MyWork" paginate-index-field="EditWeekTimeshee_index" paginate-size-field="EditWeekTimeshee_size" + separate-columns="true" target="update${my}Timesheet?${url}" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" > + <row-actions> + <service service-name="getProjectInfoFromTask" result-map="result"> + <field-map field-name="taskId" from-field="workEffortId"/> + </service> + <entity-and entity-name="CustRequestWorkEffort" list="custRequestList"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + </entity-and> + <entity-and entity-name="CustRequest" list="custRequest"> + <field-map field-name="custRequestId" from-field="custRequestList[0].custRequestId"/> + <field-map field-name="custRequestTypeId" value="RF_UNPLAN_BACKLOG"/> + </entity-and> + <entity-and entity-name="CustRequestItem" list="productList"> + <field-map field-name="custRequestId" from-field="custRequest[0].custRequestId"/> + </entity-and> + <entity-one entity-name="Product" value-field="product"> + <field-map field-name="productId" from-field="productList[0].productId"/> + </entity-one> + <entity-and entity-name="EmplLeave" list="emplLeaveList"> + <field-map field-name="partyId" from-field="partyId"/> + <field-map field-name="leaveTypeId" from-field="leaveTypeId"/> + <field-map field-name="fromDate" from-field="leavefromDate"/> + </entity-and > + <set field="taskId" value="${emplLeaveList[0].leaveTypeId}" default-value="${result.taskId}"></set> + </row-actions> + <field name="timesheetId"><hidden/></field> + <field name="roleTypeId"><hidden/></field> + <field name="fromDate"><hidden/></field> + <field name="webSiteId"><hidden value="${webSiteId}"/></field> + <field name="taskId" title="${uiLabelMap.ScrumTaskName}" parameter-name="workEffortId" encode-output="true"> + <drop-down allow-empty="true" current-description="${result.projectId} ${product.productId} - ${result.projectName}${product.internalName} - ${result.sprintName} - ${groovy:result.backlogName.toString().substring(0,Math.min(result.backlogName.toString().length(),30))}[${result.backlogId}] - ${groovy:result.taskName.toString().substring(0,Math.min(result.taskName.toString().length(),30))}[${result.taskId}]"> + <list-options key-name="taskId" list-name="taskListDropdown" description="${projectId}${productId} - ${projectName} ${productName} - ${sprintName} - ${groovy: if (description) description.substring(0,Math.min(description.length(),30))} [${custRequestId}] - ${groovy:taskName.substring(0,Math.min(taskName.length(),20))}[${taskId}]"/> + <entity-options description="${description}" entity-name="EmplLeaveType" key-field-name="leaveTypeId"/> + <sub-hyperlink target="taskView" description="${bsh:workEffortId!=void&&!"Totals".equals(workEffortId)?workEffortId:""}" target-window="_blank"> + <parameter param-name="taskId" from-field="workEffortId"/> + </sub-hyperlink> + </drop-down> + </field> + <field name="checkComplete" title="${uiLabelMap.ScrumCheckComplete}"><check/></field> + <field name="rateTypeId" title="${uiLabelMap.ScrumRateTypeId}"> + <drop-down allow-empty="false" no-current-selected-key="${defaultRateTypeId}"> + <entity-options entity-name="RateType" description="${description}"/> + </drop-down> + </field> + <field name="planHours" title="${uiLabelMap.ScrumPlanHrs}"><text size="2"/></field> + <field name="pl0" parameter-name="planHoursDay0" title="${uiLabelMap.ScrumPlhrs}"><hidden/></field> + <field name="d0" parameter-name="hoursDay0" title="${uiLabelMap.ScrumMon}"><text size="2"/></field> + <field name="pd1" parameter-name="planHoursDay1" title="${uiLabelMap.ScrumPlhrs}"><hidden/></field> + <field name="d1" parameter-name="hoursDay1" title="${uiLabelMap.ScrumTue}"><text size="2"/></field> + <field name="pd2" parameter-name="planHoursDay2" title="${uiLabelMap.ScrumPlhrs}"><hidden/></field> + <field name="d2" parameter-name="hoursDay2" title="${uiLabelMap.ScrumWen}"><text size="2"/></field> + <field name="pd3" parameter-name="planHoursDay3" title="${uiLabelMap.ScrumPlhrs}"><hidden/></field> + <field name="d3" parameter-name="hoursDay3" title="${uiLabelMap.ScrumThu}"><text size="2"/></field> + <field name="pd4" parameter-name="planHoursDay4" title="${uiLabelMap.ScrumPlhrs}"><hidden/></field> + <field name="d4" parameter-name="hoursDay4" title="${uiLabelMap.ScrumFri}"><text size="2"/></field> + <field name="pd5" parameter-name="planHoursDay5" title="${uiLabelMap.ScrumPlhrs}"><hidden/></field> + <field name="d5" parameter-name="hoursDay5" title="${uiLabelMap.ScrumSat}" title-style="alert"><text size="2"/></field> + <field name="pd6" parameter-name="planHoursDay6" title="${uiLabelMap.ScrumPlhrs}"><hidden/></field> + <field name="d6" parameter-name="hoursDay6" title="${uiLabelMap.ScrumSun}" title-style="alert"><text size="2"/></field> + <field name="acualTotal" title="${uiLabelMap.ScrumActualHours}"><display/></field> + <field name="actualHours" title="${uiLabelMap.ScrumActualTotal}"><display/></field> + <field name="updateButton"><submit button-type="button"/></field> + <field name="_rowSubmit" title="${uiLabelMap.ScrumRowSubmit}"><hidden value="Y"/></field> + </form> +</forms> \ No newline at end of file Propchange: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkForms.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,164 @@ +<?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. +--> + +<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd"> + + <screen name="MyWork"> + <section> + <actions> + <set field="titleProperty" value="ScrumMyWork"/> + <set field="labelTitleProperty" value="ScrumMyTasks"/> + <entity-and entity-name="WorkEffortAndPartyAssign" list="projects" filter-by-date="true"> + <field-map field-name="partyId" from-field="userLogin.partyId"/> + <field-map field-name="workEffortTypeId" value="SCRUM_SPRINT"/> + </entity-and> + <entity-one entity-name="WorkEffort" value-field="task"> + <field-map field-name="workEffortId" value="dummy"/> + </entity-one> + <set field="myTask" value="notNull"/> + <set field="my" value="My"/> + <set field="EditWeekTimeshee_size_1" value="${parameters.EditWeekTimeshee_size_1}"/> + <set field="EditWeekTimeshee_index_1" value="${parameters.EditWeekTimeshee_index_1}" default-value="0"/> + <set field="url" value="timesheetId=${parameters.timesheetId}&EditWeekTimeshee_size_1=${EditWeekTimeshee_size_1}&EditWeekTimeshee_index_1=${EditWeekTimeshee_index_1}#"/> + <set field="MyTasks_size_1" value="${parameters.MyTasks_size_1}"/> + <set field="MyTasks_index_1" value="${parameters.MyTasks_index_1}" default-value="0"/> + <set field="MyTasks_url" value="timesheetId=${parameters.timesheetId}&MyTasks_size_1=${MyTasks_size_1}&MyTasks_index_1=${MyTasks_index_1}#"/> + <set field="timesheetId" from-field="parameters.timesheetId"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/EditDailyHourReport.groovy"/> + </actions> + <widgets> + <decorator-screen name="CommonMyWorkScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <widgets> + <include-screen name="CurrentTimesheet"/> + <include-screen name="MyTaskList"/> + <section> + <condition> + <not><if-empty field="projects"/></not> + </condition> + <widgets> + <container> + <screenlet title="${uiLabelMap.ScrumAssignATaskToMe}" id="titleMyWorkOpenTask" collapsible="true" initially-collapsed="false"> + <include-form name="assignTaskToMe" location="component://scrum/widget/TaskForms.xml"/> + </screenlet> + </container> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumAssignATaskToMe}" id="titleMyWorkOpenError" collapsible="true" initially-collapsed="false"> + <label style="h3" text="${uiLabelMap.ScrumTaskMember}"/> + </screenlet> + </fail-widgets> + </section> + <include-screen name="AddTimesheet"/> + <include-screen name="ListTimesheets"/> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="MyTaskList"> + <section> + <actions> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/TaskList.groovy"/> + </actions> + <widgets> + <section> + <condition> + <not><if-empty field="taskPartyList"/></not> + </condition> + <widgets> + <screenlet title="${uiLabelMap.PageTitleTaskAssignedToMe}" navigation-form-name="MyTasks" collapsible="true" initially-collapsed="false" id="titleMyTaskList" > + <include-form name="MyTasks" location="component://scrum/widget/TaskForms.xml"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.PageTitleTaskAssignedToMe}" collapsible="true" initially-collapsed="false" id="titleMyTaskListFail"> + <container> + <label style="h3" text="${uiLabelMap.ScrumTaskNoOpen1}"/> + </container> + <container> + <label style="h3" text="${uiLabelMap.ScrumTaskNoOpen2}"/> + </container> + </screenlet> + </fail-widgets> + </section> + </widgets> + </section> + </screen> + + <screen name="CurrentTimesheet"> + <section> + <actions> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/EditDailyHourReport.groovy"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/TaskList.groovy"/> + </actions> + <widgets> + <section> + <condition> + <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_COMPLETED"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonFrom} ${bsh:timesheet.get("fromDate").toString().substring(0,10)} ${uiLabelMap.CommonTo} ${bsh:timesheet.get("thruDate").toString().substring(0,10)}" + navigation-form-name="WeekTimesheet"> + <include-form name="WeekTimesheet" location="component://scrum/widget/MyWorkForms.xml"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.PageTitleCurrentTimesheet} ${uiLabelMap.CommonNbr} ${timesheet.timesheetId} ${uiLabelMap.CommonFrom} ${bsh:timesheet.get("fromDate").toString().substring(0,10)} ${uiLabelMap.CommonTo} ${bsh:timesheet.get("thruDate").toString().substring(0,10)}" + navigation-menu-name="TimesheetBar"> + <include-menu name="TimesheetBar" location="component://scrum/widget/scrumMenus.xml"/> + <include-form name="EditWeekTimesheet" location="component://scrum/widget/MyWorkForms.xml"/> + </screenlet> + </fail-widgets> + </section> + </widgets> + </section> + </screen> + + <screen name="ListTimesheets"> + <section> + <actions> + <entity-one entity-name="PartyNameView" value-field="partyNameView"> + <field-map field-name="partyId" from-field="userLogin.partyId"/> + </entity-one> + </actions> + <widgets> + <screenlet title="${uiLabelMap.PageTitleTimesheets} ${uiLabelMap.CommonOf} ${partyNameView.firstName} ${partyNameView.middleName} ${partyNameView.lastName}" id="lstTSheets" collapsible="true" initially-collapsed="true"> + <include-form name="ListTimesheets" location="component://scrum/widget/MyWorkForms.xml"/> + </screenlet> + </widgets> + </section> + </screen> + + <screen name="AddTimesheet"> + <section> + <widgets> + <screenlet title="${uiLabelMap.PageTitleAddATimesheet}" id="titleAddTimesheet" collapsible="true" initially-collapsed="false"> + <include-form name="AddMyWeeklyTimesheet" location="component://scrum/widget/TimeSheetForms.xml"/> + </screenlet> + </widgets> + </section> + </screen> +</screens> \ No newline at end of file Propchange: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/MyWorkScreens.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,299 @@ +<?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. +--> +<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> + <form name="defaultTaskList" type="list" target="removeTask" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <actions> + <entity-and entity-name="WorkEffortAndProduct"> + <field-map field-name="workEffortPurposeTypeId" value="SCRUM_DEFAULT_TASK"/> + <field-map field-name="productId" from-field="parameters.productId"/> + </entity-and> + </actions> + <row-actions> + <entity-and entity-name="WorkEffortPartyAssignment" list="partyAssignViewList"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + </entity-and> + <set field="partyId" from-field="partyAssignViewList[0].partyId"/> + </row-actions> + <field name="workEffortId" title="${uiLabelMap.ScrumTaskName}"> + <hyperlink target="editDefaultTask" description="${workEffortName}"> + <parameter param-name="workEffortId"/> + <parameter param-name="productId"/> + </hyperlink></field> + <field name="workEffortTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="WorkEffortType" description="${description}"/></field> + <field name="createdDate" title="${uiLabelMap.FormFieldTitle_createdDate}"><display/></field> + <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}"> + <display-entity entity-name="PartyNameView" description="${lastName} ${firstName} ${middleName}" key-field-name="partyId"/> + </field> + <field name="deleteButton" title="${uiLabelMap.CommonRemove}" widget-style="buttontext"> + <hyperlink target="deleteDefaultTask" description="${uiLabelMap.CommonRemove}"> + <parameter param-name="workEffortId"/> + <parameter param-name="productId"/> + </hyperlink> + </field> + </form> + <form name="editDefaultTask" type="single" target="createDefaultTask"> + <actions> + <entity-one entity-name="WorkEffort" value-field="workEffort"/> + <set field="workEffortName" from-field="workEffort.workEffortName"/> + <set field="description" from-field="workEffort.description"/> + <set field="workEffortTypeId" from-field="workEffort.workEffortTypeId"/> + <set field="plannedHours" value="${groovy: if (workEffort) return workEffort.estimatedMilliSeconds/1000/60/60 else return 0}" type="Double"/> + <entity-and entity-name="WorkEffortPartyAssignment" list="partyAssignlist"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + </entity-and> + <set field="partyId" from-field="partyAssignlist[0].partyId"/> + </actions> + <alt-target use-when="workEffortId!=null" target="updateDefaultTask"/> + <field name="workEffortId"><hidden/></field> + <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}"><text default-value="${workEffortName}"/></field> + <field name="productId" title="${uiLabelMap.ScrumProduct}"><display-entity entity-name="Product" description="${internalName}"></display-entity></field> + <field name="workEffortTypeId" title="${uiLabelMap.CommonType}"> + <drop-down > + <entity-options entity-name="WorkEffortType" description="${description}"> + <entity-constraint name="parentTypeId" value="SCRUM_TASK"/> + </entity-options> + </drop-down> + </field> + <field name="workEffortPurposeTypeId"><hidden value="SCRUM_DEFAULT_TASK"/></field> + <field name="plannedHours" title="${uiLabelMap.ScrumInitialPlannedHours}"><text size="3"/></field> + <field name="currentStatusId"><hidden value="STS_CREATED"/></field> + <field name="description" title="${uiLabelMap.CommonDescription}"><textarea/></field> + <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}"> + <drop-down allow-empty="true"> + <entity-options description="${lastName} ${firstName} ${middleName}" entity-name="ScrumMemberUserLoginAndSecurityGroup" key-field-name="partyId" > + <entity-constraint name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> + <entity-constraint name="groupId" operator="equals" value="SCRUM_TEAM"/> + <entity-constraint name="enabled" operator="not-equals" value="N"/> + </entity-options> + </drop-down> + </field> + <field name="submitButton" title="${uiLabelMap.CommonCreate}" use-when="workEffortId==null"><submit/></field> + <field name="submitButton" title="${uiLabelMap.CommonUpdate}" use-when="workEffortId!=null"><submit/></field> + </form> + + <form name="listCompletedTask" type="list" target="" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <actions> + <entity-and entity-name="WorkEffortAndPartyAssign"> + <field-map field-name="currentStatusId" value="STS_COMPLETED"/> + </entity-and> + </actions> + <row-actions> + <entity-one entity-name="PartyNameView" value-field="party"/> + </row-actions> + <field name="workEffortId" title="Task Name"> + <hyperlink target="taskView" description="${workEffortName}"> + <parameter param-name="taskId" from-field="workEffortId"/> + </hyperlink> + </field> + <field name="description"><display/></field> + <field name="partyId"> + <hyperlink target="viewprofile" description="${party.firstName} ${party.lastName}"> + <parameter param-name="partyId"/> + </hyperlink> + </field> + </form> + <form name="findBacklog" type="single" target="findBacklog"> + <field name="productId" title="${uiLabelMap.PageTitleProduct}"> + <drop-down allow-empty="true"> + <entity-options description=" ${internalName} [${productId}]" entity-name="Product" key-field-name="productId"> + <entity-constraint name="productTypeId" value="SCRUM_ITEM"/> + <entity-constraint name="statusId" value="PRODUCT_ACTIVE"/> + <entity-order-by field-name="internalName"/> + </entity-options> + </drop-down> + </field> + <field name="submitButton" title="Find"><submit/></field> + </form> + <form name="listTask" type="list" list-name="backlogList" paginate-target="findBacklog" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <row-actions> + <entity-and entity-name="CustRequestItem" list="story"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + </entity-and> + <set field="custRequestType" value="${groovy: + if (custRequestTypeId.equals("RF_UNPLAN_BACKLOG")) + custRequestType = "Y" + else + custRequestType = "N" + }"/> + </row-actions> + <field name="backlogName" title="${uiLabelMap.ScrumBacklogItem}"> + <hyperlink target="ViewProdBacklogItem" description="${description}[${custRequestId}]" target-window="_blank"> + <parameter param-name="custRequestId" from-field="custRequestId"/> + <parameter param-name="productId" from-field="parameters.productId"/> + </hyperlink> + </field> + <field name="custRequestTypeId"><display></display> </field> + <field name="custRequestTypeId" title="${uiLabelMap.ScrumUnplanBacklog}"> + <display description="${custRequestType}"/> + </field> + <field name="story"><display description="${story[0].story}"></display> </field> + <field name="statusId" title="${uiLabelMap.CommonStatus}"> + <display-entity entity-name="StatusItem" description="${description}"/> + </field> + </form> + <form name="editTask" type="upload" target="createTestTask"> + <actions> + <entity-and entity-name="WorkEffortPartyAssignView" list="membersPartyId"> + <field-map field-name="workEffortId" from-field="sprintId"/> + </entity-and> + <entity-one entity-name="WorkEffort" value-field="sprint"> + <field-map field-name="workEffortId" from-field="sprintId"/> + </entity-one> + <set field="projectId" from-field="sprint.workEffortParentId"/> + <set field="partyId" from-field="workEffortPartyAssignment.partyId"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <entity-one entity-name="WorkEffort" value-field="project"> + <field-map field-name="workEffortId" from-field="projectId"/> + </entity-one> + <entity-and entity-name="CustRequestItem" list="CustRequest"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + </entity-and> + <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" list="ScrumMember"> + <condition-list combine="and"> + <condition-expr field-name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> + <condition-expr field-name="groupId" operator="equals" value="SCRUM_TEAM"/> + </condition-list> + </entity-condition> + </actions> + <field name="sprintStatusId"><hidden value="${parameters.sprintStatusId}"/></field> + <field name="projectName" title="${uiLabelMap.ScrumProjectName}" use-when="projectId!=null"> + <display description="${project.workEffortName} [${projectId}]"/> + </field> + <field name="projectId"><hidden/></field> + <field name="sprintName" title="${uiLabelMap.ScrumSprintName}" use-when="sprintId!=null"> + <display description="${sprint.workEffortName} [${sprintId}]"/> + </field> + <field name="custRequestId" title="${uiLabelMap.ScrumBacklogItem}"> + <display-entity entity-name="CustRequest" description="${description}"> + <sub-hyperlink target="EditProdBacklog"></sub-hyperlink> + </display-entity> + </field> + <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}" required-field="true" tooltip="${uiLabelMap.ScrumToolTip100CharsMaximun}"><text/></field> + <field name="workEffortTypeId"><hidden value="SCRUM_TASK_ERROR"/></field> + <field name="currentStatusId"><hidden value="STS_CREATED"/></field> + <field name="roleTypeId"><hidden value="SCRUM_TEAM"/></field> + <field name="statusId"><hidden value="SCAS_ASSIGNED"/></field> + <field name="priority"><hidden value="1"/></field> + <field name="description" title="${uiLabelMap.CommonDescription}"><textarea rows="6"/></field> + <field name="uploadedFile"><file/></field> + <field name="contentTypeId"><hidden value="DOCUMENT"/></field> + <field name="resourceStatusId"><hidden value="CTNT_PUBLISHED"/></field> + <field name="workEffortContentTypeId"><hidden value="CREATED_MEDIA"/></field> + <field name="mimeTypeId"><hidden value="application/octet-stream"/></field> + <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> + <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" use-when="sprintId!=null"> + <drop-down > + <list-options key-name="partyId" list-name="membersPartyId" description="${lastName} ${firstName} ${middleName}"/> + </drop-down> + </field> + <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" use-when="sprintId==null"> + <drop-down> + <list-options key-name="partyId" list-name="ScrumMember" description="${lastName} ${firstName} ${middleName}"/> + </drop-down> + </field> + <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit/></field> + </form> + <form name="contentTask" type="list" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> + <actions> + <entity-and entity-name="WorkEffortContent"> + <field-map field-name="workEffortId" from-field="parameters.taskId"/> + <field-map field-name="workEffortContentTypeId" value="CREATED_MEDIA"/> + </entity-and> + </actions> + <field name="contentId"> + <display-entity entity-name="Content" key-field-name="contentId" description="${contentName}" also-hidden="true"> + <sub-hyperlink target="/content/control/ViewSimpleContent" description="[${contentId}]" link-style="buttontext" target-type="inter-app"> + <parameter param-name="contentId"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="mimeTypeId"><display/></field> + <field name="fromDate"><display/></field> + </form> + + <form name="defaultTaskScrumList" type="list" target="removeTask" list-name="defaultTasks" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="defaultTaskScrum"> + <actions> + <entity-and entity-name="WorkEffort"> + <field-map field-name="workEffortPurposeTypeId" value="SYSTEM_DEFAULT_TASK"/> + </entity-and> + </actions> + <row-actions> + <entity-and entity-name="WorkEffortPartyAssignment" list="partyAssignViewList"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + </entity-and> + <set field="partyId" from-field="partyAssignViewList[0].partyId"/> + </row-actions> + <field name="workEffortId" title="${uiLabelMap.ScrumTaskName}"> + <hyperlink target="editDefaultTaskScrum" description="${workEffortName}"> + <parameter param-name="workEffortId"/> + </hyperlink></field> + <field name="workEffortTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="WorkEffortType" description="${description}"/></field> + <field name="createdDate" title="${uiLabelMap.FormFieldTitle_createdDate}"><display/></field> + <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}"> + <display-entity entity-name="PartyNameView" description="${lastName} ${firstName} ${middleName}" key-field-name="partyId"/> + </field> + <field name="deleteButton" title="${uiLabelMap.CommonRemove}" widget-style="buttontext"> + <hyperlink target="deleteDefaultTaskScrum" description="${uiLabelMap.CommonRemove}"> + <parameter param-name="workEffortId"/> + </hyperlink> + </field> + </form> + + <form name="editDefaultTaskScrum" type="single" target="createDefaultTaskScrum"> + <actions> + <entity-one entity-name="WorkEffort" value-field="workEffort"/> + <set field="workEffortName" from-field="workEffort.workEffortName"/> + <set field="description" from-field="workEffort.description"/> + <set field="workEffortTypeId" from-field="workEffort.workEffortTypeId"/> + <set field="plannedHours" value="${groovy: if (workEffort) return workEffort.estimatedMilliSeconds/1000/60/60 else return 0}" type="Double"/> + <entity-and entity-name="WorkEffortPartyAssignment" list="partyAssignlist"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + </entity-and> + <set field="partyId" from-field="partyAssignlist[0].partyId"/> + </actions> + <alt-target use-when="workEffortId!=null" target="updateDefaultTaskScrum"/> + <field name="workEffortId"><hidden/></field> + <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}"><text default-value="${workEffortName}"/></field> + <!--<field name="productId" title="${uiLabelMap.ScrumProduct}"><display-entity entity-name="Product" description="${internalName}"></display-entity></field>--> + <field name="workEffortTypeId" title="${uiLabelMap.CommonType}"> + <drop-down > + <entity-options entity-name="WorkEffortType" description="${description}"> + <entity-constraint name="parentTypeId" value="SCRUM_TASK"/> + </entity-options> + </drop-down> + </field> + <field name="workEffortPurposeTypeId"><hidden value="SYSTEM_DEFAULT_TASK"/></field> + <field name="plannedHours" title="${uiLabelMap.ScrumInitialPlannedHours}"><text size="3"/></field> + <field name="currentStatusId"><hidden value="STS_CREATED"/></field> + <field name="description" title="${uiLabelMap.CommonDescription}"><textarea/></field> + <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}"> + <drop-down allow-empty="true"> + <entity-options description="${lastName} ${firstName} ${middleName}" entity-name="ScrumMemberUserLoginAndSecurityGroup" key-field-name="partyId" > + <entity-constraint name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> + <entity-constraint name="groupId" operator="equals" value="SCRUM_TEAM"/> + <entity-constraint name="enabled" operator="not-equals" value="N"/> + </entity-options> + </drop-down> + </field> + <field name="submitButton" title="${uiLabelMap.CommonCreate}" use-when="workEffortId==null"><submit/></field> + <field name="submitButton" title="${uiLabelMap.CommonUpdate}" use-when="workEffortId!=null"><submit/></field> + </form> +</forms> \ No newline at end of file Propchange: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestForms.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd"> + + <screen name="openTest"> + <section> + <actions> + <set field="titleProperty" value="PageTitleOpenTest"/> + </actions> + <widgets> + <decorator-screen name="CommonOpenTestScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <include-screen name="findBacklog"/> + <include-screen name="listTask"/> + </decorator-section> + </decorator-screen> + </widgets> + <fail-widgets/> + </section> + </screen> + <screen name="defaultTasks"> + <section> + <actions> + <set field="titleProperty" value="PageTitleDefaultTasks"/> + <set field="tabButtonItem" value="defaultTasks"/> + <entity-one value-field="product" entity-name="Product"/> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <widgets> + <screenlet title="${uiLabelMap.ScrumDefaultTasksList}"> + <include-form location="component://scrum/widget/OpenTestForms.xml" name="defaultTaskList"/> + </screenlet> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="editDefaultTask"> + <section> + <actions> + <set field="titleProperty" value="PageTitleEditDefaultTasks"/> + <set field="tabButtonItem" value="defaultTasks"/> + <set field="workEffortId" from-field="parameters.workEffortId"/> + <entity-one value-field="product" entity-name="Product"/> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <widgets> + <screenlet title="${uiLabelMap.ScrumEditDefaultTask} ${workEffortId}"> + <include-form location="component://scrum/widget/OpenTestForms.xml" name="editDefaultTask"/> + </screenlet> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="findBacklog"> + <section> + <actions> + </actions> + <widgets> + <screenlet id="findBacklog" title="${uiLabelMap.PageTitleFindBacklog}" collapsible="true"> + <include-form location="component://scrum/widget/OpenTestForms.xml" name="findBacklog"/> + </screenlet> + </widgets> + </section> + </screen> + <screen name="listTask"> + <section> + <actions> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/FindBacklogItem.groovy"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.ScrumBacklogList}"> + <include-form location="component://scrum/widget/OpenTestForms.xml" name="listTask"/> + </screenlet> + </widgets> + </section> + </screen> + <screen name="editTask"> + <section> + <actions> + <set field="tabButtonItem" value=""/> + <set field="workEffortParentId" from-field="parameters.workEffortParentId"/> + <set field="sprintId" from-field="parameters.sprintId"/> + </actions> + <widgets> + <decorator-screen name="CommonOpenTestScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <widgets> + <screenlet title="${uiLabelMap.PageTitleEditTask}"> + <include-form location="component://scrum/widget/OpenTestForms.xml" name="editTask"/> + </screenlet> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="defaultTaskScrum"> + <section> + <condition> + <if-has-permission permission="SCRUM" action="_ADMIN"/> + </condition> + <actions> + <set field="titleProperty" value="PageTitleScrumDefaultTasks"/> + <set field="headerItem" value="admin"/> + <set field="tabButtonItem" value="defaultTasks"/> + </actions> + <widgets> + <decorator-screen name="CommonAdminDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <container style="button-bar"> + <link text="${uiLabelMap.ScrumCreateDefaultTasks}" target="editDefaultTaskScrum" style="buttontext create"/> + </container> + <screenlet title="${uiLabelMap.ScrumDefaultTasksList}"> + <include-form location="component://scrum/widget/OpenTestForms.xml" name="defaultTaskScrumList"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="editDefaultTaskScrum"> + <section> + <actions> + <set field="titleProperty" value="PageTitleScrumDefaultTasks"/> + <set field="headerItem" value="admin"/> + <set field="tabButtonItem" value="defaultTasks"/> + <set field="workEffortId" value="${parameters.workEffortId}"/> + </actions> + <widgets> + <decorator-screen name="CommonAdminDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <container style="button-bar"/> + <screenlet title="${uiLabelMap.ScrumEditDefaultTask}"> + <include-form location="component://scrum/widget/OpenTestForms.xml" name="editDefaultTaskScrum"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> +</screens> \ No newline at end of file Propchange: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/scrum/widget/OpenTestScreens.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml |
Free forum by Nabble | Edit this page |