diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java index 70d62423ca3e7285e80ee99d1a98212297fa2329..f0009798a0ee847d2e716b362b0c526b0c299bbb 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java @@ -1,7 +1,6 @@ package unipotsdam.gf.interfaces; import unipotsdam.gf.modules.annotation.model.Category; -import unipotsdam.gf.modules.assessment.controller.model.ContributionCategory; import unipotsdam.gf.modules.submission.model.FullSubmission; import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest; import unipotsdam.gf.modules.submission.model.SubmissionPart; @@ -30,7 +29,7 @@ public interface ISubmission { * @param fullSubmissionId The id of the submission * @return The full submission */ - FullSubmission getFullSubmission(String fullSubmissionId, ContributionCategory contributionCategory); + FullSubmission getFullSubmission(String fullSubmissionId); /** * Checks if a full submission id already exists in the database diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/fileManagement/FileManagementService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/fileManagement/FileManagementService.java index 7d26a9a38a1b8052d808a46cab45f72a08994286..689c5241375e3845b3e314939647e86de8adda70 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/fileManagement/FileManagementService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/fileManagement/FileManagementService.java @@ -20,6 +20,7 @@ import org.htmlcleaner.TagNode; import org.jsoup.Jsoup; import org.jsoup.select.Elements; import unipotsdam.gf.modules.project.Project; +import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest; import unipotsdam.gf.modules.user.User; import javax.imageio.ImageIO; @@ -78,15 +79,25 @@ public class FileManagementService { fileManagementDAO.writeFileMetaToDB(user, project, fileName, fileRole, fileDetail.getFileName()); } - public void saveStringAsPDF(User user, Project project, String fileContent, FormDataContentDisposition fileDetail, - FileRole fileRole, FileType fileType) throws IOException, DocumentException { - fileContent = cleanHTML(fileContent); - //fileContent = manipulateIndentation(fileContent); + private void saveStringAsPDF(User user, Project project, String fileContent, FormDataContentDisposition fileDetail, + FileRole fileRole, FileType fileType) throws IOException, DocumentException { + if (fileType.equals(FileType.HTML)) { + fileContent = cleanHTML(fileContent); + //fileContent = manipulateIndentation(fileContent); + } InputStream inputStream = IOUtils.toInputStream(fileContent); saveFileAsPDF(user, project, inputStream, fileDetail, fileRole, fileType); } + public void saveStringAsPDF(User user, Project project, FullSubmissionPostRequest fullSubmissionPostRequest) throws IOException, DocumentException { + String fileName = fullSubmissionPostRequest.getContributionCategory() + "_" + user.getEmail() + ".pdf"; + String categoryString = fullSubmissionPostRequest.getContributionCategory().toString(); + FormDataContentDisposition.FormDataContentDispositionBuilder builder = FormDataContentDisposition.name(categoryString).fileName(fileName); + // TODO: merge FileRole with ContributionCategory? + saveStringAsPDF(user, project, fullSubmissionPostRequest.getHtml(), builder.build(), FileRole.DOSSIER, FileType.HTML); + } + private String saveHTMLAsPDF(InputStream inputStream, String filenameWithoutExtension) throws IOException, DocumentException { String fileName = filenameWithoutExtension + ".pdf"; String path = getFullPath(fileName); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java index b6f005b431cbc6a1b676a5274e946ba81383407e..6161d2b92cb9d615e8ad8d2067cd6612845ecf78 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java @@ -69,12 +69,12 @@ public class SubmissionController implements ISubmission, HasProgress { connection.close(); // get the new submission from database - return getFullSubmission(uuid, fullSubmissionPostRequest.getContributionCategory()); + return getFullSubmission(uuid); } @Override - public FullSubmission getFullSubmission(String fullSubmissionId, ContributionCategory contributionCategory) { + public FullSubmission getFullSubmission(String fullSubmissionId) { // establish connection connection.connect(); @@ -82,8 +82,8 @@ public class SubmissionController implements ISubmission, HasProgress { FullSubmission fullSubmission = null; // build and execute request - String request = "SELECT * FROM fullsubmissions WHERE id = ? and contributionCategory = ?;"; - VereinfachtesResultSet rs = connection.issueSelectStatement(request, fullSubmissionId, contributionCategory.toString()); + String request = "SELECT * FROM fullsubmissions WHERE id = ?;"; + VereinfachtesResultSet rs = connection.issueSelectStatement(request, fullSubmissionId); if (rs.next()) { // save submission @@ -96,13 +96,13 @@ public class SubmissionController implements ISubmission, HasProgress { return fullSubmission; } - public FullSubmission getFullSubmissionBy(int groupId, Project project) { + public FullSubmission getFullSubmissionByGroupIdAndProjectNameAndContributionCategory(int groupId, Project project, ContributionCategory contributionCategory) { FullSubmission fullSubmission = null; connection.connect(); - String request = "SELECT * FROM fullsubmissions WHERE groupId = ? AND projectName= ?;"; - VereinfachtesResultSet rs = connection.issueSelectStatement(request, groupId, project.getName()); + String request = "SELECT * FROM fullsubmissions WHERE groupId = ? AND projectName= ? AND contributionCategory = ?;"; + VereinfachtesResultSet rs = connection.issueSelectStatement(request, groupId, project.getName(), contributionCategory); if (rs.next()) { fullSubmission = getFullSubmissionFromResultSet(rs); @@ -111,8 +111,8 @@ public class SubmissionController implements ISubmission, HasProgress { return fullSubmission; } - public String getFullSubmissionId(Integer groupId, Project project) { - FullSubmission fullSubmission = getFullSubmissionBy(groupId, project); + public String getFullSubmissionId(Integer groupId, Project project, ContributionCategory contributionCategory) { + FullSubmission fullSubmission = getFullSubmissionByGroupIdAndProjectNameAndContributionCategory(groupId, project, contributionCategory); String fullSubmissionId = null; if (!Objects.isNull(fullSubmission)) { fullSubmissionId = fullSubmission.getId(); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java index 2639b0af82b9baa24b661918f98516548a344c04..210fd00a817dca029793ef17070e53e51de34e28 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java @@ -4,6 +4,7 @@ import com.itextpdf.text.DocumentException; import unipotsdam.gf.modules.annotation.model.Category; import unipotsdam.gf.modules.assessment.controller.model.Categories; import unipotsdam.gf.modules.assessment.controller.model.ContributionCategory; +import unipotsdam.gf.modules.fileManagement.FileManagementService; import unipotsdam.gf.modules.project.Project; import unipotsdam.gf.modules.submission.controller.SubmissionController; import unipotsdam.gf.modules.submission.model.FullSubmission; @@ -25,7 +26,6 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -56,42 +56,55 @@ public class SubmissionService { @Inject private GFContexts gfContexts; + @Inject + private FileManagementService fileManagementService; + @POST @Path("/full") public Response addFullSubmission(@Context HttpServletRequest req, FullSubmissionPostRequest fullSubmissionPostRequest) { // save full submission request in database and return the new full submission - final FullSubmission fullSubmission; String userEmail = (String) req.getSession().getAttribute(GFContexts.USEREMAIL); User user = userDAO.getUserByEmail(userEmail); + Project project = new Project(fullSubmissionPostRequest.getProjectName()); try { - fullSubmission = dossierCreationProcess.addSubmission(fullSubmissionPostRequest, user, - new Project(fullSubmissionPostRequest.getProjectName())); + + fileManagementService.saveStringAsPDF(user, project, fullSubmissionPostRequest); } catch (DocumentException | IOException e) { e.printStackTrace(); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("Error while converting to pdf").build(); } + + fullSubmission = submissionController.addFullSubmission(fullSubmissionPostRequest); + + switch (fullSubmission.getContributionCategory()) { + case DOSSIER: + dossierCreationProcess.notifyAboutSubmission(user, project); + break; + case PORTFOLIO: + break; + } + + return Response.ok(fullSubmission).build(); } @GET @Path("/full/{id}") - public Response getFullSubmission(@PathParam("id") String fullSubmissionId, - @QueryParam("contributionCategory") ContributionCategory contributionCategory) { + public Response getFullSubmission(@PathParam("id") String fullSubmissionId) { // get full submission from database based by id - FullSubmission fullSubmission = submissionController.getFullSubmission(fullSubmissionId, contributionCategory); + FullSubmission fullSubmission = submissionController.getFullSubmission(fullSubmissionId); if (fullSubmission != null) { return Response.ok(fullSubmission).build(); } else { // declare response SubmissionResponse response = new SubmissionResponse(); - String message = String.format("Submission with the id '%s' and contribution category '%s' can't be found", - fullSubmissionId, contributionCategory); + String message = String.format("Submission with the id '%s' can't be found", fullSubmissionId); response.setMessage(message); return Response.status(Response.Status.NOT_FOUND).entity(response).build(); @@ -104,7 +117,7 @@ public class SubmissionService { @PathParam("groupId") Integer groupId, @PathParam("contributionCategory") ContributionCategory contributionCategory) { Project project = new Project(projectName); - FullSubmission fullSubmission = submissionController.getFullSubmissionBy(groupId, project); + FullSubmission fullSubmission = submissionController.getFullSubmissionByGroupIdAndProjectNameAndContributionCategory(groupId, project, contributionCategory); if (Objects.isNull(fullSubmission)) { return Response.status(Response.Status.NOT_FOUND).build(); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java index 2133e6f633de011dc7bad679d12e42d1e2cd6b28..0b1eb3403df232264173750daadad18662d1946b 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java @@ -1,20 +1,12 @@ package unipotsdam.gf.process; -import com.itextpdf.text.DocumentException; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition.FormDataContentDispositionBuilder; import unipotsdam.gf.interfaces.Feedback; import unipotsdam.gf.interfaces.IReflectionService; -import unipotsdam.gf.modules.assessment.controller.model.ContributionCategory; -import unipotsdam.gf.modules.fileManagement.FileManagementService; -import unipotsdam.gf.modules.fileManagement.FileRole; -import unipotsdam.gf.modules.fileManagement.FileType; import unipotsdam.gf.modules.group.Group; import unipotsdam.gf.modules.group.GroupDAO; import unipotsdam.gf.modules.project.Project; import unipotsdam.gf.modules.submission.controller.SubmissionController; import unipotsdam.gf.modules.submission.model.FullSubmission; -import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest; import unipotsdam.gf.modules.user.User; import unipotsdam.gf.modules.user.UserDAO; import unipotsdam.gf.process.constraints.ConstraintsImpl; @@ -27,7 +19,6 @@ import unipotsdam.gf.process.tasks.TaskType; import javax.inject.Inject; import javax.inject.Singleton; -import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -50,9 +41,6 @@ public class DossierCreationProcess { @Inject private Feedback feedback; - @Inject - private FileManagementService fileManagementService; - @Inject private GroupDAO groupDAO; @@ -76,36 +64,25 @@ public class DossierCreationProcess { } /** - * @param fullSubmissionPostRequest Elements needed to build the fullSubmission-class - * @param user User who uploaded the Submission for his / her group - * @param project the project the submission was written for + * @param user User who uploaded the Submission for his / her group + * @param project the project the submission was written for * @return the fullSubmission with correct ID */ - public FullSubmission addSubmission( - FullSubmissionPostRequest fullSubmissionPostRequest, User user, Project project) throws DocumentException, IOException { - - FormDataContentDispositionBuilder builder = FormDataContentDisposition.name("dossierUpload").fileName(fullSubmissionPostRequest.getContributionCategory() + "_" + user.getEmail() + ".pdf"); - fileManagementService.saveStringAsPDF(user, project, fullSubmissionPostRequest.getHtml(), builder.build(), - FileRole.DOSSIER, FileType.HTML); - - FullSubmission fullSubmission = submissionController.addFullSubmission(fullSubmissionPostRequest); - + public void notifyAboutSubmission(User user, Project project) { // this completes the upload task - if (fullSubmission.getContributionCategory() == ContributionCategory.DOSSIER) { - Task task = new Task(TaskName.UPLOAD_DOSSIER, user.getEmail(), project.getName(), Progress.INPROGRESS); - taskDAO.updateForGroup(task); + Task task = new Task(TaskName.UPLOAD_DOSSIER, user.getEmail(), project.getName(), Progress.INPROGRESS); + taskDAO.updateForGroup(task); - // this triggers the annotate task - taskDAO.persistTaskGroup(project, user, TaskName.ANNOTATE_DOSSIER, Phase.DossierFeedback); + // this triggers the annotate task + taskDAO.persistTaskGroup(project, user, TaskName.ANNOTATE_DOSSIER, Phase.DossierFeedback); + + reflectionService.startOptionalPortfolioTask(project, user, Phase.DossierFeedback); - reflectionService.startOptionalPortfolioTask(project, user, Phase.DossierFeedback); - } - return fullSubmission; } /** * @param fullSubmission created in a groupTask, identified by projectName and groupId. Holds Text - * @param user User who finalized the Dossier for whole Group. + * @param user User who finalized the Dossier for whole Group. */ public void finalizeDossier(FullSubmission fullSubmission, User user, Project project) { // mark as final in db diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/TaskDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/TaskDAO.java index 6fbfc028b3a87e35b145e20993ae7007327ddc91..247a7958bea38ce0ccd4ae20d83651b11da23cea 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/TaskDAO.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/TaskDAO.java @@ -1,6 +1,7 @@ package unipotsdam.gf.process.tasks; import unipotsdam.gf.interfaces.IGroupFinding; +import unipotsdam.gf.modules.assessment.controller.model.ContributionCategory; import unipotsdam.gf.modules.group.Group; import unipotsdam.gf.modules.group.GroupDAO; import unipotsdam.gf.modules.group.GroupFormationMechanism; @@ -258,7 +259,7 @@ public class TaskDAO { Task task = getGeneralTask(vereinfachtesResultSet); task.setTaskType(TaskType.LINKED); Map<String, String> taskData = new HashMap<>(); - taskData.put("fullSubmissionId", submissionController.getFullSubmissionId(groupId, project)); + taskData.put("fullSubmissionId", submissionController.getFullSubmissionId(groupId, project, ContributionCategory.DOSSIER)); taskData.put("category", "TITEL"); task.setTaskData(taskData); result = task; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/TagUtilities.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/TagUtilities.java index f069ee1c5d5c6d6a6a801244d750142914b4c99b..613ef5f9aceb66241c046ebd120c9534d18e7c0e 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/TagUtilities.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/TagUtilities.java @@ -16,9 +16,11 @@ import static java.net.URLDecoder.decode; public class TagUtilities { private static final Logger log = LoggerFactory.getLogger(TagUtilities.class); + @Inject private ProjectDAO projectDAO; + public TagUtilities() { final ServiceLocator locator = ServiceLocatorUtilities.bind(new GFApplicationBinder()); locator.inject(this); diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js index 95944f42237bddce7d74a5993f018c585edb24e3..90c6480c322cc45aeedd531f028988132ffe4b3e 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js @@ -5,28 +5,6 @@ let userColorsDark = new Map(); // declare document text, start and end character let startCharacter, endCharacter; -/* - TODO - ---- - create feedback page: - - remove quillJsTemp and show content in quillJS - - move colors from annotation class to utility class - - color text like category - - show feedback page (could be this page): - - color feedback in user color - - color on mouseover - - - - not one page!: - - you need to hide half of the page, just to have one page: einzige gemeinsamkeit -> editor und das reicht nicht - - - - Websocket fixen (vllt) - - bearbeiten druecken laesst die karte nicht verschwinden (was wollte ich damit sagen?) - */ - - /** * This function will fire when the DOM is ready */ @@ -68,7 +46,7 @@ $(document).ready(function () { }); // fetch full submission from database - getFullSubmission(getQueryVariable("fullSubmissionId"), getQueryVariable("contributionCategory"), function (response) { + getFullSubmission(getQueryVariable("fullSubmissionId"), function (response) { // set text if student looks at peer review quillTemp.setContents(JSON.parse(response.text)); diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/feedbackUtils.js b/gemeinsamforschen/src/main/webapp/annotation/js/feedbackUtils.js index f8ec033582a33f264b60e2b9735bf0b7bd1070e7..f5cf62e5e39c74db126e976a17787e6a9c400df6 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/js/feedbackUtils.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/feedbackUtils.js @@ -7,7 +7,7 @@ function prepareFeedbackMenu(category) { let startCharacter; let endCharacter; // fetch full submission from database - getFullSubmission(getQueryVariable("fullSubmissionId"), getQueryVariable("contributionCategory"), function (response) { + getFullSubmission(getQueryVariable("fullSubmissionId"), function (response) { // set text if student looks at peer review quill.setContents(JSON.parse(response.text)); diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js index b57df78b7d01edab5aefa5f9a781f0356e471a6b..52092a4f3e5f57979cf53f0e7d12ef7a66f74f77 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js @@ -27,10 +27,8 @@ function createFullSubmission(fullSubmissionPostRequest, responseHandler) { * @param responseHandler The response handler * @param errorHandler The error handler */ -function getFullSubmission(id, contributionCategory, responseHandler, errorHandler) { - let url = "../rest/submissions/full/" + id + '?' + $.param({ - contributionCategory: contributionCategory - }); +function getFullSubmission(id, responseHandler, errorHandler) { + let url = "../rest/submissions/full/" + id; $.ajax({ url: url, type: "GET", diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js index b1f26a464883b8c785cd4ed9a4b89bd719ee9e2c..c1cc07d427cb3de4fcfd3b325be175af408e4824 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js @@ -5,16 +5,19 @@ let groupId = 0; let contributionCategory; let hierarchyLevel; let fullSubmissionId = ""; +let personal; $(document).ready(function () { - getMyGroupId(getFullSubmissionOfGroup); contributionCategory = $('#contributionCategory').html().trim(); + setPersonal(); + if (!personal) { + getMyGroupId(getFullSubmissionOfGroup); + } hierarchyLevel = $('#hierarchyLevel').html().trim(); populateTextFields(); $('#btnSave').click(function () { if (quill.getText().length > 1) { - let user = getUserEmail(); let content = quill.getContents(); let html = quill.root.innerHTML; @@ -66,9 +69,14 @@ $(document).ready(function () { }); +function setPersonal() { + let personalString = $("#personal").html().trim(); + personal = personalString.toUpperCase() === 'TRUE'; +} + function populateTextFields() { let data = {}; - data.header = contributionCategory; + data.header = contributionCategory === "Portfolio" ? "Portfolio-Eintrag" : contributionCategory; let tmpl = $.templates("#headerTemplate"); //tmpl.link("#result"); let html = tmpl.render(data); diff --git a/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-dossier.jsp b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-dossier.jsp index facd15198ec8abc35bdee8bceddfbd3df5629150..d53ce038e7c96a88df54f26b1599e2e2b2ed2026 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-dossier.jsp +++ b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-dossier.jsp @@ -1,3 +1,4 @@ +<%@ page import="com.google.common.base.Strings" %> <%@ page import="unipotsdam.gf.taglibs.TagUtilities" %> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> @@ -8,6 +9,10 @@ if (contributionCategory == null) { contributionCategory = "Unbekannt"; } + String personalString = tu.getParamterFromQuery("personal", request); + if (Strings.isNullOrEmpty(personalString)) { + personalString = "false"; + } %> <!DOCTYPE html> @@ -54,7 +59,6 @@ <div id="result"></div> <script id="headerTemplate" type="text/x-jsrender"> <h2>{{:header}} anlegen</h2> - </script> <div class="upload-text" id="documentText"> <label for="editor">Texteingabe</label> @@ -92,7 +96,8 @@ <jsp:param name="readOnly" value="false"/> </jsp:include> - <p id="contributionCategory" hidden><%= tu.printMe(contributionCategory)%> + <p id="contributionCategory" hidden><%= tu.printMe(contributionCategory)%> + <p id="personal" hidden><%= tu.printMe(personalString)%> </body> </html> diff --git a/gemeinsamforschen/src/main/webapp/project/js/tasks.js b/gemeinsamforschen/src/main/webapp/project/js/tasks.js index 2432a5e9cee79c95c66025a29ed1bd677a421a43..40a53c640662bc57c13d94e2068238618b7c8600 100644 --- a/gemeinsamforschen/src/main/webapp/project/js/tasks.js +++ b/gemeinsamforschen/src/main/webapp/project/js/tasks.js @@ -265,7 +265,11 @@ function fitObjectInTmpl(object) { case "OPTIONAL_PORTFOLIO_ENTRY": result.solveTaskWith = "Erstelle einen Portfolio-Eintrag (optional)"; - result.solveTaskWithLink = "redirect(\'../annotation/upload-unstructured-dossier.jsp?projectName=" + object.projectName + "&contributionCategory=Portfolio" + "\')"; + result.solveTaskWithLink = "redirect(\'../annotation/upload-unstructured-dossier.jsp?" + $.param({ + projectName: object.projectName, + contributionCategory: "Portfolio", + personal: "true" + }) + "\')"; break; default: result.solveTaskWith = null;