You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Bilgin Ibryam <bi...@iguanait.com> on 2007/12/18 11:52:11 UTC
Re: svn commit: r605153 - in
/ofbiz/trunk/specialpurpose/projectmgr: config/ data/
script/org/ofbiz/project/ servicedef/ webapp/projectmgr/WEB-INF/ widget/
widget/forms/
Hi Hans,
createProject service has auto-attributes but donot have
default-entity-name tag. This causes error.
Bilgin
On Tue, 2007-12-18 at 09:32 +0000, hansbak@apache.org wrote:
> Author: hansbak
> Date: Tue Dec 18 01:32:50 2007
> New Revision: 605153
>
> URL: http://svn.apache.org/viewvc?rev=605153&view=rev
> Log:
> implemented a project template function from which new projects can be copied and templates can be created
>
> Modified:
> ofbiz/trunk/specialpurpose/projectmgr/config/ProjectMgrUiLabels.properties
> ofbiz/trunk/specialpurpose/projectmgr/data/ProjectMgrTypeData.xml
> ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml
> ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml
> ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml
> ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml
> ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml
>
> Modified: ofbiz/trunk/specialpurpose/projectmgr/config/ProjectMgrUiLabels.properties
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/config/ProjectMgrUiLabels.properties?rev=605153&r1=605152&r2=605153&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/projectmgr/config/ProjectMgrUiLabels.properties (original)
> +++ ofbiz/trunk/specialpurpose/projectmgr/config/ProjectMgrUiLabels.properties Tue Dec 18 01:32:50 2007
> @@ -96,6 +96,7 @@
> ProjectMgrResourceName=Resource Name
> ProjectMgrSkillStandards=Skill Standards
> ProjectMgrSkillType=Skill Type
> +ProjectMgrSaveAsTemplate=Save As Template
> ProjectMgrSubProjectName=Sub Project Name
> ProjectMgrSubProjects=Sub Projects
> ProjectMgrSubTaskName=Sub Task Name
>
> Modified: ofbiz/trunk/specialpurpose/projectmgr/data/ProjectMgrTypeData.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/data/ProjectMgrTypeData.xml?rev=605153&r1=605152&r2=605153&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/projectmgr/data/ProjectMgrTypeData.xml (original)
> +++ ofbiz/trunk/specialpurpose/projectmgr/data/ProjectMgrTypeData.xml Tue Dec 18 01:32:50 2007
> @@ -27,5 +27,11 @@
> <RoleType description="Provider Analyst" hasTable="N" parentTypeId="PROJECT_TEAM" roleTypeId="PROVIDER_ANALYST"/>
> <RoleType description="Provider Validator" hasTable="N" parentTypeId="PROJECT_TEAM" roleTypeId="PROVIDER_VALIDATOR"/>
> <RoleType description="Provider Functional Implementer" hasTable="N" parentTypeId="PROJECT_TEAM" roleTypeId="PRVDER_FUNCTNAL_IMPL"/>
> - <RoleType description="Provider Test Implementer" hasTable="N" parentTypeId="PROJECT_TEAM" roleTypeId="PRVDER_TEST_IMPL"/>
> + <RoleType description="Provider Test Implementer" hasTable="N" parentTypeId="PROJECT_TEAM" roleTypeId="PRVDER_TEST_IMPL"/>
> +
> + <!-- to be able to store project templates -->
> + <WorkEffortType workEffortTypeId="TEMPLATE" description="Template"/>
> + <WorkEffortType workEffortTypeId="PROJECT_TEMPLATE" parentTypeId="TEMPLATE" description="Project Template"/>
> + <WorkEffortType workEffortTypeId="PHASE_TEMPLATE" parentTypeId="TEMPLATE" description="Project Phase Template"/>
> + <WorkEffortType workEffortTypeId="TASK_TEMPLATE" parentTypeId="TEMPLATE" description="Project Task Template"/>
> </entity-engine-xml>
>
> Modified: ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml?rev=605153&r1=605152&r2=605153&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml (original)
> +++ ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml Tue Dec 18 01:32:50 2007
> @@ -211,6 +211,24 @@
> <field-to-result field-name="project.workEffortName" result-name="projectName"/>
> </simple-method>
>
> + <simple-method method-name="createProject" short-description="if templateId is present copy a project from a template">
> + <if-not-empty field-name="parameters.templateId">
> + <set field="parameters.projectId" from-field="parameters.templateId"/>
> + <call-simple-method method-name="copyProject"/>
> + <else>
> + <set-service-fields service-name="createWorkEffort" map-name="parameters" to-map-name="parm"/>
> + <call-service service-name="createWorkEffort" in-map-name="parm">
> + <result-to-result result-name="workEffortId"/>
> + </call-service>
> + </else>
> + </if-not-empty>
> + </simple-method>
> +
> + <simple-method method-name="copyProjectToTemplate" short-description="copy a project to a workeffortType starting with 'template'">
> + <set field="toTemplate" value="dummy"/>
> + <call-simple-method method-name="copyProject"/>
> + </simple-method>
> +
> <simple-method method-name="copyProject" short-description="copy a project with related phases and tasks however no actual data">
> <entity-one entity-name="WorkEffort" value-name="project">
> <field-map field-name="workEffortId" env-name="parameters.projectId"/>
> @@ -220,9 +238,18 @@
> <field-to-result map-name="parameters" field-name="projectId"/>
> <add-error error-list-name="error_list"><fail-message message="Project: ${parameters.projectId} not found"/></add-error>
> </if-empty>
> -
> - <set field="newProject.workEffortName" from-field="project.workEffortName"/>
> - <set field="newProject.workEffortTypeId" from-field="project.workEffortTypeId"/>
> + <if-not-empty field-name="parameters.workEffortName">
> + <set field="newProject.workEffortName" from-field="parameters.workEffortName"/>
> + <else>
> + <set field="newProject.workEffortName" from-field="project.workEffortName"/>
> + </else>
> + </if-not-empty>
> + <if-not-empty field-name="toTemplate">
> + <set field="newProject.workEffortTypeId" value="PROJECT_TEMPLATE"/>
> + <else>
> + <set field="newProject.workEffortTypeId" value="PROJECT"/>
> + </else>
> + </if-not-empty>
> <set field="newProject.currentStatusId" value="CAL_ACCEPTED"/>
> <call-service service-name="createWorkEffort" in-map-name="newProject">
> <result-to-field result-name="workEffortId" field-name="newProjectId"/>
> @@ -242,8 +269,13 @@
> <if-not-empty field-name="phases">
> <iterate entry-name="phase" list-name="phases">
> <clear-field field-name="newPhase"/>
> + <if-not-empty field-name="toTemplate">
> + <set field="newPhase.workEffortTypeId" value="PHASE_TEMPLATE"/>
> + <else>
> + <set field="newPhase.workEffortTypeId" value="PHASE"/>
> + </else>
> + </if-not-empty>
> <set field="newPhase.workEffortName" from-field="phase.workEffortName"/>
> - <set field="newPhase.workEffortTypeId" from-field="phase.workEffortTypeId"/>
> <set field="newPhase.workEffortParentId" from-field="newProjectId"/>
> <set field="newPhase.currentStatusId" value="CAL_ACCEPTED"/>
> <call-service service-name="createWorkEffort" in-map-name="newPhase">
> @@ -254,8 +286,13 @@
> <if-not-empty field-name="tasks">
> <iterate entry-name="task" list-name="tasks">
> <clear-field field-name="newTask"/>
> + <if-not-empty field-name="toTemplate">
> + <set field="newTask.workEffortTypeId" value="TASK_TEMPLATE"/>
> + <else>
> + <set field="newTask.workEffortTypeId" value="TASK"/>
> + </else>
> + </if-not-empty>
> <set field="newTask.workEffortName" from-field="task.workEffortName"/>
> - <set field="newTask.workEffortTypeId" from-field="task.workEffortTypeId"/>
> <set field="newTask.priority" from-field="task.priority"/>
> <set field="newTask.workEffortParentId" from-field="newPhaseId"/>
> <set field="newTask.currentStatusId" value="CAL_ACCEPTED"/>
>
> Modified: ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml?rev=605153&r1=605152&r2=605153&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml (original)
> +++ ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml Tue Dec 18 01:32:50 2007
> @@ -42,10 +42,33 @@
> <attribute name="projectId" type="String" mode="INOUT" optional="true"/>
> <attribute name="projectInfo" type="java.util.Map" mode="OUT" optional="true"/>
> </service>
> -
> +
> + <service name="createProject" engine="simple"
> + location="org/ofbiz/project/ProjectServices.xml" invoke="createProject">
> + <description>Copy a project planning from a template.</description>
> + <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
> + <implements service="interfaceWorkEffort"/>
> + <auto-attributes mode="INOUT" include="pk" optional="true"/>
> + <attribute name="projectId" type="String" mode="INOUT" optional="true"/>
> + <attribute name="workEffortId" type="String" mode="INOUT" optional="true"/>
> + <attribute name="templateId" type="String" mode="IN" optional="true"/>
> + <attribute name="quickAssignPartyId" type="String" mode="IN" optional="true"/>
> + <attribute name="requirementId" type="String" mode="IN" optional="true"/>
> + <attribute name="communicationEventId" type="String" mode="IN" optional="true"/>
> + <override name="workEffortTypeId" optional="false"/>
> + <override name="workEffortName" optional="false"/>
> + <override name="currentStatusId" optional="false"/>
> + </service>
> +
> <service name="copyProject" engine="simple"
> location="org/ofbiz/project/ProjectServices.xml" invoke="copyProject">
> <description>Copy a project planning data but ignore the actual data.</description>
> + <attribute name="projectId" type="String" mode="INOUT" optional="false"/>
> + </service>
> +
> + <service name="copyProjectToTemplate" engine="simple"
> + location="org/ofbiz/project/ProjectServices.xml" invoke="copyProjectToTemplate">
> + <description>Copy a project planning data to a template project.</description>
> <attribute name="projectId" type="String" mode="INOUT" optional="false"/>
> </service>
>
>
> Modified: ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml?rev=605153&r1=605152&r2=605153&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml (original)
> +++ ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml Tue Dec 18 01:32:50 2007
> @@ -57,19 +57,25 @@
> </request-map>
> <request-map uri="createProject">
> <security https="true" auth="true"/>
> - <event type="service" invoke="createWorkEffort"/>
> - <response name="success" type="request-redirect" value="EditProject"/>
> + <event type="service" invoke="createProject"/>
> + <response name="success" type="request-redirect" value="projectView"/>
> <response name="error" type="view" value="EditProject"/>
> </request-map>
> <request-map uri="updateProject">
> <security https="true" auth="true"/>
> <event type="service" invoke="updateWorkEffort"/>
> - <response name="success" type="view" value="EditProject"/>
> + <response name="success" type="view" value="projectView"/>
> <response name="error" type="view" value="EditProject"/>
> </request-map>
> <request-map uri="copyProject">
> <security https="true" auth="true"/>
> <event type="service" invoke="copyProject"/>
> + <response name="success" type="view" value="projectView"/>
> + <response name="error" type="view" value="projectView"/>
> + </request-map>
> + <request-map uri="copyProjectToTemplate">
> + <security https="true" auth="true"/>
> + <event type="service" invoke="copyProjectToTemplate"/>
> <response name="success" type="view" value="projectView"/>
> <response name="error" type="view" value="projectView"/>
> </request-map>
>
> Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml?rev=605153&r1=605152&r2=605153&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml (original)
> +++ ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml Tue Dec 18 01:32:50 2007
> @@ -85,6 +85,14 @@
> </condition>
> <link target="scheduleProject?projectId=${projectId}"></link>
> </menu-item>
> + <menu-item name="copyProjectToTemplate" title="${uiLabelMap.ProjectMgrSaveAsTemplate}">
> + <condition>
> + <not>
> + <if-empty field-name="project"/>
> + </not>
> + </condition>
> + <link target="copyProjectToTemplate?projectId=${projectId}"></link>
> + </menu-item>
> </menu>
> <menu name="TaskTabBar" type="simple" menu-container-style="button-bar tab-bar" default-selected-style="selected">
> <menu-item name="taskView" title="${uiLabelMap.ProjectMgrTaskSummary}"><link target="taskView?workEffortId=${workEffortId}"/></menu-item>
>
> Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml?rev=605153&r1=605152&r2=605153&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml (original)
> +++ ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml Tue Dec 18 01:32:50 2007
> @@ -21,6 +21,13 @@
> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
> <form name="EditProject" type="single" target="updateProject" default-map-name="project">
> <alt-target use-when="project==null" target="createProject"/>
> + <field use-when="project==null" name="templateId">
> + <drop-down allow-empty="true">
> + <entity-options entity-name="WorkEffort" description="${workEffortName}" key-field-name="workEffortId">
> + <entity-constraint name="workEffortTypeId" value="PROJECT_TEMPLATE"/>
> + </entity-options>
> + </drop-down>
> + </field>
> <field name="workEffortTypeId"><hidden value="PROJECT"/></field>
> <field name="projectId"><hidden/></field>
> <field name="workEffortId"><hidden value="${projectId}"/></field>
>
>