missing only the creation of user

This commit is contained in:
Massimiliano Assante 2021-11-04 17:57:17 +01:00
parent 1a7ef1c9c3
commit 6c1ef5e581
12 changed files with 687 additions and 27 deletions

View File

@ -47,7 +47,7 @@ public class CompileForm extends MVCPortlet {
private static com.liferay.portal.kernel.log.Log _log = LogFactoryUtil.getLog(CompileForm.class);
private static final String MANAGE_USERS_REQUESTS_FRIENDLY_URL = "/manage-expression-of-interest";
private static final String MAIL_FROM = "MOVING Gateway <moving@d4science.org>";
protected static final String MAIL_FROM = "MOVING Gateway <moving@d4science.org>";
private static final String MAIL_SUBJECT = "MOVING EU Multi-Actor Platform: email confirmation";
private static final String MAIL_SUBJECT_VRE_MANAGER = "MOVING EU Multi-Actor Platform: new form submission notification";
private static final String MAIL_BODY = "Dear Sir/Madam,\n"
@ -63,6 +63,8 @@ public class CompileForm extends MVCPortlet {
private String mailServiceHost = "localhost";
private String mailServicePort = "25";
@Override
public void render(RenderRequest renderRequest, RenderResponse renderResponse) {
Connection conn = null;

View File

@ -0,0 +1,189 @@
package org.gcube.portlets.user.moving;
import java.io.Serializable;
@SuppressWarnings("serial")
public class FilledForm implements Serializable {
private long id;
private String name;
private String surname;
private String organisation;
private String organisationTyp;
private String emailAddress;
private String areaOfExpertise;
private String country;
private boolean participatedInActivities;
private String mainMotivation;
private String textareaMotivation;
private String elaborated_expertise;
private String degree_of_participation;
private boolean data_management;
private boolean processed_form;
private boolean user_accepted;
public FilledForm(long id, String name, String surname, String organisation, String organisationTyp, String emailAddress,
String areaOfExpertise, String country, boolean participatedInActivities, String mainMotivation,
String textareaMotivation, String elaborated_expertise, String degree_of_participation,
boolean data_management, boolean processed_form, boolean user_accepted) {
super();
this.id = id;
this.name = name;
this.surname = surname;
this.organisation = organisation;
this.organisationTyp = organisationTyp;
this.emailAddress = emailAddress;
this.areaOfExpertise = areaOfExpertise;
this.country = country;
this.participatedInActivities = participatedInActivities;
this.mainMotivation = mainMotivation;
this.textareaMotivation = textareaMotivation;
this.elaborated_expertise = elaborated_expertise;
this.degree_of_participation = degree_of_participation;
this.data_management = data_management;
this.processed_form = processed_form;
this.user_accepted = user_accepted;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public String getOrganisation() {
return organisation;
}
public void setOrganisation(String organisation) {
this.organisation = organisation;
}
public String getOrganisationTyp() {
return organisationTyp;
}
public void setOrganisationTyp(String organisationTyp) {
this.organisationTyp = organisationTyp;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
public String getAreaOfExpertise() {
return areaOfExpertise;
}
public void setAreaOfExpertise(String areaOfExpertise) {
this.areaOfExpertise = areaOfExpertise;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public boolean isParticipatedInActivities() {
return participatedInActivities;
}
public void setParticipatedInActivities(boolean participatedInActivities) {
this.participatedInActivities = participatedInActivities;
}
public String getMainMotivation() {
return mainMotivation;
}
public void setMainMotivation(String mainMotivation) {
this.mainMotivation = mainMotivation;
}
public String getTextareaMotivation() {
return textareaMotivation;
}
public void setTextareaMotivation(String textareaMotivation) {
this.textareaMotivation = textareaMotivation;
}
public String getElaborated_expertise() {
return elaborated_expertise;
}
public void setElaborated_expertise(String elaborated_expertise) {
this.elaborated_expertise = elaborated_expertise;
}
public String getDegree_of_participation() {
return degree_of_participation;
}
public void setDegree_of_participation(String degree_of_participation) {
this.degree_of_participation = degree_of_participation;
}
public boolean isData_management() {
return data_management;
}
public void setData_management(boolean data_management) {
this.data_management = data_management;
}
public boolean isProcessed_form() {
return processed_form;
}
public void setProcessed_form(boolean processed_form) {
this.processed_form = processed_form;
}
public boolean isUser_accepted() {
return user_accepted;
}
public void setUser_accepted(boolean user_accepted) {
this.user_accepted = user_accepted;
}
@Override
public String toString() {
return "FilledForm [name=" + name + ", surname=" + surname + ", organisation=" + organisation
+ ", organisationTyp=" + organisationTyp + ", emailAddress=" + emailAddress + ", areaOfExpertise="
+ areaOfExpertise + ", country=" + country + ", participatedInActivities=" + participatedInActivities
+ ", mainMotivation=" + mainMotivation + ", textareaMotivation=" + textareaMotivation
+ ", elaborated_expertise=" + elaborated_expertise + ", degree_of_participation="
+ degree_of_participation + ", data_management=" + data_management + ", processed_form="
+ processed_form + ", user_accepted=" + user_accepted + "]";
}
}

View File

@ -0,0 +1,250 @@
package org.gcube.portlets.user.moving;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.WindowState;
import org.gcube.common.portal.PortalContext;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.util.bridges.mvc.MVCPortlet;
/**
* Portlet implementation class ManageForms
*/
public class ManageForms extends MVCPortlet {
private static com.liferay.portal.kernel.log.Log _log = LogFactoryUtil.getLog(ManageForms.class);
private String mailServiceHost = "localhost";
private String mailServicePort = "25";
private static final String MAIL_SUBJECT = "MOVING EU Multi-Actor Platform: Expression of Interest application feedback";
private static final String MAIL_BODY_REJECT = "Dear Sir/Madam,\n"
+ "\n"
+ "After a careful review and consideration of your expression of interest to join the MOVING EU-level Multi-Actor Platform (MAP), we regret to inform you that your request has not been granted. \n"
+ "\n"
+ "The MOVING EU MAP aims to form a dynamic and relevant community, ensuring a balanced representation of actors at different levels and covering a diversity of topics and knowledge relevant to the core objective of the project.\n"
+ "\n"
+ "If you would like to keep up to date with MOVING, please subscribe to our newsletter (https://mailchi.mp/4f25e203112c/movingnewsletter) or follow us online.\n"
+ "\n"
+ "Thank you for your interest.\n"
+ "\n"
+ "Best regards,\n"
+ "MOVING team\n"
+ "";
private static final String MAIL_BODY_ACCEPT = "Dear Sir/Madam,\n"
+ "\n"
+ "After a careful review and consideration of your expression of interest to join the MOVING EU-level Multi-Actor Platform (MAP), we are happy to inform you that your request has been accepted.\n"
+ "\n"
+ "You will soon receive an email with link to access the EU MAP set up on the Virtual Research Environment (VRE). \n"
+ "\n"
+ "Best regards,\n"
+ "MOVING team\n";
@Override
public void render(RenderRequest renderRequest, RenderResponse renderResponse) {
Connection conn = null;
try {
conn = DatabaseConnection.getInstance("/"+PortalContext.getConfiguration().getInfrastructureName()).getConnection();
_log.info("Trying getting FORMS from DB");
List<FilledForm> filledForms = getNonProcessedForms(conn);
_log.info("Succesfully got Non Processed Form from DB, forms found: " +filledForms.size());
renderRequest.setAttribute("filledForms", filledForms);
super.render(renderRequest, renderResponse);
} catch (Exception e) {
_log.error("Something wrong with Databaseconnection or with getting FORMS from DB", e);
}
}
public void acceptApplication(ActionRequest request, ActionResponse actionResponse) throws IOException, PortletException {
_log.info("accepting form");
String formId = ParamUtil.getString(request, "applicationItem");
Connection conn = null;
try {
conn = DatabaseConnection.getInstance("/"+PortalContext.getConfiguration().getInfrastructureName()).getConnection();
FilledForm filledForm = getFormById(conn, formId);
_log.info("filledForm exists Trying UPDATE FORM ON DB");
boolean user_accepted = true;
setFormProcessedAndStateById(conn, formId, user_accepted);
_log.info("UPDATED FORM ON DB to Accepted, formId="+formId);
_log.info("Sending email to user");
Properties props = System.getProperties();
Session session = null;
props.put("mail.smtp.host", mailServiceHost);
props.put("mail.smtp.port", mailServicePort);
//use localhost (probaly postfix instance)
session = Session.getDefaultInstance(props);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(CompileForm.MAIL_FROM));
message.setRecipients(
Message.RecipientType.TO, InternetAddress.parse(filledForm.getEmailAddress()));
message.setSubject(MAIL_SUBJECT);
message.setText(MAIL_BODY_ACCEPT);
// Send message
Transport.send(message);
_log.info("Sending confirmation email done");
} catch (Exception e) {
_log.error("Something wrong with Databaseconnection or with getting FORMS from DB", e);
}
}
public void rejectApplication(ActionRequest request, ActionResponse actionResponse) throws IOException, PortletException {
_log.info("rejecting form");
String formId = ParamUtil.getString(request, "applicationItem");
Connection conn = null;
try {
conn = DatabaseConnection.getInstance("/"+PortalContext.getConfiguration().getInfrastructureName()).getConnection();
FilledForm filledForm = getFormById(conn, formId);
_log.info("filledForm exists Trying UPDATE FORM ON DB");
boolean user_accepted = false;
setFormProcessedAndStateById(conn, formId, user_accepted);
_log.info("UPDATED FORM ON DB to Rejected, formId="+formId);
_log.info("Sending email to user");
Properties props = System.getProperties();
Session session = null;
props.put("mail.smtp.host", mailServiceHost);
props.put("mail.smtp.port", mailServicePort);
//use localhost (probaly postfix instance)
session = Session.getDefaultInstance(props);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(CompileForm.MAIL_FROM));
message.setRecipients(
Message.RecipientType.TO, InternetAddress.parse(filledForm.getEmailAddress()));
message.setSubject(MAIL_SUBJECT);
message.setText(MAIL_BODY_REJECT);
// Send message
Transport.send(message);
_log.info("Sending confirmation email done");
} catch (Exception e) {
_log.error("Something wrong with Databaseconnection or with getting FORMS from DB", e);
}
}
public void showAnswers(ActionRequest request, ActionResponse response) throws Exception {
String formId = ParamUtil.getString(request, "applicationItem");
Connection conn = null;
try {
conn = DatabaseConnection.getInstance("/"+PortalContext.getConfiguration().getInfrastructureName()).getConnection();
_log.info("Trying getting FORMS from DB");
FilledForm filledForm = getFormById(conn, formId);
request.setAttribute("filledForm", filledForm);
response.setWindowState(WindowState.MAXIMIZED);
response.setRenderParameter("jspPage", "/html/manageforms/show_all_answers.jsp");
} catch (Exception e) {
_log.error("Something wrong with Databaseconnection or with getting FORMS from DB", e);
}
}
private static List<FilledForm> getNonProcessedForms(Connection conn) throws Exception {
_log.debug("getting forms from DB ");
List<FilledForm> toReturn = new ArrayList<>();
String selectSQL = "SELECT * FROM forms WHERE processed_form = false";
PreparedStatement preparedStatement = conn.prepareStatement(selectSQL);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
long id = rs.getLong("id");
String name= rs.getString("name");
String surname= rs.getString("surname");
String organisation= rs.getString("organisation");
String organisationType = rs.getString("organisation_type");
String emailAddress = rs.getString("email");
String areaOfExpertise = rs.getString("area_of_expertise");
String country= rs.getString("country");
boolean participatedInActivities = rs.getBoolean("activities_participation");
String mainMotivation= rs.getString("main_motivation");
String textareaMotivation = rs.getString("elaborated_motivation");
String elaborated_expertise = rs.getString("elaborated_expertise");
String degree_of_participation = rs.getString("degree_of_participation");
boolean data_management = rs.getBoolean("data_management");
boolean processed_form = rs.getBoolean("processed_form");
boolean form_accepted = rs.getBoolean("user_accepted");
FilledForm toAdd = new FilledForm(id, name, surname, organisation, organisationType, emailAddress,
areaOfExpertise, country, participatedInActivities, mainMotivation, textareaMotivation,
elaborated_expertise, degree_of_participation, data_management, processed_form, form_accepted);
_log.info("Adding non processed form" + toAdd);
toReturn.add(toAdd);
}
return toReturn;
}
private boolean setFormProcessedAndStateById(Connection conn, String formId, boolean user_accepted) {
try {
_log.debug("setFormProcessedAndStateById");
String selectSQL = "UPDATE forms SET processed_form = ?, user_accepted = ? WHERE id = ? ";
PreparedStatement preparedStatement = conn.prepareStatement(selectSQL);
long idToLookFor = Long.parseLong(formId);
preparedStatement.setBoolean(1, true);
preparedStatement.setBoolean(2, user_accepted);
preparedStatement.setLong(3, idToLookFor);
int result = preparedStatement.executeUpdate();
if (result == 1)
return true;
return false;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
private static FilledForm getFormById(Connection conn, String formId) throws Exception {
_log.debug("getting form by id from DB ");
String selectSQL = "SELECT * FROM forms WHERE id = ? ";
PreparedStatement preparedStatement = conn.prepareStatement(selectSQL);
long idToLookFor = Long.parseLong(formId);
preparedStatement.setLong(1, idToLookFor);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
long id = rs.getLong("id");
String name= rs.getString("name");
String surname= rs.getString("surname");
String organisation= rs.getString("organisation");
String organisationType = rs.getString("organisation_type");
String emailAddress = rs.getString("email");
String areaOfExpertise = rs.getString("area_of_expertise");
String country= rs.getString("country");
boolean participatedInActivities = rs.getBoolean("activities_participation");
String mainMotivation= rs.getString("main_motivation");
String textareaMotivation = rs.getString("elaborated_motivation");
String elaborated_expertise = rs.getString("elaborated_expertise");
String degree_of_participation = rs.getString("degree_of_participation");
boolean data_management = rs.getBoolean("data_management");
boolean processed_form = rs.getBoolean("processed_form");
boolean form_accepted = rs.getBoolean("user_accepted");
FilledForm toAdd = new FilledForm(id, name, surname, organisation, organisationType, emailAddress,
areaOfExpertise, country, participatedInActivities, mainMotivation, textareaMotivation,
elaborated_expertise, degree_of_participation, data_management, processed_form, form_accepted);
_log.info("Adding non processed form" + toAdd);
return toAdd;
}
return null;
}
}

View File

@ -5,5 +5,6 @@
<display>
<category name="gCube Applications">
<portlet id="moving-form-compile"></portlet>
<portlet id="manage-forms"></portlet>
</category>
</display>

View File

@ -13,6 +13,16 @@
</footer-portlet-javascript>
<css-class-wrapper>form-compile-portlet</css-class-wrapper>
</portlet>
<portlet>
<portlet-name>manage-forms</portlet-name>
<icon>/icon.png</icon>
<requires-namespaced-parameters>false</requires-namespaced-parameters>
<header-portlet-css>/css/table.css</header-portlet-css>
<footer-portlet-javascript>
/js/main.js
</footer-portlet-javascript>
<css-class-wrapper>manage-forms-portlet</css-class-wrapper>
</portlet>
<role-mapper>
<role-name>administrator</role-name>
<role-link>Administrator</role-link>

View File

@ -1,20 +1,22 @@
<?xml version="1.0"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">
<portlet-app
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
version="2.0">
<portlet>
<portlet-name>moving-form-compile</portlet-name>
<display-name>Moving Form Compile</display-name>
<portlet-class>
org.gcube.portlets.user.moving.CompileForm
</portlet-class>
<portlet-class>org.gcube.portlets.user.moving.CompileForm</portlet-class>
<init-param>
<name>view-jsp</name>
<value>/html/form-compile/form-map.jsp</value>
</init-param>
<init-param>
<name>config-template</name>
<value>/html/form-compile/config.jsp</value>
<name>config-template</name>
<value>/html/form-compile/config.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
@ -39,4 +41,39 @@
<role-name>user</role-name>
</security-role-ref>
</portlet>
<portlet>
<portlet-name>manage-forms</portlet-name>
<display-name>Manage Forms</display-name>
<portlet-class>org.gcube.portlets.user.moving.ManageForms</portlet-class>
<init-param>
<name>view-template</name>
<value>/html/manageforms/manage-forms.jsp</value>
</init-param>
<init-param>
<name>add-process-action-success-action</name>
<value>false</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
</supports>
<portlet-info>
<title>Manage Forms</title>
<short-title>Manage Forms</short-title>
<keywords></keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
</portlet-app>

View File

@ -1,26 +1,32 @@
#wrapper input[type=text] {
height: 25px;
height: 25px;
}
#wrapper .form-inline .checkbox input[type=checkbox] {
margin-right: 10px;
height: 18px;
}
#wrapper label {
min-width: 200px;
margin-right: 10px;
height: 18px;
}
#wrapper label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
margin-top: 15px;
font-weight: 400 !important;
min-width: 220px;
font-size: 16px;
line-height: 1.5;
font-family: "Open Sans", Arial, sans-serif !important;
min-width: 200px;
}
#wrapper label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
margin-top: 15px;
font-weight: 400 !important;
min-width: 220px;
font-size: 16px;
line-height: 1.5;
font-family: "Open Sans", Arial, sans-serif !important;
}
.form-display {
margin: 10px 100px;
border: 1px solid #CCC;
font-size: 16px;
line-height: 1.5;
font-family: "Open Sans", Arial, sans-serif !important;
}

View File

@ -0,0 +1,42 @@
table.paleBlueRows {
font-family: Tahoma, Geneva, sans-serif;
border: 1px solid #FFFFFF;
width: 100%;
text-align: left;
border-collapse: collapse;
}
table.paleBlueRows td, table.paleBlueRows th {
border: 1px solid #FFFFFF;
padding: 3px 5px;
}
table.paleBlueRows tbody td {
font-size: 13px;
}
table.paleBlueRows tr:nth-child(even) {
background: #D0E4F5;
}
table.paleBlueRows thead {
background: #0B6FA4;
border-bottom: 5px solid #FFFFFF;
}
table.paleBlueRows thead th {
font-size: 15px;
font-weight: bold;
color: #FFFFFF;
text-align: left;
border-left: 2px solid #FFFFFF;
}
table.paleBlueRows thead th:first-child {
border-left: none;
}
table.paleBlueRows tfoot {
font-size: 14px;
font-weight: bold;
color: #333333;
background: #D0E4F5;
border-top: 3px solid #444444;
}
table.paleBlueRows tfoot td {
font-size: 14px;
}

View File

@ -19,8 +19,6 @@ pageContext.setAttribute("required", "true");
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<!-- This URL validate the CAPTCHA data entered by user -->
<portlet:actionURL var="validateURL" name="submittedForm" />

View File

@ -14,6 +14,9 @@
<%@ page import="javax.portlet.PortletURL" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="org.gcube.portlets.user.moving.FilledForm" %>
<%@ page import="java.lang.StringBuffer" %>
<portlet:defineObjects />
<liferay-theme:defineObjects />

View File

@ -0,0 +1,83 @@
<%@include file="../init.jsp"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
<%
List<FilledForm> filledForms = (List<FilledForm>) renderRequest.getAttribute("filledForms");
pageContext.setAttribute("filledForms", filledForms);
%>
<portlet:actionURL var="showAnswersURL" name="showAnswers"></portlet:actionURL>
<portlet:actionURL var="rejectApplicationURL" name="rejectApplication" />
<portlet:actionURL var="acceptApplicationURL" name="acceptApplication" />
<script>
function performAction(action) {
if (document.querySelector('input[name="applicationItem"]:checked') == null) {
alert('Please select the filled form first');
return false;
}
if (action == 0) {
//document.getElementById("form_answers").submit();// Form submission
document.getElementById("form_answers").action = "<%=showAnswersURL%>";
document.getElementById("form_answers").submit();// Form submission
}
else if (action == 1) {
if (confirm("Are you sure to REJECT the selected Expression of Interest?")) {
document.getElementById("form_answers").action = "<%=rejectApplicationURL%>";
document.getElementById("form_answers").submit();// Form submission
}
}
else {
if (confirm("Are you sure to ACCEPT the selected Expression of Interest?")) {
document.getElementById("form_answers").action = "<%=acceptApplicationURL%>";
document.getElementById("form_answers").submit();// Form submission
}
}
}
</script>
<div style="text-align: center; padding: 25px;">
<form method="post" id="form_answers" name="fm">
<table id="example" class="paleBlueRows">
<tbody>
<thead>
<tr>
<th>Sel.</th>
<th>Full name</th>
<th><span title="Email" style="margin-left: 10px;">Email</span></th>
<th><span title="Country" style="margin-left: 10px;">Country</span></th>
<th><span style="margin-left: 10px;">Organisation</span></th>
</tr>
</thead>
<c:forEach var="form" items="${filledForms}">
<tr>
<td><input type="radio" name="applicationItem"
value="${form.id}" id="${form.id}" style="margin: 4px 5px 10px;"></td>
<td><span
style="margin-left: 10px; margin-right: 10px; color: #666;">${form.name}
${form.surname}</span></td>
<td><span
style="margin-left: 10px; margin-right: 10px; color: #666;">${form.emailAddress}</span></td>
<td><span
style="margin-left: 10px; margin-right: 10px; color: #666;">${form.country}</span></td>
<td><span
style="margin-left: 10px; margin-right: 10px; color: #666;">${form.organisation}</span></td>
</tr>
</c:forEach>
</tbody>
</table>
<div style="width: auto; text-align: right; padding: 25px;">
<button id="accept" type="button" class="btn btn-large"
onClick="performAction(0)">See answers</button>
<button class="btn btn-large btn-warning" type="button" onClick="performAction(1)">Reject</button>
<button class="btn btn-large btn-primary" type="button" onClick="performAction(2)">Accept</button>
</div>
</form>
</div>

View File

@ -0,0 +1,39 @@
<%@include file="../init.jsp"%>
<%
FilledForm filledForm = (FilledForm) request.getAttribute("filledForm");
String copySubmitted = new StringBuffer()
.append("<br>").append("<b>Name: </b>")
.append(filledForm.getName()).append(" ").append(filledForm.getSurname())
.append("<br>").append("<b>Organisation: </b>")
.append(filledForm.getOrganisation())
.append("<br>").append("<b>Organisation type: </b>")
.append(filledForm.getOrganisationTyp())
.append("<br>").append("<b>emailAddress: </b>")
.append(filledForm.getEmailAddress())
.append("<br>").append("<b>Country: </b>")
.append(filledForm.getCountry())
.append("<br><br>").append("<b>Have you participated in the activities of any of our MOVING Regional Multi-Actors Platforms? </b>")
.append(filledForm.isParticipatedInActivities())
.append("<br><br>").append("<b>What is your main motivation for joining the EU MAP of MOVING? </b>")
.append(filledForm.getMainMotivation())
.append("<br><br>").append("<b>Please elaborate on your motivation expressed above so that we understand better your interest, and form a dynamic and relevant community. Vague explanations of the motivation might not be taken into consideration. </b>")
.append("<br><br>").append(filledForm.getTextareaMotivation())
.append("<br><br>").append("<b>What is your main area of expertise in relation to mountain sustainability and resilience? </b>")
.append(filledForm.getAreaOfExpertise())
.append("<br><br>").append("<b>Please elaborate on the relevant experience you can bring to mountain value chains and the resilience of these areas, so that we have more detailed information to be able to form a dynamic and relevant community: </b>")
.append("<br><br>").append(filledForm.getElaborated_expertise())
.append("<br><br>").append("<b>As a starting point, the degree of participation you commit to is: </b>")
.append(filledForm.getDegree_of_participation())
.append("<br>").append("<br>").append("<b>Data Management: </b>")
.append("Agreed").toString();
pageContext.setAttribute("copySubmitted", copySubmitted);
%>
<a class="btn btn-link btn-large no-padding"
href="javascript: history.back();"><i class="icon icon-angle-left"></i>&nbsp;Back</a>
<div class="form-display"><p style="padding: 25px;">${copySubmitted}<p></div>
<a class="btn btn-link btn-large no-padding"
href="javascript: history.back();"><i class="icon icon-angle-left"></i>&nbsp;Back</a>