From 162095c1b4d28cd21bc817f0ce8c93087311ef01 Mon Sep 17 00:00:00 2001 From: Alexandre Arias <apa13@inf.ufpr.br> Date: Wed, 7 Oct 2015 08:37:07 -0300 Subject: [PATCH] integralisation of complaints repository Signed-off-by: Alexandre Arias <apa13@inf.ufpr.br> --- app/controllers/complaints_controller.rb | 4 +++- app/repositories/orient_db/complaint_repository.rb | 6 +++--- app/views/complaints/_form.html.erb | 3 +++ config/initializers/repositories/repositories.rb | 3 +++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/controllers/complaints_controller.rb b/app/controllers/complaints_controller.rb index dc7dfd32a..26f48b71b 100644 --- a/app/controllers/complaints_controller.rb +++ b/app/controllers/complaints_controller.rb @@ -5,7 +5,9 @@ class ComplaintsController < ApplicationController # POST /complaints.json def create @complaint = Complaint.new(complaint_params) - + @complaint.user = current_user + @complaint.object = params[:object] + respond_to do |format| if complaint_repository.report @complaint format.html { redirect_to @complaint, notice: 'complaint was successfully created.' } diff --git a/app/repositories/orient_db/complaint_repository.rb b/app/repositories/orient_db/complaint_repository.rb index c7616b9d4..267b800cd 100644 --- a/app/repositories/orient_db/complaint_repository.rb +++ b/app/repositories/orient_db/complaint_repository.rb @@ -4,7 +4,7 @@ module OrientDb include RepositoriesProxy def report(complaint) - if edge_exists? (odb_class, complaint.user.id, complaint.object.id) + if edge_exists?(odb_class, complaint.user.id, complaint.object.id) raise "The user has already been reported" end @@ -12,10 +12,10 @@ module OrientDb end def destroy(object) - if !edge_exists? (odb_class, complaint.user.id, complaint.object.id) + if !edge_exists?(odb_class, complaint.user.id, complaint.object.id) raise "The user has not already been reported" end - + connection.command "DELETE EDGE Complaint FROM #{complaint.user.id} TO #{complaint.object.id}" end diff --git a/app/views/complaints/_form.html.erb b/app/views/complaints/_form.html.erb index 9b61b68bb..6abcde32d 100644 --- a/app/views/complaints/_form.html.erb +++ b/app/views/complaints/_form.html.erb @@ -20,7 +20,10 @@ </div> </div> + + <%= f.hidden_field :object, value: @learning_object %> </fieldset> + <div align="center" class="ls-btn-primary"> <%= f.submit "Salvar" %> <%= link_to "Fechar", class:"btn-success" %> diff --git a/config/initializers/repositories/repositories.rb b/config/initializers/repositories/repositories.rb index f6666e218..f7d3c35d3 100644 --- a/config/initializers/repositories/repositories.rb +++ b/config/initializers/repositories/repositories.rb @@ -29,10 +29,12 @@ Repository::Environments.create :development do |repository| repository.register :attribute, OrientDb::AttributeRepository.new(OrientDb::Client.instance) repository.register :collection, OrientDb::CollectionRepository.new(OrientDb::Client.instance) repository.register :carousel, ActiveRecord::CarouselRepository.new + repository.register :complaint, OrientDb::ComplaintRepository.new(OrientDb::Client.instance) end Repository::Environments.create :test do |repository| repository.register :carousel, ActiveRecord::CarouselRepository.new + repository.register :complaint, OrientDb::ComplaintRepository.new(OrientDb::Client.instance) repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance) repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance) repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance)) @@ -43,6 +45,7 @@ end Repository::Environments.create :production do |repository| repository.register :carousel, ActiveRecord::CarouselRepository.new + repository.register :complaint, OrientDb::ComplaintRepository.new(OrientDb::Client.instance) repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance) repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance) repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance)) -- GitLab