From 2fa2f568beae3fd8a78a0f70f528818a6544f528 Mon Sep 17 00:00:00 2001 From: Thundaklap Date: Sat, 10 Jan 2015 21:10:54 +1300 Subject: [PATCH] Make the /check list show the number of notes. The number of notes is shown as a red indicator before the [OPEN] indicator. The indicator is not displayed if there aren't any notes for the request. --- config.yml | 2 +- src/nu/nerd/modreq/ModReq.java | 3 +++ src/nu/nerd/modreq/database/NoteTable.java | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/config.yml b/config.yml index 05e928e..a91bf37 100644 --- a/config.yml +++ b/config.yml @@ -14,7 +14,7 @@ messages: deleted: "&ARequest {request_id} has been closed by you." list: header: "&B---- {num_requests} Mod Requests ----" - item: "&6{request_id}.{admin}&6 [&A{mod}{status}&6] {time} {player} -&7 {request_message}" + item: "&6{request_id}.{note_count}{admin}&6 [&A{mod}{status}&6] {time} {player} -&7 {request_message}" footer: "&B---- Page {page} of {num_pages} ----" item: header-unclaimed: "&BMod Request {request_id} - &E{status}" diff --git a/src/nu/nerd/modreq/ModReq.java b/src/nu/nerd/modreq/ModReq.java index e9356f0..4d32689 100755 --- a/src/nu/nerd/modreq/ModReq.java +++ b/src/nu/nerd/modreq/ModReq.java @@ -668,6 +668,7 @@ private void messageRequestListToPlayer(CommandSender sender, List reqs for (Request r : reqs) { ChatColor onlineStatus = ChatColor.RED; String message = ""; + int noteCount = noteTable.getNoteCount(r); if (r.getRequest().length() > 20) { message = r.getRequest().substring(0, 17) + "..."; } else { @@ -678,6 +679,7 @@ private void messageRequestListToPlayer(CommandSender sender, List reqs } try { environment.put("request_id", String.valueOf(r.getId())); + environment.put("note_count", noteCount>0?ChatColor.RED+" ["+Integer.toString(noteCount)+"]":""); environment.put("admin", (r.isFlagForAdmin()?(ChatColor.AQUA + " [ADMIN]"):"")); environment.put("mod", (r.getStatus()==RequestStatus.CLAIMED?(r.getAssignedMod()):"")); environment.put("status", (r.getStatus()!=RequestStatus.CLAIMED?(r.getStatus().toString()):"")); @@ -686,6 +688,7 @@ private void messageRequestListToPlayer(CommandSender sender, List reqs environment.put("request_message", r.getRequest()); messages.add(buildMessage(config.GENERAL__LIST__ITEM)); environment.remove("request_id"); + environment.remove("note_count"); environment.remove("admin"); environment.remove("mod"); environment.remove("status"); diff --git a/src/nu/nerd/modreq/database/NoteTable.java b/src/nu/nerd/modreq/database/NoteTable.java index d9d587c..0b8481d 100644 --- a/src/nu/nerd/modreq/database/NoteTable.java +++ b/src/nu/nerd/modreq/database/NoteTable.java @@ -27,6 +27,12 @@ public List getRequestNotes(Request request) { return requestNotes; } + + public int getNoteCount(Request request) { + + return parent.getDatabase().find(Note.class).where() + .eq("requestId", request.getId()).findRowCount(); + } public void remove(Note note) { parent.getDatabase().delete(note);