Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it easier to create a related task #139

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
109 changes: 109 additions & 0 deletions screen/SimpleScreens/Task/EditRelated.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ along with this software (see the LICENSE.md file). If not, see
</transition>
<transition name="taskSummary"><default-response url="../TaskSummary"/></transition>

<transition name="createTask">
<actions>
<service-call name="mantle.work.TaskServices.create#Task" in-map="context + [workEffortId:null]" out-map="context"/>
<service-call name="create#mantle.work.effort.WorkEffortAssoc" in-map="context + [workEffortId:fromWorkEffortId, toWorkEffortId:workEffortId]"/>
</actions>
<default-response url="../TaskSummary"/></transition>
<transition name="getProjectParties">
<service-call name="mantle.work.ProjectServices.get#ProjectParties" web-send-json-response="resultList"/>
<default-response type="none"/>
</transition>

<transition name="getProjectTasks">
<actions>
<service-call name="mantle.work.ProjectServices.get#ProjectTasks" in-map="context" out-map="context"/>
Expand All @@ -47,6 +58,16 @@ along with this software (see the LICENSE.md file). If not, see
<econdition field-name="toWorkEffortId" from="workEffortId"/>
<econdition field-name="workEffortTypeEnumId" value="WetTask"/>
</entity-find>

<entity-find entity-name="WorkEffortAndParty" list="weapList">
<econditions combine="or">
<econdition field-name="visibilityEnumId" operator="in" value="WevGeneral,WevAllUsers"/>
<econditions><date-filter/><econdition field-name="partyId" from="ec.user.userAccount.partyId"/></econditions>
</econditions>
<econdition field-name="workEffortTypeEnumId" value="WetProject"/>
<order-by field-name="workEffortId"/>
</entity-find>
<log level="warn" message="weapList ${weapList}"/>
</actions>
<widgets>
<container>
Expand Down Expand Up @@ -126,6 +147,94 @@ along with this software (see the LICENSE.md file). If not, see
<field name="submitButton"><default-field title="Add Related"><submit/></default-field></field>
</form-single>
</container-dialog>
<container-dialog id="NewTaskContainer" button-text="New Related To Task">
<form-single name="NewTaskForm" transition="createTask">
<field name="workEffortId"><default-field><hidden/></default-field></field>
<field name="fromWorkEffortId" from="workEffortId"><default-field><hidden/></default-field></field>

<field name="workEffortAssocTypeEnumId"><default-field title="Type"><drop-down>
<entity-options key="${enumId}" text="${description}">
<entity-find entity-name="moqui.basic.Enumeration">
<econditions combine="or">
<econdition field-name="enumId" value="WeatRelatesTo"/>
<econdition field-name="parentEnumId" value="WeatRelatesTo"/>
</econditions>
<order-by field-name="description"/>
</entity-find>
</entity-options>
</drop-down></default-field></field>
<field name="rootWorkEffortId"><default-field title="Project"><drop-down>
<list-options list="weapList" key="${workEffortId}" text="${workEffortId}: ${workEffortName}"/>
<!-- <entity-find entity-name="WorkEffortAndParty">-->
<!-- <econditions combine="or">-->
<!-- <econdition field-name="visibilityEnumId" operator="in" value="WevGeneral,WevAllUsers"/>-->
<!-- <econditions><date-filter/><econdition field-name="partyId" from="ec.user.userAccount.partyId"/></econditions>-->
<!-- </econditions>-->
<!-- <econdition field-name="workEffortTypeEnumId" value="WetProject"/>-->
<!-- <order-by field-name="workEffortId"/>-->
<!-- </entity-find>-->
<!-- </list-options>-->
</drop-down></default-field></field>

<field name="rootWorkEffortId"><default-field title="Project"><drop-down allow-empty="true">
<list-options list="myProjectList" key="${workEffortId}" text="WorkEffortNameTemplate"/>
</drop-down></default-field></field>
<field name="milestoneWorkEffortId"><default-field title="Milestone">
<drop-down allow-empty="true">
<dynamic-options transition="getProjectMilestones" value-field="workEffortId" label-field="milestoneLabel">
<depends-on field="rootWorkEffortId"/></dynamic-options>
</drop-down>
</default-field></field>
<field name="parentWorkEffortId"><default-field title="Parent Task">
<drop-down allow-empty="true">
<dynamic-options transition="getTaskList" min-length="2" server-search="true" depends-optional="true">
<depends-on field="rootWorkEffortId"/></dynamic-options>
</drop-down>
<!--
<drop-down>
<dynamic-options transition="getProjectTasks" value-field="workEffortId" label-field="taskLabel">
<depends-on field="rootWorkEffortId"/></dynamic-options>
</drop-down>
-->
</default-field></field>
<field name="assignToPartyId"><default-field title="Assign To">
<drop-down no-current-selected-key="${ec.user.userAccount.partyId}" allow-empty="true">
<dynamic-options transition="getProjectParties" value-field="partyId" label-field="name"
depends-optional="true" server-search="true" min-length="0" parameter-map="[addOptional:'false']">
<depends-on field="rootWorkEffortId"/></dynamic-options>
</drop-down>
</default-field></field>
<field name="workEffortName"><default-field title="Task Name"><text-line/></default-field></field>
<field name="priority"><default-field>
<drop-down no-current-selected-key="5">
<option key="1"/><option key="2"/><option key="3"/><option key="4"/><option key="5"/>
<option key="6"/><option key="7"/><option key="8"/><option key="9"/></drop-down>
</default-field></field>
<field name="purposeEnumId"><default-field title="Purpose">
<drop-down no-current-selected-key="WepTask">
<entity-options key="${enumId}" text="${description}">
<entity-find entity-name="moqui.basic.Enumeration">
<econdition field-name="enumTypeId" value="WorkEffortPurpose"/>
<econdition field-name="parentEnumId" value="WetTask"/>
<order-by field-name="description"/>
</entity-find>
</entity-options>
</drop-down>
</default-field></field>
<field name="statusId"><default-field title="Status">
<widget-template-include location="component://webroot/template/screen/BasicWidgetTemplates.xml#statusDropDown">
<set field="statusTypeId" value="WorkEffort"/></widget-template-include>
</default-field></field>
<field name="estimatedCompletionDate">
<default-field title="Due Date"><date-time type="date" format="yyyy-MM-dd"/></default-field>
</field>
<field name="estimatedWorkTime"><default-field title="Estimated Hours">
<text-line size="5"/></default-field></field>
<field name="description"><default-field title="Description"><text-area rows="10" cols="60"/></default-field></field>
<field name="submitButton"><default-field title="Create"><submit/></default-field></field>
</form-single>
</container-dialog>

</container>

<label text="Related From ${workEffortId} - ${task.workEffortName}" type="h2"/>
Expand Down