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);