Couple of fixes to presence space custom view scripts

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7478 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mike Hatfield
2007-11-29 15:25:10 +00:00
parent ccb8cc8096
commit ef78de301d
4 changed files with 43 additions and 17 deletions

View File

@@ -36,19 +36,27 @@
<span class="data"><input type="text" name="n" size="64" /><br />e.g. &quot;workspace://SpacesStore/e3741425-35cf-11dc-9762-4b73d0280543&quot;</span> <span class="data"><input type="text" name="n" size="64" /><br />e.g. &quot;workspace://SpacesStore/e3741425-35cf-11dc-9762-4b73d0280543&quot;</span>
</div> </div>
<#if args.advanced?exists>
<div class="field"> <div class="field">
<span class="label">Webscript URL:</span> <span class="label">Webscript URL:</span>
<span class="data"><input type="text" name="w" size="64" value="/wcs/ui/presence/status?nodeRef={noderef}" /></span> <span class="data"><input type="text" name="w" size="64" value="/wcs/ui/presence/status?nodeRef={noderef}" /></span>
<input type="hidden" name="advanced" value="${args.advanced}" />
</div> </div>
<#else>
<input type="hidden" name="w" value="/wcs/ui/presence/status?nodeRef={noderef}" />
</#if>
<div class="field"> <div class="field">
<span><input type="submit" value="submit" /></span> <span><input type="submit" value="Add" name="add" /></span>
<span><input type="submit" value="Remove" name="remove" /></span>
</div> </div>
</form> </form>
<#if args.n?exists> <#if args.add?exists>
<div class="action">Aspect added to space.</div> <div class="action">Aspect added to space.</div>
<#elseif args.remove?exists>
<div class="action">Aspect removed from space.</div>
</#if> </#if>
</body> </body>
</html> </html>

View File

@@ -1,7 +1,14 @@
if (args["n"] != null) if (args["n"] != null)
{ {
var dest = search.findNode(args["n"]); var dest = search.findNode(args["n"]);
if (args["add"] != null)
{
dest.addAspect("cm:webscriptable"); dest.addAspect("cm:webscriptable");
dest.properties["cm:webscript"] = args["w"]; dest.properties["cm:webscript"] = args["w"];
}
else
{
dest.removeAspect("cm:webscriptable");
}
dest.save(); dest.save();
} }

View File

@@ -1,3 +1,4 @@
<#assign maxRecentDocs = 5>
<script type="text/javascript" src="${url.context}/scripts/ajax/presence.js"></script> <script type="text/javascript" src="${url.context}/scripts/ajax/presence.js"></script>
<div class="presenceTitle">Colleague Status</div> <div class="presenceTitle">Colleague Status</div>
@@ -25,9 +26,9 @@
</div> </div>
<div id="recentDocsContainer"> <div id="recentDocsContainer">
<div class="recentDocsTitle">Recently created or modified documents</div> <div class="recentDocsTitle">Recently created or modified documents<#if (maxRecentDocs != -1)><span class="recentDocsTitleExtra">(showing ${maxRecentDocs} max.)</span></#if></div>
<div id="recentDocsTable"> <div id="recentDocsTable">
<table cellspacing="0" cellpadding="3" border="0"> <table cellspacing="1" cellpadding="2" border="0">
<tr> <tr>
<td></td> <td></td>
<td><b>Name</b></td> <td><b>Name</b></td>
@@ -35,14 +36,17 @@
<td><b>Modified Date</b></td> <td><b>Modified Date</b></td>
</tr> </tr>
<#assign rowNum=0> <#assign rowNum=0>
<#list space.childrenByXPath[".//*[subtypeOf('cm:content')]"] as child> <#list space.childrenByXPath[".//*[subtypeOf('cm:content')]"]?sort_by(['properties','cm:modified'])?reverse as child>
<#if (dateCompare(child.properties["cm:modified"], date, 1000*60*60*24*7) == 1) || (dateCompare(child.properties["cm:created"], date, 1000*60*60*24*7) == 1)> <#if (dateCompare(child.properties["cm:modified"], date, 1000*60*60*24*7) == 1) || (dateCompare(child.properties["cm:created"], date, 1000*60*60*24*7) == 1)>
<#assign rowNum = rowNum + 1> <#assign rowNum = rowNum + 1>
<#if ((maxRecentDocs != -1) && (rowNum > maxRecentDocs))>
<#break>
</#if>
<tr class="recentDoc ${(rowNum % 2 = 0)?string("even", "odd")}"> <tr class="recentDoc ${(rowNum % 2 = 0)?string("even", "odd")}">
<td><a href="${url.context}${child.url}" target="new"><img src="${url.context}${child.icon16}" alt="*" border="0"></a></td> <td><a href="${url.context}${child.url}" target="new"><img src="${url.context}${child.icon16}" alt="*" border="0"></a></td>
<td><a href="${url.context}${child.url}" target="new">${child.properties.name}</a></td> <td>&nbsp;<a href="${url.context}${child.url}" target="new">${child.properties.name}</a>&nbsp;&nbsp;</td>
<td>${child.properties["cm:created"]?datetime}</td> <td>&nbsp;&nbsp;${child.properties["cm:created"]?datetime}&nbsp;&nbsp;</td>
<td>${child.properties["cm:modified"]?datetime}</td> <td>&nbsp;&nbsp;${child.properties["cm:modified"]?datetime}&nbsp;&nbsp;</td>
</tr> </tr>
</#if> </#if>
</#list> </#list>
@@ -116,7 +120,7 @@
{ {
background-image: url(${url.context}/images/icons/presence_yahoo_offline.png) !important; background-image: url(${url.context}/images/icons/presence_yahoo_offline.png) !important;
} }
.presenceStatus.unknown .presenceStatus.unknown, .presenceStatus.skype-unknown, .presenceStatus.yahoo-unknown
{ {
background-image: url(${url.context}/images/icons/presence_status_unknown.png) !important; background-image: url(${url.context}/images/icons/presence_status_unknown.png) !important;
} }
@@ -140,6 +144,13 @@
float: left; float: left;
} }
.recentDocsTitleExtra
{
font-size: small;
font-style: italic;
margin-left: 0.5em;
}
#recentDocsContainer #recentDocsContainer
{ {
float: left; float: left;

View File

@@ -29,12 +29,12 @@ function parsePermissions(space)
tokens = perm.split(";"); tokens = perm.split(";");
if (tokens[0] == "ALLOWED") if (tokens[0] == "ALLOWED")
{ {
if (("CollaboratorContributorCoordinatorEditor").indexOf(tokens[2]) != -1) if (("AllCollaboratorContributorCoordinatorEditor").indexOf(tokens[2]) != -1)
{ {
user = people.getPerson(tokens[1]); user = people.getPerson(tokens[1]);
if (user != null) if (user != null)
{ {
pushUnique(results, user, presence.getDetails(user)); pushUnique(user, presence.getDetails(user));
} }
else else
{ {
@@ -43,7 +43,7 @@ function parsePermissions(space)
{ {
for each(user in people.getMembers(group)) for each(user in people.getMembers(group))
{ {
pushUnique(results, user, presence.getDetails(user)); pushUnique(user, presence.getDetails(user));
} }
} }
} }
@@ -56,7 +56,7 @@ function parsePermissions(space)
} }
} }
function pushUnique(results, user, details) function pushUnique(user, details)
{ {
var provider = String(details).split("|")[0]; var provider = String(details).split("|")[0];
if (provider == "null") if (provider == "null")