Skip to content
Snippets Groups Projects
Commit 6135028e authored by Giovanne Marcelo's avatar Giovanne Marcelo
Browse files

Fixing complaints statistics

parent 1d386d80
No related branches found
No related tags found
No related merge requests found
...@@ -19,8 +19,14 @@ ...@@ -19,8 +19,14 @@
//= require locastyle //= require locastyle
//= require turbolinks //= require turbolinks
//= require_tree ./management //= require_tree ./management
var teachers, curators, admins; var teachers, curators, admins;
var visualised,non_visualised; var visualised,non_visualised;
var n_complaints;
var complaints = [];
var complaints_names = [];
$(document).ready(function(){ $(document).ready(function(){
if (document.getElementById("lobject") !== null) { if (document.getElementById("lobject") !== null) {
visualised = document.getElementById("lobject").value; visualised = document.getElementById("lobject").value;
...@@ -35,13 +41,16 @@ $(document).ready(function(){ ...@@ -35,13 +41,16 @@ $(document).ready(function(){
var data_users = dataUsers(teachers,curators,admins); var data_users = dataUsers(teachers,curators,admins);
} }
if(document.getElementById("lcomplaints") != null) { if(document.getElementById("n_complaints") != null) {
n_complaints = document.getElementById("n_complaints").value;
for (i = 0; i < n_complaints; i++) {
complaints[i] = document.getElementById("complaints[" + i + "]").value;
complaints_names[i] = document.getElementById("complaints_names[" + i + "]").value;
}
false_user = document.getElementById("lcomplaints").value; var data_complaints = dataComplaints(complaints, complaints_names, n_complaints);
agressive_user = document.getElementById("lcomplaints_false").value;
offensive_object = document.getElementById("lcomplaints_offensive").value;
violates_copyright = document.getElementById("lcomplaints_violates").value;
var data_complaints = dataComplaints(false_user,agressive_user,offensive_object,violates_copyright);
} }
if (document.getElementById("lcollection") !== null) { if (document.getElementById("lcollection") !== null) {
......
...@@ -3,38 +3,37 @@ ...@@ -3,38 +3,37 @@
//confurações dos gráficos de linha //confurações dos gráficos de linha
//mais infos: www.chartjs.org/docs/ //mais infos: www.chartjs.org/docs/
function increase_brightness(hex, percent){
// strip the leading # if it's there
hex = hex.replace(/^\s*#|\s*$/g, '');
// convert 3 char codes --> 6, e.g. `E0F` --> `EE00FF`
if(hex.length == 3){
hex = hex.replace(/(.)/g, '$1$1');
}
var r = parseInt(hex.substr(0, 2), 16),
g = parseInt(hex.substr(2, 2), 16),
b = parseInt(hex.substr(4, 2), 16);
return '#' +
((0|(1<<8) + r + (256 - r) * percent / 100).toString(16)).substr(1) +
((0|(1<<8) + g + (256 - g) * percent / 100).toString(16)).substr(1) +
((0|(1<<8) + b + (256 - b) * percent / 100).toString(16)).substr(1);
}
//var visual = document.getElementById("object").value; //var visual = document.getElementById("object").value;
//alert(visual); //alert(visual);
function dataComplaints(false_user,agressive_user,offensive_object,violates_copyright) { function dataComplaints(complaints,complaints_names, n) {
var data = [
{ var data = [];
value: false_user,
color:"#68F000", for(i = 0; i < n; i++) {
highlight: "#a9ff67", var color = "#"+((1<<24)*Math.random()|0).toString(16);
label: "Usuários Falsos" var color_highlight = increase_brightness(color,20);
}, data[i] = {value: complaints[i], color: color, highlight: color_highlight, label: complaints_names[i]};
{ }
value: agressive_user,
color: "#F55858",
highlight: "#FC8787",
label: "Usuários Ofensivos/Agressivos"
},
{
value: offensive_object,
color: "#F9D60A",
highlight: "#fbe357",
label: "Objetos contém conteúdo Ofensivo/Abusivo"
},
{
value: violates_copyright,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Objeto viola direitos Autorais"
},
];
return data; return data;
} }
......
...@@ -39,7 +39,7 @@ class Management::StatisticsController < ManagementController ...@@ -39,7 +39,7 @@ class Management::StatisticsController < ManagementController
@complaints = Complaint.all @complaints = Complaint.all
@n_complaints = Complaint.count @n_complaints = Complaint.count
@complaints_objs = @complaints.map{|complaint| complaint.complaintable.name}.inject(Hash.new(0)) { |h,e| h[e] += 1; h } @complaints_objs = @complaints.map{|complaint| complaint.complaintable.name}.inject(Hash.new(0)) { |h,e| h[e] += 1; h }
@complaints_per_message = Complaint.group(:complaint_reason_id).count @complaints_per_message = Complaint.group(:complaint_reason).count.reduce({}){ |hash, (k, v)| hash.merge( k.reason => v ) }
end end
end end
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<div class="col-sm-6 col-md-6"> <div class="col-sm-6 col-md-6">
<div class="ls-box"> <div class="ls-box">
<h6 class="ls-title-4"><%= complaint.reason %></h6> <h6 class="ls-title-4"><%= complaint.reason %></h6>
<strong class="ls-color-theme"><%= @complaints_per_message[complaint.complaint_reason_id] %></strong> <strong class="ls-color-theme"><%= @complaints_per_message[complaint.reason] %></strong>
</div> </div>
</div> </div>
...@@ -37,10 +37,14 @@ ...@@ -37,10 +37,14 @@
</div> </div>
</div> </div>
<input type="hidden" id="lcomplaints" value="<%= @complaints_per_message[1] %>"/>
<input type="hidden" id="lcomplaints_false" value="<%= @complaints_per_message[2] %>"/> <input type="hidden" id=<%= "n_complaints" %> value="<%= @complaints_per_message.keys.size %>"/>
<input type="hidden" id="lcomplaints_offensive" value="<%= @complaints_per_message[3] %>"/> <% @complaints.each_with_index do |complaint,i| %>
<input type="hidden" id="lcomplaints_violates" value="<%= @complaints_per_message[4] %>"/> <input type="hidden" id=<%= "complaints[#{i}]" %> value="<%= @complaints_per_message[complaint.reason] %>"/>
<input type="hidden" id=<%= "complaints_names[#{i}]" %> value="<%= complaint.reason %>"/>
<% end %>
<div align="right" > <div align="right" >
</div> </div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment