Mercurial > hg > AnnotationManagerN4J
comparison src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/GroupMembersResource.java @ 25:2140ef107551
adding and deleting group members.
author | casties |
---|---|
date | Mon, 24 Sep 2012 11:36:33 +0200 |
parents | e208a7b1a37a |
children | f204ce7d1da8 |
comparison
equal
deleted
inserted
replaced
24:e208a7b1a37a | 25:2140ef107551 |
---|---|
45 Reference groupsUrl = thisUrl.getParentRef(); | 45 Reference groupsUrl = thisUrl.getParentRef(); |
46 result = "<html><body>\n<h1>Group members</h1>\n"; | 46 result = "<html><body>\n<h1>Group members</h1>\n"; |
47 result += String.format("<p>Group: %s <a href=\"%s\">(%s)</a></p>\n", group.getName(), groupsUrl, group.getId()); | 47 result += String.format("<p>Group: %s <a href=\"%s\">(%s)</a></p>\n", group.getName(), groupsUrl, group.getId()); |
48 result += "<p>Members:</p>\n"; | 48 result += "<p>Members:</p>\n"; |
49 result += "<table>"; | 49 result += "<table>"; |
50 result += String.format("<form method=\"post\" action=\"%s\">", thisUrl); | |
50 List<Person> members = store.getMembersOfGroup(group); | 51 List<Person> members = store.getMembersOfGroup(group); |
51 for (Person p : members) { | 52 for (Person p : members) { |
52 result += String.format("<tr><td>%s</td><td>(%s)</td>", p.getName(), p.getIdString()); | 53 result += String.format("<tr><td>%s</td><td>(%s)</td>", p.getName(), p.getIdString()); |
53 //result += String.format("<td></td></tr>\n", p.getName(), p.getIdString()); | 54 result += String.format("<td><input type=\"submit\" name=\"del_member\" value=\"delete:%s\"></td></tr>\n", p.getIdString()); |
54 } | 55 } |
55 result += "</table>\n"; | 56 result += "</table>\n"; |
57 result += "</form>\n"; | |
56 result += String.format("<form method=\"post\" action=\"%s\">\n", thisUrl); | 58 result += String.format("<form method=\"post\" action=\"%s\">\n", thisUrl); |
57 result += "<p>Add new member: <select name=\"add_member\">\n"; | 59 result += "<p>Add new member: <select name=\"add_member\">\n"; |
58 for (Actor p : store.getActors("uri", "*", NodeTypes.PERSON)) { | 60 for (Actor p : store.getActors("uri", "*", NodeTypes.PERSON)) { |
59 result += String.format("<option value=\"%s\">%s</option>\n", p.getIdString(), p.getName()); | 61 result += String.format("<option value=\"%s\">%s</option>\n", p.getIdString(), p.getName()); |
60 } | 62 } |
82 && (delMemberId == null || delMemberId.isEmpty()))) { | 84 && (delMemberId == null || delMemberId.isEmpty()))) { |
83 // no id | 85 // no id |
84 setStatus(Status.CLIENT_ERROR_BAD_REQUEST); | 86 setStatus(Status.CLIENT_ERROR_BAD_REQUEST); |
85 return null; | 87 return null; |
86 } | 88 } |
87 | 89 if (addMemberId != null) { |
90 logger.debug("adding member: "+addMemberId); | |
91 Person member = new Person(addMemberId); | |
92 store.addGroupMember(group, member); | |
93 } else if (delMemberId != null) { | |
94 if (delMemberId.startsWith("delete:")) { | |
95 delMemberId = delMemberId.substring(7); | |
96 } | |
97 logger.debug("deleting member: "+delMemberId); | |
98 Person member = new Person(delMemberId); | |
99 store.deleteGroupMember(group, member); | |
100 } | |
88 // return 303: see other | 101 // return 303: see other |
89 setStatus(Status.REDIRECTION_SEE_OTHER); | 102 setStatus(Status.REDIRECTION_SEE_OTHER); |
90 // go get same URL | 103 // go get same URL |
91 Reference thisUrl = this.getReference(); | 104 Reference thisUrl = this.getReference(); |
92 this.getResponse().setLocationRef(thisUrl); | 105 this.getResponse().setLocationRef(thisUrl); |