You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2011/07/05 10:15:37 UTC
svn commit: r1142915 [20/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/
scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/
scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/
scrum/script/ scrum/script/org/ scrum...
Added: ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/TaskByTypeChart.rptdesign
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/TaskByTypeChart.rptdesign?rev=1142915&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/TaskByTypeChart.rptdesign (added)
+++ ofbiz/trunk/specialpurpose/scrum/webapp/scrum/reports/TaskByTypeChart.rptdesign Tue Jul 5 08:15:32 2011
@@ -0,0 +1,1155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.21" id="1">
+ <property name="createdBy">Eclipse BIRT Designer Version 2.6.1.v20100902 Build <2.6.1.v20100915-1750></property>
+ <property name="units">in</property>
+ <method name="initialize"><![CDATA[importPackage(Packages.java.math);
+importPackage(Packages.java.text);
+importPackage(Packages.javolution.util);
+importPackage(Packages.org.ofbiz.base.util);
+importPackage(Packages.org.ofbiz.entity.condition);
+module = "TasksChart.rptdesign";
+
+productId = params["productId"].value;
+]]></method>
+ <property name="iconFile">/templates/blank_report.gif</property>
+ <property name="layoutPreference">auto layout</property>
+ <property name="bidiLayoutOrientation">ltr</property>
+ <property name="imageDPI">92</property>
+ <parameters>
+ <scalar-parameter name="productId" id="13">
+ <property name="valueType">static</property>
+ <property name="dataType">string</property>
+ <property name="distinct">true</property>
+ <property name="paramType">simple</property>
+ <property name="controlType">text-box</property>
+ <structure name="format">
+ <property name="category">Unformatted</property>
+ </structure>
+ </scalar-parameter>
+ </parameters>
+ <data-sources>
+ <script-data-source name="Data Source" id="8"/>
+ </data-sources>
+ <data-sets>
+ <script-data-set name="Data Set" id="14">
+ <list-property name="resultSetHints">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">TaskName</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">TaskValue</property>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">TaskName</property>
+ </structure>
+ <structure>
+ <property name="columnName">TaskValue</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">TaskName</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">TaskValue</property>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">Data Source</property>
+ <method name="open"><![CDATA[num = 4;
+
+unplannedImpleList = null;
+plannedImpleSize = 0;
+unplannedErrorList = null;
+plannedErrorSize = 0;
+unplannedInstallList = null;
+plannedInstallSize = 0;
+unplannedTestList = null;
+plannedTestSize = 0;
+
+errorData = 0;
+implementationData = 0;
+installationData = 0;
+testData = 0;
+
+try{
+ var workEffortErrorList = delegator.findByAnd("WorkEffortAndProduct", UtilMisc.toMap("productId", productId,"workEffortTypeId","SCRUM_PROJECT"));
+ // for implementation task
+ var unplannedImpleConds = FastList.newInstance();
+ unplannedImpleConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
+ unplannedImpleConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
+ unplannedImpleConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_IMPL"));
+ var unplannedImpleList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedImpleConds), null, null, null, false);
+ if (workEffortErrorList !=null) {
+ for(j = 0; j < workEffortErrorList.size(); j++){
+ var projectId = workEffortErrorList.get(j).getString("workEffortId");
+ var plannedImpleConds = FastList.newInstance();
+ plannedImpleConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
+ plannedImpleConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
+ plannedImpleConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_IMPL"));
+ plannedImpleConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
+ var plannedImpleList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedImpleConds), null, null, null, false);
+ plannedImpleSize += plannedImpleList.size();
+ }
+ }
+
+ if(unplannedImpleList != null && plannedImpleSize != 0 ) {
+ implementationData = unplannedImpleList.size() + plannedImpleSize;
+ } else if (unplannedImpleList != null && plannedImpleSize == 0) {
+ implementationData = unplannedImpleList.size();
+ } else if (unplannedImpleList == null && plannedImpleSize != 0) {
+ implementationData = plannedImpleSize;
+ } else {
+ implementationData = 0;
+ }
+
+ // for error task
+ var unplannedErrorConds = FastList.newInstance();
+ unplannedErrorConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
+ unplannedErrorConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
+ unplannedErrorConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_ERROR"));
+ var unplannedErrorList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedErrorConds), null, null, null, false);
+ if (workEffortErrorList !=null) {
+ for(i = 0; i < workEffortErrorList.size(); i++){
+ var projectId = workEffortErrorList.get(i).getString("workEffortId");
+ var plannedErrorConds = FastList.newInstance();
+ plannedErrorConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
+ plannedErrorConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
+ plannedErrorConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_ERROR"));
+ plannedErrorConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
+ var plannedErrorList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedErrorConds), null, null, null, false);
+ plannedErrorSize += plannedErrorList.size();
+ }
+ }
+ //Debug.logInfo("-----------unplannedErrorList---------"+unplannedErrorList.size(),module);
+ //Debug.logInfo("-----------plannedErrorSize---------"+plannedErrorSize,module);
+ if(unplannedErrorList != null && plannedErrorSize != 0 ) {
+ errorData = unplannedErrorList.size() + plannedErrorSize;
+ } else if (unplannedErrorList != null && plannedErrorSize == 0) {
+ errorData = unplannedErrorList.size();
+ } else if (unplannedErrorList == null && plannedErrorSize != 0) {
+ errorData = plannedErrorSize;
+ } else {
+ errorData = 0;
+ }
+
+ // for installation task
+ var unplannedInstallConds = FastList.newInstance();
+ unplannedInstallConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
+ unplannedInstallConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
+ unplannedInstallConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_INST"));
+ var unplannedInstallList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedInstallConds), null, null, null, false);
+ if (workEffortErrorList !=null) {
+ for(i = 0; i < workEffortErrorList.size(); i++){
+ var projectId = workEffortErrorList.get(i).getString("workEffortId");
+ var plannedInstallConds = FastList.newInstance();
+ plannedInstallConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
+ plannedInstallConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
+ plannedInstallConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_INST"));
+ plannedInstallConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
+ var plannedInstallList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedInstallConds), null, null, null, false);
+ plannedInstallSize += plannedInstallList.size();
+ }
+ }
+ if(unplannedInstallList != null && plannedInstallSize != 0 ) {
+ installationData = unplannedInstallList.size() + plannedInstallSize;
+ } else if (unplannedInstallList != null && plannedInstallSize == 0) {
+ installationData = unplannedInstallList.size();
+ } else if (unplannedInstallList == null && plannedInstallSize != 0) {
+ installationData = plannedInstallSize;
+ } else {
+ installationData = 0;
+ }
+
+ // for test task
+ var unplannedTestConds = FastList.newInstance();
+ unplannedTestConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
+ unplannedTestConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
+ unplannedTestConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_TEST"));
+ var unplannedTestList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedTestConds), null, null, null, false);
+ if (workEffortErrorList !=null) {
+ for(j = 0; j < workEffortErrorList.size(); j++){
+ var projectId = workEffortErrorList.get(j).getString("workEffortId");
+ var plannedTestConds = FastList.newInstance();
+ plannedTestConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
+ plannedTestConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
+ plannedTestConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_TEST"));
+ plannedTestConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
+ var plannedTestList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedTestConds), null, null, null, false);
+ plannedTestSize += plannedTestList.size();
+ }
+ }
+ if(unplannedTestList != null && plannedTestSize != 0) {
+ testData = unplannedTestList.size() + plannedTestSize;
+ } else if (unplannedTestList != null && plannedTestSize == 0) {
+ testData = unplannedTestList.size();
+ } else if (unplannedTestList == null && plannedTestSize != 0) {
+ testData = plannedTestSize;
+ } else {
+ testData = 0;
+ }
+
+}catch(e){
+ Debug.logError(e, module);
+}]]></method>
+ <method name="fetch"><![CDATA[if(num==0) return false;
+ if(num==1){
+ row["TaskValue"] = implementationData;
+ row["TaskName"] = "Implementation Task";
+ }
+ if(num==2){
+ row["TaskValue"] = errorData;
+ row["TaskName"] = "Error Task";
+ }
+ if(num==3){
+ row["TaskValue"] = installationData;
+ row["TaskName"] = "Installation Task";
+ }
+ if(num==4){
+ row["TaskValue"] = testData;
+ row["TaskName"] = "Test Task";
+ }
+num--;
+return true;]]></method>
+ </script-data-set>
+ </data-sets>
+ <styles>
+ <style name="report" id="4">
+ <property name="fontFamily">sans-serif</property>
+ <property name="fontSize">10pt</property>
+ </style>
+ <style name="crosstab-cell" id="5">
+ <property name="borderBottomColor">#CCCCCC</property>
+ <property name="borderBottomStyle">solid</property>
+ <property name="borderBottomWidth">1pt</property>
+ <property name="borderLeftColor">#CCCCCC</property>
+ <property name="borderLeftStyle">solid</property>
+ <property name="borderLeftWidth">1pt</property>
+ <property name="borderRightColor">#CCCCCC</property>
+ <property name="borderRightStyle">solid</property>
+ <property name="borderRightWidth">1pt</property>
+ <property name="borderTopColor">#CCCCCC</property>
+ <property name="borderTopStyle">solid</property>
+ <property name="borderTopWidth">1pt</property>
+ </style>
+ <style name="crosstab" id="6">
+ <property name="borderBottomColor">#CCCCCC</property>
+ <property name="borderBottomStyle">solid</property>
+ <property name="borderBottomWidth">1pt</property>
+ <property name="borderLeftColor">#CCCCCC</property>
+ <property name="borderLeftStyle">solid</property>
+ <property name="borderLeftWidth">1pt</property>
+ <property name="borderRightColor">#CCCCCC</property>
+ <property name="borderRightStyle">solid</property>
+ <property name="borderRightWidth">1pt</property>
+ <property name="borderTopColor">#CCCCCC</property>
+ <property name="borderTopStyle">solid</property>
+ <property name="borderTopWidth">1pt</property>
+ </style>
+ </styles>
+ <page-setup>
+ <simple-master-page name="Simple MasterPage" id="2">
+ <page-footer>
+ <text id="3">
+ <property name="contentType">html</property>
+ </text>
+ </page-footer>
+ </simple-master-page>
+ </page-setup>
+ <body>
+ <extended-item extensionName="Chart" id="10">
+ <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
+ <Version>2.5.1</Version>
+ <Type>Pie Chart</Type>
+ <SubType>Standard</SubType>
+ <Block>
+ <Children xsi:type="layout:TitleBlock">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Anchor>North</Anchor>
+ <Stretch>Horizontal</Stretch>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value>Task By Type</Value>
+ <Font>
+ <Size>16.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ </Children>
+ <Children xsi:type="layout:Plot">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <HorizontalSpacing>5</HorizontalSpacing>
+ <VerticalSpacing>5</VerticalSpacing>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>0.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>0.0</Right>
+ </Insets>
+ </ClientArea>
+ </Children>
+ <Children xsi:type="layout:Legend">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>2.0</Top>
+ <Left>2.0</Left>
+ <Bottom>2.0</Bottom>
+ <Right>2.0</Right>
+ </Insets>
+ </ClientArea>
+ <Text>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Text>
+ <Orientation>Vertical</Orientation>
+ <Direction>Top_Bottom</Direction>
+ <Separator>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Separator>
+ <Position>Right</Position>
+ <ItemType>Categories</ItemType>
+ <Title>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Above</TitlePosition>
+ </Children>
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>432.0</Width>
+ <Height>216.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ </Block>
+ <Dimension>Two_Dimensional_With_Depth</Dimension>
+ <Units>Points</Units>
+ <SeriesThickness>10.0</SeriesThickness>
+ <GridColumnCount>0</GridColumnCount>
+ <ExtendedProperties>
+ <Name>enable.area.alt</Name>
+ <Value>false</Value>
+ </ExtendedProperties>
+ <SampleData>
+ <BaseSampleData>
+ <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
+ </BaseSampleData>
+ <OrthogonalSampleData>
+ <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
+ <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
+ </OrthogonalSampleData>
+ </SampleData>
+ <Interactivity>
+ <Enable>true</Enable>
+ <LegendBehavior>None</LegendBehavior>
+ </Interactivity>
+ <EmptyMessage>
+ <Caption>
+ <Value>This chart contains no data.</Value>
+ <Font>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>64</Transparency>
+ <Red>127</Red>
+ <Green>127</Green>
+ <Blue>127</Blue>
+ </Background>
+ <Outline>
+ <Color>
+ <Transparency>128</Transparency>
+ <Red>127</Red>
+ <Green>127</Green>
+ <Blue>127</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Outline>
+ <Insets>
+ <Top>10.0</Top>
+ <Left>10.0</Left>
+ <Bottom>10.0</Bottom>
+ <Right>10.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </EmptyMessage>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ <Grouping>
+ <GroupType>Text</GroupType>
+ </Grouping>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series xsi:type="type:PieSeries">
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["TaskValue"]</Definition>
+ <Grouping>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ <Explosion>0</Explosion>
+ <ExplosionExpression>categoryData</ExplosionExpression>
+ <Title>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Size>16.0</Size>
+ <Bold>true</Bold>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <LeaderLineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Visible>true</Visible>
+ </LeaderLineAttributes>
+ <LeaderLineStyle>Fixed_Length</LeaderLineStyle>
+ <LeaderLineLength>10.0</LeaderLineLength>
+ </Series>
+ <Grouping>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["TaskName"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>true</Enabled>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+</model:ChartWithoutAxes>
+]]></xml-property>
+ <property name="outputFormat">SVG</property>
+ <property name="inheritColumns">false</property>
+ <structure name="toc"/>
+ <property name="dataSet">Data Set</property>
+ <property name="height">3in</property>
+ <property name="width">6in</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">TaskName</property>
+ <expression name="expression" type="javascript">dataSetRow["TaskName"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">TaskValue</property>
+ <expression name="expression" type="javascript">dataSetRow["TaskValue"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </extended-item>
+ </body>
+</report>
Added: ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml?rev=1142915&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml (added)
+++ ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml Tue Jul 5 08:15:32 2011
@@ -0,0 +1,544 @@
+<?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="main-decorator">
+ <section>
+ <actions>
+ <property-map resource="scrumUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/>
+ <set field="layoutSettings.companyName" from-field="uiLabelMap.ScrumCompanyName" global="true"/>
+ <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.ScrumCompanySubtitle" global="true"/>
+
+ <set field="activeApp" value="scrum" global="true"/>
+ <set field="applicationMenuName" value="ScrumAppBar" global="true"/>
+ <set field="applicationMenuLocation" value="component://scrum/widget/scrumMenus.xml" global="true"/>
+ <set field="applicationTitle" value="${uiLabelMap.ScrumApplication}" global="true"/>
+ </actions>
+ <widgets>
+ <include-screen name="ApplicationDecorator" location="component://commonext/widget/CommonScreens.xml"/>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="scrumCommonDecorator">
+ <section>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ </condition>
+ <widgets>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">${uiLabelMap.ScrumViewPermissionError}</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonProjectDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="Sprints"/>
+ <set field="workEffortId" from-field="parameters.projectId"/>
+ <entity-one entity-name="WorkEffort" value-field="project"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <and>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ <not><if-empty field="project"/></not>
+ </and>
+ </condition>
+ <widgets>
+ <include-menu name="ProjectMenu" location="component://scrum/widget/scrumMenus.xml"/>
+ <container style="clear"/>
+ <label style="h1" text="${uiLabelMap.ScrumProjectCurrent}: ${project.workEffortName}[${project.workEffortId}]"/>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">You do not have permission to view this page. ("SCRUM_VIEW" or "SCRUM_ADMIN" needed)</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonTaskDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="Tasks"/>
+ <set field="workEffortId" from-field="parameters.taskId"/>
+ <entity-one entity-name="WorkEffort" value-field="task"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ </condition>
+ <widgets>
+ <section>
+ <condition>
+ <not><if-empty field="task"/></not>
+ </condition>
+ <widgets>
+ <include-menu name="TaskTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="TASK"/>
+ </condition>
+ <widgets>
+ <include-menu name="TaskSubTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ </widgets>
+ </section>
+ <container style="clear"/>
+ <label style="h1" text="${uiLabelMap.ScrumTaskCurrent}: ${task.workEffortName}[${task.workEffortId}]"/>
+ </widgets>
+ </section>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">${uiLabelMap.ScrumViewPermissionError}</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonScrumProductDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="products"/>
+ <entity-one entity-name="Product" value-field="product">
+ <field-map field-name="productId" from-field="parameters.productId"/>
+ </entity-one>
+ <entity-and entity-name="ProductRole" list="productRoles" filter-by-date="true">
+ <field-map field-name="productId" from-field="parameters.productId"/>
+ <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/>
+ </entity-and>
+ <set field="productOwnerId" from-field="productRoles[0].partyId"/>
+ <entity-and entity-name="ProductRole" list="productRoles" filter-by-date="true">
+ <field-map field-name="productId" from-field="parameters.productId"/>
+ <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/>
+ </entity-and>
+ <set field="companyId" from-field="productRoles[0].partyId"/>
+ <entity-condition entity-name="UnPlannedBacklogsAndTasks" list="unPlannedBacklogList">
+ <condition-list combine="and">
+ <condition-expr field-name="productId" from-field="parameters.productId"/>
+ <condition-expr field-name="custRequestTypeId" value="RF_UNPLAN_BACKLOG"/>
+ <condition-list combine="or">
+ <condition-expr field-name="statusId" operator="equals" value="CRQ_REVIEWED"/>
+ <condition-expr field-name="statusId" operator="equals" value="CRQ_REOPENED"/>
+ </condition-list>
+ </condition-list>
+ <order-by field-name="sequenceNum"/>
+ <order-by field-name="custRequestId"/>
+ <order-by field-name="workEffortTypeId"/>
+ </entity-condition>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ </condition>
+ <widgets>
+ <include-menu name="ProductTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ <section>
+ <condition>
+ <and>
+ <not><if-empty field="product"/></not>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="BACKLOG"/>
+ </and>
+ </condition>
+ <widgets>
+ <include-menu name="ProductSubTabBar" location="component://scrum/widget/scrumMenus.xml" />
+ <label style="h1" text="Product: ${product.internalName}[${product.productId}]"/>
+ </widgets>
+ </section>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">No access! need either SCUM_ADMIN/_VIEW or SCUM_PRODUCT_ADMIN/VIEW</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonScrumProductBacklogItemDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="main"/>
+ <entity-one entity-name="Product" value-field="product">
+ <field-map field-name="productId" from-field="parameters.productId"/>
+ </entity-one>
+ <entity-one entity-name="CustRequest" value-field="custRequestMap">
+ <field-map field-name="custRequestId" from-field="parameters.custRequestId"/>
+ </entity-one>
+ <script location="component://scrum/webapp/scrum/WEB-INF/actions/SprintBacklogOptions.groovy"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <or>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="PRODUCT"/>
+ </or>
+ </condition>
+ <widgets>
+ <include-menu name="ProductBackLogItemTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ <include-menu name="ProductBackLogItemStatusTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ <section>
+ <condition>
+ <and>
+ <and>
+ <if-empty field="product"/>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="PROJECT"/>
+ </and>
+ </and>
+ </condition>
+ <widgets>
+ <include-menu name="ProductSubTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ </widgets>
+ </section>
+ <section>
+ <condition>
+ <not><if-empty field="product"/></not>
+ </condition>
+ <widgets>
+ <section>
+ <condition>
+ <if-compare operator="equals" value="defaultTasks" field="tabButtonItem"/>
+ </condition>
+ <widgets>
+ <container style="button-bar">
+ <link text="Create A Default Task" target="editDefaultTask" style="buttontext create">
+ <parameter param-name="productId" from-field="product.productId"/>
+ </link>
+ </container>
+ </widgets>
+ </section>
+ <label style="h1" text="Product Backlog Item: ${custRequestMap.description}[${custRequestMap.custRequestId}]"/>
+ </widgets>
+ </section>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">No access! need either SCUM_ADMIN/_VIEW or SCUM_PRODUCT_ADMIN/VIEW</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonScrumBacklogItemCommDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="main"/>
+ <entity-one entity-name="Product" value-field="product">
+ <field-map field-name="productId" from-field="parameters.productId"/>
+ </entity-one>
+ <entity-one entity-name="CustRequest" value-field="custRequestMap">
+ <field-map field-name="custRequestId" from-field="parameters.custRequestId"/>
+ </entity-one>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <or>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="PRODUCT"/>
+ </or>
+ </condition>
+ <widgets>
+ <include-menu name="ProductBackLogItemTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ <include-menu name="ProductBacklogEmailTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ <section>
+ <condition>
+ <and>
+ <and>
+ <if-empty field="product"/>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="PROJECT"/>
+ </and>
+ </and>
+ </condition>
+ <widgets>
+ <include-menu name="ProductSubTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ </widgets>
+ </section>
+ <section>
+ <condition>
+ <not><if-empty field="product"/></not>
+ </condition>
+ <widgets>
+ <section>
+ <condition>
+ <if-compare operator="equals" value="defaultTasks" field="tabButtonItem"/>
+ </condition>
+ <widgets>
+ <container style="button-bar">
+ <link text="Create A Default Task" target="editDefaultTask" style="buttontext create">
+ <parameter param-name="productId" from-field="product.productId"/>
+ </link>
+ </container>
+ </widgets>
+ </section>
+ <label style="h1" text="Product Backlog Item: ${custRequestMap.description}[${custRequestMap.custRequestId}]"/>
+ </widgets>
+ </section>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">No access! need either SCUM_ADMIN/_VIEW or SCUM_PRODUCT_ADMIN/VIEW</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonPartyDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="ProjectMember"/>
+ <set field="partyId" from-field="parameters.partyId"/>
+ <entity-one entity-name="Party" value-field="party"/>
+ <entity-one entity-name="Person" value-field="lookupPerson"/>
+ <entity-one entity-name="PartyGroup" value-field="lookupGroup"/>
+ <set field="communicationEventId" from-field="parameters.communicationEventId"/>
+ <entity-one entity-name="CommunicationEvent" value-field="communicationEvent"/>
+ <set field="okayToUpdate" value="true" type="Boolean" global="true"/>
+ </actions>
+ <widgets>
+ <section>
+ <condition>
+ <and>
+ <not><if-empty field="communicationEvent.statusId"/></not>
+ <or>
+ <if-compare field="communicationEvent.statusId" operator="equals" type="String" value="COM_COMPLETE"/>
+ <if-compare field="communicationEvent.statusId" operator="equals" type="String" value="COM_RESOLVED"/>
+ <if-compare field="communicationEvent.statusId" operator="equals" type="String" value="COM_REFERRED"/>
+ </or>
+ </and>
+ </condition>
+ <actions>
+ <set field="okayToUpdate" value="false" type="Boolean" global="true"/>
+ </actions>
+ <widgets/>
+ </section>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <!-- do check for PROJECTMGR, _VIEW permission -->
+ <condition>
+ <or>
+ <if-has-permission permission="PARTYMGR" action="_ADMIN"/>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ </or>
+ </condition>
+ <widgets>
+ <section>
+ <condition><not><if-empty field="partyId"/></not></condition>
+ <widgets>
+ <include-menu location="component://scrum/widget/scrumMenus.xml" name="ResourceTabBar"/>
+ <container>
+ <section>
+ <widgets>
+ <label style="h1" text="${uiLabelMap.PartyTheProfileOf} ${lookupPerson.personalTitle} ${lookupPerson.firstName} ${lookupPerson.middleName} ${lookupPerson.lastName} ${lookupPerson.suffix} ${lookupGroup.groupName}"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h1" text="${uiLabelMap.PartyNewUser}"/>
+ </fail-widgets>
+ </section>
+
+ <label style="h1" text="[${partyId}]"/>
+ </container>
+ </widgets>
+ </section>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">${uiLabelMap.PartyMgrViewPermissionError}</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonProjectScreenDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="Sprints"/>
+ <set field="workEffortId" from-field="parameters.projectId"/>
+ <entity-one entity-name="WorkEffort" value-field="workEffort"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ </condition>
+ <widgets>
+ <section>
+ <condition>
+ <not><if-empty field="workEffort"/></not>
+ </condition>
+ <widgets>
+ <include-menu name="ProjectMenu" location="component://scrum/widget/scrumMenus.xml"/>
+ <section>
+ <widgets>
+ <include-menu name="ProjectSubTabBar" location="component://scrum/widget/scrumMenus.xml"/>
+ </widgets>
+ </section>
+ <container style="clear"/>
+ <label style="h1" text="${uiLabelMap.ScrumProjectCurrent}: ${workEffort.workEffortName}[${workEffort.workEffortId}]"/>
+ </widgets>
+ </section>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">${uiLabelMap.ScrumViewPermissionError}</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonMyWorkScreenDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="MyWork"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ </condition>
+ <widgets>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">${uiLabelMap.ScrumViewPermissionError}</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonOpenTestScreenDecorator">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="TEST"/>
+ </condition>
+ <actions>
+ <set field="headerItem" value="openTest"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/>
+ </condition>
+ <widgets>
+ <decorator-section-include name="body"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">${uiLabelMap.ScrumViewPermissionError}</label>
+ </fail-widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ <fail-widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <label style="h3">You do not have permission to view this screen.</label>
+ </decorator-section>
+ </decorator-screen>
+ </fail-widgets>
+ </section>
+ </screen>
+ <screen name="CommonSprintScreenDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="Sprints"/>
+ <entity-one value-field="sprint" entity-name="WorkEffort">
+ <field-map field-name="workEffortId" from-field="parameters.sprintId"/>
+ </entity-one>
+ <set field="parameters.projectId" from-field="sprint.workEffortParentId"/>
+ <entity-and list="sprintList" entity-name="WorkEffort">
+ <field-map field-name="workEffortParentId" from-field="parameters.projectId"/>
+ <order-by field-name="createdDate"/>
+ </entity-and>
+ <set field="primeSprintId" from-field="sprintList[0].workEffortId"/>
+ <set field="size" value="${groovy:sprintList.size();}"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <include-menu name="SprintMenu" location="component://scrum/widget/scrumMenus.xml"/>
+ <include-menu name="SprintSubMenu" location="component://scrum/widget/scrumMenus.xml"/>
+ <label text="Current Sprint: ${sprint.workEffortName} [${sprint.workEffortId}]" style="h1"/>
+ <decorator-section-include name="body"/>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CommonAdminDecorator">
+ <section>
+ <actions>
+ <set field="headerItem" value="admin"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <condition>
+ <if-service-permission service-name="scrumPermissionCheck" main-action="CREATE" resource-description="MEMBER"/>
+ </condition>
+ <widgets>
+ <include-menu name="ScrumAdminSubMenu" location="component://scrum/widget/scrumMenus.xml"/>
+ </widgets>
+ <fail-widgets>
+ <label style="h3">${uiLabelMap.ScrumViewPermissionError}</label>
+ </fail-widgets>
+ </section>
+ <decorator-section-include name="body"/>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+</screens>
Propchange: ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/specialpurpose/scrum/widget/CommonScreens.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml