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.
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.problem = You must fill all the missing fields.
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.no = Don&#146;t send a 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.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.heading = Accept the request
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.next = Send
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.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.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.close = Close.
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.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.sql.SQLException;
import java.text.MessageFormat;
import java.util.Date;
import javax.mail.MessagingException;
@@ -51,7 +52,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
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.UIUtil;
import org.dspace.authorize.AuthorizeException;
@@ -344,67 +344,27 @@ public class RequestItemServlet extends DSpaceServlet
DCValue[] titleDC = item.getDC("title", null, Item.ANY);
String title = titleDC.length > 0 ? titleDC[0].value : I18nUtil
.getMessage("jsp.general.untitled", context);
String message = request.getParameter("message");
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"));
email.addArgument(requestItem.getStringColumn("request_name"));
email.addArgument("");
email.addArgument("");
email.addArgument(HandleManager.getCanonicalForm(item.getHandle())); // User
// 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);
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
};
String subject = I18nUtil.getMessage("itemRequest.response.subject."
+ (yes ? "approve" : "reject"), context);
String message = MessageFormat.format(I18nUtil.getMessage("itemRequest.response.body."
+ (yes ? "approve" : "reject"), context), args);
// page
request.setAttribute("response", requestItem
.getBooleanColumn("accept_request") ? "yes" : "no");
// request.setAttribute("subject", email.getSubject());
// request.setAttribute("message", email.getMessage());
request.setAttribute("response", yes);
request.setAttribute("subject", subject);
request.setAttribute("message", message);
JSPManager.showJSP(request, response,
"/requestItem/request-letter.jsp");
} else {
@@ -437,41 +397,51 @@ public class RequestItemServlet extends DSpaceServlet
// Token
String subject = request.getParameter("subject");
String message = request.getParameter("message");
boolean accept = UIUtil.getBoolParameter(request, "accept_request");
try
{
Item item = Item.find(context, requestItem.getIntColumn("item_id"));
ReqEmail email = RequestItemManager.getEmail(subject, message);
email.setField(email.FIELD_TO,requestItem.getStringColumn("request_email"));
email.setField(email.FIELD_FROM,ConfigurationManager.getProperty("mail.from.address"));
email.setField(email.FIELD_HOST,ConfigurationManager.getProperty("mail.server"));
email.setField(email.FIELD_SUBJECT, I18nUtil.getMessage("jsp.request.item.request-information.title"));
// add attach
if(requestItem.getBooleanColumn("accept_request"))
{
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.sendMessage();
Email email = new Email();
email.setSubject(subject);
email.setContent("{0}");
email.addRecipient(requestItem.getStringColumn("request_email"));
email.addArgument(message);
// add attach
if (accept) {
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("accept_request",accept);
requestItem.setColumn("decision_date",new Date());
DatabaseManager.update(context, requestItem);
@@ -480,7 +450,7 @@ public class RequestItemServlet extends DSpaceServlet
"token=" + token));
JSPManager.showJSP(request, response,
"/requestItem/request-free-acess.jsp");
"/requestItem/request-free-access.jsp");
}
catch (MessagingException me)
{
@@ -489,15 +459,15 @@ public class RequestItemServlet extends DSpaceServlet
""), me);
JSPManager.showInternalError(request, response);
}
}else
JSPManager.showInvalidIDError(request, response, null, -1);
}else{
processToken(context, request, response);
}
} else
JSPManager.showInvalidIDError(request, response, null, -1);
} else {
processToken(context, request, response);
}
}
/*
* receive aprovation and generate a letter
* receive approvation and generate a letter
* get all request data by token
* 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;
import java.io.IOException;
import java.sql.SQLException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
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.core.ConfigurationManager;
import org.dspace.core.Constants;
@@ -23,7 +22,6 @@ import org.dspace.core.Context;
import org.dspace.core.Utils;
import org.dspace.storage.rdbms.DatabaseManager;
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)
throws SQLException
{
String base = ConfigurationManager.getProperty("dspace.baseUrl");
String base = ConfigurationManager.getProperty("dspace.url");
String specialLink = (new StringBuffer()).append(base).append(
base.endsWith("/") ? "" : "/").append(
@@ -129,88 +127,17 @@ public class RequestItemManager {
return specialLink;
}
/**
* Get email by template.
*
* @param template
* The template email
*
* @exception SQLExeption
*
*/
public static ReqEmail getEmail(String template) throws IOException
public static boolean isRestricted(Context context, DSpaceObject o) throws SQLException
{
String subject = "";
StringBuffer contentBuffer = new StringBuffer();
// Read in template
BufferedReader reader = null;
try
{
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;
List<ResourcePolicy> policies = AuthorizeManager
.getPoliciesActionFilter(context, o, Constants.READ);
for (ResourcePolicy rp : policies)
{
if (rp.isDateValid())
{
return false;
}
}
return true;
}

View File

@@ -68,39 +68,28 @@
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><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 class="alert alert-success"><fmt:message key="jsp.request.item.request-free-acess.info1"/></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">
<fmt:param><a href="<%=request.getContextPath()%>/handle/<%=handle %>"><%=title %></a></fmt:param>
</fmt:message>
</b></p>
<form name="form1" action="<%= request.getContextPath() %>/request-item" method="POST">
<input type="HIDDEN" name="token" value='<%= token %>'>
<input type="HIDDEN" name="step" value='<%=RequestItemServlet.RESUME_FREEACESS %>'>
<center>
<table>
<tr>
<td class="submitFormLabel"><fmt:message key="jsp.request.item.request-free-acess.name"/></td>
<td><input type="TEXT" name="name" size="50" value=""></td>
</tr>
<tr>
<td class="submitFormLabel"><fmt:message key="jsp.request.item.request-free-acess.email"/></td>
<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 name="form1" action="<%= request.getContextPath() %>/request-item" method="post" class="form-horizontal">
<input type="hidden" name="token" value='<%= token %>'>
<input type="hidden" name="step" value='<%= RequestItemServlet.RESUME_FREEACESS %>'>
<div class="form-group">
<label for="name" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-free-acess.name"/></label>
<div class="col-md-5">
<input type="text" class="form-control" name="name" size="50" value="" />
</div>
</div>
<div class="form-group">
<label for="email" class="control-label col-md-2"><fmt:message key="jsp.request.item.request-free-acess.email"/></label>
<div class="col-md-5">
<input type="text" name="email" class="form-control" size="50" value="" />
</div>
</div>
<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"/>" />
</form>
</dspace:layout>

View File

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

View File

@@ -52,6 +52,6 @@
<h2><fmt:message key="jsp.request.item.request-send.info1"/></h2>
<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>

View File

@@ -54,11 +54,11 @@
</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>
<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>

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.]