From 8ca3d50789263ece92f788c9d034b8a0fea435f1 Mon Sep 17 00:00:00 2001 From: Mike Hatfield Date: Fri, 7 Dec 2007 18:18:43 +0000 Subject: [PATCH] Project Space presence added click to chat for Skype contacts. Also fix to opacity overlay for IE git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7596 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../colleaguePresence.get.html.ftl | 2 +- .../collaboration/colleaguePresence.get.js | 8 ++------ source/web/scripts/ajax/project_presence.js | 17 +++++++++++++++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.html.ftl index 3ff7d7fe10..57a8b7a4dd 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.html.ftl @@ -9,7 +9,7 @@
<#list colleaguePresence.colleagues?keys as key> <#assign c = colleaguePresence.colleagues[key]> -
+
rel="self">
<#if (c.assocs["cm:avatar"]?exists)> <#assign avatarURL = c.assocs["cm:avatar"][0].url> diff --git a/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.js b/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.js index 563590d66c..9099aceec3 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.js +++ b/config/alfresco/templates/webscripts/org/alfresco/collaboration/colleaguePresence.get.js @@ -18,14 +18,10 @@ function main(nodeRef) colleagues = parsePermissions(space); } - if (person.assocs["cm:avatar"] != null) - { - model.img = person.assocs["cm:avatar"][0].url; - } - var colleaguePresence = { - "colleagues": colleagues + "colleagues": colleagues, + "self": person }; return colleaguePresence; } diff --git a/source/web/scripts/ajax/project_presence.js b/source/web/scripts/ajax/project_presence.js index 62cce7dbc3..cd8996ce07 100644 --- a/source/web/scripts/ajax/project_presence.js +++ b/source/web/scripts/ajax/project_presence.js @@ -16,9 +16,12 @@ var ProjectPresence = statuses.each(function(stat, i) { + var row = rows[i]; var userDetails = stat.attributes["rel"].value.split("|"); var proxyURL = window.contextPath + "/ajax/invoke/PresenceProxyBean.proxyRequest"; var statusURL = ProjectPresence.getStatusURL(userDetails); + row.removeEvent("click"); + row.setStyle("cursor", "auto"); if (statusURL != "") { @@ -40,11 +43,20 @@ var ProjectPresence = } if (statusType == "online") { - $("colleaguesOnline").adopt(rows[i]); + $("colleaguesOnline").adopt(row); + if ((userDetails[0] == "skype") && (row.attributes["rel"] == null)) + { + row.addEvent("click", function() + { + window.location = "skype:" + userDetails[1] + "?chat"; + }); + row.setStyle("cursor", "pointer"); + } } else { $("colleaguesNotOnline").adopt(rows[i]); + // Fix-up IE overlay for images if (window.ie) { stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY); @@ -57,7 +69,8 @@ var ProjectPresence = { stat.addClass("none"); stat.title = "User's presence provider has not been configured by Alfresco admin"; - $("colleaguesNotOnline").adopt(rows[i]); + $("colleaguesNotOnline").adopt(row); + // Fix-up IE overlay for images if (window.ie) { stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY);