Restore preview of response email / cleanup / layout adjustments for bootstrap

This commit is contained in:
Andrea Bollini
2013-10-21 15:46:15 +02:00
parent c108fcb263
commit 320ae5133b
11 changed files with 149 additions and 651 deletions

View File

@@ -1715,7 +1715,17 @@ jsp.version.notice.workflow_version_head = Notice
jsp.version.notice.workflow_version_help = A more recent version of this item is in the Workflow. jsp.version.notice.workflow_version_help = A more recent version of this item is in the Workflow.
itemRequest.all = All files itemRequest.all = All files
itemRequest.response.subject.approve = Request copy of document
itemRequest.response.body.approve = Dear {0},\n\
In response to your request I have the pleasure to send you in attachment a copy of the file(s), concerning the document: "{2}" ({1}), which I am author (or co-author) of.\n\n\
Best regards,\n\
{3} <{4}>
itemRequest.response.subject.reject = Request copy of document
itemRequest.response.body.reject = Dear {0},\n\
In response to your request I regret to inform you that it''s not possible to send you a copy of the file(s) you have requested, concerning the document: "{2}" ({1}), which I am author (or co-author) of.\n\n\
Best regards,\n\
{3} <{4}>
jsp.request.item.request-form.info2 = Request a document copy: {0} jsp.request.item.request-form.info2 = Request a document copy: {0}
jsp.request.item.request-form.problem = You must fill all the missing fields. jsp.request.item.request-form.problem = You must fill all the missing fields.
jsp.request.item.request-form.reqname = Requester name: jsp.request.item.request-form.reqname = Requester name:
@@ -1733,18 +1743,21 @@ jsp.request.item.request-information.note = Accordingly with your answer it will
jsp.request.item.request-information.yes = Send a copy jsp.request.item.request-information.yes = Send a copy
jsp.request.item.request-information.no = Don&#146;t send a copy jsp.request.item.request-information.no = Don&#146;t send a copy
jsp.request.item.request-information.title = Request a document copy jsp.request.item.request-information.title = Request a document copy
jsp.request.item.request-letter.info1 = <h1>Subject: Copy of the requested document </h1><br><p>This is the text that will be sent to the requester along with the file(s).</p> jsp.request.item.request-letter.accept.heading = Accept the request
jsp.request.item.request-letter.info2 = <h1>Subject: Copy of the requested document </h1><br><p>This is the text that will be sent to the requester. </p> jsp.request.item.request-letter.accept.info = This is the email that will be sent to the requester along with the file(s).
jsp.request.item.request-letter.reject.heading = Reject the request
jsp.request.item.request-letter.reject.info = This is the email that will be sent to the requester.
jsp.request.item.request-letter.subject = Subject:
jsp.request.item.request-letter.message = Message:
jsp.request.item.request-letter.title = Copy of the requested document jsp.request.item.request-letter.title = Copy of the requested document
jsp.request.item.request-letter.next = Send jsp.request.item.request-letter.next = Send
jsp.request.item.request-letter.back = Back jsp.request.item.request-letter.back = Back
jsp.request.item.return-item = Return to the item
jsp.request.item.response-send.info1 = Your answer was sent successfully! jsp.request.item.response-send.info1 = Your answer was sent successfully!
jsp.request.item.response-send.info2 = Your answer was sent successfully to the e-mail indicated by the requester.<br><br>Thank you. jsp.request.item.response-send.info2 = Your answer was sent successfully to the e-mail indicated by the requester.<br><br>Thank you.
jsp.request.item.request-send.return-item = Return to the item
jsp.request.item.response-send.title = Request a document copy jsp.request.item.response-send.title = Request a document copy
jsp.request.item.request-send.info1 = Your request was sent successfully! jsp.request.item.request-send.info1 = Your request was sent successfully!
jsp.request.item.request-send.info2 = Your request was sent successfully to the author(s).<br><br>Thank you. jsp.request.item.request-send.info2 = Your request was sent successfully to the author(s).<br><br>Thank you.
jsp.request.item.request-send.close = Close.
jsp.request.item.request-send.title = Request a document copy jsp.request.item.request-send.title = Request a document copy
jsp.request.item.request-free-acess.title = Your answer was sent successfully! jsp.request.item.request-free-acess.title = Your answer was sent successfully!
jsp.request.item.request-free-acess.info1 = Your answer was sent successfully to the e-mail indicated by the requester. Thank you. jsp.request.item.request-free-acess.info1 = Your answer was sent successfully to the e-mail indicated by the requester. Thank you.

View File

@@ -41,6 +41,7 @@ package org.dspace.app.webui.servlet;
import java.io.IOException; import java.io.IOException;
import java.sql.SQLException; import java.sql.SQLException;
import java.text.MessageFormat;
import java.util.Date; import java.util.Date;
import javax.mail.MessagingException; import javax.mail.MessagingException;
@@ -51,7 +52,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.app.webui.util.JSPManager; import org.dspace.app.webui.util.JSPManager;
import org.dspace.app.webui.util.ReqEmail;
import org.dspace.app.webui.util.RequestItemManager; import org.dspace.app.webui.util.RequestItemManager;
import org.dspace.app.webui.util.UIUtil; import org.dspace.app.webui.util.UIUtil;
import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.AuthorizeException;
@@ -345,66 +345,26 @@ public class RequestItemServlet extends DSpaceServlet
String title = titleDC.length > 0 ? titleDC[0].value : I18nUtil String title = titleDC.length > 0 ? titleDC[0].value : I18nUtil
.getMessage("jsp.general.untitled", context); .getMessage("jsp.general.untitled", context);
String message = request.getParameter("message");
EPerson submiter = item.getSubmitter(); EPerson submiter = item.getSubmitter();
Email email;
if (yes) {
email = Email.getEmail(I18nUtil.getEmailFilename(
context.getCurrentLocale(), "request_item.aprove"));
} else {
email = Email.getEmail(I18nUtil.getEmailFilename(
context.getCurrentLocale(), "request_item.reject"));
}
email.addRecipient(requestItem.getStringColumn("request_email")); Object[] args = new String[]{
requestItem.getStringColumn("request_name"),
HandleManager.getCanonicalForm(item.getHandle()), // User
title, // request item title
submiter.getFullName(), // # submmiter name
submiter.getEmail() // # submmiter email
};
email.addArgument(requestItem.getStringColumn("request_name")); String subject = I18nUtil.getMessage("itemRequest.response.subject."
email.addArgument(""); + (yes ? "approve" : "reject"), context);
email.addArgument(""); String message = MessageFormat.format(I18nUtil.getMessage("itemRequest.response.body."
email.addArgument(HandleManager.getCanonicalForm(item.getHandle())); // User + (yes ? "approve" : "reject"), context), args);
// agent
email.addArgument(title); // request item title
email.addArgument(message); // message
email.addArgument(""); // # token link
email.addArgument(submiter.getFullName()); // # submmiter name
email.addArgument(submiter.getEmail()); // # submmiter email
if (yes)
{
if (requestItem.getBooleanColumn("allfiles")) {
Bundle[] bundles = item.getBundles("ORIGINAL");
for (int i = 0; i < bundles.length; i++) {
Bitstream[] bitstreams = bundles[i].getBitstreams();
for (int k = 0; k < bitstreams.length; k++) {
if (!bitstreams[k].getFormat().isInternal()
/* && RequestItemManager.isRestricted(context, bitstreams[k])*/) {
email.addAttachment(BitstreamStorageManager
.retrieve(context, bitstreams[k].getID()),
bitstreams[k].getName(), bitstreams[k]
.getFormat().getMIMEType());
}
}
}
} else {
Bitstream bit = Bitstream.find(context,
requestItem.getIntColumn("bitstream_id"));
email.addAttachment(
BitstreamStorageManager.retrieve(context,
requestItem.getIntColumn("bitstream_id")),
bit.getName(), bit.getFormat().getMIMEType());
}
}
email.send();
requestItem.setColumn("decision_date", new Date());
requestItem.setColumn("accept_request", yes);
DatabaseManager.update(context, requestItem);
// page // page
request.setAttribute("response", requestItem request.setAttribute("response", yes);
.getBooleanColumn("accept_request") ? "yes" : "no"); request.setAttribute("subject", subject);
// request.setAttribute("subject", email.getSubject()); request.setAttribute("message", message);
// request.setAttribute("message", email.getMessage());
JSPManager.showJSP(request, response, JSPManager.showJSP(request, response,
"/requestItem/request-letter.jsp"); "/requestItem/request-letter.jsp");
} else { } else {
@@ -437,41 +397,51 @@ public class RequestItemServlet extends DSpaceServlet
// Token // Token
String subject = request.getParameter("subject"); String subject = request.getParameter("subject");
String message = request.getParameter("message"); String message = request.getParameter("message");
boolean accept = UIUtil.getBoolParameter(request, "accept_request");
try try
{ {
Item item = Item.find(context, requestItem.getIntColumn("item_id")); Item item = Item.find(context, requestItem.getIntColumn("item_id"));
ReqEmail email = RequestItemManager.getEmail(subject, message); Email email = new Email();
email.setField(email.FIELD_TO,requestItem.getStringColumn("request_email")); email.setSubject(subject);
email.setField(email.FIELD_FROM,ConfigurationManager.getProperty("mail.from.address")); email.setContent("{0}");
email.setField(email.FIELD_HOST,ConfigurationManager.getProperty("mail.server")); email.addRecipient(requestItem.getStringColumn("request_email"));
email.setField(email.FIELD_SUBJECT, I18nUtil.getMessage("jsp.request.item.request-information.title")); email.addArgument(message);
// add attach // add attach
if(requestItem.getBooleanColumn("accept_request")) if (accept) {
{ if (requestItem.getBooleanColumn("allfiles")) {
if (requestItem.getBooleanColumn("allfiles")) Bundle[] bundles = item.getBundles("ORIGINAL");
{ for (int i = 0; i < bundles.length; i++) {
Bundle[] bundles = item.getBundles("ORIGINAL"); Bitstream[] bitstreams = bundles[i]
for (int i = 0; i < bundles.length; i++) .getBitstreams();
{ for (int k = 0; k < bitstreams.length; k++) {
Bitstream[] bitstreams = bundles[i].getBitstreams(); if (!bitstreams[k].getFormat().isInternal()
for (int k = 0; k < bitstreams.length; k++) && RequestItemManager.isRestricted(
{ context, bitstreams[k])) {
if (!bitstreams[k].getFormat().isInternal() && RequestItemManager.isRestricted(context, bitstreams[k])) email.addAttachment(
{ BitstreamStorageManager
email.addAttachment(BitstreamStorageManager.retrieve(context, bitstreams[k].getID()) .retrieve(
, bitstreams[k].getName(), bitstreams[k].getFormat().getMIMEType()); context,
} bitstreams[k]
} .getID()),
} bitstreams[k].getName(),
}else{ bitstreams[k].getFormat()
Bitstream bit = Bitstream.find(context,requestItem.getIntColumn("bitstream_id")); .getMIMEType());
email.addAttachment(BitstreamStorageManager.retrieve(context, requestItem.getIntColumn("bitstream_id")) }
, bit.getName(), bit.getFormat().getMIMEType()); }
} }
} } else {
email.sendMessage(); Bitstream bit = Bitstream.find(context,
requestItem.getIntColumn("bitstream_id"));
email.addAttachment(BitstreamStorageManager
.retrieve(context, requestItem
.getIntColumn("bitstream_id")), bit
.getName(), bit.getFormat().getMIMEType());
}
}
email.send();
requestItem.setColumn("accept_request",accept);
requestItem.setColumn("decision_date",new Date()); requestItem.setColumn("decision_date",new Date());
DatabaseManager.update(context, requestItem); DatabaseManager.update(context, requestItem);
@@ -480,7 +450,7 @@ public class RequestItemServlet extends DSpaceServlet
"token=" + token)); "token=" + token));
JSPManager.showJSP(request, response, JSPManager.showJSP(request, response,
"/requestItem/request-free-acess.jsp"); "/requestItem/request-free-access.jsp");
} }
catch (MessagingException me) catch (MessagingException me)
{ {
@@ -489,15 +459,15 @@ public class RequestItemServlet extends DSpaceServlet
""), me); ""), me);
JSPManager.showInternalError(request, response); JSPManager.showInternalError(request, response);
} }
}else } else
JSPManager.showInvalidIDError(request, response, null, -1); JSPManager.showInvalidIDError(request, response, null, -1);
}else{ } else {
processToken(context, request, response); processToken(context, request, response);
} }
} }
/* /*
* receive aprovation and generate a letter * receive approvation and generate a letter
* get all request data by token * get all request data by token
* send email to request user * send email to request user
*/ */

View File

@@ -1,18 +0,0 @@
package org.dspace.app.webui.util;
import java.text.MessageFormat;
import java.util.regex.Pattern;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
public class KeepMessageFormat {
private static Logger log = LogManager.getLogger(KeepMessageFormat.class);
public static String format (String message, Object[] args) {
for (int i=0;i<args.length;i++) {
String replacement = MessageFormat.format("{0}", args[i]);
message = message.replaceAll(Pattern.quote("{"+i+"}"), replacement);
}
return message;
}
}

View File

@@ -1,349 +0,0 @@
/*
* ReqEmail.java
*
* Created on 27 de Marco de 2006, 14:56 by Arnaldo Dantas
*
* This class serve as a util class for mail options
* Use this class to define mail properties.
*
* use the function to set the fileds you want and then call sendMessage
* function.
*/
package org.dspace.app.webui.util;
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties;
import java.util.StringTokenizer;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
/**
*
* @author Arnaldo Dantas
*/
public class ReqEmail {
//fields for message
private Multipart g_multiPart=new MimeMultipart(); //"Container" for diffrent message parts
/** The arguments to fill out */
private List arguments;
/* message formated */
private boolean formated;
//fields for addresses
private String g_host ="localhost"; //mail server
private String g_message =null; //the body message
private String g_subject =null; //the body message
private InternetAddress[] g_from =null; //from adress
private InternetAddress[] g_to =null; //array for To adresses
private InternetAddress[] g_cc =null; //array for CC adresses
private InternetAddress[] g_bcc =null; //array for BCC adresses
//delimeter between adresses
private static String ADDRESS_DELIMETERS = " ,;";
/** mail host server field identifier*/
public static final int FIELD_HOST =1000;
/** from address field identifier */
public static final int FIELD_FROM =1001;
/** TO address field identifier */
public static final int FIELD_TO =1002;
/** CC address field identifier */
public static final int FIELD_CC =1003;
/** BCC address field identifier */
public static final int FIELD_BCC =1004;
/** MEssage field identifier */
public static final int FIELD_MESSAGE =1005;
/** Subject field identifier */
public static final int FIELD_SUBJECT =1006;
/** DELIMETER field identifier */
public static final int FIELD_DELIMETER =1007;
public ReqEmail()
{
arguments = new ArrayList();
g_host = "localhost";
g_message = null;
g_subject = null;
g_from = null;
g_to = null;
g_cc = null;
g_bcc = null;
formated = false;
}
/**
* Set field
* @param p_fields field in message
* @param p_text string which conatins values
*/
public void setField(int p_fields , String p_text){
try{
switch(p_fields){
case FIELD_HOST:
g_host = p_text;
break;
case FIELD_MESSAGE:
g_message = p_text;
break;
case FIELD_FROM:
g_from = convertToAddress(p_text);
break;
case FIELD_SUBJECT:
g_subject = p_text;
break;
case FIELD_TO:
g_to = convertToAddress(p_text);
break;
case FIELD_CC:
g_cc = convertToAddress(p_text);
break;
case FIELD_BCC:
g_bcc = convertToAddress(p_text);
break;
case FIELD_DELIMETER:
ADDRESS_DELIMETERS = p_text;
break;
}
}catch(Exception e){
System.out.println("Exception while trying to set field "+p_fields);
}
}
/**
* Fill out the next argument in the template
*
* @param arg
* the value for the next argument
*/
public void addArgument(Object arg)
{
arguments.add(arg);
}
/**
* Format the mail message for givem Arguments
*
**/
public boolean formatMessage ()
{
boolean format = false;
if (!formated && g_message != null)
{
Object[] args = arguments.toArray();
g_message = KeepMessageFormat.format(g_message, args);
formated = format = true;
}
return format;
}
/**
* Get field by its identifier
*
* @param p_identifier identifier of field which we need
* @return field which we asked for
*/
public InternetAddress[] getAddresses(int p_identifier){
switch(p_identifier){
case FIELD_TO:
return g_to;
case FIELD_CC:
return g_cc;
case FIELD_BCC:
return g_bcc;
}
return null;
}
/**
* Get field
* @return mail server host
*/
public String getHost(){
return g_host;
}
/**
* Get message
* @return the body message
*/
public String getMessage(){
return g_message;
}
/**
* Get Subject of message
* @return the body message
*/
public String getSubject(){
return g_subject;
}
/**
* Sets a new Delimeter between addresses
* Default is ","
*
* @param p_del new delimeter
*/
public void setDelimeter(String p_del){
ADDRESS_DELIMETERS = p_del;
}
/**
* Convert string to InternetAddress[].
* the function gets a string of addresses seperated by delimeter
* and parse the addresses from it
*
* @param p_string string with new data
* @return array
*/
public InternetAddress[] convertToAddress(String p_string){
StringTokenizer l_strToken=null;
InternetAddress[] l_reply=null;
l_strToken = new StringTokenizer(p_string , ADDRESS_DELIMETERS , false);
l_reply = new InternetAddress[l_strToken.countTokens()];
int ind=0;
try{
while(l_strToken.hasMoreElements())
l_reply[ind++] = new InternetAddress(l_strToken.nextToken());
return l_reply;
}catch(Exception e){
System.out.println("Exception while trying to generate adresses "+e);
}
return null;
}
//////////////////////////////////////////////////////////
// ATTACHMENTS SECTION //
//////////////////////////////////////////////////////////
/**
* add file attachment to the message
*
* @param p_fileName file name to attach to message
*/
public void addAttachment(InputStream inputStream, String name, String contentType){
//create attachment
try{
MimeBodyPart mbp = new MimeBodyPart();
DataSource ds = new InputStreamDataSource(name, contentType, inputStream);
mbp.setDataHandler(new DataHandler(ds));
mbp.setFileName(name);
g_multiPart.addBodyPart(mbp);
}catch(Exception e){
System.out.println("Exception in: addAttachment");
}
}
/**
* set the body text of this message
*
*
*/
private void setBodyText(){
//create attachment
try{
MimeBodyPart mbp = new MimeBodyPart();
mbp.addHeader("charset","UTF-8");
mbp.setText(g_message,"UTF-8");
g_multiPart.addBodyPart(mbp);
}catch(Exception e){
System.out.println("Exception inset body text");
}
}
//////////////////////////////////////////////////////////
/**
* This function will send an e-mail message
*/
public void sendMessage() throws MessagingException
{
//do some check before mailing:
if (g_host == null){
System.out.println("Please set a mail server first");
return;
}
if (g_to == null){
System.out.println("Field 'TO' was not filled");
return;
}
Properties l_props = System.getProperties();
Session l_session;
Message l_message;
//set Session & msg
l_props.put("mail.smtp.host" , getHost() );
l_session=Session.getDefaultInstance( l_props , null);
l_message = new MimeMessage(l_session);
//g_from=convertToAddress(FROM_FIELD);
//add addresses fields to the message
if (g_from != null)
l_message.addFrom(g_from);
if (g_to != null)
l_message.addRecipients(Message.RecipientType.TO , g_to);
if (g_cc != null)
l_message.addRecipients(Message.RecipientType.CC , g_cc);
if (g_bcc != null)
l_message.addRecipients(Message.RecipientType.BCC , g_bcc);
if (g_message != null)
setBodyText();
if (g_subject != null)
l_message.setSubject(g_subject);
l_message.setContent( g_multiPart);
//l_message.setContent(g_message , "text/plain");
Date now = new Date();
l_message.setSentDate(now);
Transport.send(l_message);
}
}

View File

@@ -7,15 +7,14 @@
package org.dspace.app.webui.util; package org.dspace.app.webui.util;
import java.io.IOException;
import java.sql.SQLException; import java.sql.SQLException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.util.Date; import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.app.webui.servlet.RequestItemServlet; import org.dspace.app.webui.servlet.RequestItemServlet;
import org.dspace.authorize.AuthorizeManager;
import org.dspace.authorize.ResourcePolicy;
import org.dspace.content.DSpaceObject; import org.dspace.content.DSpaceObject;
import org.dspace.core.ConfigurationManager; import org.dspace.core.ConfigurationManager;
import org.dspace.core.Constants; import org.dspace.core.Constants;
@@ -23,7 +22,6 @@ import org.dspace.core.Context;
import org.dspace.core.Utils; import org.dspace.core.Utils;
import org.dspace.storage.rdbms.DatabaseManager; import org.dspace.storage.rdbms.DatabaseManager;
import org.dspace.storage.rdbms.TableRow; import org.dspace.storage.rdbms.TableRow;
import org.dspace.storage.rdbms.TableRowIterator;
/** /**
* *
@@ -117,7 +115,7 @@ public class RequestItemManager {
, int itemID, String reqEmail, String reqName, boolean allfiles) , int itemID, String reqEmail, String reqName, boolean allfiles)
throws SQLException throws SQLException
{ {
String base = ConfigurationManager.getProperty("dspace.baseUrl"); String base = ConfigurationManager.getProperty("dspace.url");
String specialLink = (new StringBuffer()).append(base).append( String specialLink = (new StringBuffer()).append(base).append(
base.endsWith("/") ? "" : "/").append( base.endsWith("/") ? "" : "/").append(
@@ -129,88 +127,17 @@ public class RequestItemManager {
return specialLink; return specialLink;
} }
/** public static boolean isRestricted(Context context, DSpaceObject o) throws SQLException
* Get email by template.
*
* @param template
* The template email
*
* @exception SQLExeption
*
*/
public static ReqEmail getEmail(String template) throws IOException
{ {
String subject = ""; List<ResourcePolicy> policies = AuthorizeManager
StringBuffer contentBuffer = new StringBuffer(); .getPoliciesActionFilter(context, o, Constants.READ);
for (ResourcePolicy rp : policies)
// Read in template {
BufferedReader reader = null; if (rp.isDateValid())
try {
{ return false;
reader = new BufferedReader(new FileReader( }
ConfigurationManager.getProperty("dspace.dir") + }
File.separator + "config" + File.separator + "emails"
+ File.separator + template));
boolean more = true;
while (more)
{
String line = reader.readLine();
if (line == null)
{
more = false;
} else if (line.toLowerCase().startsWith("subject:"))
{
// Extract the first subject line - everything to the right
// of the colon, trimmed of whitespace
subject = line.substring(8).trim();
} else if (!line.startsWith("#"))
{
// Add non-comment lines to the content
contentBuffer.append(line);
contentBuffer.append("\n");
}
}
}
finally
{
if (reader != null)
{
reader.close();
}
}
return getEmail(subject, contentBuffer.toString());
}
/**
* Get email.
*
* @param subject
* The subject of email
* @param contentText
* The text of email
*
* @exception SQLExeption
*
*/
public static ReqEmail getEmail(String subject, String contentText) throws IOException
{
ReqEmail email = new ReqEmail();
email.setField(email.FIELD_MESSAGE, contentText);
email.setField(email.FIELD_SUBJECT, subject);
return email;
}
public static boolean isRestricted(Context context, DSpaceObject o) throws SQLException
{
TableRowIterator tri = DatabaseManager.query(context,
"SELECT * FROM resourcepolicy WHERE " + "resource_type_id="
+ o.getType() + " AND " + "resource_id=" + o.getID()
+ " AND " + "action_id=" + Constants.READ
+ " AND epersongroup_id = '0';");
if(tri.hasNext())
return false;
return true; return true;
} }

View File

@@ -68,39 +68,28 @@
title = ""; title = "";
%> %>
<dspace:layout locbar="off" navbar="off" titlekey="jsp.request.item.request-free-acess.title" > <dspace:layout locbar="off" navbar="default" titlekey="jsp.request.item.request-free-acess.title" >
<br/> <p class="alert alert-success"><fmt:message key="jsp.request.item.request-free-acess.info1"/></p>
<p><fmt:message key="jsp.request.item.request-free-acess.info1"/>
<a class="style1" href="" onClick="window.close();"><fmt:message key="jsp.request.item.request-free-acess.close"/></a>
</p>
<p><b><fmt:message key="jsp.request.item.request-free-acess.info2" /></b></p>
<p><b><fmt:message key="jsp.request.item.request-free-acess.info2"> <form name="form1" action="<%= request.getContextPath() %>/request-item" method="post" class="form-horizontal">
<fmt:param><a href="<%=request.getContextPath()%>/handle/<%=handle %>"><%=title %></a></fmt:param> <input type="hidden" name="token" value='<%= token %>'>
</fmt:message> <input type="hidden" name="step" value='<%= RequestItemServlet.RESUME_FREEACESS %>'>
</b></p> <div class="form-group">
<label for="name" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-free-acess.name"/></label>
<form name="form1" action="<%= request.getContextPath() %>/request-item" method="POST"> <div class="col-md-5">
<input type="HIDDEN" name="token" value='<%= token %>'> <input type="text" class="form-control" name="name" size="50" value="" />
<input type="HIDDEN" name="step" value='<%=RequestItemServlet.RESUME_FREEACESS %>'> </div>
<center> </div>
<table> <div class="form-group">
<tr> <label for="email" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-free-acess.email"/></label>
<td class="submitFormLabel"><fmt:message key="jsp.request.item.request-free-acess.name"/></td> <div class="col-md-5">
<td><input type="TEXT" name="name" size="50" value=""></td> <input type="text" name="email" class="form-control" size="50" value="" />
</tr> </div>
<tr> </div>
<td class="submitFormLabel"><fmt:message key="jsp.request.item.request-free-acess.email"/></td> <input class="btn btn-success col-md-offset-2" type="submit" name="submit_free" value="<fmt:message key="jsp.request.item.request-free-acess.free"/>" />
<td><input type="TEXT" name="email" size="50" value=""></td>
</tr>
<tr>
<td align="center" colspan="2"><p>
<input type="SUBMIT" name="submit_free" value="<fmt:message key="jsp.request.item.request-free-acess.free"/>" >
</p></td>
</tr>
</table>
</center>
</form> </form>
</dspace:layout> </dspace:layout>

View File

@@ -66,50 +66,38 @@
if (message == null) if (message == null)
message = ""; message = "";
String resp = (String) request.getAttribute("response"); boolean resp = (Boolean) request.getAttribute("response");
if (resp == null)
resp = "";
%> %>
<dspace:layout locbar="off" navbar="off" titlekey="jsp.request.item.request-letter.title" > <dspace:layout locbar="off" navbar="default" titlekey="jsp.request.item.request-letter.title" >
<br> <% if(resp) { %>
<% if(resp.equals("yes")) {%> <h2><fmt:message key="jsp.request.item.request-letter.accept.heading" /></h2>
<p> <p><fmt:message key="jsp.request.item.request-letter.accept.info" /></p>
<fmt:message key="jsp.request.item.request-letter.info1"> <% } else { %>
<fmt:param><%=subject %></a></fmt:param> <h2><fmt:message key="jsp.request.item.request-letter.reject.heading" /></h2>
</fmt:message> <p><fmt:message key="jsp.request.item.request-letter.reject.info" /></p>
</p> <% } %>
<%}else{%> <form name="form1" action="<%= request.getContextPath() %>/request-item" method="post" class="form-horizontal">
<p> <input type="hidden" name="token" value='<%= token %>' />
<fmt:message key="jsp.request.item.request-letter.info2"> <input type="hidden" name="accept_request" value="<%= resp %>" />
<fmt:param><%=subject %></a></fmt:param> <input type="hidden" name="step" value="<%=RequestItemServlet.RESUME_REQUEST %>" />
</fmt:message> <div class="form-group">
</p> <label for="subject" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-letter.subject"/></label>
<%}%> <div class="col-md-10">
<form name="form1" action="<%= request.getContextPath() %>/request-item" method="POST"> <input type="text" class="form-control" name="subject" value='<%= subject %>' />
<input type="HIDDEN" name="token" value='<%= token %>'> </div>
<input type="HIDDEN" name="subject" value='<%= subject %>'> </div>
<input type="HIDDEN" name="step" value="<%=RequestItemServlet.RESUME_REQUEST %>"> <div class="form-group">
<center> <label for="message" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-letter.message"/></label>
<table> <div class="col-md-10">
<tr> <textarea class="form-control" name="message" rows="20" cols="100"><%= message %></textarea>
<td align="center" colspan="2"> </div>
<textarea name="message" rows="20" cols="100" wrap=soft><%= message %></textarea> </div>
</td> <div class="btn btn-group col-md-4 pull-right row">
</tr> <input type="submit" name="submit_back" class="btn btn-default col-md-6" value="<fmt:message key="jsp.request.item.request-letter.back"/>" >
<tr> <input type="submit" class="btn btn-<%= resp?"success":"reject" %> col-md-6" name="submit_next" value="<fmt:message key="jsp.request.item.request-letter.next"/>" >
<td align="center"> </div>
<input type="SUBMIT" name="submit_back" value="<fmt:message key="jsp.request.item.request-letter.back"/>" >
</td>
<td align="center">
<input type="SUBMIT" name="submit_next" value="<fmt:message key="jsp.request.item.request-letter.next"/>" >
</td>
</tr>
</table>
</center>
</form> </form>
</dspace:layout> </dspace:layout>

View File

@@ -52,6 +52,6 @@
<h2><fmt:message key="jsp.request.item.request-send.info1"/></h2> <h2><fmt:message key="jsp.request.item.request-send.info1"/></h2>
<p><fmt:message key="jsp.request.item.request-send.info2"/> <p><fmt:message key="jsp.request.item.request-send.info2"/>
<a href="<%= request.getContextPath() %>/handle/${handle}"><fmt:message key="jsp.request.item.request-send.return-item"/></a></p> <a href="<%= request.getContextPath() %>/handle/${handle}"><fmt:message key="jsp.request.item.return-item"/></a></p>
</dspace:layout> </dspace:layout>

View File

@@ -54,11 +54,11 @@
</style> </style>
<dspace:layout locbar="off" navbar="off" titlekey="jsp.request.item.response-send.title"> <dspace:layout locbar="off" navbar="default" titlekey="jsp.request.item.response-send.title">
<h1><fmt:message key="jsp.request.item.response-send.info1"/></h1> <h1><fmt:message key="jsp.request.item.response-send.info1"/></h1>
<p><fmt:message key="jsp.request.item.response-send.info2"/> <p><fmt:message key="jsp.request.item.response-send.info2"/>
<a class="style1" href="" onClick="window.close();"><fmt:message key="jsp.request.item.response-send.close"/></a></p> <a href="<%= request.getContextPath() %>/handle/${handle}"><fmt:message key="jsp.request.item.return-item"/></a></p>
</dspace:layout> </dspace:layout>

View File

@@ -1,11 +0,0 @@
Subject: Request copy of document
Dear {0},
In response to your request I have the pleasure to send you in attachment a copy of the file(s), concerning the document: "{4}" ({3}), which I am author (or co-author) of.
{5}
Best regards,
Name: [Insert your name to sign the message]
Contacts: [If you think it's convenient you can also put your contacts - Email, etc.]

View File

@@ -1,11 +0,0 @@
Subject: Request copy of document
Dear {0},
In response to your request I regret to inform you that it''s not possible to send you a copy of the file(s) you have requested, concerning the document: "{4}" ({3}), which I am author (or co-author) of.
{5}
Best regards,
Name: [Insert your name to sign the message]
Contacts: [If you think it's convenient you can also put your contacts - Email, etc.]