Jelajahi Sumber

feedback can now be edited

Akira Laine 9 tahun lalu
induk
melakukan
3be88738ae
3 mengubah file dengan 32 tambahan dan 0 penghapusan
  1. 14 0
      app/client/scripts/events.js
  2. 11 0
      app/client/templates/feedback.html
  3. 7 0
      app/server/server.js

+ 14 - 0
app/client/scripts/events.js

@@ -1,3 +1,5 @@
+var feedbackData;
+
 function getSpotifyInfo(title, cb, artist) {
     var q = "";
     q = title;
@@ -232,6 +234,18 @@ Template.feedback.events({
     "click #delete": function(){
         var message = $(this).parent("card").prevObject[0].message;
         Meteor.call("deleteFeedback", message);
+    },
+    "click #edit": function(){
+        $("#editModal").click()
+        var data = Feedback.findOne({"message": $(this).parent("card").prevObject[0].message});
+        feedbackData = data.message;
+        $("#edit_feedback_message").val(data.message);
+    },
+    "click #edit_feedback_submit": function(){
+        var oldMessage = feedbackData;
+        var newMessage = $("#edit_feedback_message").val()
+        $("#edit_feedback_message").val("")
+        Meteor.call("updateFeedback", oldMessage, newMessage);
     }
 });
 

+ 11 - 0
app/client/templates/feedback.html

@@ -3,6 +3,8 @@
     <main>
         <h3 class="black-text thin text-center">Feedback</h3>
         <a class="waves-effect waves-light btn modal-trigger feedback-btn" href="#modal1">Send New Feedback</a>
+        <a id="editModal" class="modal-trigger" href="#editFeedback" style="display:none"></a>
+
         <div class="row">
             {{#each feedback}}
                 <div class="col s12 m4">
@@ -42,6 +44,15 @@
             <a id="feedback_submit" class="waves-effect waves-light btn">Submit</a>
         </div>
     </div>
+    <div id="editFeedback" class="modal">
+        <div class="modal-content teal darken-4">
+            <label>Edit Feedback Message</label>
+            <div class="input-field">
+                <textarea id="edit_feedback_message" class="materialize-textarea" length="500"></textarea>
+            </div>
+            <a id="edit_feedback_submit" class="waves-effect waves-light btn">Submit</a>
+        </div>
+    </div>
     {{> footer}}
     <script>
         $(document).ready(function () {

+ 7 - 0
app/server/server.js

@@ -1181,6 +1181,13 @@ Meteor.methods({
         } else {
             throw new Meteor.Error(403, "Invalid permissions.");
         }
+    },
+    updateFeedback: function(oldMessage, newMessage){
+        if(isAdmin() && !isBanned()){
+            Feedback.update({"message": oldMessage}, {$set: {"message": newMessage}});
+        } else {
+            throw new Meteor.Error(403, "Invalid permissions.");
+        }
     }
 });