You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/06/28 09:31:52 UTC
svn commit: r417686 - in /lenya/trunk/src/modules: contactform/
contactform/config/ contactform/config/cocoon-xconf/ contactform/java/
contactform/java/src/ contactform/java/src/org/
contactform/java/src/org/apache/ contactform/java/src/org/apache/leny...
Author: andreas
Date: Wed Jun 28 00:31:51 2006
New Revision: 417686
URL: http://svn.apache.org/viewvc?rev=417686&view=rev
Log:
Fixed usecasedocument module references, moved contact form to separate module
Added:
lenya/trunk/src/modules/contactform/
lenya/trunk/src/modules/contactform/config/
lenya/trunk/src/modules/contactform/config/cocoon-xconf/
lenya/trunk/src/modules/contactform/config/cocoon-xconf/usecase-contactForm.xconf
- copied, changed from r417484, lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-contactForm.xconf
lenya/trunk/src/modules/contactform/config/menu.xsp
- copied, changed from r417484, lenya/trunk/src/modules/usecasedocument/config/menu.xsp
lenya/trunk/src/modules/contactform/java/
lenya/trunk/src/modules/contactform/java/src/
lenya/trunk/src/modules/contactform/java/src/org/
lenya/trunk/src/modules/contactform/java/src/org/apache/
lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/
lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/cms/
lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/cms/contactform/
lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/cms/contactform/ContactForm.java
lenya/trunk/src/modules/contactform/menus.xmap
- copied, changed from r417484, lenya/trunk/src/modules/usecasedocument/menus.xmap
lenya/trunk/src/modules/contactform/module.xml
lenya/trunk/src/modules/contactform/usecases/
lenya/trunk/src/modules/contactform/usecases/contactForm.jx
- copied, changed from r417484, lenya/trunk/src/modules/usecasedocument/usecases/contactForm.jx
Removed:
lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-contactForm.xconf
lenya/trunk/src/modules/usecasedocument/config/menu.xsp
lenya/trunk/src/modules/usecasedocument/menus.xmap
lenya/trunk/src/modules/usecasedocument/usecases/contactForm.jx
Modified:
lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/resource-type-usecase.xconf
lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-createUsecaseDocument.xconf
Copied: lenya/trunk/src/modules/contactform/config/cocoon-xconf/usecase-contactForm.xconf (from r417484, lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-contactForm.xconf)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/contactform/config/cocoon-xconf/usecase-contactForm.xconf?p2=lenya/trunk/src/modules/contactform/config/cocoon-xconf/usecase-contactForm.xconf&p1=lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-contactForm.xconf&r1=417484&r2=417686&rev=417686&view=diff
==============================================================================
--- lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-contactForm.xconf (original)
+++ lenya/trunk/src/modules/contactform/config/cocoon-xconf/usecase-contactForm.xconf Wed Jun 28 00:31:51 2006
@@ -23,8 +23,10 @@
<xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'usecase.contactForm']">
<component-instance name="usecase.contactForm" logger="lenya.usecase"
- class="org.apache.lenya.cms.usecase.DummyUsecase">
- <view template="modules/usecase/usecases/contactForm.jx"/>
+ class="org.apache.lenya.cms.contactform.ContactForm">
+ <view template="modules/contactform/usecases/contactForm.jx"/>
+ <parameter name="sender" value="lenya"/>
+ <parameter name="recipient" value="alice"/>
</component-instance>
</xconf>
Copied: lenya/trunk/src/modules/contactform/config/menu.xsp (from r417484, lenya/trunk/src/modules/usecasedocument/config/menu.xsp)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/contactform/config/menu.xsp?p2=lenya/trunk/src/modules/contactform/config/menu.xsp&p1=lenya/trunk/src/modules/usecasedocument/config/menu.xsp&r1=417484&r2=417686&rev=417686&view=diff
==============================================================================
--- lenya/trunk/src/modules/usecasedocument/config/menu.xsp (original)
+++ lenya/trunk/src/modules/contactform/config/menu.xsp Wed Jun 28 00:31:51 2006
@@ -38,7 +38,7 @@
<menus>
<menu i18n:attr="name" name="File">
<block admin="false">
- <item uc:usecase="usecase.createUsecaseDocument" href="?usecase=usecase.contactForm"><i18n:text>New Usecase Document</i18n:text></item>
+ <item uc:usecase="usecase.createUsecaseDocument" href="?usecase=usecase.contactForm"><i18n:text>New Contact Form</i18n:text></item>
</block>
</menu>
</menus>
Added: lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/cms/contactform/ContactForm.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/cms/contactform/ContactForm.java?rev=417686&view=auto
==============================================================================
--- lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/cms/contactform/ContactForm.java (added)
+++ lenya/trunk/src/modules/contactform/java/src/org/apache/lenya/cms/contactform/ContactForm.java Wed Jun 28 00:31:51 2006
@@ -0,0 +1,116 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.lenya.cms.contactform;
+
+import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.lenya.ac.AccessController;
+import org.apache.lenya.ac.AccessControllerResolver;
+import org.apache.lenya.ac.User;
+import org.apache.lenya.ac.UserManager;
+import org.apache.lenya.cms.usecase.AbstractUsecase;
+import org.apache.lenya.notification.Message;
+import org.apache.lenya.notification.NotificationUtil;
+
+/**
+ * Contact form. The recipient user ID is set using the "recipient" parameter. The sender user ID is
+ * set using the "sender" parameter;
+ */
+public class ContactForm extends AbstractUsecase {
+
+ protected static final String RECIPIENT = "recipient";
+ protected static final String SENDER = "sender";
+ protected static final String MESSAGE = "message";
+ protected static final String NAME = "name";
+ protected static final String FROM = "email";
+
+ protected void doCheckPreconditions() throws Exception {
+ super.doCheckPreconditions();
+ if (getParameterAsString(SENDER).equals("")) {
+ addErrorMessage("The sender is not configured!");
+ }
+ }
+
+ protected void doCheckExecutionConditions() throws Exception {
+ super.doCheckExecutionConditions();
+
+ if (getParameterAsString(NAME).trim().equals("")) {
+ addErrorMessage("Please enter your name!");
+ }
+ if (getParameterAsString(FROM).trim().equals("")) {
+ addErrorMessage("Please enter your e-mail address!");
+ }
+ if (getParameterAsString(MESSAGE).trim().equals("")) {
+ addErrorMessage("Please enter a message!");
+ }
+ if (getParameterAsString(RECIPIENT).trim().equals("")) {
+ addErrorMessage("Please choose a recipient!");
+ }
+ }
+
+ protected void doExecute() throws Exception {
+ super.doExecute();
+
+ String senderUserId = getParameterAsString(SENDER);
+ String recipientUserId = getParameterAsString(RECIPIENT);
+
+ User sender = getUser(senderUserId);
+ User recipient = getUser(recipientUserId);
+ User[] recipients = { recipient };
+
+ String name = getParameterAsString(NAME);
+ String body = getParameterAsString(MESSAGE);
+ String from = getParameterAsString(FROM);
+
+ Message message = new Message("Contact form submitted by " + name + " (" + from + ")",
+ new String[0],
+ body,
+ new String[0]);
+
+ NotificationUtil.notify(this.manager, recipients, sender, message);
+
+ setTargetURL(getSourceURL() + "?sent=true");
+ }
+
+ protected User getUser(String userId) throws Exception {
+ User user;
+ ServiceSelector selector = null;
+ AccessControllerResolver acResolver = null;
+ AccessController accessController = null;
+ try {
+ selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
+ + "Selector");
+ acResolver = (AccessControllerResolver) selector.select(AccessControllerResolver.DEFAULT_RESOLVER);
+ accessController = acResolver.resolveAccessController(getSourceURL());
+
+ UserManager userManager = accessController.getAccreditableManager().getUserManager();
+ user = userManager.getUser(userId);
+
+ } finally {
+ if (selector != null) {
+ if (acResolver != null) {
+ if (accessController != null) {
+ acResolver.release(accessController);
+ }
+ selector.release(acResolver);
+ }
+ this.manager.release(selector);
+ }
+ }
+ return user;
+ }
+
+}
Copied: lenya/trunk/src/modules/contactform/menus.xmap (from r417484, lenya/trunk/src/modules/usecasedocument/menus.xmap)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/contactform/menus.xmap?p2=lenya/trunk/src/modules/contactform/menus.xmap&p1=lenya/trunk/src/modules/usecasedocument/menus.xmap&r1=417484&r2=417686&rev=417686&view=diff
==============================================================================
--- lenya/trunk/src/modules/usecasedocument/menus.xmap (original)
+++ lenya/trunk/src/modules/contactform/menus.xmap Wed Jun 28 00:31:51 2006
@@ -24,7 +24,7 @@
<map:pipeline>
<map:match pattern="**">
- <map:generate type="serverpages" src="fallback://lenya/modules/usecase/config/menu.xsp"/>
+ <map:generate type="serverpages" src="fallback://lenya/modules/contactform/config/menu.xsp"/>
<map:serialize type="xml"/>
</map:match>
Added: lenya/trunk/src/modules/contactform/module.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/contactform/module.xml?rev=417686&view=auto
==============================================================================
--- lenya/trunk/src/modules/contactform/module.xml (added)
+++ lenya/trunk/src/modules/contactform/module.xml Wed Jun 28 00:31:51 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2005 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- $Id: publication.xml 374687 2006-02-03 15:24:55Z michi $ -->
+
+<module xmlns="http://apache.org/lenya/module/1.0">
+ <id>org.apache.lenya.modules.contactform</id>
+ <depends module="org.apache.lenya.modules.usecase"/>
+ <depends module="org.apache.lenya.modules.notification"/>
+ <package>org.apache.lenya.modules</package>
+ <version>0.1-dev</version>
+ <name>Contact Form</name>
+ <lenya-version>@lenya.version@</lenya-version>
+ <description>Contact Form</description>
+</module>
Copied: lenya/trunk/src/modules/contactform/usecases/contactForm.jx (from r417484, lenya/trunk/src/modules/usecasedocument/usecases/contactForm.jx)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/contactform/usecases/contactForm.jx?p2=lenya/trunk/src/modules/contactform/usecases/contactForm.jx&p1=lenya/trunk/src/modules/usecasedocument/usecases/contactForm.jx&r1=417484&r2=417686&rev=417686&view=diff
==============================================================================
--- lenya/trunk/src/modules/usecasedocument/usecases/contactForm.jx (original)
+++ lenya/trunk/src/modules/contactform/usecases/contactForm.jx Wed Jun 28 00:31:51 2006
@@ -26,20 +26,14 @@
<jx:choose>
<jx:when test="${usecase.getParameter('sent').equals('true')}">
<p>
- Sorry - your message was not sent because this is just a sample usecase.
- </p>
- <p>
- <form id="form-contact">
- <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
- <input type="submit" name="submit" value="Try again"/>
- </form>
+ Your message was sent.<br/>
+ Thanks a lot!
</p>
</jx:when>
<jx:otherwise>
<form id="form-contact">
<input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
- <input type="hidden" name="sent" value="true"/>
<table style="font-size: small">
<tr>
@@ -50,7 +44,7 @@
<tr>
<td><label for="name"><i18n:text>Your Name</i18n:text> *</label></td>
- <td><input type="text" name="password" value="${usecase.getParameter('name')}"/></td>
+ <td><input type="text" name="name" value="${usecase.getParameter('name')}"/></td>
</tr>
<tr>
<td><label for="email"><i18n:text>Your E-Mail Address</i18n:text> *</label></td>
@@ -64,7 +58,7 @@
<tr>
<td/>
<td>
- <input i18n:attr="value" type="submit" value="Submit"/>
+ <input i18n:attr="value" name="submit" type="submit" value="Submit"/>
</td>
</tr>
</table>
Modified: lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/resource-type-usecase.xconf
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/resource-type-usecase.xconf?rev=417686&r1=417685&r2=417686&view=diff
==============================================================================
--- lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/resource-type-usecase.xconf (original)
+++ lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/resource-type-usecase.xconf Wed Jun 28 00:31:51 2006
@@ -23,11 +23,11 @@
logger="lenya.resourcetypes.usecase"
class="org.apache.lenya.cms.publication.ResourceTypeImpl">
<schema language="http://relaxng.org/ns/structure/0.9"
- src="fallback://lenya/modules/usecase/resources/schemas/usecase.rng"/>
+ src="fallback://lenya/modules/usecasedocument/resources/schemas/usecase.rng"/>
- <sample-name>fallback://lenya/modules/usecase/samples/usecase.xml</sample-name>
+ <sample-name>fallback://lenya/modules/usecasedocument/samples/usecase.xml</sample-name>
- <format name="xhtml" uri="cocoon://modules/usecase/usecase.xml"/>
+ <format name="xhtml" uri="cocoon://modules/usecasedocument/usecase.xml"/>
</component-instance>
</xconf>
Modified: lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-createUsecaseDocument.xconf
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-createUsecaseDocument.xconf?rev=417686&r1=417685&r2=417686&view=diff
==============================================================================
--- lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-createUsecaseDocument.xconf (original)
+++ lenya/trunk/src/modules/usecasedocument/config/cocoon-xconf/usecase-createUsecaseDocument.xconf Wed Jun 28 00:31:51 2006
@@ -22,6 +22,6 @@
<xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'usecase.createUsecaseDocument']">
<component-instance name="usecase.createUsecaseDocument" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.CreateUsecaseDocument">
- <view template="modules/usecase/usecases/createUsecaseDocument.jx"/>
+ <view template="modules/usecasedocument/usecases/createUsecaseDocument.jx"/>
</component-instance>
</xconf>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org