2009-10-01 18:46:46 +02:00
|
|
|
<!--
|
2011-10-28 08:17:54 +02:00
|
|
|
This file is part of LibrePlan
|
2009-10-01 18:46:46 +02:00
|
|
|
|
2010-07-19 09:36:44 +02:00
|
|
|
Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
|
2010-07-19 09:47:20 +02:00
|
|
|
Desenvolvemento Tecnolóxico de Galicia
|
2011-01-19 18:00:09 +01:00
|
|
|
Copyright (C) 2010-2011 Igalia, S.L.
|
2009-10-01 18:46:46 +02:00
|
|
|
|
|
|
|
|
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/>.
|
|
|
|
|
-->
|
|
|
|
|
|
2011-08-04 09:58:28 +02:00
|
|
|
<window id="${arg.top_id}" xmlns:w="client">
|
2011-08-10 18:13:45 +02:00
|
|
|
<caption id="caption" sclass="caption-title" />
|
2011-05-07 02:49:40 +02:00
|
|
|
<tabbox sclass="calendar-tabbox">
|
|
|
|
|
<tabs>
|
|
|
|
|
<tab label="${i18n:_('Calendar data')}"></tab>
|
|
|
|
|
</tabs>
|
|
|
|
|
<tabpanels>
|
|
|
|
|
<tabpanel>
|
|
|
|
|
|
|
|
|
|
<grid fixedLayout="true" style="margin-bottom: 10px;"
|
|
|
|
|
sclass="calendar-data">
|
|
|
|
|
<columns>
|
|
|
|
|
<column width="200px" />
|
|
|
|
|
<column />
|
|
|
|
|
</columns>
|
|
|
|
|
<rows>
|
|
|
|
|
<row
|
|
|
|
|
visible="@{calendarController.editionController.isNotResourceCalendar}">
|
|
|
|
|
<label value="${i18n:_('Name')}" />
|
|
|
|
|
<textbox
|
|
|
|
|
value="@{calendarController.editionController.baseCalendar.name}"
|
2012-06-29 17:32:40 +02:00
|
|
|
width="300px" constraint="no empty:${i18n:_('cannot be empty')}"
|
2011-07-20 13:16:55 +02:00
|
|
|
onBlur="calendarController.updateWindowTitle()" />
|
2011-05-07 02:49:40 +02:00
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<label value="${i18n:_('Type')}" />
|
|
|
|
|
<hbox>
|
2011-07-08 14:46:27 +02:00
|
|
|
<label id="calendarTypeLabel" value="@{calendarController.editionController.calendarType}" />
|
2011-05-07 02:49:40 +02:00
|
|
|
</hbox>
|
|
|
|
|
</row>
|
|
|
|
|
<row
|
|
|
|
|
visible="@{calendarController.editionController.notResourceCalendar}">
|
|
|
|
|
<label value="${i18n:_('Code')}" />
|
|
|
|
|
<hbox>
|
|
|
|
|
<textbox id="txtCode"
|
|
|
|
|
value="@{calendarController.editionController.baseCalendar.code}"
|
2012-06-29 17:32:40 +02:00
|
|
|
width="250px" constraint="no empty:${i18n:_('cannot be empty')}"
|
2011-05-07 02:49:40 +02:00
|
|
|
disabled="@{calendarController.baseCalendar.codeAutogenerated}" />
|
|
|
|
|
<checkbox label="${i18n:_('Generate code')}"
|
|
|
|
|
onCheck="calendarController.editionController.onCheckGenerateCode(event)"
|
|
|
|
|
checked="@{calendarController.baseCalendar.codeAutogenerated}" />
|
|
|
|
|
</hbox>
|
|
|
|
|
</row>
|
2012-02-20 15:43:10 +01:00
|
|
|
<row visible="@{calendarController.editionController.virtualWorker}">
|
|
|
|
|
<label value="${i18n:_('Capacity')}" />
|
|
|
|
|
<intbox value="@{calendarController.editionController.capacity}" width="100px" constraint="no negative,no zero,no empty" />
|
|
|
|
|
</row>
|
2011-05-07 02:49:40 +02:00
|
|
|
</rows>
|
2009-12-06 06:34:01 +01:00
|
|
|
</grid>
|
|
|
|
|
|
2011-01-17 12:27:07 +01:00
|
|
|
<hbox width="100%" pack="stretch">
|
2011-05-07 02:49:40 +02:00
|
|
|
<vbox id="dayInformation" width="100%">
|
2009-08-26 09:14:02 +02:00
|
|
|
|
2011-08-04 09:58:28 +02:00
|
|
|
<calendar id="calendarWidget"
|
|
|
|
|
value="@{calendarController.editionController.selectedDay}">
|
|
|
|
|
<attribute w:name="highlightDates">
|
|
|
|
|
function (days, textColor, bgColor) {
|
|
|
|
|
var nodes = $('td', this).not('.z-outside');
|
|
|
|
|
nodes.each(function () {
|
|
|
|
|
var day = parseInt($(this).attr('_dt'));
|
|
|
|
|
if (jQuery.inArray(day, days) > -1) {
|
|
|
|
|
$(this).css({color: textColor, backgroundColor: bgColor});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
</attribute>
|
2012-01-03 08:57:43 +01:00
|
|
|
<attribute w:name="resetHighlightedDates">
|
|
|
|
|
function () {
|
|
|
|
|
var nodes = $('td', this).not('.z-outside');
|
|
|
|
|
nodes.each(function () {
|
|
|
|
|
$(this).css({color: "black", backgroundColor: "white"});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
</attribute>
|
2011-08-04 09:58:28 +02:00
|
|
|
</calendar>
|
2011-05-07 02:49:40 +02:00
|
|
|
|
2011-08-30 12:38:13 +02:00
|
|
|
<grid width="180px" sclass="day-details">
|
2011-05-07 02:49:40 +02:00
|
|
|
<auxhead>
|
|
|
|
|
<auxheader colspan="2" label="${i18n:_('Day properties')}" />
|
|
|
|
|
</auxhead>
|
|
|
|
|
<columns>
|
|
|
|
|
<column></column>
|
|
|
|
|
<column></column>
|
|
|
|
|
</columns>
|
|
|
|
|
<rows>
|
|
|
|
|
<row>
|
|
|
|
|
<label value="${i18n:_('Day')}" />
|
2011-08-30 12:38:13 +02:00
|
|
|
<datebox disabled="true" buttonVisible="false"
|
2011-05-07 02:49:40 +02:00
|
|
|
value="@{calendarController.editionController.selectedDay}" />
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<label value="${i18n:_('Type')}" />
|
|
|
|
|
<label
|
|
|
|
|
value="@{calendarController.editionController.typeOfDay}" />
|
|
|
|
|
</row>
|
2009-08-19 09:12:44 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<row>
|
|
|
|
|
<label value="${i18n:_('Workable time')}" />
|
|
|
|
|
<label
|
|
|
|
|
value="@{calendarController.editionController.workableTime}" />
|
|
|
|
|
</row>
|
|
|
|
|
</rows>
|
|
|
|
|
</grid>
|
2009-08-19 09:12:44 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</vbox>
|
2009-12-06 06:34:01 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<tabbox sclass="calendar-options-tabbox">
|
2009-12-06 06:34:01 +01:00
|
|
|
<tabs>
|
2011-05-07 02:49:40 +02:00
|
|
|
<tab label="${i18n:_('Exceptions')}" id="exceptionsTab" />
|
|
|
|
|
<tab label="${i18n:_('Work week')}" id="workWeekTab" />
|
|
|
|
|
<tab label="${i18n:_('Activation periods')}" id="activationPeriodsTab"
|
|
|
|
|
visible="@{calendarController.editionController.isResourceCalendar}" />
|
2009-12-06 06:34:01 +01:00
|
|
|
</tabs>
|
|
|
|
|
<tabpanels>
|
|
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<tabpanel>
|
2009-12-06 06:34:01 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<vbox id="exceptionInformation" width="100%">
|
2010-11-11 09:12:31 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
|
|
|
|
|
<grid style="margin-right: 5px;margin-left:5px;">
|
2009-12-06 06:34:01 +01:00
|
|
|
<columns>
|
2011-05-07 02:49:40 +02:00
|
|
|
<column width="140px" />
|
|
|
|
|
<column />
|
2009-12-06 06:34:01 +01:00
|
|
|
</columns>
|
|
|
|
|
<rows>
|
2011-05-07 02:49:40 +02:00
|
|
|
<row>
|
|
|
|
|
<label value="${i18n:_('Period')}" />
|
|
|
|
|
<hbox align="middle">
|
|
|
|
|
<label value="${i18n:_('Start Date')}:" />
|
|
|
|
|
<datebox id="exceptionStartDate"
|
|
|
|
|
value="@{calendarController.editionController.selectedDay}" />
|
|
|
|
|
<label value="${i18n:_('End Date')}:" />
|
|
|
|
|
<datebox id="exceptionEndDate" />
|
|
|
|
|
</hbox>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<label value="Dedication" />
|
|
|
|
|
<hbox align="middle">
|
|
|
|
|
<label value="${i18n:_('Normal Effort')}:" />
|
|
|
|
|
<hbox id="exceptionDayNormalEffortRow" />
|
2011-11-04 10:21:49 +01:00
|
|
|
<label value="${i18n:_('Overtime Effort')}:" />
|
2011-05-07 02:49:40 +02:00
|
|
|
<hbox id="exceptionDayExtraEffortBox"
|
|
|
|
|
sclass="exceptionDayExtraEffortBox" />
|
|
|
|
|
</hbox>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<label value="${i18n:_('Exception Type')}" />
|
|
|
|
|
<combobox id="exceptionTypes">
|
|
|
|
|
<comboitem self="@{each='calendarExceptionType'}"
|
|
|
|
|
value="@{calendarExceptionType}" label="@{calendarExceptionType.name}" />
|
|
|
|
|
</combobox>
|
|
|
|
|
</row>
|
|
|
|
|
|
2009-12-06 06:34:01 +01:00
|
|
|
</rows>
|
2011-05-07 02:49:40 +02:00
|
|
|
</grid>
|
2009-12-06 06:34:01 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<hbox width="100%" style="margin-left: 5px;">
|
|
|
|
|
<button label="${i18n:_('Create exception')}"
|
|
|
|
|
onClick="calendarController.editionController.createException();"
|
|
|
|
|
visible="@{calendarController.editionController.isNotOwnExceptionDay}" />
|
|
|
|
|
<button label="${i18n:_('Update exception')}"
|
|
|
|
|
onClick="calendarController.editionController.updateException();"
|
|
|
|
|
visible="@{calendarController.editionController.isOwnExceptionDay}" />
|
|
|
|
|
</hbox>
|
2010-11-11 09:12:31 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<groupbox style="margin-top: 5px" closable="false">
|
|
|
|
|
<caption label="${i18n:_('Exceptions list')}" />
|
2010-11-11 09:12:31 +01:00
|
|
|
|
2009-12-06 06:34:01 +01:00
|
|
|
<listbox id="exceptionsList"
|
2011-05-07 02:49:40 +02:00
|
|
|
model="@{calendarController.editionController.calendarExceptions}"
|
|
|
|
|
itemRenderer="@{calendarController.editionController.calendarExceptionRenderer}"
|
|
|
|
|
onSelect="calendarController.editionController.onSelectException(event)"
|
2011-07-14 12:41:48 +02:00
|
|
|
rows="4">
|
2011-05-07 02:49:40 +02:00
|
|
|
<listhead>
|
|
|
|
|
<listheader label="${i18n:_('Day')}" />
|
2011-07-14 12:41:48 +02:00
|
|
|
<listheader label="${i18n:_('Exception Type')}" width="180px" />
|
2011-07-12 11:53:11 +02:00
|
|
|
<listheader label="${i18n:_('Normal Effort')}" width="100px" />
|
|
|
|
|
<listheader label="${i18n:_('Extra Effort')}" width="100px" />
|
2011-05-07 02:49:40 +02:00
|
|
|
<listheader label="${i18n:_('Code')}"
|
2011-07-14 12:41:48 +02:00
|
|
|
width="200px"
|
2011-05-07 02:49:40 +02:00
|
|
|
visible="@{calendarController.editionController.notResourceCalendar}" />
|
|
|
|
|
<listheader label="${i18n:_('Origin')}" />
|
|
|
|
|
<listheader label="${i18n:_('Op.')}" />
|
|
|
|
|
</listhead>
|
2009-12-06 06:34:01 +01:00
|
|
|
</listbox>
|
|
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</groupbox>
|
2009-08-19 09:12:44 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</vbox>
|
2009-08-19 09:12:44 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</tabpanel>
|
2009-08-25 10:20:04 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<tabpanel>
|
2009-08-19 09:12:44 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<vbox width="100%">
|
2009-12-06 06:34:01 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<listbox id="hoursPerDay"
|
|
|
|
|
style="margin-right: 5px;margin-left:5px;"
|
|
|
|
|
model="@{calendarController.editionController.getHoursPerDay}"
|
2011-07-14 12:41:48 +02:00
|
|
|
itemRenderer="@{calendarController.editionController.hoursPerDayRenderer}">
|
2011-05-07 02:49:40 +02:00
|
|
|
<listhead>
|
2011-07-14 12:41:48 +02:00
|
|
|
<listheader label="${i18n:_('Day of week')}"/>
|
2011-05-07 02:49:40 +02:00
|
|
|
<listheader label="${i18n:_('Normal Effort')}"
|
2011-07-14 12:41:48 +02:00
|
|
|
width="200px" />
|
2011-05-07 02:49:40 +02:00
|
|
|
<listheader label="${i18n:_('Extra Effort')}"
|
2011-07-14 12:41:48 +02:00
|
|
|
width="200px" />
|
2011-05-07 02:49:40 +02:00
|
|
|
<listheader label="${i18n:_('Inherited')}"
|
2011-07-14 12:41:48 +02:00
|
|
|
width="80px"
|
2011-05-07 02:49:40 +02:00
|
|
|
tooltiptext="${i18n:_('Inherited from parent calendar')}" />
|
|
|
|
|
</listhead>
|
|
|
|
|
</listbox>
|
2009-12-06 06:34:01 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<button
|
|
|
|
|
onClick="calendarController.editionController.createNewVersion();"
|
2012-07-04 03:44:21 +02:00
|
|
|
label="${i18n:_('Create new Workweek')}"
|
2009-12-06 06:34:01 +01:00
|
|
|
visible="@{calendarController.editionController.isEditing}"
|
2011-05-07 02:49:40 +02:00
|
|
|
style="margin-left: 5px;" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<groupbox style="margin-top: 5px" closable="false">
|
|
|
|
|
|
|
|
|
|
<caption label="${i18n:_('Work weeks list')}" />
|
|
|
|
|
|
|
|
|
|
<listbox id="historyInformation"
|
|
|
|
|
model="@{calendarController.editionController.historyVersions}"
|
2011-07-14 12:41:48 +02:00
|
|
|
itemRenderer="@{calendarController.editionController.historyVersionsRenderer}">
|
2011-05-07 02:49:40 +02:00
|
|
|
<listhead>
|
2011-07-14 12:41:48 +02:00
|
|
|
<listheader label="${i18n:_('Parent')}" width="180px"
|
2011-06-21 09:51:41 +02:00
|
|
|
visible="@{calendarController.editionController.isDerived}"/>
|
2011-05-07 02:49:40 +02:00
|
|
|
<listheader label="${i18n:_('Valid from')}"
|
2011-07-14 12:41:48 +02:00
|
|
|
width="120px" />
|
2011-07-08 14:46:27 +02:00
|
|
|
<listheader label="${i18n:_('Valid until')}"
|
2011-07-14 12:41:48 +02:00
|
|
|
width="120px" />
|
2011-05-07 02:49:40 +02:00
|
|
|
<listheader label="${i18n:_('Summary')}" />
|
|
|
|
|
<listheader label="${i18n:_('Op.')}"
|
|
|
|
|
tooltiptext="${i18n:_('Operations')}" width="40px" />
|
|
|
|
|
</listhead>
|
|
|
|
|
</listbox>
|
|
|
|
|
</groupbox>
|
2009-08-25 10:20:04 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</vbox>
|
2009-08-25 10:20:04 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</tabpanel>
|
2009-12-07 18:37:12 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
<tabpanel>
|
2009-12-07 18:37:12 +01:00
|
|
|
|
2011-06-03 18:42:09 +02:00
|
|
|
<vbox width="100%">
|
2011-05-07 02:49:40 +02:00
|
|
|
<listbox id="calendarAvailabilities"
|
2009-12-07 18:37:12 +01:00
|
|
|
model="@{calendarController.editionController.getCalendarAvailabilities}"
|
|
|
|
|
itemRenderer="@{calendarController.editionController.calendarAvailabilityRenderer}">
|
|
|
|
|
<listhead>
|
2011-05-07 02:49:40 +02:00
|
|
|
<listheader label="${i18n:_('Valid from')}" />
|
|
|
|
|
<listheader label="${i18n:_('Expiry date')}" />
|
|
|
|
|
<listheader label="${i18n:_('Code')}"
|
|
|
|
|
visible="@{calendarController.editionController.notResourceCalendar}" />
|
|
|
|
|
<listheader label="${i18n:_('Op.')}" />
|
2009-12-07 18:37:12 +01:00
|
|
|
</listhead>
|
2011-05-07 02:49:40 +02:00
|
|
|
</listbox>
|
|
|
|
|
<button label="${i18n:_('Create activation period')}"
|
|
|
|
|
onClick="calendarController.editionController.createCalendarAvailability();" />
|
|
|
|
|
</vbox>
|
2009-12-07 18:37:12 +01:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</tabpanel>
|
2009-12-07 18:37:12 +01:00
|
|
|
|
2009-12-06 06:34:01 +01:00
|
|
|
</tabpanels>
|
2009-08-25 10:20:04 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</tabbox>
|
2009-08-25 10:20:04 +02:00
|
|
|
|
2011-05-07 02:49:40 +02:00
|
|
|
</hbox>
|
|
|
|
|
</tabpanel>
|
2009-12-09 22:33:03 +01:00
|
|
|
</tabpanels>
|
2011-05-07 02:49:40 +02:00
|
|
|
</tabbox>
|
|
|
|
|
|
|
|
|
|
<hbox>
|
|
|
|
|
<button onClick="calendarController.editionController.save();"
|
|
|
|
|
label="${arg.save_button_label}" sclass="save-button global-action"
|
|
|
|
|
visible="${arg.save_button_visible}" />
|
|
|
|
|
<button onClick="calendarController.editionController.saveAndContinue();"
|
|
|
|
|
label="${arg.saveandcontinue_button_label}" sclass="saveandcontinue-button global-action"
|
|
|
|
|
visible="${arg.save_button_visible}" />
|
|
|
|
|
<button onClick="calendarController.editionController.cancel();"
|
|
|
|
|
label="${arg.cancel_button_label}" sclass="cancel-button global-action" />
|
|
|
|
|
</hbox>
|
2009-12-04 14:04:02 +01:00
|
|
|
|
2009-09-10 14:41:00 +02:00
|
|
|
</window>
|