| <?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> |