Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/webapp/WEB-INF/templates/view/fragment
In directory james.mmbase.org:/tmp/cvs-serv15007

Modified Files:
        list.jsp welcome.jsp 
Log Message:
cmsc-818
modify list.jsp and welcome.jsp


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/webapp/WEB-INF/templates/view/fragment


Index: list.jsp
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/webapp/WEB-INF/templates/view/fragment/list.jsp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- list.jsp    18 Apr 2008 08:30:52 -0000      1.1
+++ list.jsp    25 Apr 2008 05:54:16 -0000      1.2
@@ -1,3 +1,186 @@
+<[EMAIL PROTECTED] file="/WEB-INF/templates/portletglobals.jsp" %>
+<%@ page import="java.util.*"%>
+<%@ page import="com.finalist.newsletter.domain.Newsletter"%>
+<%@ page import="com.finalist.newsletter.domain.Tag"%>
+<%@ page import="com.finalist.newsletter.domain.Subscription"%>
 <html>
-<h1>list page</h1>
+<SCRIPT LANGUAGE="JavaScript">
+       function addOrRemoveTag(newsletterId,tagId,box){
+               new Ajax.Request
+                               
('/cmsc-demo-staging/editors/newsletter/services.jsp', 
+                                       {
+                                       method: 'get',
+                                       parameters: {newsletterId: 
newsletterId, tagId:tagId, select: box.checked , action: 'modifyTag'}
+                                       }
+                               );
+                       }
+       
+       function modifyFormat(newsletterId,format){
+                       new Ajax.Request
+                               
('/cmsc-demo-staging/editors/newsletter/services.jsp', 
+                                       {
+                                       method: 'get',
+                                       parameters: {newsletterId: 
newsletterId, format:format, action: 'modifyFormat'}
+                                       }
+                               );
+                       }
+       
+       function modifyStatus(newsletterId,status,box){
+                       if("ACTIVE"==status)
+               {
+                               if(box.checked){
+                               ableCheckBox('pause-'+newsletterId);
+                               ableCheckBox('format-'+newsletterId);
+                               ableCheckBox('tag-'+newsletterId);
+                               }else {
+                               disableCheckBox('pause-'+newsletterId);
+                               disableCheckBox('format-'+newsletterId);
+                               disableChecked('pause-'+newsletterId);
+                               disableChecked('tag-'+newsletterId);
+                               disableCheckBox('tag-'+newsletterId);
+                       }
+               }
+                       new Ajax.Request
+                               
('/cmsc-demo-staging/editors/newsletter/services.jsp', 
+                                       {
+                                       method: 'get',
+                                       parameters: {newsletterId: 
newsletterId, status:status, select: box.checked ,action: 'modifyStatus'}
+                                       }
+                               );
+                       }
+
+       function disableCheckBox(elementName) {
+                       var obj=document.getElementsByName(elementName)
+                       for(var i=0;i<obj.length;i++)
+                       {
+                       obj[i].disabled = true;
+                       }
+       }
+       function ableCheckBox(elementName) {
+                       var obj=document.getElementsByName(elementName)
+                       for(var i=0;i<obj.length;i++)
+                       obj[i].disabled = false;
+                       }
+
+       function disableChecked(elementName) {
+                       var obj=document.getElementsByName(elementName)
+                       for(var i=0;i<obj.length;i++)
+                       obj[i].checked = false;
+                       }
+       
+</SCRIPT>
+<h1>LIST</h1>
+<table border="1">
+<form action="" name="subscription">
+<tr><td>title</td><td>tag</td><td>action</td><td>format</td></tr>
+<%     List<Subscription> list = 
(List<Subscription>)request.getAttribute("subscriptionList");
+       Iterator it = list.iterator();
+         for(int i=0;i<list.size();i++)
+         {
+                Subscription subscription = (Subscription) it.next();
+                        Newsletter newsletter = subscription.getNewsletter();
+                        String title = newsletter.getTitle();
+                        Set<Tag> tags = subscription.getTags();
+                        int newsletterId = newsletter.getId();
+                        String format = subscription.getMimeType();
+                        String status = subscription.getStatus().toString();
+                        boolean  isText = false;
+                        boolean  isSubscription = false;
+                        boolean  isPause = false;
+                        boolean  disabledFormat =true;
+                        boolean  disabledPause =true;
+                        boolean  disabledTag =true;
+                       
+                        if(format!=null){
+                                        if("text".equals(format)){
+                                               isText = true;
+                                        }else{
+                                               isText = false;
+                                        }
+                        }
+                       if(status!=null)
+                        {
+                                        if("ACTIVE".equals(status)){
+                                               isSubscription = true;
+                                               disabledFormat = false;
+                                               disabledPause = false;
+                                               disabledTag = false;
+                                        }else{
+                                               isSubscription = false;
+                                        }
+                                         if("PAUSED".equals(status)){
+                                               isSubscription = true;
+                                               isPause = true;
+                                               disabledFormat = false;
+                                               disabledPause = false;
+                                               disabledTag = false;
+                                        }else{
+                                               isPause = false;
+                                        }
+                        }
+                        %>
+                        <tr>
+                        <c:set var="newsletterId">
+                        <%=newsletterId%>
+                        </c:set>
+                         <c:set var="isText">
+                        <%=isText%>
+                        </c:set>
+                         <c:set var="isSubscription">
+                        <%=isSubscription%>
+                        </c:set>
+                         <c:set var="isPause">
+                        <%=isPause%>
+                        </c:set>
+                        <c:set var="disabledFormat">
+                        <%=disabledFormat%>
+                        </c:set>
+                        <c:set var="disabledPause">
+                        <%=disabledPause%>
+                        </c:set>
+                        <c:set var="disabledTag">
+                        <%=disabledTag%>
+                        </c:set>
+                        <td>
+                        <%=title%>
+                        </td>
+                        <td>
+                        <%  Iterator tagit = tags.iterator(); 
+                                 for(int j=0;j<tags.size();j++)
+                               {
+                                         Tag tag = (Tag)tagit.next();
+                                         String name = tag.getName();
+                                         int tagId = tag.getId();
+                                         boolean select = tag.isSubscription();
+                        %>
+                        <c:set var="name">
+                        <%=name%>
+                        </c:set>
+                         <c:set var="tagId">
+                        <%=tagId%>
+                        </c:set>
+                        <c:set var="selected">
+                        <%=select%>
+                        </c:set>
+                        ${name}
+                       <input class="checkbox" type="checkbox" 
value='${tagId}' name="tag-${newsletterId}" style="width: 15px;" 
id="tag-${newsletterId}" 
onclick="addOrRemoveTag(${newsletterId},${tagId},this)" selected="${selected}" 
<c:if test="${disabledTag}">disabled</c:if> 
+                       <c:if test="${selected}">checked</c:if> />
+                        <%}%>
+                        </td>
+                         <td>
+                        subscription<input class="checkbox" type="checkbox" 
value="${newsletterId}" name="subscription-${newsletterId}" style="width: 
15px;" id="subscription-${newsletterId}" 
onclick="modifyStatus(${newsletterId},'ACTIVE',this)"   
+                        <c:if test="${isSubscription}">checked</c:if>/>
+                        pause<input class="checkbox" type="checkbox" 
value="${newsletterId}" name="pause-${newsletterId}" style="width: 15px;" 
id="pause-${newsletterId}" 
onclick="modifyStatus(${newsletterId},'PAUSED',this)" <c:if 
test="${isPause}">checked</c:if>
+                        <c:if test="${disabledPause}">disabled</c:if>/>
+                        </td>
+                        <td>
+                        <select name="format-${newsletterId}" 
onchange="modifyFormat(${newsletterId},this.value)" <c:if 
test="${disabledFormat}">disabled</c:if>>
+                        <option  name="html" value="html" <c:if 
test="${!isText}">selected</c:if>>html</option>
+                        <option  name="text" value="text" <c:if 
test="${isText}">selected</c:if>>text</option>${newsletterId}
+                        </select>
+                        </td>
+                       </tr>
+<%}%>
+</form>
+</table>
 </html>
\ No newline at end of file


Index: welcome.jsp
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/webapp/WEB-INF/templates/view/fragment/welcome.jsp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- welcome.jsp 18 Apr 2008 08:30:52 -0000      1.1
+++ welcome.jsp 25 Apr 2008 05:54:16 -0000      1.2
@@ -2,20 +2,145 @@
 <%@ page import="java.util.*"%>
 <%@ page import="com.finalist.newsletter.domain.Newsletter"%>
 <%@ page import="com.finalist.newsletter.domain.Tag"%>
+<%@ page import="com.finalist.newsletter.domain.Subscription"%>
 <html>
-<h1>welcome</h1>
+<SCRIPT LANGUAGE="JavaScript">
+       function addOrRemoveTag(newsletterId,tagId,box){
+               new Ajax.Request
+                               
('/cmsc-demo-staging/editors/newsletter/services.jsp', 
+                                       {
+                                       method: 'get',
+                                       parameters: {newsletterId: 
newsletterId, tagId:tagId, select: box.checked , action: 'modifyTag'}
+                                       }
+                               );
+                       }
+       
+       function modifyFormat(newsletterId,format){
+                       new Ajax.Request
+                               
('/cmsc-demo-staging/editors/newsletter/services.jsp', 
+                                       {
+                                       method: 'get',
+                                       parameters: {newsletterId: 
newsletterId, format:format, action: 'modifyFormat'}
+                                       }
+                               );
+                       }
+       
+       function modifyStatus(newsletterId,status,box){
+                       if("ACTIVE"==status)
+               {
+                               if(box.checked){
+                               ableCheckBox('pause-'+newsletterId);
+                               ableCheckBox('format-'+newsletterId);
+                               ableCheckBox('tag-'+newsletterId);
+                               }else {
+                               disableCheckBox('pause-'+newsletterId);
+                               disableCheckBox('format-'+newsletterId);
+                               disableChecked('pause-'+newsletterId);
+                               disableChecked('tag-'+newsletterId);
+                               disableCheckBox('tag-'+newsletterId);
+                       }
+               }
+                       new Ajax.Request
+                               
('/cmsc-demo-staging/editors/newsletter/services.jsp', 
+                                       {
+                                       method: 'get',
+                                       parameters: {newsletterId: 
newsletterId, status:status, select: box.checked ,action: 'modifyStatus'}
+                                       }
+                               );
+                       }
+
+       function disableCheckBox(elementName) {
+                       var obj=document.getElementsByName(elementName)
+                       for(var i=0;i<obj.length;i++)
+                       {
+                       obj[i].disabled = true;
+                       }
+       }
+       function ableCheckBox(elementName) {
+                       var obj=document.getElementsByName(elementName)
+                       for(var i=0;i<obj.length;i++)
+                       obj[i].disabled = false;
+                       }
+
+       function disableChecked(elementName) {
+                       var obj=document.getElementsByName(elementName)
+                       for(var i=0;i<obj.length;i++)
+                       obj[i].checked = false;
+                       }
+       
+</SCRIPT>
+<h1>WELCOME</h1>
 <table border="1">
 <form action="" name="subscription">
-<tr><td>title</td><td>tag</td><td>action</td></tr>
-<%     List<Newsletter> list = 
(List<Newsletter>)request.getAttribute("newsletterList");
+<tr><td>title</td><td>tag</td><td>action</td><td>format</td></tr>
+<%     List<Subscription> list = 
(List<Subscription>)request.getAttribute("subscriptionList");
        Iterator it = list.iterator();
          for(int i=0;i<list.size();i++)
          {
-                Newsletter newsletter = (Newsletter) it.next();
+                Subscription subscription = (Subscription) it.next();
+                        Newsletter newsletter = subscription.getNewsletter();
                 String title = newsletter.getTitle();
-                        List<Tag> tags = newsletter.getTags();
+                        Set<Tag> tags = subscription.getTags();
+                        int newsletterId = newsletter.getId();
+                        String format = subscription.getMimeType();
+                        String status = subscription.getStatus().toString();
+                        boolean  isText = false;
+                        boolean  isSubscription = false;
+                        boolean  isPause = false;
+                        boolean  disabledFormat =true;
+                        boolean  disabledPause =true;
+                        boolean  disabledTag =true;
+                       
+                        if(format!=null){
+                                        if("text".equals(format)){
+                                               isText = true;
+                                        }else{
+                                               isText = false;
+                                        }
+                        }
+                       if(status!=null)
+                        {
+                                        if("ACTIVE".equals(status)){
+                                               isSubscription = true;
+                                               disabledFormat = false;
+                                               disabledPause = false;
+                                               disabledTag = false;
+                                        }else{
+                                               isSubscription = false;
+                                        }
+                                         if("PAUSED".equals(status)){
+                                               isSubscription = true;
+                                               isPause = true;
+                                               disabledFormat = false;
+                                               disabledPause = false;
+                                               disabledTag = false;
+                                        }else{
+                                               isPause = false;
+                                        }
+                        }
                         %>
                         <tr>
+                        <c:set var="newsletterId">
+                        <%=newsletterId%>
+                        </c:set>
+                         <c:set var="isText">
+                        <%=isText%>
+                        </c:set>
+                         <c:set var="isSubscription">
+                        <%=isSubscription%>
+                        </c:set>
+                         <c:set var="isPause">
+                        <%=isPause%>
+                        </c:set>
+                        <c:set var="disabledFormat">
+                        <%=disabledFormat%>
+                        </c:set>
+                        <c:set var="disabledPause">
+                        <%=disabledPause%>
+                        </c:set>
+                        <c:set var="disabledTag">
+                        <%=disabledTag%>
+                        </c:set>
                         <td>
                         <%=title%>
                         </td>
@@ -25,34 +150,37 @@
                                {
                                          Tag tag = (Tag)tagit.next();
                                          String name = tag.getName();
+                                         int tagId = tag.getId();
+                                         boolean select = tag.isSubscription();
                         %>
                         <c:set var="name">
                         <%=name%>
                         </c:set>
+                         <c:set var="tagId">
+                        <%=tagId%>
+                        </c:set>
+                        <c:set var="selected">
+                        <%=select%>
+                        </c:set>
                         ${name}
-                       <cmsc:checkbox var="allowednewsletters" 
value="${name}"/>
-                       <input class="checkbox" type="checkbox" 
value="tagname1" name="allowednewsletters" style="width: 15px;" id="status_123" 
onclick="addOrRemoveTag('123,'t123',this)"/>
-                       tagname2
-                       <input class="checkbox" type="checkbox" 
value="tagname2" name="allowednewsletters" style="width: 15px;"/>
+                       <input class="checkbox" type="checkbox" 
value='${tagId}' name="tag-${newsletterId}" style="width: 15px;" 
id="tag-${newsletterId}" 
onclick="addOrRemoveTag(${newsletterId},${tagId},this)" selected="${selected}" 
<c:if test="${disabledTag}">disabled</c:if> 
+                       <c:if test="${selected}">checked</c:if> />
                         <%}%>
                         </td>
                         <td>
-               
-<SCRIPT LANGUAGE="JavaScript">
-<!--
-       function addOrRemoveTag(newsletterId,tagId,box){
-               alert(v);
-               alert(box.checked);
-               new 
Ajax.Request('/cmsc-demo-staging/editors/newsletter/good.jsp', {
-               method: 'get',
-               parameters: {newsletterId: newsletterId, tagId:tagId, select: 
box.checked}
-  });
-       }
-//-->
-</SCRIPT>
+                        subscription<input class="checkbox" type="checkbox" 
value="${newsletterId}" name="subscription-${newsletterId}" style="width: 
15px;" id="subscription-${newsletterId}" 
onclick="modifyStatus(${newsletterId},'ACTIVE',this)"   
+                        <c:if test="${isSubscription}">checked</c:if>/>
+                        pause<input class="checkbox" type="checkbox" 
value="${newsletterId}" name="pause-${newsletterId}" style="width: 15px;" 
id="pause-${newsletterId}" 
onclick="modifyStatus(${newsletterId},'PAUSED',this)" <c:if 
test="${isPause}">checked</c:if>
+                        <c:if test="${disabledPause}">disabled</c:if>/>
+                        </td>
+                        <td>
+                        <select name="format-${newsletterId}" 
onchange="modifyFormat(${newsletterId},this.value)" <c:if 
test="${disabledFormat}">disabled</c:if>>
+                        <option  name="html" value="html" <c:if 
test="${!isText}">selected</c:if>>html</option>
+                        <option  name="text" value="text" <c:if 
test="${isText}">selected</c:if>>text</option>${newsletterId}
+                        </select>
                         </td>
                        </tr>
-                        <%}%>
+<%}%>
 </form>
 </table>
 </html>
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to