blob: 4da0d5cb0127ed817ff4f4217638339802513195 [file] [log] [blame]
<?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.
-->
<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
<description>Project Manager service definitions.</description>
<service name="createTimeEntryInTimesheet" default-entity-name="TimeEntry" engine="simple" auth="true"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="createTimeEntryInTimesheet">
<description>Creates TimeEntry and searches for a timesheetId, if required it will create a weekly time sheet, it also assigns the party to the task</description>
<permission-service service-name="projectMgrPermission" main-action="CREATE"/>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<attribute name="roleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="timesheetId" type="String" mode="OUT" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="OUT" optional="true"/>
</service>
<service name="createProjectTimesheet" engine="simple" default-entity-name="Timesheet"
location="component://workeffort/minilang/timesheet/TimesheetServices.xml" invoke="createTimesheetForThisWeek">
<description>Creates Timesheet for this week if no required date specified.</description>
<permission-service service-name="projectMgrPermission" main-action="CREATE"/>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true">
<exclude field-name="fromDate"/>
<exclude field-name="thruDate"/>
</auto-attributes>
<attribute name="requiredDate" type="Timestamp" mode="IN" optional="true"/>
</service>
<service name="projectMgrPermission" engine="simple"
location="component://projectmgr/minilang/ProjectPermissionServices.xml" invoke="projectMgrPermission">
<implements service="permissionInterface"/>
<attribute name="projectId" type="String" mode="IN" optional="true"/>
<attribute name="phaseId" type="String" mode="IN" optional="true"/>
<attribute name="workEffortId" type="String" mode="IN" optional="true"/>
<attribute name="taskId" type="String" mode="IN" optional="true"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="timesheetId" type="String" mode="IN" optional="true"/>
<attribute name="timeEntryId" type="String" mode="IN" optional="true"/>
</service>
<service name="projectMgrRequestPermission" engine="simple"
location="component://projectmgr/minilang/ProjectPermissionServices.xml" invoke="projectMgrRequestPermission">
<implements service="permissionInterface"/>
</service>
<service name="updateTimeEntryByWorkeffort" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="updateTimeEntryByWorkeffort">
<description>Update workeffort by workeffortId and timesheetId </description>
<permission-service service-name="projectMgrPermission" main-action="UPDATE"/>
<attribute name="timesheetId" type="String" mode="INOUT" optional="false"/>
<attribute name="workEffortId" type="String" mode="INOUT" optional="true"/><!-- when empty will be ignored -->
<attribute name="fromDate" type="Timestamp" mode="INOUT" optional="true"/>
<attribute name="rateTypeId" type="String" mode="IN" optional="true"/>
<attribute name="roleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="hoursDay0" type="Double" mode="IN" optional="true"/>
<attribute name="hoursDay1" type="Double" mode="IN" optional="true"/>
<attribute name="hoursDay2" type="Double" mode="IN" optional="true"/>
<attribute name="hoursDay3" type="Double" mode="IN" optional="true"/>
<attribute name="hoursDay4" type="Double" mode="IN" optional="true"/>
<attribute name="hoursDay5" type="Double" mode="IN" optional="true"/>
<attribute name="hoursDay6" type="Double" mode="IN" optional="true"/>
<attribute name="checkComplete" type="String" mode="IN" optional="true"/>
</service>
<service name="getProject" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="getProject">
<description>Get project information and related phase and task info.</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<attribute name="projectId" type="String" mode="INOUT" optional="true"/>
<attribute name="partyId" type="String" mode="INOUT" optional="true"/>
<attribute name="projectInfo" type="java.util.Map" mode="OUT" optional="true"/>
</service>
<service name="createProject" engine="simple" default-entity-name="WorkEffort"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="createProject">
<description>Copy a project planning from a template.</description>
<permission-service service-name="projectMgrPermission" 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="fromDate" type="Timestamp" mode="OUT" 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"/>
<attribute name="organizationPartyId" type="String" mode="IN" optional="true"/>
<attribute name="clientBillingPartyId" type="String" mode="IN" optional="true"/>
<attribute name="emailAddress" type="String" mode="IN" optional="true"/>
<override name="workEffortTypeId" optional="false"/>
<override name="workEffortName" optional="false"/>
<override name="currentStatusId" optional="false"/>
</service>
<service name="updateProject" default-entity-name="WorkEffort" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="updateProject">
<description>Update a Project</description>
<permission-service service-name="projectMgrPermission" main-action="UPDATE"/>
<implements service="interfaceWorkEffort"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<attribute name="organizationPartyId" type="String" mode="IN" optional="true"/>
<attribute name="clientBillingPartyId" type="String" mode="IN" optional="true"/>
<attribute name="emailAddress" type="String" mode="IN" optional="true"/>
</service>
<service name="createProjectTask" engine="simple" default-entity-name="WorkEffort"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="createProjectTask">
<description>Create a new task and optionally assign to a resource.</description>
<permission-service service-name="projectMgrPermission" main-action="CREATE"/>
<implements service="interfaceWorkEffort"/>
<auto-attributes mode="INOUT" include="pk" optional="true"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="roleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="statusId" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="OUT" 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"/>
<attribute name="skillTypeId" type="String" mode="IN" optional="true"/>
<attribute name="estimatedHours" type="Double" mode="IN" optional="true"/>
<override name="workEffortTypeId" optional="false"/>
<override name="workEffortName" optional="false"/>
<override name="currentStatusId" optional="false"/>
<override name="workEffortParentId" optional="false"/>
</service>
<service name="copyProject" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="copyProject">
<description>Copy a project planning data but ignore the actual data.</description>
<permission-service service-name="projectMgrPermission" main-action="CREATE"/>
<attribute name="projectId" type="String" mode="INOUT" optional="false"/>
<attribute name="fromDate" type="Timestamp" mode="OUT" optional="true"/>
<attribute name="workEffortId" type="String" mode="OUT" optional="true"/>
</service>
<service name="copyProjectToTemplate" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="copyProjectToTemplate">
<description>Copy a project planning data to a template project.</description>
<permission-service service-name="projectMgrPermission" main-action="CREATE"/>
<attribute name="projectId" type="String" mode="INOUT" optional="false"/>
<attribute name="fromDate" type="Timestamp" mode="OUT" optional="true"/>
<attribute name="workEffortId" type="String" mode="OUT" optional="true"/>
</service>
<service name="scheduleProject" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="scheduleProject">
<description>(re) calculate the estimated start and enddates of tasks within a project</description>
<permission-service service-name="projectMgrPermission" main-action="UPDATE"/>
<attribute name="projectId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="getProjectIdAndNameFromTask" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="getProjectIdAndNameFromTask">
<description>Get the projectId and Name when a phase or task is provided.</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<attribute name="taskId" type="String" mode="INOUT" optional="true"/>
<attribute name="phaseId" type="String" mode="IN" optional="true"/>
<attribute name="projectId" type="String" mode="OUT" optional="true"/>
<attribute name="projectName" type="String" mode="OUT" optional="true"/>
<attribute name="phaseId" type="String" mode="OUT" optional="true"/>
<attribute name="phaseName" type="String" mode="OUT" optional="true"/>
<attribute name="taskName" type="String" mode="OUT" optional="true"/>
<attribute name="taskWbsId" type="String" mode="OUT" optional="true"/>
</service>
<service name="getProjectPhaseList" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="getProjectPhaseList">
<description>Get project phase information and related task info.</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<attribute name="projectId" type="String" mode="INOUT" optional="true"/>
<attribute name="phaseList" type="List" mode="OUT" optional="true"/>
</service>
<service name="getProjectTaskList" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="getProjectTaskList">
<description>Get project phase information and related task info.</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<attribute name="projectId" type="String" mode="INOUT" optional="true"/>
<attribute name="taskList" type="List" mode="OUT" optional="true"/>
</service>
<service name="getProjectTask" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="getProjectTask">
<description>Get project task information and related timesheet info.</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<attribute name="hoursPartyId" type="String" mode="IN" optional="true"/>
<attribute name="taskId" type="String" mode="INOUT" optional="true"/>
<attribute name="projectId" type="String" mode="OUT" optional="true"/>
<attribute name="projectName" type="String" mode="OUT" optional="true"/>
<attribute name="taskInfo" type="Map" mode="OUT" optional="true"/>
</service>
<service name="getProjectsByParties" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="getProjectsByParties">
<description>Get project information by party</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<attribute name="projectId" type="String" mode="INOUT" optional="true"/>
<attribute name="partyId" type="String" mode="INOUT" optional="true"/>
<attribute name="projectParties" type="List" mode="OUT" optional="true"/>
</service>
<service name="getTasksByParties" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="getTasksByParties">
<description>Get project information by party</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<attribute name="workEffortId" type="String" mode="INOUT" optional="true"/>
<attribute name="partyId" type="String" mode="INOUT" optional="true"/>
<attribute name="taskParties" type="List" mode="OUT" optional="true"/>
</service>
<service name="updateTaskAndRelatedInfo" default-entity-name="WorkEffort" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="updateTaskAndRelatedInfo">
<description>Update a task and related info</description>
<permission-service service-name="projectMgrPermission" main-action="VIEW"/>
<implements service="interfaceWorkEffort"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<attribute name="communicationEventId" type="String" mode="IN" optional="true"/>
<attribute name="reason" type="String" mode="IN" optional="true"/>
<!-- optional related data -->
<attribute name="skillTypeId" mode="IN" type="String" optional="true"/>
<attribute name="estimatedDuration" mode="IN" type="Double" optional="true"/>
</service>
<service name="updateTaskAssigment" default-entity-name="WorkEffortPartyAssignment" engine="simple"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="updateTaskAssigment">
<description>Update a WorkEffortPartyAssignment Entity, including set enddate and create new</description>
<permission-service service-name="projectMgrPermission" main-action="UPDATE"/>
<attribute name="workEffortId" type="String" mode="INOUT"/>
<attribute name="newPartyId" type="String" mode="IN" optional="true"/>
<attribute name="partyId" type="String" mode="IN"/>
<attribute name="newRoleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="roleTypeId" type="String" mode="IN" optional="false"/>
<attribute name="statusId" type="String" mode="IN"/>
<attribute name="fromDate" type="Timestamp" mode="INOUT" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="delegateReasonEnumId" type="String" mode="IN" optional="true"/>
<attribute name="comments" type="String" mode="IN" optional="true"/>
</service>
<service name="addProjectTimeToNewInvoice" engine="simple" auth="true"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="addProjectTimeToNewInvoice">
<description>Add Project Time to a new Invoice</description>
<attribute name="projectId" type="String" mode="IN" optional="false"/>
<attribute name="partyIdFrom" type="String" mode="IN" optional="true"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="invoiceId" type="String" mode="INOUT" optional="true"/>
<attribute name="reCreate" type="String" mode="IN" optional="true"/>
</service>
<service name="addProjectTimeToInvoice" engine="simple" auth="true"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="addProjectTimeToInvoice">
<description>Add Project Time to an existing Invoice. The billed party must be the same between the two invoice.</description>
<attribute name="projectId" type="String" mode="IN" optional="false"/>
<attribute name="invoiceId" type="String" mode="IN" optional="false"/>
<attribute name="billedPartyId" type="String" mode="IN" optional="false"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
</service>
<service name="addValidationPartiesToTask" engine="simple" auth="true"
location="component://projectmgr/minilang/ProjectServices.xml" invoke="addValidationPartiesToTask">
<description>SECA to add either project-testing or -approval parties to a task when a task is set to complete</description>
<attribute name="workEffortId" type="String" mode="IN" optional="true"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="roleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="statusId" type="String" mode="IN" optional="true"/>
</service>
</services>