Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/webapp/WEB-INF/templates/view/newsletter/subscription
In directory
james.mmbase.org:/tmp/cvs-serv26484/portlets-newsletter/src/webapp/WEB-INF/templates/view/newsletter/subscription
Modified Files:
subscribe.jsp
Log Message:
CMSC-818 improve code,implement pause all.
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/webapp/WEB-INF/templates/view/newsletter/subscription
See also: http://www.mmbase.org/jira/browse/CMSC-818
Index: subscribe.jsp
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/webapp/WEB-INF/templates/view/newsletter/subscription/subscribe.jsp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- subscribe.jsp 20 Jan 2008 22:48:35 -0000 1.10
+++ subscribe.jsp 3 May 2008 14:40:59 -0000 1.11
@@ -1,65 +1,164 @@
+<%@ page import="com.finalist.newsletter.domain.Subscription" %>
<[EMAIL PROTECTED] file="/WEB-INF/templates/portletglobals.jsp" %>
-<cmsc:portlet-preferences />
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
+<%@ taglib uri="http://finalist.com/cmsc" prefix="cmsc" %>
-<mm:cloud>
- <form method="POST" name="<portlet:namespace />form_subscribe"
action="<cmsc:actionURL><cmsc:param name="action"
value="subscribe"/></cmsc:actionURL>" target="_parent">
- <input type="hidden" name="template"
value="newsletter/subscription/overview.jsp">
- <div class="heading">
- <h3><fmt:message key="subscription.subscribe.title" /></h3>
- </div>
- <div class="content">
- <p><fmt:message key="subscription.subscribe.info" /></p><br>
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <c:forEach var="newsletternumber" items="${allowednewsletters}">
- <mm:node number="${newsletternumber}" notfound="skip">
- <tr>
- <td colspan="2">
- <b><fmt:message key="newsletter" />:
<mm:field jspvar="newslettertitle" name="title" write="true" /></b>
- </td>
- </tr>
- <tr>
- <td colspan="2"><mm:field name="intro"
write="true" /> </td>
- </tr>
- <tr>
- <td colspan="2"><cmsc:checkbox
var="newslettersubscriptions" value="${newsletternumber}" checked="true"
/><fmt:message key="subscription.subscribe.tothisnewsletter" /></td></tr>
+<fmt:setBundle basename="portlets-newslettersubscription" scope="request"/>
+<c:set var="contextPath">
+ <%=request.getContextPath()%>/editors/newsletter/Subscribe.do
+</c:set>
+<SCRIPT LANGUAGE="JavaScript">
+ function modifyStatus(newsletterId, box) {
+ console.debug("modifyStatus")
+ new Ajax.Request(
+ "${contextPath}",
+ {
+ method: 'get',
+ parameters: {newsletterId: newsletterId,select: box.checked ,action:
'modifyStatus'}
+ }
+ );
+ }
+
+ function addOrRemoveTag(newsletterId, termId, box) {
+ console.debug("add or remove tag")
+ new Ajax.Request(
+ "${contextPath}",
+ {
+ method: 'get',
+ parameters: {newsletterId: newsletterId, termId:termId, select:
box.checked , action: 'modifyTag'}
+ }
+ );
+ }
+
+ function modifyFormat(newsletterId, format) {
+ console.debug("Modify format:" + newsletterId + " to " + format)
+ new Ajax.Request
+ ("${contextPath}",
+ {
+ method: 'get',
+ parameters: {newsletterId: newsletterId, format:format, action:
'modifyFormat'}
+ }
+ );
+ }
+</SCRIPT>
+<form method="POST" name="<portlet:namespace />form_subscribe"
+ action="<cmsc:actionURL/>"
+>
+
+<div class="heading">
+ <h3><fmt:message key="subscription.subscribe.title"/></h3>
+</div>
+<div class="content">
+<p><fmt:message key="subscription.subscribe.info"/></p><br>
+<table border="1" width="600px">
<tr>
+ <td><fmt:message key="subscription.view.list.title"/></td>
<td> </td>
+ <td><fmt:message key="subscription.view.list.tag"/></td>
+ <td><fmt:message key="subscription.view.list.status"/></td>
+ <td><fmt:message key="subscription.view.list.format"/></td>
</tr>
+ <c:forEach items="${subscriptionList}" var="subscription">
<tr>
- <td colspan="2"><b><fmt:message
key="additionalthemes" />: ${newslettertitle}</b></td>
- </tr>
- <mm:relatednodes type="newslettertheme"
role="newslettertheme">
- <mm:field name="number" write="false"
jspvar="theme"/>
- <mm:field name="title" write="false"
jspvar="themeTitle"/>
- <mm:field name="shortdescription" write="false"
jspvar="themeShortDescription"/>
- <tr>
- <td width="25%"><cmsc:checkbox
var="newslettertheme" value="${theme}"
checked="true">${themeTitle}</cmsc:checkbox></td>
- <td>${themeShortDescription}</td>
- </tr>
- </mm:relatednodes>
- <tr><td> </td></tr>
- </mm:node>
- </c:forEach>
- <tr><td colspan="2"><b><fmt:message
key="subscription.mimetype.title" /></b></td></tr>
- <tr><td colspan="2"><fmt:message
key="subscription.mimetype.info" /></td></tr>
- <tr>
- <td><fmt:message
key="subscription.mimetype.select" /></td>
<td>
- <cmsc:select var="preferredmimetype">
- <c:forEach var="m"
items="${mimetypeoptions}">
- <cmsc:option name="${m}"
value="${m}" />
+ <c:set var="newsletterId" value="${subscription.newsletter.id}"/>
+ <c:set var="status" value="${subscription.status}"/>
+ <input type="checkbox"
+ value="${subscription.id}"
+ name="subscriptions"
+ id="subscription-${subscription.id}"
+ onclick="modifyStatus('${newsletterId}',this)"
+ ${status ne 'INACTIVE' ? 'checked' : ''}
+ />
+ </td>
+ <td>
+ ${subscription.newsletter.title}
+ </td>
+ <td>
+ <%pageContext.setAttribute("terms", ((Subscription)
pageContext.findAttribute("subscription")).getTerms());%>
+ <c:forEach items="${terms}" var="term">
+ <label for="tag-${term.id}">${term.name}</label>
+ <input type="checkbox"
+ id="tag-${term.id}"
+
onclick="addOrRemoveTag('${newsletterId}','${term.id}',this)"
+ ${true eq term.subscription ? 'checked' : ''}/>
</c:forEach>
- </cmsc:select>
+ </td>
+ <td>
+ <select onchange="modifyFormat('${newsletterId}',this.value)">
+ <option name="html" value="text/html" ${subscription.mimeType
eq 'text/html' ? 'selected' : ''}>
+ <fmt:message key="subscription.view.list.status.html"/>
+ </option>
+ <option name="text" value="text/plain" ${subscription.mimeType
eq 'text/plain' ? 'selected' : ''}>
+ <fmt:message key="subscription.view.list.status.text"/>
+ </option>
+ </select>
+ </td>
+ <td>
+ <c:if test="${subscription.status ne 'INACTIVE'}">
+ <c:set var="terminateURL">
+ <cmsc:renderURL>
+ <cmsc:param name="action" value="terminate"/>
+ <cmsc:param name="subscriptions"
value="${subscription.id}"/>
+ </cmsc:renderURL>
+ </c:set>
+ <a href="${terminateURL}">
+ <fmt:message
key="subscription.subscribe.operation.terminate"/>
+ </a>
+
+ <c:set var="pauseURL">
+ <cmsc:renderURL>
+ <cmsc:param name="action" value="pause"/>
+ <cmsc:param name="subscriptions"
value="${subscription.id}"/>
+ </cmsc:renderURL>
+ </c:set>
+ <c:if test="${subscription.status eq 'PAUSED'}">
+ <c:set var="resumeURL">
+ <cmsc:renderURL>
+ <cmsc:param name="action" value="resume"/>
+ <cmsc:param name="subscriptions"
value="${subscription.id}"/>
+ </cmsc:renderURL>
+ </c:set>
+ <fmt:message key="subscription.subscribe.status.paused"/>
+ <a href="${pauseURL}">
+ <fmt:message
key="subscription.subscribe.status.paused.resumedate"/>
+ </a>
+ <a href="${resumeURL}">
+ <fmt:message
key="subscription.subscribe.operation.resume"/>
+ </a>
+ </c:if>
+ <c:if test="${subscription.status eq 'ACTIVE'}">
+ <a href="${pauseURL}">
+ <fmt:message
key="subscription.subscribe.operation.pause"/>
+ </a>
+ </c:if>
+ </c:if>
</td>
</tr>
- </table>
- <br>
- <a href="javascript:document.forms['<portlet:namespace
/>form_subscribe'].submit()" class="button"><img src="<cmsc:staticurl
page='/editors/gfx/icons/save.png'/>" alt=""/><fmt:message
key="subscription.subscribe.buttontext" /></a>
- <br>
- </div>
- </form>
-</mm:cloud>
+ </c:forEach>
+</table>
+<br>
+<input type="hidden" name="action" id="action"/>
+<a href="javascript:document.forms['<portlet:namespace
/>form_subscribe'].submit()" class="button">
+ <fmt:message key="subscription.subscribe.buttontext"/>
+</a>
+<a
href="javascript:document.getElementById('action').value='terminate';document.forms['<portlet:namespace
/>form_subscribe'].submit()"
+ class="button">
+ <fmt:message key="subscription.subscribe.operation.terminateall"/>
+</a>
+<a
href="javascript:document.getElementById('action').value='pause';document.forms['<portlet:namespace
/>form_subscribe'].submit()"
+ class="button">
+ <fmt:message key="subscription.subscribe.operation.pauseall"/>
+</a>
+<a
href="javascript:document.getElementById('action').value='resume';document.forms['<portlet:namespace
/>form_subscribe'].submit()"
+ class="button">
+ <fmt:message key="subscription.subscribe.operation.resumeall"/>
+</a>
+<br>
+</div>
+</form>
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs