From 4f2be9a50b242493db28af27563939cf7eb937b1 Mon Sep 17 00:00:00 2001
From: Marcela Ribeiro de Oliveira <mro15@inf.ufpr.br>
Date: Fri, 9 Dec 2016 10:10:26 -0200
Subject: [PATCH] update review controller

---
 app/controllers/v1/reviews_controller.rb | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/app/controllers/v1/reviews_controller.rb b/app/controllers/v1/reviews_controller.rb
index 189d6a2a..136adbc0 100644
--- a/app/controllers/v1/reviews_controller.rb
+++ b/app/controllers/v1/reviews_controller.rb
@@ -2,8 +2,8 @@ class V1::ReviewsController < ApplicationController
   include ::DeletedObjectsController
   include ::ResourceModel
 
-  before_action :set_review, only: [:show, :destroy, :rate]
-  before_action :authenticate_user!, only: [:create, :rate, :destroy]
+  before_action :set_review, only: [:show, :destroy, :rate, :update]
+  before_action :authenticate_user!, only: [:create, :rate, :destroy, :update]
 
   # GET /v1/collections/1/reviews
   def index
@@ -29,6 +29,26 @@ class V1::ReviewsController < ApplicationController
     end
   end
 
+  # PUT /v1/learning_objects/1/reviews/1
+  # PUT /v1/learning_objects/1/reviews/1.json
+  def update
+      ratings_params = review_params
+      rp = ratings_params.delete(:review_ratings_attributes)
+      if @review.update(ratings_params)
+        @review.review_ratings.each do |r|
+          rp.each do |s|
+            if r.rating_id == s[:rating_id]
+              r.value = s[:value]
+              r.save
+            end
+          end
+        end
+        render json: @review, status: :ok
+      else
+        render json:  @review.errors, status: :unprocessable_entity
+      end
+  end
+
   def process_creation(review)
     # Store errors
     errors = []
-- 
GitLab