diff --git a/app/assets/javascripts/application/complaints.coffee b/app/assets/javascripts/application/complaints.coffee deleted file mode 100644 index 149f06dc8666751b27ff649bb82eac0f24f352e1..0000000000000000000000000000000000000000 --- a/app/assets/javascripts/application/complaints.coffee +++ /dev/null @@ -1,10 +0,0 @@ -$ -> - $('.add_to_complaint').popover - html: true - placement: "left" - title: -> - $('#complaints_list_popover_title').html() - content: -> - $('#complaints_list_popover').html() - - return diff --git a/app/assets/javascripts/management.js b/app/assets/javascripts/management.js index 02ead06a5e6ae6d91d4cd72f113066c3e97e53e0..b5d1122ff9312caa3b29caa3b9a69ecec112b996 100644 --- a/app/assets/javascripts/management.js +++ b/app/assets/javascripts/management.js @@ -14,7 +14,6 @@ //= require jquery_ujs //= require turbolinks //= require jquery.turbolinks -//= require bootstrap-sprockets // www.chartjs.org/docs/ //= require Chart //= require locastyle @@ -22,40 +21,41 @@ var visualised,non_visualised; $(document).ready(function(){ - -visualised = document.getElementById("lobject").value; -non_visualised = document.getElementById("lobject_non").value; - -var data_learning_objects = dataLearningObjects(visualised,non_visualised); - -var charts = ["colections","users","learning_objects","accesses"]; - -for(i=0;i<charts.length;i++) { - if ( document.getElementById(charts[i]) ) { - var ctx = document.getElementById(charts[i]).getContext("2d"); - switch ( charts[i] ){ - case "colections": - new Chart(ctx).Pie(data_colections,pie_options); - var colections_chart = new Chart(ctx).Pie(data_colections); - break; - case "users": - new Chart(ctx).Bar(data_users,bar_options); - var users_chart = new Chart(ctx).Bar(data_users); - break; - case "learning_objects": - new Chart(ctx).Pie(data_learning_objects,pie_options); - var learning_objects_chart = new Chart(ctx).Pie(data_learnin_objects); - break; - case "accesses": - new Chart(ctx).Line(data_accesses,line_options); - var accesses_chart = new Chart(ctx).Line(data_accesses); - break; - - default: null; - break; - } + if (document.getElementById("lobject") !== null) { + visualised = document.getElementById("lobject").value; + non_visualised = document.getElementById("lobject_non").value; + + var data_learning_objects = dataLearningObjects(visualised,non_visualised); + + var charts = ["colections","users","learning_objects","accesses"]; + + for(i=0;i<charts.length;i++) { + if ( document.getElementById(charts[i]) ) { + var ctx = document.getElementById(charts[i]).getContext("2d"); + switch ( charts[i] ){ + case "colections": + new Chart(ctx).Pie(data_colections,pie_options); + var colections_chart = new Chart(ctx).Pie(data_colections); + break; + case "users": + new Chart(ctx).Bar(data_users,bar_options); + var users_chart = new Chart(ctx).Bar(data_users); + break; + case "learning_objects": + new Chart(ctx).Pie(data_learning_objects,pie_options); + var learning_objects_chart = new Chart(ctx).Pie(data_learnin_objects); + break; + case "accesses": + new Chart(ctx).Line(data_accesses,line_options); + var accesses_chart = new Chart(ctx).Line(data_accesses); + break; + + default: null; + break; + } + } + } } -} }); Chart.defaults.global = { diff --git a/app/assets/javascripts/management/institutions.coffee b/app/assets/javascripts/management/institutions.coffee index 24edb353d62c2955277978889d478edf15b0666b..7b0ee8df2002e65a218378ebfb9cfe5420accf13 100644 --- a/app/assets/javascripts/management/institutions.coffee +++ b/app/assets/javascripts/management/institutions.coffee @@ -1,39 +1,38 @@ $ -> - $(document).on 'click', '*[data-institution]', -> - e = $(this) - e.popover({content: "Carregando..."}).popover('show') + $(document).on 'popover:opened', (e) -> all = undefined objects = undefined - institution_id = $(this).data('institution') - url = '/institutions/' + institution_id + '/users.json' - $.get '/users/list.json', (d) -> - all = d - $.get url, (d) -> - object = d + institution_id = $('[class=institution]',e.target).data('institution') + if institution_id? + url = '/institutions/' + institution_id + '/users.json' + $.get '/users/list.json', (d) -> + all = d + $.get url, (d) -> + object = d - # generate a lookup table for object's collections id - lookup = {} - i = 0 - len = object.length - while i < len - lookup[object[i].id] = object[i] - i++ + # generate a lookup table for object's collections id + lookup = {} + i = 0 + len = object.length + while i < len + lookup[object[i].id] = object[i] + i++ - # mark checked objects - i = 0 - len = all.length - html = '' - while i < len - name = 'user_' + all[i].rid.split(':').slice(-1)[0] - html += '<input type="checkbox" class="institutional-user-element" data-uid="' + all[i].id + '" data-institution-id="' + institution_id + '" id="' + name + '"' - if lookup[all[i].id] != undefined - html += " checked" - html += '>' - html += '<label for="' + name + '">' + all[i].name + '</label><br/>' - ++i + # mark checked objects + i = 0 + len = all.length + html = '' + while i < len + name = 'user_' + all[i].rid.split(':').slice(-1)[0] + html += '<input type="checkbox" class="institutional-user-element" data-uid="' + all[i].id + '" data-institution-id="' + institution_id + '" id="' + name + '"' + if lookup[all[i].id] != undefined + html += " checked" + html += '>' + html += '<label for="' + name + '">' + all[i].name + '</label><br/>' + ++i - $('.popover-content').html(html) - return + $('.ls-popover-content').html(html) + return return return diff --git a/app/assets/stylesheets/management.scss b/app/assets/stylesheets/management.scss index 1375cc6a9534629bdfd81e5be9fbdb083db99ab7..280f4bb3720693b96278863b5483e7161ac5d46d 100644 --- a/app/assets/stylesheets/management.scss +++ b/app/assets/stylesheets/management.scss @@ -14,6 +14,3 @@ *= require locastyle *= require_self */ - -@import "bootstrap-sprockets"; -@import "bootstrap"; diff --git a/app/controllers/complaints_controller.rb b/app/controllers/complaints_controller.rb new file mode 100644 index 0000000000000000000000000000000000000000..54c2daf26282fc5f14dbc602ff9143346b9db54a --- /dev/null +++ b/app/controllers/complaints_controller.rb @@ -0,0 +1,24 @@ +class ComplaintsController < ApplicationController + include RepositoriesProxy + + def create + @complaint = Complaint.new(complaint_params) + @complaint.user = current_user + @complaint.object = params[:complaint][:object_rid] + + respond_to do |format| + if complaint_repository.report @complaint + format.html { redirect_to :back, notice: 'Denúncia realizada com sucesso.' } + else + format.html { redirect_to :back, alert: 'Objeto já foi denunciado por você.' } + end + end + end + + private + + # Never trust parameters from the scary internet, only allow the white list through. + def complaint_params + params.require(:complaint).permit(:object, :message, :description) + end +end diff --git a/app/controllers/management/complaints_controller.rb b/app/controllers/management/complaints_controller.rb index 75175bd0b4d1f1943135f3a224fc6348c46d37c4..6db8a8aeb8376868b6061f58ccb67e814f5b93f0 100644 --- a/app/controllers/management/complaints_controller.rb +++ b/app/controllers/management/complaints_controller.rb @@ -13,37 +13,13 @@ class Management::ComplaintsController < ManagementController end end - def create - @complaint = Complaint.new(complaint_params) - @complaint.user = current_user - @complaint.object = params[:complaint][:object_rid] - - respond_to do |format| - if complaint_repository.report @complaint - format.html { redirect_to :back, notice: 'Denúncia realizada com sucesso.' } - else - format.html { redirect_to :back, alert: 'Objeto já foi denunciado por você.' } - end - end - end - def destroy - object_rid = params["object_rid"] user_rid = params["user_rid"] complaint_repository.destroy(user_rid, object_rid) respond_to do |format| - format.html { redirect_to :back, notice: 'Complaint was successfully destroyed.' } + format.html { redirect_to :back, notice: 'Denúncia excluÃda com sucesso.' } end - end - - private - - # Never trust parameters from the scary internet, only allow the white list through. - def complaint_params - params.require(:complaint).permit(:object, :message, :description) - end - end diff --git a/app/views/complaints/_complaints_button.html.erb b/app/views/complaints/_complaints_button.html.erb index a9708241b5322149106f65ec0b3c0f4a7fb09fc5..914ac3f7b89960cc0b0e3608ff78ac4a83538f27 100644 --- a/app/views/complaints/_complaints_button.html.erb +++ b/app/views/complaints/_complaints_button.html.erb @@ -1,7 +1,5 @@ -<button type="button" class="btn btn-default btn-xs add_to_complaint " data-toggle="button" data-trigger="click" aria-pressed="false" autocomplete="off" title="Denunciar Objeto" border-style: "none" > - <%= image_tag "icons/report-circle.png", alt: "Denunciar objeto" %> -</button> - -<div id="complaints_list_popover" class="popover"> - <%= render 'complaints/form' %> -</div> +<a type="button" class="add_to_complaint" data-toggle="modal" data-target="#complaints_list_modal" title="Denunciar Objeto"> + <%= image_tag "icons/report-circle.png", alt: "Denunciar objeto" %> + <h6 style="color: #F05A28">denunciar objeto</h6> +</a> +<%= render 'complaints/form' %> diff --git a/app/views/complaints/_form.html.erb b/app/views/complaints/_form.html.erb index 4030609525fc3ca93bf09efd98221270436fe360..fd89e3e83c024f372647a24f51b9e1ccfcd31f3d 100644 --- a/app/views/complaints/_form.html.erb +++ b/app/views/complaints/_form.html.erb @@ -1,33 +1,31 @@ - -<%= form_for [:management, @complaint] do |f| %> - <fieldset> - - <div class="ls-label " > - - - <%= f.collection_radio_buttons :message, @messages, :message, :message do |m| %> - <div class="radio" > - <%= f.radio_button :message, m.text %> - <%= f.label :message, m.text %> - </div> - <% end %> - - <br><br> - <div align="center"> - <%= f.text_area :description, placeholder: "mais informações", rows: "10", cols: "30" %> +<div class="modal fade" id="complaints_list_modal" tabindex="-1" role="dialog" aria-labelledby="complaints_list_modal_label"> + <div class="modal-dialog" role="document"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> + <h4 class="modal-title" id="myModalLabel">Denunciar objeto</h4> </div> - - </div> - - <%= f.hidden_field :object_rid, value: @learning_object.id %> - </fieldset> - - - - <div align="center" > - <%= f.submit "Salvar", class:"submit_button" %> - <%#= link_to "Fechar",{}, class:"close_button" %> - <!--<button id="btn-fechar" class="btn btn-danger" data-dismiss="clickover">Fechar</button>--> - + <%= form_for @complaint do |f| %> + <div class="modal-body" style="text-align:justify"> + <fieldset> + <div class="ls-label"> + <%= f.collection_radio_buttons :message, @messages, :message, :message do |m| %> + <div class="radio"> + <%= f.radio_button :message, m.text %> + <%= f.label :message, m.text %> + </div> + <% end %> + <br> + <%= f.text_area :description, placeholder: "mais informações", rows: "10", style: "width:100%" %> + </div> + <%= f.hidden_field :object_rid, value: @learning_object.id %> + </fieldset> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button> + <%= f.submit "Denunciar", class:"btn btn-danger submit_button" %> + </div> + <% end %> + </div> </div> - <%end%> +</div> diff --git a/app/views/learning_objects/show.html.erb b/app/views/learning_objects/show.html.erb index 3ad6e153d7163f9ad61a7f51f855a7e0eab474f8..97b0d5d40b559d7e32755d0d3051fb8071db723b 100644 --- a/app/views/learning_objects/show.html.erb +++ b/app/views/learning_objects/show.html.erb @@ -60,13 +60,7 @@ </a> </div> <div class="col-md-3 action"> - <a type="button" class="add_to_complaint" data-toggle="popover" title="Denunciar Objeto"> - <%= image_tag "icons/report-circle.png", alt: "Denunciar objeto" %> - <h6 style="color: #F05A28">denunciar objeto</h6> - </a> - <div id="complaints_list_popover" class="popover"> - <%= render 'complaints/form' %> - </div> + <%= render 'complaints/complaints_button' %> </div> <% else %> <br/> diff --git a/app/views/management/institutions/index.html.erb b/app/views/management/institutions/index.html.erb index d7e667fa6d655beed2489b5764729a3bf04d8891..5fb2120a2b775dab3172887b6c3bf29969d3f289 100644 --- a/app/views/management/institutions/index.html.erb +++ b/app/views/management/institutions/index.html.erb @@ -25,7 +25,7 @@ <td><%= institution.address %></td> <td><%= institution.description %></td> <!-- <td class="ls-txt-right ls-regroup"><%= link_to 'Editar', edit_management_institution_path(institution.id) %></td> --> - <td><%= link_to 'Usuários', 'javascript:void(0);', 'data-institution':ERB::Util.url_encode(institution.id) %></td> + <td><%= link_to 'Usuários', 'javascript:void(0);', class: 'ls-btn-primary', 'data-institution': ERB::Util.url_encode(institution.id), 'data-ls-module': 'popover', 'data-content': '<span class="institution" data-institution="'+institution.id+'"></span>Carregando...', 'data-placement': 'bottom' %></td> <td><%= link_to 'Excluir', management_institution_path(institution.id), method: :delete, data: { confirm: 'Você tem certeza?' } %></td> </tr> <% end %> diff --git a/config/routes.rb b/config/routes.rb index b91e3f669aab63f2f11034053a4699eef1cfb37d..8f9fe1a315fa633296b4838fe14e298e0326eb59 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,7 +9,7 @@ Rails.application.routes.draw do namespace :management do root 'welcome#index' - resource :complaints + resource :complaints, except: ['create'] resources :institutions do member do post '/user/:user_id', as: :add_user, action: :add_user @@ -46,7 +46,11 @@ Rails.application.routes.draw do end root 'welcome#index' + resources :subjects, only: [:index, :show] + + resource :complaints, only: ['create'] + resources :institutions do member do get :users