From cd942e852ce37c2c7a97a5b0f2868ac6d2e308e2 Mon Sep 17 00:00:00 2001 From: jbai Date: Fri, 9 Sep 2016 10:42:46 -0700 Subject: [PATCH] fix the issue that can not delete and edit the comments --- web/app/controllers/api/v1/Dataset.java | 15 +++++++++-- web/app/dao/DatasetsDAO.java | 26 +++++++++++++++++-- web/app/models/DatasetColumnComment.java | 1 + web/app/models/DatasetComment.java | 1 + web/app/views/main.scala.html | 8 +++--- .../javascripts/components/components.js | 6 +---- .../javascripts/components/schema-comment.js | 6 +---- web/public/stylesheets/wherehows.css | 1 - 8 files changed, 45 insertions(+), 19 deletions(-) diff --git a/web/app/controllers/api/v1/Dataset.java b/web/app/controllers/api/v1/Dataset.java index 44c255ec08..b3ad63447a 100644 --- a/web/app/controllers/api/v1/Dataset.java +++ b/web/app/controllers/api/v1/Dataset.java @@ -344,6 +344,11 @@ public class Dataset extends Controller public static Result getPagedDatasetComments(int id) { ObjectNode result = Json.newObject(); + String username = session("user"); + if (username == null) + { + username = ""; + } int page = 1; String pageStr = request().getQueryString("page"); @@ -386,7 +391,7 @@ public class Dataset extends Controller } result.put("status", "ok"); - result.set("data", DatasetsDAO.getPagedDatasetComments(id, page, size)); + result.set("data", DatasetsDAO.getPagedDatasetComments(username, id, page, size)); return ok(result); } @@ -577,6 +582,12 @@ public class Dataset extends Controller { ObjectNode result = Json.newObject(); + String username = session("user"); + if (username == null) + { + username = ""; + } + int page = 1; String pageStr = request().getQueryString("page"); if (StringUtils.isBlank(pageStr)) @@ -618,7 +629,7 @@ public class Dataset extends Controller } result.put("status", "ok"); - result.set("data", DatasetsDAO.getPagedDatasetColumnComments(datasetId, columnId, page, size)); + result.set("data", DatasetsDAO.getPagedDatasetColumnComments(username, datasetId, columnId, page, size)); return ok(result); } diff --git a/web/app/dao/DatasetsDAO.java b/web/app/dao/DatasetsDAO.java index 8414ba038e..f8b8b300a3 100644 --- a/web/app/dao/DatasetsDAO.java +++ b/web/app/dao/DatasetsDAO.java @@ -943,7 +943,7 @@ public class DatasetsDAO extends AbstractMySQLOpenSourceDAO return result; } - public static ObjectNode getPagedDatasetComments(int id, int page, int size) + public static ObjectNode getPagedDatasetComments(String userName, int id, int page, int size) { ObjectNode result = Json.newObject(); @@ -969,6 +969,17 @@ public class DatasetsDAO extends AbstractMySQLOpenSourceDAO Logger.error("Exception = " + e.getMessage()); } + if (pagedComments != null) + { + for(DatasetComment dc : pagedComments) + { + if(StringUtils.isNotBlank(userName) && userName.equalsIgnoreCase(dc.authorUserName)) + { + dc.isAuthor = true; + } + } + } + ObjectNode resultNode = Json.newObject(); resultNode.set("comments", Json.toJson(pagedComments)); resultNode.put("count", count); @@ -1256,7 +1267,7 @@ public class DatasetsDAO extends AbstractMySQLOpenSourceDAO return message; } - public static ObjectNode getPagedDatasetColumnComments(int datasetId, int columnId, int page, int size) + public static ObjectNode getPagedDatasetColumnComments(String userName, int datasetId, int columnId, int page, int size) { ObjectNode result = Json.newObject(); @@ -1312,6 +1323,17 @@ public class DatasetsDAO extends AbstractMySQLOpenSourceDAO Logger.error("Exception = " + e.getMessage()); } + if (pagedComments != null) + { + for(DatasetColumnComment dc : pagedComments) + { + if(StringUtils.isNotBlank(userName) && userName.equalsIgnoreCase(dc.authorUsername)) + { + dc.isAuthor = true; + } + } + } + resultNode.set("comments", Json.toJson(pagedComments)); resultNode.put("count", count); resultNode.put("page", page); diff --git a/web/app/models/DatasetColumnComment.java b/web/app/models/DatasetColumnComment.java index b546352537..7de676c6be 100644 --- a/web/app/models/DatasetColumnComment.java +++ b/web/app/models/DatasetColumnComment.java @@ -23,4 +23,5 @@ public class DatasetColumnComment { public String created; public String modified; public boolean isDefault; + public Boolean isAuthor; } diff --git a/web/app/models/DatasetComment.java b/web/app/models/DatasetComment.java index 41cab279c2..a6e390bcc6 100644 --- a/web/app/models/DatasetComment.java +++ b/web/app/models/DatasetComment.java @@ -24,4 +24,5 @@ public class DatasetComment { public String created; public String modified; public String type; + public Boolean isAuthor; } \ No newline at end of file diff --git a/web/app/views/main.scala.html b/web/app/views/main.scala.html index 673281daeb..8973b184e8 100644 --- a/web/app/views/main.scala.html +++ b/web/app/views/main.scala.html @@ -673,12 +673,12 @@ class="pull-right actions" > @@ -863,13 +863,13 @@ {{#if comment.isAuthor}} diff --git a/web/public/javascripts/components/components.js b/web/public/javascripts/components/components.js index 73d2c2d230..5e6030b659 100644 --- a/web/public/javascripts/components/components.js +++ b/web/public/javascripts/components/components.js @@ -539,11 +539,7 @@ App.DatasetCommentsComponent = Ember.Component.extend({ _this.set('commentsLoading', false) var comments = data.data.comments comments.forEach(function(cmnt){ - cmnt.isAuthor = false - cmnt.html = marked(cmnt.text).htmlSafe() - if(cmnt.authorUserName === $("#username").text().trim()) { - cmnt.isAuthor = true - } + cmnt.html = marked(cmnt.text).htmlSafe(); }) _this.set('comments', comments); } diff --git a/web/public/javascripts/components/schema-comment.js b/web/public/javascripts/components/schema-comment.js index 5c5b0c0a35..ad5357b761 100644 --- a/web/public/javascripts/components/schema-comment.js +++ b/web/public/javascripts/components/schema-comment.js @@ -276,11 +276,7 @@ App.SchemaCommentComponent = Ember.Component.extend({ , function(data){ var comments = data.data.comments comments.forEach(function(cmnt){ - cmnt.isAuthor = false - cmnt.html = marked(cmnt.text).htmlSafe() - if(cmnt.authorUsername === $("#username").text().trim()) { - cmnt.isAuthor = true - } + cmnt.html = marked(cmnt.text).htmlSafe(); }) _this.set('comments', comments) _this.set('page', data.data.page) diff --git a/web/public/stylesheets/wherehows.css b/web/public/stylesheets/wherehows.css index 13ec2bf219..2a44b313ad 100644 --- a/web/public/stylesheets/wherehows.css +++ b/web/public/stylesheets/wherehows.css @@ -331,7 +331,6 @@ a.list-group-item { -webkit-font-smoothing: antialiased; padding-top: 12px; padding-bottom: 12px; - text-transform: capitalize; } .list-group-item.active {