From d6136a2b68a10c57b49b863a3f9da013a1ff68ae Mon Sep 17 00:00:00 2001
From: tudtianus <tudtianus@gmail.com>
Date: Sat, 30 Jun 2018 21:22:21 +0200
Subject: [PATCH] feat: addLink popup

---
 .../journal/view/ProjectDescriptionView.java  | 21 ++++++++++++----
 .../src/main/webapp/assets/js/e-portfolio.js  |  2 +-
 .../src/main/webapp/pages/eportfolio.jsp      | 24 +++++++++++++++++++
 3 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
index 48dc7b8f..baa33e55 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
@@ -65,14 +65,25 @@ public class ProjectDescriptionView {
 
     //add Link
     @POST
-    @Consumes(MediaType.APPLICATION_JSON)
-    @Path("/addLink/{link}/{name}")
-    public Response saveProjectLinks(@PathParam("link")String link, @PathParam("name")String name){
-        log.debug(">>> saveLinks: " + name + ":" + link);
+    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+    @Path("/addLink")
+    public Response addLink(@FormParam("link") String link, @FormParam("name") String name){
+        log.debug(">>> addLink: " + name + ":" + link);
 
         descriptionService.addLink(link, name );
 
-        log.debug(">>> saveLinks");
+
+        try {
+            URI location = new URI("../pages/eportfolio.jsp?token=test");
+            log.debug("<<< addLink: redirect to "  +location.toString());
+            return Response.temporaryRedirect(location).build();
+
+        } catch (URISyntaxException e) {
+            e.printStackTrace();
+            log.debug("addLink: redirect failed" );
+        }
+
+        log.debug(">>> addLink");
 
         return Response.ok().build();
     }
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js b/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
index 65631354..dc031960 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
+++ b/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
@@ -9,7 +9,7 @@ $(document).ready(function() {
         for(var link in data.links){
             $('.journal-description-links').append('<a href=' + data.links[link] + '>' + link + '</a> <i class="fa fa-trash" aria-hidden="true" ></i><br/>');
         }
-        $('.journal-description-links').append('<i class="fa fa-plus" aria-hidden="true"></i>');
+        $('.journal-description-links').append('<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target="#addLinkModal"><i class="fa fa-plus" aria-hidden="true"></i></button>');
 
         for(var g in data.group){
             $('.journal-description-group').append(data.group[g]+ '<br/>');
diff --git a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
index 3b2afa42..ca04a2c7 100644
--- a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
+++ b/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
@@ -77,6 +77,30 @@
     </div>
 </div>
 
+<div class="modal fade" id="addLinkModal" role="dialog">
+    <div class="modal-dialog modal-sm">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal">&times;</button>
+                <h4 class="modal-title">Link hinzuf&uuml;gen</h4>
+            </div>
+            <div class="modal-body">
+                <form id="linkform" method="POST" action="../rest/projectdescription/addLink" >
+                    Name:<br>
+                    <input type="text" name="name" form="linkform">
+                    <br>
+                    URL:<br>
+                    <input type="text" name="link" form="linkform">
+                    <br><br>
+                    <input class="btn btn-default" type="submit"  >
+                    <button type="button" class="btn btn-default" data-dismiss="modal">Abbrechen</button>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+
+
 <script src="../assets/js/jquery.min.js"></script>
 <script src="../assets/bootstrap/js/bootstrap.min.js"></script>
 <script src="../assets/js/Sidebar-Menu.js"></script>
-- 
GitLab