Update of
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository
In directory
james.mmbase.org:/tmp/cvs-serv29274/cmsc/contentrepository/src/webapp/editors/repository
Modified Files:
search.jsp content.js
Log Message:
CMSC-465
merge and improve fix.
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository
See also: http://www.mmbase.org/jira/browse/CMSC-465
Index: search.jsp
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository/search.jsp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- search.jsp 18 Jan 2008 12:27:00 -0000 1.14
+++ search.jsp 30 Jan 2008 10:40:28 -0000 1.15
@@ -3,12 +3,19 @@
<[EMAIL PROTECTED] import="com.finalist.cmsc.repository.ContentElementUtil,
com.finalist.cmsc.repository.RepositoryUtil,
java.util.ArrayList"%>
+<%@ page import="com.finalist.cmsc.security.UserRole" %>
+<%@ page import="com.finalist.cmsc.security.SecurityUtil" %>
<mm:content type="text/html" encoding="UTF-8" expires="0">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html:html xhtml="true">
<cmscedit:head title="search.title">
<script src="content.js" type="text/javascript"></script>
<script src="search.js" type="text/javascript"></script>
+ <c:if test="${not empty requestScope.refreshChannels}">
+ <script>
+ refreshFrame('channels');
+ </script>
+ </c:if>
</cmscedit:head>
<body>
<mm:import id="searchinit"><c:url
value='/editors/repository/SearchInitAction.do'/></mm:import>
@@ -81,6 +88,7 @@
<html:hidden property="offset"/>
<html:hidden property="order"/>
<html:hidden property="direction"/>
+ <input type="hidden" name="deleteContentRequest"/>
<mm:present referid="returnurl"><input type="hidden" name="returnurl"
value="<mm:write referid="returnurl"/>"/></mm:present>
<table>
@@ -348,7 +356,8 @@
<mm:node number="${number}">
<mm:relatednodes role="creationrel" type="contentchannel">
- <mm:field name="number" id="creationnumber"
write="false"/>
+ <mm:field name="number" id="creationnumber"
write="false" jspvar="cnumber"/>
+ <c:set var="cn" value="${cnumber}"/>
<mm:compare referid="trashnumber"
referid2="creationnumber">
<c:set var="channelName"><fmt:message
key="search.trash" /></c:set>
<c:set var="channelIcon"
value="/editors/gfx/icons/trashbin.png"/>
@@ -358,8 +367,8 @@
<mm:compare referid="trashnumber"
referid2="creationnumber" inverse="true">
<mm:field name="number"
jspvar="channelNumber" write="false"/>
<cmsc:rights nodeNumber="${channelNumber}"
var="rights"/>
-
<mm:field name="name" jspvar="channelName"
write="false"/>
+
<c:set var="channelIcon"
value="/editors/gfx/icons/type/contentchannel_${rights}.png"/>
<c:set
var="channelIconMessage"><fmt:message key="role.${rights}" /></c:set>
<c:set var="channelUrl"
value="Content.do?parentchannel=${channelNumber}"/>
@@ -398,7 +407,29 @@
<a href="#"
onClick="top.opener.selectContent('<mm:field name="number" />', '', '');
top.close();">
<img src="../gfx/icons/link.png"
title="<fmt:message key="searchform.icon.select.title" />" /></a>
</mm:compare>
- <a href="#" onclick="showItem(<mm:field
name="number" />);" ><img src="../gfx/icons/info.png" alt="<fmt:message
key="searchform.icon.info.title" />" title="<fmt:message
key="searchform.icon.info.title" />" /></a>
+
+ <c:set var="actionURL">
+ <c:choose>
+ <c:when test="${channelName eq
'Recycle bin'}">
+
javascript:deleteContent('<mm:field name='number'/>','<fmt:message
key="recyclebin.removeconfirm"/>' )
+ </c:when>
+ <c:otherwise>
+
javascript:deleteContent('<mm:field name='number'/>')
+ </c:otherwise>
+ </c:choose>
+ </c:set>
+
+ <% Integer cn = (Integer)pageContext.findAttribute("cn");
+ Node channel = cloud.getNode(cn);
+ UserRole role = RepositoryUtil.getRole(cloud,channel,false);
+ if (role != null && SecurityUtil.isWriter(role)) { %>
+ <a href="${actionURL}" title="Linked">
+ <img
src="../gfx/icons/delete.png" title="Linked Del" alt="Linked Del"/>
+ </a>
+ <%}%>
+ <a href="#" onclick="showItem(<mm:field name="number"/>);">
+ <img
src="../gfx/icons/info.png" alt="<fmt:message key="searchform.icon.info.title"
/>" title="<fmt:message key="searchform.icon.info.title" />" />
+ </a>
<mm:field name="number" write="false"
id="nodenumber">
<a href="<cmsc:contenturl
number="${nodenumber}"/>" target="_blank"><img src="../gfx/icons/preview.png"
alt="<fmt:message key="searchform.icon.preview.title" />" title="<fmt:message
key="searchform.icon.preview.title" />" /></a>
</mm:field>
Index: content.js
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/webapp/editors/repository/content.js,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- content.js 23 Apr 2007 12:52:43 -0000 1.4
+++ content.js 30 Jan 2008 10:40:28 -0000 1.5
@@ -1,10 +1,10 @@
- function callEditWizard(objectNumber) {
+function callEditWizard(objectNumber) {
var url = '../WizardInitAction.do?objectnumber=' + objectNumber;
url += '&returnurl=' + escape(document.location);
document.location = url;
- }
+}
- function unpublish(channelnumber, objectnumber) {
+function unpublish(channelnumber, objectnumber) {
var url = "LinkToChannelAction.do";
url += "?channelnumber=" + channelnumber;
url += "&action=unlink";
@@ -12,49 +12,62 @@
url += "&objectnumber=" + objectnumber;
document.location.href = url;
- }
+}
- function openPreview(url) {
+function openPreview(url) {
return openPopupWindow("preview", 750, 550, url);
- }
+}
- function showItem(objectnumber) {
+function showItem(objectnumber) {
return openPopupWindow("showItem", 500, 500,
'showitem.jsp?objectnumber=' + objectnumber);
- }
+}
- function info(objectNumber) {
+function info(objectNumber) {
openPopupWindow("info", 500, 500,
"../repository/showitem.jsp?objectnumber=" + objectNumber);
- }
+}
- function moveUp(objectNumber, channel) {
+function moveUp(objectNumber, channel) {
move("up", objectNumber, channel);
- }
+}
- function moveDown(objectNumber, channel) {
+function moveDown(objectNumber, channel) {
move("down", objectNumber, channel);
- }
+}
- function move(direction, objectNumber, channel) {
- var url = 'MoveContent.do?direction='+direction+'&objectnumber=' +
objectNumber+'&parentchannel='+channel;
+function move(direction, objectNumber, channel) {
+ var url = 'MoveContent.do?direction=' + direction + '&objectnumber=' +
objectNumber + '&parentchannel=' + channel;
document.location = url;
- }
+}
- var moveContentNumber;
- var moveParentChannel;
- function moveContent(objectNumber, parentChannel) {
+var moveContentNumber;
+var moveParentChannel;
+function moveContent(objectNumber, parentChannel) {
moveContentNumber = objectNumber;
moveParentChannel = parentChannel;
openPopupWindow('selectchannel', 340, 400);
- }
+}
- function selectChannel(channel, path) {
-
document.location="../MoveContentToChannel.do?parentchannel="+moveParentChannel+"&newparentchannel="+channel+"&objectnumber="+moveContentNumber;
- }
+function selectChannel(channel, path) {
+ document.location = "../MoveContentToChannel.do?parentchannel=" +
moveParentChannel + "&newparentchannel=" + channel + "&objectnumber=" +
moveContentNumber;
+}
- function refreshChannels() {
+function refreshChannels() {
refreshFrame('channels');
if (window.opener) {
window.close();
}
+}
+
+function deleteContent(objectnumber, confirmmessage) {
+ if (confirmmessage) {
+ if (confirm(confirmmessage)) {
+ document.forms[0].deleteContentRequest.value = "permanentDelete:"
+ objectnumber;
+ document.forms[0].submit();
+ }
+ }
+ else {
+ document.forms[0].deleteContentRequest.value = "moveToRecyclebin:" +
objectnumber;
+ document.forms[0].submit();
}
\ No newline at end of file
+}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs