From 7cc8fe726892fe32added90e01e3af9d25b288c4 Mon Sep 17 00:00:00 2001
From: tudtianus <tudtianus@gmail.com>
Date: Sat, 30 Jun 2018 20:52:14 +0200
Subject: [PATCH] fix: buttons for "close" Journal, dummy functions for links,
 bootstrap buttons

---
 .../service/DummyProjectDescription.java      |  7 +++-
 .../service/ProjectDescriptionService.java    |  5 ++-
 .../journal/view/ProjectDescriptionView.java  | 41 +++++++++++++------
 .../src/main/webapp/assets/js/e-portfolio.js  |  9 ++--
 .../src/main/webapp/pages/createJournal.jsp   |  4 +-
 .../src/main/webapp/pages/editDescription.jsp |  4 +-
 .../src/main/webapp/pages/eportfolio.jsp      | 10 +++--
 7 files changed, 55 insertions(+), 25 deletions(-)

diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java
index 23a028f9..7b07890f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyProjectDescription.java
@@ -47,8 +47,13 @@ public class DummyProjectDescription implements ProjectDescriptionService {
     }
 
     @Override
-    public void saveProjectLinks(String text) {
+    public void addLink(String link, String name) {
         //convert String to List
         //setLinks
     }
+
+    @Override
+    public void deleteLink(String link) {
+
+    }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
index 2a85f031..e0f4a56c 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
@@ -1,6 +1,5 @@
 package unipotsdam.gf.modules.journal.service;
 
-import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
 
 /**
@@ -14,5 +13,7 @@ public interface ProjectDescriptionService {
 
     void saveProjectText(String text);
 
-    void saveProjectLinks(String text);
+    void addLink(String link, String name);
+
+    void deleteLink(String link);
 }
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 6c93b009..48dc7b8f 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
@@ -2,22 +2,15 @@ package unipotsdam.gf.modules.journal.view;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import sun.security.krb5.internal.MethodData;
-import unipotsdam.gf.modules.journal.model.Journal;
-import unipotsdam.gf.modules.journal.model.JournalFilter;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
-import unipotsdam.gf.modules.journal.service.DummyJournalService;
 import unipotsdam.gf.modules.journal.service.DummyProjectDescription;
-import unipotsdam.gf.modules.journal.service.JournalService;
 import unipotsdam.gf.modules.journal.service.ProjectDescriptionService;
 
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-import java.lang.invoke.MethodType;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.ArrayList;
 
 /**
  * View for the project description
@@ -70,18 +63,42 @@ public class ProjectDescriptionView {
         return Response.ok().build();
     }
 
-    //save Link
+    //add Link
     @POST
     @Consumes(MediaType.APPLICATION_JSON)
-    @Path("/saveLinks/{links}")
-    public Response saveProjectLinks(@PathParam("links")String text){
-        log.debug(">>> saveLinks: " + text);
+    @Path("/addLink/{link}/{name}")
+    public Response saveProjectLinks(@PathParam("link")String link, @PathParam("name")String name){
+        log.debug(">>> saveLinks: " + name + ":" + link);
 
-        descriptionService.saveProjectLinks(text);
+        descriptionService.addLink(link, name );
 
         log.debug(">>> saveLinks");
 
         return Response.ok().build();
     }
 
+
+    //delete Link
+    @POST
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Path("/deleteLink/{link}")
+    public Response deleteLink(@PathParam("link")String link){
+        log.debug(">>> deleteLink: " + link);
+
+        descriptionService.deleteLink(link);
+        //TODO token
+        try {
+            URI location = new URI("../pages/eportfolio.jsp?token=test");
+            log.debug("<<< deleteLink: redirect to "  +location.toString());
+            return Response.temporaryRedirect(location).build();
+
+        } catch (URISyntaxException e) {
+            e.printStackTrace();
+            log.debug("deleteLink: redirect failed" );
+        }
+
+        log.debug("<<< deleteLink");log.debug(">>> saveText");
+        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 3b2f4e40..65631354 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
+++ b/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
@@ -7,8 +7,10 @@ $(document).ready(function() {
         $('.journal-description-title').append('<h2>' + data.name + '</h2>');
         $('.journal-description-text').append(data.description);
         for(var link in data.links){
-            $('.journal-description-links').append('<a href=' + data.links[link] + '>' + link + '</a><br/>');
+            $('.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>');
+
         for(var g in data.group){
             $('.journal-description-group').append(data.group[g]+ '<br/>');
 
@@ -55,8 +57,9 @@ function loadJournals(data) {
             data[journal].creator + '' +
             '</div><div class="journal-category">' +
             data[journal].category +
-            '</div><div class="journal-edit">' +
-            '<a href="createJournal.jsp?token=test&journal=' + data[journal].id + '"><i class="fa fa-pencil" aria-hidden="true"></i></a>' +
+            '</div><div class="journal-edit" align="right">' +
+            '<a class="btn btn-default btn-sm" href="createJournal.jsp?token=test&journal=' + data[journal].id + '"><i class="fa fa-pencil"></i> Bearbeiten</a>' +
+            '<a class="btn btn-default btn-sm" href="#"><i class="fa fa-check-square" aria-hidden="true"></i>Abschlie&szlig;en</a>' +
             ' </div><div class="journal-text">' +
             data[journal].entry +
             '</div>')
diff --git a/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp b/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp
index 3abf960d..33654f1c 100644
--- a/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp
+++ b/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp
@@ -74,8 +74,8 @@
 								</div>
 
 								<div class="journal-form-buttons">
-									<input type="submit">
-									<a href="eportfolio.jsp"><button> Zur&uuml;ck </button></a>
+									<input class="btn btn-default btn-sm" type="submit">
+									<a class="btn btn-default btn-sm" href="eportfolio.jsp"> Zur&uuml;ck </a>
 								</div>
 
 							</div>
diff --git a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp b/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
index d4266111..664220c7 100644
--- a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
+++ b/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
@@ -55,8 +55,8 @@
                                 </div>
 
                                 <div class="description-form-buttons">
-                                    <input type="submit">
-                                    <a href="eportfolio.jsp?token=test">Zur&uuml;ck</a>
+                                    <input class="btn btn-default btn-sm" type="submit">
+                                    <a class="btn btn-default btn-sm" href="eportfolio.jsp?token=test">Zur&uuml;ck</a>
                                 </div>
 
                             </div>
diff --git a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
index 4c3111d3..3b2afa42 100644
--- a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
+++ b/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
@@ -41,8 +41,12 @@
                         <div class="journal-description-container">
                             <div class="journal-description-title">
                             </div>
-                            <div class="journal-description-edit">
-                                <a href="editDescription.jsp?project=0&token=test"> <i class="fa fa-pencil" aria-hidden="true"></i></a>
+                            <div class="journal-description-edit" align="right">
+                                <a class="btn btn-default btn-sm" href="editDescription.jsp?project=0&token=test">
+                                    <i class="fa fa-pencil"></i> Bearbeiten</a>
+                                <a class="btn btn-default btn-sm" href="#">
+                                    <i class="fa fa-check-square" aria-hidden="true"></i>Abschlie&szlig;en</a>
+
                             </div>
                             <div class="journal-description-text">
                             </div>
@@ -62,7 +66,7 @@
                             <option>Eigene</option>
                         </select>
 
-                        <a href="createJournal.jsp?token=test">Neu</a>
+                        <a class="btn btn-default btn-sm" href="createJournal.jsp?token=test">Neu</a>
 
                         <div class="journal">
                         </div>
-- 
GitLab