mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-29 08:49:27 +00:00
See ChangeLog.
Monotone-Parent: d11c3e99fe05eb716e0732c7b5c44019dcd75934 Monotone-Revision: 0a8cad3c6a768c445cd15f040d34f93bba3eb6ea Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2011-06-13T20:28:10 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -77,23 +77,38 @@ function validateAptEditor() {
|
||||
}
|
||||
else if (tmpdate == null /* means: same date */) {
|
||||
// TODO: check time
|
||||
var start, end;
|
||||
var startHour, startMinute, endHour, endMinute;
|
||||
var matches;
|
||||
|
||||
start = parseInt(document.forms[0]['startTime_time_hour'].value);
|
||||
end = parseInt(document.forms[0]['endTime_time_hour'].value);
|
||||
matches = document.forms[0]['startTime_time'].value.match(/([0-9]+):([0-9]+)/);
|
||||
if (matches) {
|
||||
startHour = parseInt(matches[1]);
|
||||
startMinute = parseInt(matches[2]);
|
||||
matches = document.forms[0]['endTime_time'].value.match(/([0-9]+):([0-9]+)/);
|
||||
if (matches) {
|
||||
endHour = parseInt(matches[1]);
|
||||
endMinute = parseInt(matches[2]);
|
||||
|
||||
if (start > end) {
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
else if (start == end) {
|
||||
start = parseInt(document.forms[0]['startTime_time_minute'].value);
|
||||
end = parseInt(document.forms[0]['endTime_time_minute'].value);
|
||||
if (start > end) {
|
||||
alert(labels.validate_endbeforestart);
|
||||
if (startHour > endHour) {
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
else if (startHour == endHour) {
|
||||
if (startMinute > endMinute) {
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert(labels.validate_invalid_enddate);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert(labels.validate_invalid_startdate);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
AIM.submit($(document.editform), {'onComplete' : onEventPostComplete});
|
||||
@@ -212,18 +227,18 @@ function endDayAsShortString() {
|
||||
|
||||
function _getDate(which) {
|
||||
var date = window.timeWidgets[which]['date'].inputAsDate();
|
||||
date.setHours( window.timeWidgets[which]['hour'].value );
|
||||
date.setMinutes( window.timeWidgets[which]['minute'].value );
|
||||
var time = window.timeWidgets[which]['time'].value.split(":");
|
||||
date.setHours(time[0]);
|
||||
date.setMinutes(time[1]);
|
||||
|
||||
return date;
|
||||
}
|
||||
|
||||
function _getShadowDate(which) {
|
||||
var date = window.timeWidgets[which]['date'].getAttribute("shadow-value").asDate();
|
||||
var intValue = parseInt(window.timeWidgets[which]['hour'].getAttribute("shadow-value"));
|
||||
date.setHours(intValue);
|
||||
intValue = parseInt(window.timeWidgets[which]['minute'].getAttribute("shadow-value"));
|
||||
date.setMinutes(intValue);
|
||||
var time = window.timeWidgets[which]['time'].getAttribute("shadow-value").split(":");
|
||||
date.setHours(time[0]);
|
||||
date.setMinutes(time[1]);
|
||||
|
||||
return date;
|
||||
}
|
||||
@@ -246,11 +261,7 @@ function getShadowEndDate() {
|
||||
|
||||
function _setDate(which, newDate) {
|
||||
window.timeWidgets[which]['date'].setInputAsDate(newDate);
|
||||
window.timeWidgets[which]['hour'].value = newDate.getHours();
|
||||
var minutes = newDate.getMinutes();
|
||||
if (minutes % 15)
|
||||
minutes += (15 - minutes % 15);
|
||||
window.timeWidgets[which]['minute'].value = minutes;
|
||||
window.timeWidgets[which]['time'].value = newDate.getDisplayHoursString();
|
||||
}
|
||||
|
||||
function setStartDate(newStartDate) {
|
||||
@@ -273,11 +284,9 @@ function onAdjustTime(event) {
|
||||
window.setEndDate(newEndDate);
|
||||
|
||||
window.timeWidgets['end']['date'].updateShadowValue();
|
||||
window.timeWidgets['end']['hour'].updateShadowValue();
|
||||
window.timeWidgets['end']['minute'].updateShadowValue();
|
||||
window.timeWidgets['end']['time'].updateShadowValue();
|
||||
window.timeWidgets['start']['date'].updateShadowValue();
|
||||
window.timeWidgets['start']['hour'].updateShadowValue();
|
||||
window.timeWidgets['start']['minute'].updateShadowValue();
|
||||
window.timeWidgets['start']['time'].updateShadowValue();
|
||||
}
|
||||
else {
|
||||
// End date was changed
|
||||
@@ -288,17 +297,15 @@ function onAdjustTime(event) {
|
||||
window.setEndDate(oldEndDate);
|
||||
|
||||
window.timeWidgets['end']['date'].updateShadowValue();
|
||||
window.timeWidgets['end']['hour'].updateShadowValue();
|
||||
window.timeWidgets['end']['minute'].updateShadowValue();
|
||||
window.timeWidgets['end']['time'].updateShadowValue();
|
||||
window.timeWidgets['end']['time'].onChange(); // method from SOGoTimePicker
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onAllDayChanged(event) {
|
||||
for (var type in window.timeWidgets) {
|
||||
window.timeWidgets[type]['hour'].disabled = this.checked;
|
||||
window.timeWidgets[type]['minute'].disabled = this.checked;
|
||||
}
|
||||
for (var type in window.timeWidgets)
|
||||
window.timeWidgets[type]['time'].disabled = this.checked;
|
||||
}
|
||||
|
||||
function initTimeWidgets(widgets) {
|
||||
@@ -306,14 +313,14 @@ function initTimeWidgets(widgets) {
|
||||
|
||||
if (widgets['start']['date']) {
|
||||
widgets['start']['date'].observe("change", this.onAdjustTime, false);
|
||||
widgets['start']['hour'].observe("change", this.onAdjustTime, false);
|
||||
widgets['start']['minute'].observe("change", this.onAdjustTime, false);
|
||||
widgets['start']['time'].observe("time:change", this.onAdjustTime, false);
|
||||
widgets['start']['time'].addInterface(SOGoTimePickerInterface);
|
||||
}
|
||||
|
||||
if (widgets['end']['date']) {
|
||||
widgets['end']['date'].observe("change", this.onAdjustTime, false);
|
||||
widgets['end']['hour'].observe("change", this.onAdjustTime, false);
|
||||
widgets['end']['minute'].observe("change", this.onAdjustTime, false);
|
||||
widgets['end']['time'].observe("time:change", this.onAdjustTime, false);
|
||||
widgets['end']['time'].addInterface(SOGoTimePickerInterface);
|
||||
}
|
||||
|
||||
var allDayLabel = $("allDay");
|
||||
@@ -321,10 +328,8 @@ function initTimeWidgets(widgets) {
|
||||
var input = $(allDayLabel).childNodesWithTag("input")[0];
|
||||
input.observe("change", onAllDayChanged.bindAsEventListener(input));
|
||||
if (input.checked) {
|
||||
for (var type in widgets) {
|
||||
widgets[type]['hour'].disabled = true;
|
||||
widgets[type]['minute'].disabled = true;
|
||||
}
|
||||
for (var type in widgets)
|
||||
widgets[type]['time'].disabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -375,15 +380,15 @@ function refreshAttendees(newAttendees) {
|
||||
|
||||
if (attendees.keys().length > 0) {
|
||||
// Update attendees link and show label
|
||||
var names = new Array();
|
||||
var names = new Array();
|
||||
attendees.values().each(function(attendee) {
|
||||
attendee = $H(attendee);
|
||||
var name = attendee.get('name') || attendee.get('email');
|
||||
if (!attendee.get('delegated-to'))
|
||||
var delegatedTo = attendee.get('delegated-to');
|
||||
if (!delegatedTo)
|
||||
names.push(name);
|
||||
|
||||
if (attendeesMenu) {
|
||||
var delegatedTo = attendee.get('delegated-to');
|
||||
if (!attendee.get('delegated-from') || delegatedTo) {
|
||||
var node = createElement("li");
|
||||
attendeesMenu.appendChild(node);
|
||||
@@ -475,11 +480,9 @@ function onAppointmentEditorLoad() {
|
||||
assignCalendar('endTime_date');
|
||||
|
||||
var widgets = {'start': {'date': $("startTime_date"),
|
||||
'hour': $("startTime_time_hour"),
|
||||
'minute': $("startTime_time_minute")},
|
||||
'time': $("startTime_time")},
|
||||
'end': {'date': $("endTime_date"),
|
||||
'hour': $("endTime_time_hour"),
|
||||
'minute': $("endTime_time_minute")}};
|
||||
'time': $("endTime_time")}};
|
||||
initTimeWidgets(widgets);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user