Added invitation delegation support in Web interface. See ChangeLog.

Monotone-Parent: 4d711e074341810486c1842c6a345777cc3664bb
Monotone-Revision: 2fc8598099b516f243935e73039200f1c004784e

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2009-09-10T18:31:20
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2009-09-10 18:31:20 +00:00
parent b63b53fecd
commit 9a9ecb1811
45 changed files with 1296 additions and 836 deletions
+37 -38
View File
@@ -310,44 +310,6 @@ tr.mailer_listcell_regular td a
text-decoration: none;
}
IMG.mailerReadIcon
{
/* TODO
*/
}
DIV.mailer_readicon
{
/* TODO: use Thunderbird icon */
background-image: url(icon_read.gif);
background-repeat: no-repeat;
background-position: 0px 4px;
}
DIV.mailer_readicon a
{
width: 17px;
height: 17px;
margin: 0px auto;
display: block;
}
DIV.mailerUnreadIcon
{
/* TODO: use Thunderbird icon */
background-image: url(icon_unread.gif);
background-repeat: no-repeat;
background-position: 0px 4px;
}
DIV.mailer_unreadicon a
{
width: 17px;
height: 17px;
margin: 0px auto;
display: block;
}
/* fields (key/value UI), eg used in mail viewer */
INPUT#editDraftButton
{
@@ -814,3 +776,40 @@ DIV.copy
background-image: url(message-copy.gif) !important;
background-position: 1px -2px !important;
}
/* UIxMailPartICalViewer */
#iCalAttendees SPAN
{ background-repeat: no-repeat;
background-position: 5px center;
padding-left: 22px;
padding-right: 4px; }
#iCalAttendees .accepted
{ background-image: url("accepted.png"); }
#iCalAttendees .needs-action
{ background-image: url("needs-action.png"); }
#iCalAttendees .declined
{ background-image: url("declined.png"); }
#iCalAttendees .delegated
{ background-image: url("delegated.png"); }
#iCalAttendees .attendeeUser,
#iCalAttendees .attendeeUser A
{ font-weight: bold; }
#delegateEditor
{ padding-left: 5px; }
#delegatedTo
{ width: 220px; }
#delegatedTo
{ background-image: url("abcard.gif");
background-repeat: no-repeat;
background-position: 4px center;
padding: 2px 2px 2px 24px;
width: 220px; }
+53 -2
View File
@@ -511,9 +511,15 @@ function onMailboxMenuMove(event) {
rows[i].hide();
uids.push(uid);
paths.push(path);
// Remove references to closed popups
for (var j = Mailer.popups.length - 1; j > -1; j--)
if (!Mailer.popups[j].open || Mailer.popups[j].closed)
Mailer.popups.splice(j,1);
// Close message popup if opened
for (var j = 0; j < Mailer.popups.length; j++)
if (Mailer.popups[j].messageUID == path) {
Mailer.popups[j].close();
Mailer.popups.splice(j,1);
break;
}
}
@@ -670,7 +676,7 @@ function messageListCallback(http) {
addressHeaderCell.setAttribute("id", newRows[0].cells[addrIndex].getAttribute("id"));
table.replaceChild(tmp.firstChild.tBodies[0], tbody);
configureMessageListEvents(table);
}
}
else {
// Add table
div.update(http.responseText);
@@ -1012,6 +1018,46 @@ function configureiCalLinksInMessage() {
onICalendarButtonClick.bindAsEventListener(button));
}
}
var button = $("iCalendarDelegate");
if (button) {
button.observe("click", onICalendarDelegate);
var delegatedTo = $("delegatedTo");
delegatedTo.addInterface(SOGoAutoCompletionInterface);
delegatedTo.uidField = "c_mail";
delegatedTo.excludeGroups = true;
var editDelegate = $("editDelegate");
if (editDelegate)
// The user delegates the invitation
editDelegate.observe("click", function(event) {
$("delegateEditor").show();
$("delegatedTo").focus();
this.hide();
});
var delegatedToLink = $("delegatedToLink");
if (delegatedToLink) {
// The user already delegated the invitation and wants
// to change the delegated attendee
delegatedToLink.stopObserving("click");
delegatedToLink.observe("click", function(event) {
$("delegatedTo").show();
$("delegatedTo").focus();
this.hide();
Event.stop(event);
});
}
}
}
function onICalendarDelegate(event) {
var link = $("iCalendarAttachment").value;
if (link) {
var currentMsg = Mailer.currentMailbox + "/"
+ Mailer.currentMessages[Mailer.currentMailbox];
delegateInvitation(link, ICalendarButtonCallback, currentMsg);
}
}
function onICalendarButtonClick(event) {
@@ -1041,8 +1087,13 @@ function ICalendarButtonCallback(http) {
break;
}
}
else if (http.status == 403) {
var data = http.responseText;
var msg = data.replace(/^(.*\n)*.*<p>((.*\n)*.*)<\/p>(.*\n)*.*$/, "$2");
window.alert(clabels[msg]?clabels[msg]:msg);
}
else
window.alert("received code: " + http.status);
window.alert("received code: " + http.status + "\nerror: " + http.responseText);
}
function resizeMailContent() {
+4 -1
View File
@@ -4,6 +4,7 @@
// using this interface.
var SOGoAutoCompletionInterface = {
uidField: "c_name",
excludeGroups: false,
animationParent: null,
selectedIndex: -1,
delay: 0.750,
@@ -90,7 +91,9 @@ var SOGoAutoCompletionInterface = {
if (input.value.trim().length > 2) {
var urlstr = (UserFolderURL + "Contacts/allContactSearch?search="
+ encodeURIComponent(input.value));
if (input.animationParent)
if (input.excludeGroups)
urlstr += "&excludeGroups=1";
if (input.animationParent)
startAnimation(input.animationParent);
document.contactLookupAjaxRequest =
triggerAjaxRequest(urlstr, input.performSearchCallback.bind(input), input);
+10 -3
View File
@@ -183,15 +183,17 @@ function deleteEvent() {
return false;
}
function modifyEvent(sender, modification) {
function modifyEvent(sender, modification, parameters) {
var currentLocation = '' + window.location;
var arr = currentLocation.split("/");
arr[arr.length-1] = modification;
document.modifyEventAjaxRequest = triggerAjaxRequest(arr.join("/"),
modifyEventCallback,
modification);
modification,
parameters,
{ "Content-type": "application/x-www-form-urlencoded" });
return false;
}
@@ -225,6 +227,11 @@ function modifyEventCallback(http) {
window.setTimeout("window.close();", 100);
}
}
else if (http.status == 403) {
var data = http.responseText;
var msg = data.replace(/^(.*\n)*.*<p>((.*\n)*.*)<\/p>(.*\n)*.*$/, "$2");
window.alert(clabels[msg]?clabels[msg]:msg);
}
else {
// log("showing alert...");
window.alert(labels["eventPartStatModificationError"]);
@@ -124,7 +124,8 @@ A#attendeesHref
DIV#attendeesMenu LI
{ padding-left: 10px; }
DIV#attendeesMenu .attendee
DIV#attendeesMenu .attendee,
DIV#attendeesMenu DIV
{ background-repeat: no-repeat;
background-position: 5px center;
padding-left: 22px; }
@@ -138,10 +139,12 @@ DIV#attendeesMenu .needs-action
DIV#attendeesMenu .declined
{ background-image: url("declined.png"); }
DIV#attendeesMenu .delegated
{ background-image: url("delegated.png"); }
DIV#attendeesMenu .delegate
{ margin-left: 10px; }
/* read-only view */
DIV#attendeesMenu DIV
{ cursor: pointer;
padding-left: 20px; }
DIV#attendeesMenu DIV:hover
{ text-decoration: underline; }
{ padding-left: 20px; }
+68 -96
View File
@@ -99,44 +99,6 @@ function validateAptEditor() {
return true;
}
function toggleDetails() {
var div = $("details");
var buttons = $("buttons");
var buttonsHeight = buttons.clientHeight * 3;
if (div.style.visibility) {
div.style.visibility = null;
window.resizeBy(0, -(div.clientHeight + buttonsHeight));
$("detailsButton").innerHTML = labels["Show Details"];
} else {
div.style.visibility = 'visible;';
window.resizeBy(0, (div.clientHeight + buttonsHeight));
$("detailsButton").innerHTML = labels["Hide Details"];
}
return false;
}
function toggleCycleVisibility(node, nodeName, hiddenValue) {
var spanNode = $(nodeName);
var newVisibility = ((node.value == hiddenValue) ? null : 'visible;');
spanNode.style.visibility = newVisibility;
if (nodeName == 'cycleSelectionFirstLevel') {
var otherSpanNode = $('cycleSelectionSecondLevel');
if (!newVisibility)
{
otherSpanNode.superVisibility = otherSpanNode.style.visibility;
otherSpanNode.style.visibility = null;
}
else
{
otherSpanNode.style.visibility = otherSpanNode.superVisibility;
otherSpanNode.superVisibility = null;
}
}
}
function onAttendeesMenuPrepareVisibility()
{
var composeToUndecidedAttendees = $('composeToUndecidedAttendees');
@@ -201,8 +163,10 @@ function addContact(tag, fullContactName, contactId, contactName, contactEmail)
}
function saveEvent(sender) {
if (validateAptEditor())
if (validateAptEditor()) {
document.forms['editform'].attendees.value = attendees.toJSON();
document.forms['editform'].submit();
}
return false;
}
@@ -335,51 +299,22 @@ function initTimeWidgets(widgets) {
}
function refreshAttendeesRO () {
var attendeesNames = $("attendeesNames").value;
var attendeesEmails = $("attendeesEmails").value.split(",");
var attendeesStates = $("attendeesStates").value.split(",");
var attendeesMenu = $("attendeesMenu");
var attendeesLabel = $("attendeesLabel");
if (attendeesMenu) {
for (var i = 0; i < attendeesMenu.childNodes.length; i++)
attendeesMenu.removeChild (attendeesMenu.childNodes[i]);
}
if (attendeesNames.length > 0) {
// Update attendees link and show label
if (attendeesLabel)
attendeesLabel.setStyle({ display: "block" });
if ($("attendeesDiv"))
$("attendeesDiv").setStyle({display: "block"});
// Update attendees in menu
attendeesNames = attendeesNames.split(",");
for (var i = 0; i < attendeesEmails.length; i++) {
var node = document.createElement("div");
if (attendeesMenu)
attendeesMenu.appendChild(node);
$(node).writeAttribute("email", attendeesEmails[i]);
$(node).addClassName("attendee");
$(node).addClassName(attendeesStates[i]);
node.appendChild(document.createTextNode(attendeesNames[i]));
$(node).observe("click", onMailTo);
}
}
else {
// Hide link of attendees
attendeesLabel.setStyle({ display: "none" });
if ($("attendeesDiv"))
$("attendeesDiv").setStyle({display: "none"});
}
var attendeesDiv = $("attendeesDiv");
attendeesLabel.setStyle({ display: "block" });
attendeesDiv.setStyle({display: "block"});
// Register "click" event on each attendee's email
var attendees = attendeesMenu.getElementsByTagName('a');
$A(attendees).each(function(attendee) {
$(attendee).observe("click", onMailTo);
});
}
function refreshAttendees() {
function refreshAttendees(newAttendees) {
var attendeesLabel = $("attendeesLabel");
var attendeesNames = $("attendeesNames").value;
var attendeesEmails = $("attendeesEmails").value.split(",");
var attendeesStates = $("attendeesStates").value.split(",");
var attendeesHref = $("attendeesHref");
var attendeesMenu = $("attendeesMenu");
@@ -398,24 +333,36 @@ function refreshAttendees() {
if (menuItems && attendeesMenu)
for (var i = 0; i < menuItems.length; i++)
attendeesMenu.removeChild(menuItems[i]);
if (attendeesNames.length > 0) {
// Update attendees link and show label
attendeesHref.appendChild(document.createTextNode(attendeesNames));
attendeesLabel.setStyle({ display: "block" });
if (newAttendees)
attendees = $H(newAttendees.evalJSON(true));
// Update attendees in menu
attendeesNames = attendeesNames.split(",");
for (var i = 0; i < attendeesEmails.length; i++) {
var node = document.createElement("li");
if (attendeesMenu)
attendeesMenu.appendChild(node);
$(node).writeAttribute("email", attendeesEmails[i]);
$(node).addClassName("attendee");
$(node).addClassName(attendeesStates[i]);
node.appendChild(document.createTextNode(attendeesNames[i]));
$(node).observe("click", onMailTo);
}
if (attendees.keys().length > 0) {
// Update attendees link and show label
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'))
names.push(name);
if (attendeesMenu) {
var delegatedTo = attendee.get('delegated-to');
if (!attendee.get('delegated-from') || delegatedTo) {
var node = document.createElement("li");
attendeesMenu.appendChild(node);
setupAttendeeNode(node, attendee);
}
if (delegatedTo) {
var delegate = attendees.get(delegatedTo);
var node = document.createElement("li");
attendeesMenu.appendChild(node);
setupAttendeeNode(node, $H(delegate), true);
}
}
});
attendeesHref.appendChild(document.createTextNode(names.join(", ")));
attendeesLabel.setStyle({ display: "block" });
}
else {
// Hide link of attendees
@@ -423,6 +370,25 @@ function refreshAttendees() {
}
}
function setupAttendeeNode(aNode, aAttendee, isDelegate) {
// Construct the display string from common name and/or email address.
var name = aAttendee.get('name');
var email = aAttendee.get('email');
// if (name)
// name += ' <' + email + '>';
// else
// name = email;
name = name || email;
$(aNode).writeAttribute("email", email);
$(aNode).addClassName("attendee");
$(aNode).addClassName(aAttendee.get('partstat'));
if (isDelegate)
$(aNode).addClassName("delegate");
aNode.appendChild(document.createTextNode(name));
$(aNode).observe("click", onMailTo);
}
function initializeAttendeesHref() {
var attendeesHref = $("attendeesHref");
var attendeesLabel = $("attendeesLabel");
@@ -443,6 +409,8 @@ function onMailTo(event) {
var target = getTarget(event);
var address = target.firstChild.nodeValue.trim() + " <" + target.readAttribute("email") + ">";
openMailTo(address);
Event.stop(event);
return false;
}
function getMenus() {
@@ -473,6 +441,10 @@ function onAppointmentEditorLoad() {
'minute': $("endTime_time_minute")}};
initTimeWidgets(widgets);
}
// Extend JSON representation of attendees
attendees = $H(attendees);
initializeAttendeesHref();
}
@@ -121,6 +121,14 @@ TABLE#freeBusyAttendees TR.futureAttendee INPUT
{ background-image: none;
color: #aaa; }
TABLE#freeBusyAttendees TR.futureAttendee TD,
TABLE#freeBusyData TR.futureData TD
{ border: 0;
line-height: 3em; }
TABLE#freeBusyAttendees TR.futureAttendee TD A
{ margin-left: 24px; }
SPAN.freeBusyZoneElement
{ display: block;
float: left;
+46 -70
View File
@@ -13,11 +13,7 @@ var attendeesEditor = {
delay: 500,
delayedSearch: false,
currentField: null,
selectedIndex: -1,
names: null,
UIDs: null,
emails: null,
states: null
selectedIndex: -1
};
@@ -48,12 +44,12 @@ function onContactKeydown(event) {
var row = $(this).up("tr").next();
this.blur(); // triggers checkAttendee function call
var input = row.down("input");
if (input.readOnly)
newAttendee(null);
else {
if (input) {
input.focussed = true;
input.activate();
}
else
newAttendee(null);
}
else if (event.keyCode == 0
|| event.keyCode == 8 // Backspace
@@ -579,15 +575,12 @@ function onNextSlotClick (event) {
function onEditorOkClick(event) {
preventDefault(event);
attendeesEditor.names = new Array();
attendeesEditor.UIDs = new Array();
attendeesEditor.emails = new Array();
attendeesEditor.states = new Array();
var attendees = window.opener.attendees;
var newAttendees = new Hash();
var table = $("freeBusy");
var inputs = table.getElementsByTagName("input");
for (var i = 0; i < inputs.length - 2; i++) {
for (var i = 0; i < inputs.length - 1; i++) {
var row = $(inputs[i]).up("tr");
var name = extractEmailName(inputs[i].value);
var email = extractEmailAddress(inputs[i].value);
@@ -599,24 +592,15 @@ function onEditorOkClick(event) {
name = inputs[i].uid;
else
name = email;
var state = "needs-action";
if (row.hasClassName("accepted"))
state = "accepted";
else if (row.hasClassName("declined"))
state = "declined";
var pos = attendeesEditor.emails.indexOf(email);
if (pos == -1)
pos = attendeesEditor.emails.length;
attendeesEditor.names[pos] = name;
attendeesEditor.UIDs[pos] = uid;
attendeesEditor.emails[pos] = email;
attendeesEditor.states[pos] = state;
var attendee = attendees.get(email);
if (!attendee)
attendee = new Hash({'email': email,
'name': name,
'uid': uid,
'partstat': 'needs-action'});
newAttendees.set(email, attendee);
}
parent$("attendeesNames").value = attendeesEditor.names.join(",");
parent$("attendeesUIDs").value = attendeesEditor.UIDs.join(",");
parent$("attendeesEmails").value = attendeesEditor.emails.join(",");
parent$("attendeesStates").value = attendeesEditor.states.join(",");
window.opener.refreshAttendees();
window.opener.refreshAttendees(newAttendees.toJSON());
updateParentDateFields("startTime", "startTime");
updateParentDateFields("endTime", "endTime");
@@ -746,15 +730,11 @@ function prepareTableRows() {
}
function prepareAttendees() {
var value = parent$("attendeesNames").value;
var tableAttendees = $("freeBusyAttendees");
var tableData = $("freeBusyData");
if (value.length > 0) {
attendeesEditor.names = parent$("attendeesNames").value.split(",");
attendeesEditor.UIDs = parent$("attendeesUIDs").value.split(",");
attendeesEditor.emails = parent$("attendeesEmails").value.split(",");
attendeesEditor.states = parent$("attendeesStates").value.split(",");
var attendees = window.opener.attendees;
if (attendees && attendees.keys()) {
var tbodyAttendees = tableAttendees.tBodies[0];
var modelAttendee = tbodyAttendees.rows[tbodyAttendees.rows.length - 1];
var newAttendeeRow = tbodyAttendees.rows[tbodyAttendees.rows.length - 2];
@@ -763,42 +743,38 @@ function prepareAttendees() {
var modelData = tbodyData.rows[tbodyData.rows.length - 1];
var newDataRow = tbodyData.rows[tbodyData.rows.length - 2];
for (var i = 0; i < attendeesEditor.names.length; i++) {
var row = modelAttendee.cloneNode(true);
tbodyAttendees.insertBefore(row, newAttendeeRow);
$(row).removeClassName("attendeeModel");
$(row).addClassName(attendeesEditor.states[i]);
var input = $(row).down("input");
var value = "";
if (attendeesEditor.names[i].length > 0
&& attendeesEditor.names[i] != attendeesEditor.emails[i])
value += attendeesEditor.names[i] + " ";
value += "<" + attendeesEditor.emails[i] + ">";
input.value = value;
if (attendeesEditor.UIDs[i].length > 0)
input.uid = attendeesEditor.UIDs[i];
input.setAttribute("name", "");
input.setAttribute("modified", "0");
input.observe("blur", checkAttendee);
input.observe("keydown", onContactKeydown);
attendees.values().each(function(attendee) {
attendee = $H(attendee);
var row = modelAttendee.cloneNode(true);
tbodyAttendees.insertBefore(row, newAttendeeRow);
$(row).removeClassName("attendeeModel");
$(row).addClassName(attendee.get('partstat'));
var input = $(row).down("input");
var value = attendee.get('name');
if (value)
value += " ";
else
value = "";
value += "<" + attendee.get('email') + ">";
input.value = value;
if (attendee.get('uid'))
input.uid = attendee.get('uid');
input.setAttribute("name", "");
input.setAttribute("modified", "0");
input.observe("blur", checkAttendee);
input.observe("keydown", onContactKeydown);
row = modelData.cloneNode(true);
tbodyData.insertBefore(row, newDataRow);
$(row).removeClassName("dataModel");
row = modelData.cloneNode(true);
tbodyData.insertBefore(row, newDataRow);
$(row).removeClassName("dataModel");
displayFreeBusyForNode(input);
}
}
else {
attendeesEditor.names = new Array();
attendeesEditor.UIDs = new Array();
attendeesEditor.emails = new Array();
//newAttendee(null);
displayFreeBusyForNode(input);
});
}
var inputs = tableAttendees.select("input");
inputs[inputs.length - 2].setAttribute("autocomplete", "off");
inputs[inputs.length - 2].observe("click", newAttendee);
// Activate "Add attendee" button
var links = tableAttendees.select("TR.futureAttendee TD A");
links.first().observe("click", newAttendee);
}
function onWindowResize(event) {
+22 -2
View File
@@ -85,9 +85,29 @@ DIV.fakeTextArea
border-width: 2px;
border-style: inset;
padding: 2px;
height: 100px;
white-space: pre-wrap; }
height: 100px; }
DIV#descriptionDiv,
DIV#attendeesDiv
{ height: 120px; }
DIV#descriptionDiv DIV.fakeTextArea
{ line-height: 1.5em;
padding: 2px 4px;
white-space: pre-wrap; }
#delegateEditor
{ padding-bottom: 1em; }
#delegatedTo
{ background-image: url("abcard.gif");
background-repeat: no-repeat;
background-position: 4px center;
padding: 2px 2px 2px 24px;
width: 260px; }
IMG#progressIndicator
{ float: none;
position: absolute;
right: 1em;
margin: 0 5px; }
+34 -4
View File
@@ -130,15 +130,25 @@ function onComponentEditorLoad(event) {
list.fire("mousedown");
}
if ($("itemPrivacyList")) {
var menuItems = $("itemPrivacyList").childNodesWithTag("li");
var tmp = $("itemPrivacyList");
if (tmp) {
var menuItems = tmp.childNodesWithTag("li");
for (var i = 0; i < menuItems.length; i++)
menuItems[i].observe("mousedown",
onMenuSetClassification.bindAsEventListener(menuItems[i]),
false);
}
var tmp = $("repeatHref");
tmp = $("replyList");
if (tmp) {
tmp.observe("change", onReplyChange);
tmp = $("delegatedTo");
tmp.addInterface(SOGoAutoCompletionInterface);
tmp.uidField = "c_mail";
tmp.excludeGroups = true;
tmp.animationParent=$("delegateEditor");
}
tmp = $("repeatHref");
if (tmp)
tmp.observe("click", onPopupRecurrenceWindow);
tmp = $("repeatList");
@@ -182,6 +192,21 @@ function onSummaryChange (e) {
document.title = $("summary").value;
}
function onReplyChange(event) {
var delegateEditor = $("delegateEditor");
if (this.value == 2) {
// Delegated
delegateEditor.show();
$("delegatedTo").focus();
}
else {
delegateEditor.hide();
}
onWindowResize(null);
return true;
}
function onWindowResize(event) {
var comment = $("commentArea");
if (comment) {
@@ -269,14 +294,19 @@ function onOkButtonClick (e) {
var item = $("replyList");
var value = parseInt(item.options[item.selectedIndex].value);
var action = "";
var parameters = "";
if (value == 0)
action = 'accept';
else if (value == 1)
action = 'decline';
else if (value == 2) {
var url = ApplicationBaseURL + activeCalendar + '/' + activeComponent;
document.modifyEventAjaxRequest = delegateInvitation(url, modifyEventCallback);
}
if (action != "")
modifyEvent (item, action);
modifyEvent (item, action, parameters);
}
function onCancelButtonClick (e) {
@@ -1,4 +1,4 @@
HTML, BODY
{ background-color: #fff;
font-size: normal;
font-family: sans-serif; }
font-family: sans-serif; }
Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

+3 -3
View File
@@ -759,7 +759,7 @@ DIV.resize-handle
position: absolute;
top: 0;
left: 0;
max-height: 2em; }
max-height: 2em; } /* will be set in JavaScript when setting drag handles */
@media print
{
@@ -779,8 +779,8 @@ DIV.resize-handle
.genericHoverClass
{
background-color: #f0f0f0 !important;
color: #000000 !important;
background-color: #0033cc !important;
color: #fff !important;
}
DIV#uploadDialog,DIV#uploadResults
+20 -1
View File
@@ -1602,6 +1602,26 @@ function createFolderCallback(http) {
}
}
/* invitation delegation */
function delegateInvitation(componentUrl, callbackFunction, callbackData) {
var input = $("delegatedTo");
var delegatedTo = null;
if (input.uid != null)
delegatedTo = input.uid;
else if (input.value.blank())
alert(clabels["noEmailForDelegation"]);
else
delegatedTo = input.value;
if (delegatedTo) {
var receiveUpdates = false; //confirm("Do you want to keep receiving updates on the event?");
var urlstr = componentUrl + "/delegate";
var parameters = "to=" + delegatedTo + "&receiveUpdates=" + (receiveUpdates?"YES":"NO");
return triggerAjaxRequest(urlstr, callbackFunction, callbackData, parameters,
{ "Content-type": "application/x-www-form-urlencoded" });
}
}
function onFinalLoadHandler(event) {
var safetyNet = $("javascriptSafetyNet");
if (safetyNet)
@@ -1623,7 +1643,6 @@ function getMenus() {
}
function onHeaderClick(event) {
window.alert("generic headerClick");
}
/**
+406 -247
View File
File diff suppressed because it is too large Load Diff