TASKPM/libreplan-webapp/src/main/webapp/orders/_edition.zul
Manuel Rego Casasnovas 87747a1cdc jira-integration: Hide JIRA part in project edition if not activated
If JIRA is not activated the part to do the synchronization with the server in
the project edition shouldn't be visible.

FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
2013-02-01 10:35:59 +01:00

346 lines
19 KiB
Text

<!--
This file is part of LibrePlan
Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
Desenvolvemento Tecnolóxico de Galicia
Copyright (C) 2010-2012 Igalia, S.L.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<?component name="orderElementTree" macroURI="components/_orderElementTree.zul"
class="org.libreplan.web.orders.OrdersTreeComponent"?>
<?component name="listOrderElementHours" inline="true" macroURI="_listOrderElementHours.zul"?>
<?component name="listOrderElementAdvances" inline="true" macroURI="_listOrderElementAdvances.zul"?>
<?component name="listOrderElementLabels" class="org.libreplan.web.orders.labels.LabelsAssignmentToOrderElementComponent" macroURI="components/_listOrderElementLabels.zul"?>
<?component name="listOrderElementCriterionRequirements"
class="org.libreplan.web.orders.criterionrequirements.OrderElementCriterionRequirementComponent"
macroURI="/orders/_listOrderElementCriterionRequirements.zul"?>
<?component name="listOrderElementMaterials"
class="org.libreplan.web.orders.materials.OrderElementMaterialAssignmentsComponent"
macroURI="/orders/components/_listOrderElementMaterials.zul"?>
<?component name="listOrderElementTaskQualityForms" inline="true" macroURI="_listOrderElementTaskQualityForms.zul"?>
<?component name="listOrderElementAuthorizations" inline="true" macroURI="_listOrderElementAuthorizations.zul"?>
<window id="${arg.top_id}">
<tabbox id="tabboxOrder">
<tabs>
<tab id="tabOrderElements" label="${i18n:_('WBS (tasks)')}"
onSelect = "controller.setupOrderElementTreeController();"/>
<tab id="tabGeneralData" label="${i18n:_('General data')}" selected="true"
onSelect = "controller.setupOrderDetails();"/>
<tab id="tabAssignedHours" label="${i18n:_('Cost')}"
onSelect = "controller.setupAssignedHoursToOrderElementController();"/>
<tab id="tabAdvances" label="${i18n:_('Progress')}"
onSelect = "controller.setupManageOrderElementAdvancesController();"/>
<tab id="tabLabels" label="${i18n:_('Labels')}"
onSelect = "controller.setupAssignedLabelsToOrderElementController();"/>
<tab id="tabRequirements" label="${i18n:_('Criterion Requirement')}"
onSelect = "controller.setupAssignedCriterionRequirementsToOrderElementController();"
onClick="controller.reloadHoursGroupOrder()" />
<tab id="tabMaterials" label="${i18n:_('Materials')}"
onSelect = "controller.setupAssignedMaterialsToOrderElementController();"/>
<tab id="tabTaskQualityForm" label="${i18n:_('Task quality forms')}"
onSelect = "controller.setupAssignedTaskQualityFormsToOrderElementController();"/>
<tab id="tabAuthorizations" label="${i18n:_('Authorizations')}"
onSelect = "controller.setupOrderAuthorizationController();"/>
</tabs>
<tabpanels>
<tabpanel sclass="orderelements-tab">
<orderElementTree id="orderElementTree" showCreateTemplateButton="true" />
</tabpanel>
<tabpanel id="tabPanelGeneralData" fulfill="tabGeneralData.onSelect">
<hbox width="100%">
<groupbox style="margin-top: 5px" sclass="assignedresources" closable="false" hflex="1">
<caption label="${i18n:_('Identification')}" />
<separator spacing="10px"/>
<grid fixedLayout="true" hflex="1">
<columns>
<column width="200px" />
<column />
</columns>
<rows>
<row>
<label value="${i18n:_('Name')}" />
<textbox value="@{controller.order.name}" hflex="1"
constraint="@{controller.chekValidProjectName}" />
</row>
<row>
<label value="${i18n:_('Code')}" />
<hbox>
<textbox value="@{controller.order.code}" hflex="1"
disabled="@{controller.codeAutogenerated}"
constraint="@{controller.chekValidProjectCode}" />
<checkbox label="${i18n:_('Generate code')}"
checked="@{controller.codeAutogenerated}" />
</hbox>
</row>
<row>
<label value="${i18n:_('Responsible')}" />
<textbox
value="@{controller.order.responsible}" width="200px"/>
</row>
<row>
<label value="${i18n:_('Description')}" />
<textbox
value="@{controller.order.description}"
rows="7" width="330px" />
</row>
<row>
<label value="${i18n:_('State')}" />
<listbox id="listOrderStatus" mold="select" rows="1" width="220px"
model="@{controller.orderStatus}"
selectedItem="@{controller.order.state}"
itemRenderer="org.libreplan.web.common.EnumsListitemRenderer" />
</row>
</rows>
</grid>
</groupbox>
<vbox hflex="1">
<groupbox style="margin-top: 5px" sclass="assignedresources" closable="false" hflex="1">
<caption label="${i18n:_('Planning Configuration')}" />
<separator spacing="10px"/>
<grid fixedLayout="true">
<columns>
<column width="180px" />
<column />
</columns>
<rows>
<row>
<label value="${i18n:_('Starting date')}" />
<datebox id="initDate"
value="@{controller.order.initDate}" />
</row>
<row>
<label value="${i18n:_('Deadline')}" />
<datebox id="deadline"
value="@{controller.order.deadline}"
disabled="@{controller.subcontractedProject}"/>
</row>
<row>
<label value="${i18n:_('Calendar')}" />
<combobox id="calendarCombobox" width="200px"
model="@{controller.baseCalendars}"
itemRenderer="@{controller.baseCalendarsComboitemRenderer}"
onSelect="controller.setBaseCalendar(self.selectedItem.value);" />
</row>
<row>
<label value="${i18n:_('Scheduling mode')}" />
<combobox id="schedulingMode" />
</row>
<row>
<label value="${i18n:_('Dependencies have priority')}" />
<checkbox
checked="@{controller.order.dependenciesConstraintsHavePriority}" />
</row>
</rows>
</grid>
</groupbox>
<groupbox style="margin-top: 5px" sclass="assignedresources" closable="false">
<caption label="${i18n:_('Cost')}" />
<separator spacing="10px"/>
<grid fixedLayout="true">
<columns>
<column width="120px" />
<column />
</columns>
<rows>
<row>
<label value="${i18n:_('Budget')}" />
<hbox align="center">
<label value="${i18n:_('Work')}" />
<decimalbox id="boxWorkBudget" width="80px" scale = "2"
value="@{controller.order.workBudget}"
onChange="controller.reloadTotalBudget(txtTotalBudget)"
format="@{controller.moneyFormat}"/>
<separator bar="false" spacing="15px" orient="vertical"/>
<label value="${i18n:_('Materials')}" />
<decimalbox id="boxMaterialsBudget" width="80px" scale="2"
value="@{controller.order.materialsBudget}"
onChange="controller.reloadTotalBudget(txtTotalBudget)"
format="@{controller.moneyFormat}"/>
<separator bar="false" spacing="15px" orient="vertical"/>
<label value=" ${i18n:_('Total')} :" />
<label id="txtTotalBudget" value="@{controller.order.totalBudget}"/>
<label value="@{controller.currencySymbol}"/>
</hbox>
</row>
<row>
<label value="${i18n:_('Calculated budget')}" />
<hbox>
<label id="budget" value="@{controller.order.budget}" />
<label value="@{controller.currencySymbol}"/>
</hbox>
</row>
<row>
<label value="${i18n:_('Total hours')}" />
<label value="@{controller.order.totalHours}"/>
</row>
</rows>
</grid>
</groupbox>
</vbox>
</hbox>
<groupbox style="margin-top: 5px" sclass="assignedresources" closable="false">
<caption label="${i18n:_('Customer information')}" />
<separator spacing="10px"/>
<hbox width="100%">
<separator spacing="10px" width="100%"/>
<grid fixedLayout="true" hflex="1">
<columns>
<column width="200px" />
<column />
</columns>
<rows>
<row>
<label value="${i18n:_('Project type')}" />
<label value="@{controller.projectType}" width="350px"/>
</row>
<row>
<label value="${i18n:_('External code')}" />
<textbox value="@{controller.order.externalCode}"
width="350px" disabled="true"/>
</row>
<row>
<label value="${i18n:_('Customer')}" />
<bandboxSearch id="bdExternalCompanies" widthBandbox="355px" widthListbox="370px"
finder="ExternalCompanyBandboxFinder"
model="@{controller.externalCompaniesAreClient}"
selectedElement="@{controller.order.customer}"
disabled="@{controller.subcontractedProject}"/>
</row>
<row>
<label value="${i18n:_('Customer reference')}" />
<textbox value="@{controller.order.customerReference}" width="350px"
disabled="@{controller.subcontractedProject}"/>
</row>
</rows>
</grid>
<separator spacing="20px"/>
<groupbox style="margin-top: 5px" sclass="assignedresources" closable="false"
visible="@{controller.subcontractedProject}" hflex="1">
<caption label="${i18n:_('Delivery dates requested by customer. ')}" />
<grid id="gridDeliveryDates"
model="@{controller.deliverDates}"
mold="paging" pageSize="4" fixedLayout="true" width="400px"
onInitRender="controller.setCurrentDeliveryDate(self);">
<columns>
<column label="${i18n:_('Delivery date')}" align="center" width="200px"/>
<column label="${i18n:_('Communication date')}" align="center"/>
</columns>
<rows>
<row self="@{each='deliverDate'}" value="@{deliverDate}">
<label value="@{deliverDate.deliverDate, converter='org.libreplan.web.common.typeconverters.DateConverter'}" />
<label value="@{deliverDate.saveDate, converter='org.libreplan.web.common.typeconverters.DateTimeConverter'}" />
</row>
</rows>
</grid>
</groupbox>
</hbox>
<separator spacing="20px"/>
<groupbox style="margin-top: 5px" sclass="assignedresources" closable="false"
visible="@{controller.subcontractedProject}">
<caption label="${i18n:_('Delivery dates asked by the subcontractor. ')}" />
<hbox align="bottom" sclass="add-resources-or-criteria">
<label value="${i18n:_('New end date for the customer')}" />
<datebox id="newEndDate"/>
<button label="${i18n:_('Add')}" onClick="controller.addAskedEndDate(newEndDate)"/>
</hbox>
<separator spacing="10px"/>
<grid id="gridAskedEndDates" model="@{controller.endDates}"
rowRenderer="@{controller.endDatesRenderer}"
mold="paging" pageSize="10" fixedLayout="true" width="880px">
<columns>
<column label="${i18n:_('Save date')}" sort="auto(saveDate)" align="center" width="220px"/>
<column label="${i18n:_('End date')}" align="center" width="220px"/>
<column label="${i18n:_('Communication date')}" align="center" width="220px"/>
<column label="${i18n:_('Operations')}" align="center"/>
</columns>
</grid>
</groupbox>
</groupbox>
<groupbox style="margin-top: 5px" sclass="jiraLabel" closable="false"
visible="@{controller.jiraActivated}">
<caption label="${i18n:_('JIRA import information')}" />
<separator spacing="10px"/>
<hbox width="100%">
<separator spacing="10px" width="100%"/>
<grid fixedLayout="true" hflex="1">
<columns>
<column width="200px" />
<column />
</columns>
<rows>
<row>
<label value="${i18n:_('JIRA label')}" width="50px"/>
<hbox>
<textbox id="txtImportedLabel" value="@{controller.order.importedLabel}"
width="350px" disabled="true"/>
<button label="${i18n:_('Sync with JIRA')}" id="syncWithJiraButton" disabled="@{controller.jiraDeactivated}"
onClick="controller.syncWithJira()" />
</hbox>
</row>
</rows>
</grid>
</hbox>
</groupbox>
</tabpanel>
<tabpanel>
<listOrderElementHours id="orderElementHours" fulfill="tabAssignedHours.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementAdvances id="orderElementAdvances" fulfill="tabAdvances.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementLabels id="orderElementLabels" fulfill="tabLabels.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementCriterionRequirements id="orderElementCriterionRequirements"
fulfill="tabRequirements.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementMaterials id="orderElementMaterials" fulfill="tabMaterials.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementTaskQualityForms id="orderElementTaskQualityForms" fulfill="tabTaskQualityForm.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementAuthorizations id="orderElementAuthorizations" fulfill="tabAuthorizations.onSelect"/>
</tabpanel>
</tabpanels>
</tabbox>
<popup id="jirasyncPopup" sclass="finder-popup">
<groupbox mold="3d" closable="false" width="420px">
<caption id="jiraSyncCaption" label="Select a label" />
<combobox id="comboJiraLabel" autodrop="true" mold="rounded" buttonVisible="false" width="400px"/>
<separator/>
<hbox>
<button id="startJiraSyncButton" />
<button id="cancelJiraSyncButton" />
</hbox>
</groupbox>
</popup>
</window>