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, [hidden email] 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> > > |
Free forum by Nabble | Edit this page |