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

Reply via email to