@RequestMapping("/fixRehearsal") public void fixRehearsal() throws Exception { ViewQuery query = new ViewQuery().designDocId("_design/groups").viewName("groups").includeDocs(true); List<InvitationGroup> groups = db.queryView(query, InvitationGroup.class); for (InvitationGroup group : groups) { boolean changed = false; for (Invitee inv : group.getInvitees()) { if (inv.getAttendingFriday() != null && inv.getAttendingFriday()) { if (inv.getAttendingRehearsal() == null || !inv.getAttendingRehearsal()) { inv.setAttendingRehearsal(true); changed = true; } } } if (group.isInvitedTours() && !group.isInvitedRehearsal()) { group.setInvitedRehearsal(true); changed = true; } else { System.out.println("Not invited to rehearsal: " + group.getGroupName()); } if (changed) db.update(group); } }
@RequestMapping("/admin") public String admin( HttpSession session, @RequestParam(required = false, value = "password") String password, @RequestParam(required = false, value = "view") String groupId, @RequestParam(required = false, value = "item") String itemId, Model model) throws Exception { if (password != null) session.setAttribute("campodejazayeri-admin-password", password); if (!"PASSWORD".equals(session.getAttribute("campodejazayeri-admin-password"))) { return "admin-authenticate"; } ViewQuery query = new ViewQuery().designDocId("_design/groups").viewName("groups").includeDocs(true); List<InvitationGroup> groups = db.queryView(query, InvitationGroup.class); model.addAttribute("groups", groups); List<String> attendees = new ArrayList<String>(); List<String> notAttending = new ArrayList<String>(); for (InvitationGroup g : groups) { for (Invitee inv : g.getAttending()) attendees.add(g.getGroupName() + ": " + inv.getName()); for (Invitee inv : g.getSaidNo()) notAttending.add(g.getGroupName() + ": " + inv.getName()); } model.addAttribute("numAttendees", attendees.size()); model.addAttribute("attendees", attendees); model.addAttribute("numNotAttending", notAttending.size()); model.addAttribute("notAttending", notAttending); List<String> attendingWednesday = new ArrayList<String>(); List<String> attendingThursday = new ArrayList<String>(); List<String> attendingFriday = new ArrayList<String>(); List<String> attendingRehearsal = new ArrayList<String>(); List<String> attendingCeremony = new ArrayList<String>(); List<String> attendingFiesta = new ArrayList<String>(); for (InvitationGroup g : groups) { for (Invitee i : g.getInvitees()) { if (test(i.getAttendingWednesday())) attendingWednesday.add(format(g, i)); if (test(i.getAttendingThursday())) attendingThursday.add(format(g, i)); if (test(i.getAttendingFriday())) attendingFriday.add(format(g, i)); if (test(i.getAttendingRehearsal())) attendingRehearsal.add(format(g, i)); if (test(i.getAttendingCeremony())) attendingCeremony.add(format(g, i)); if (test(i.getAttendingFiesta())) attendingFiesta.add(format(g, i)); } } model.addAttribute("attendingWednesday", attendingWednesday); model.addAttribute("attendingThursday", attendingThursday); model.addAttribute("attendingFriday", attendingFriday); model.addAttribute("attendingRehearsal", attendingRehearsal); model.addAttribute("attendingCeremony", attendingCeremony); model.addAttribute("attendingFiesta", attendingFiesta); List<String> englishGroups = new ArrayList<String>(); List<String> spanishGroups = new ArrayList<String>(); for (InvitationGroup g : groups) { if ("en".equals(g.getLanguage()) && g.getAttending().size() > 0) { englishGroups.add(g.getId() + " - " + g.getGroupName()); } else if ("es".equals(g.getLanguage()) && g.getAttending().size() > 0) { spanishGroups.add(g.getId() + " - " + g.getGroupName()); } } model.addAttribute("englishComing", englishGroups); model.addAttribute("spanishComing", spanishGroups); if (groupId != null) { InvitationGroup group = db.get(InvitationGroup.class, groupId); model.addAttribute("group", group); } return null; }