Description:
merge check multiple login from master (which grafts from java-bm)
Commit status:
[Not Reviewed]
References:
merge algo
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r502:b0abb7bd35dd - - 6 files changed: 84 inserted, 1 deleted

@@ -0,0 +1,37
1 + - content_for :header do
2 + = stylesheet_link_tag 'tablesorter-theme.cafe'
3 + = javascript_include_tag 'local_jquery'
4 +
5 + %h1 Login status
6 +
7 + =render partial: 'report_menu'
8 +
9 + Checking for all submissions with the currently available problem
10 +
11 + %h2 Users with Multiple IP
12 + %table.tablesorter-cafe#my_table
13 + %thead
14 + %tr
15 + %th login
16 + %th full name
17 + %th IP
18 + %tbody
19 + - @users.each do |l|
20 + %tr{class: cycle('info-even','info-odd')}
21 + %td= link_to l.user.login, controller: 'users', action: 'profile', id: l[:id]
22 + %td= l.user.full_name
23 + %td= l[:ip_address]
24 +
25 + %h2 IP with multiple users
26 + %table.tablesorter-cafe#my_table
27 + %thead
28 + %tr
29 + %th IP
30 + %th login
31 + %th full name
32 + %tbody
33 + - @ip.each do |l|
34 + %tr{class: cycle('info-even','info-odd')}
35 + %td= l[:ip_address]
36 + %td= link_to l.user.login, controller: 'users', action: 'profile', id: l[:id]
37 + %td= l.user.full_name
@@ -215,4 +215,41
215 @struggle = @struggle[0..50]
215 @struggle = @struggle[0..50]
216 end
216 end
217
217
218 +
219 + def multiple_login
220 + #user with multiple IP
221 + raw = Submission.joins(:user).joins(:problem).where("problems.available != 0").group("login,ip_address").order(:login)
222 + last,count = 0,0
223 + first = 0
224 + @users = []
225 + raw.each do |r|
226 + if last != r.user.login
227 + count = 1
228 + last = r.user.login
229 + first = r
230 + else
231 + @users << first if count == 1
232 + @users << r
233 + count += 1
234 + end
235 + end
236 +
237 + #IP with multiple user
238 + raw = Submission.joins(:user).joins(:problem).where("problems.available != 0").group("login,ip_address").order(:ip_address)
239 + last,count = 0,0
240 + first = 0
241 + @ip = []
242 + raw.each do |r|
243 + if last != r.ip_address
244 + count = 1
245 + last = r.ip_address
246 + first = r
247 + else
248 + @ip << first if count == 1
249 + @ip << r
250 + count += 1
251 + end
252 + end
253 + end
254 +
218 end
255 end
@@ -150,6 +150,12
150 end
150 end
151 @scorearray << ustat
151 @scorearray << ustat
152 end
152 end
153 + if params[:commit] == 'download csv' then
154 + csv = gen_csv_from_scorearray(@scorearray,@problems)
155 + send_data csv, filename: 'last_score.csv'
156 + else
157 + render template: 'user_admin/user_stat'
158 + end
153 end
159 end
154
160
155 def user_stat_max
161 def user_stat_max
@@ -13,7 +13,7
13 append_to menu_items, '[Problems]', 'problems', 'index'
13 append_to menu_items, '[Problems]', 'problems', 'index'
14 append_to menu_items, '[Users]', 'user_admin', 'index'
14 append_to menu_items, '[Users]', 'user_admin', 'index'
15 append_to menu_items, '[Results]', 'user_admin', 'user_stat'
15 append_to menu_items, '[Results]', 'user_admin', 'user_stat'
16 - append_to menu_items, '[Report]', 'report', 'login_stat'
16 + append_to menu_items, '[Report]', 'report', 'multiple_login'
17 append_to menu_items, '[Graders]', 'graders', 'list'
17 append_to menu_items, '[Graders]', 'graders', 'list'
18 append_to menu_items, '[Contests]', 'contest_management', 'index'
18 append_to menu_items, '[Contests]', 'contest_management', 'index'
19 append_to menu_items, '[Sites]', 'sites', 'index'
19 append_to menu_items, '[Sites]', 'sites', 'index'
@@ -34,6 +34,7
34 %th Submitted_at
34 %th Submitted_at
35 %th Points
35 %th Points
36 %th comment
36 %th comment
37 + %th IP
37 %tbody
38 %tbody
38 - row_odd,curr = true,''
39 - row_odd,curr = true,''
39 - @submissions.each do |sub|
40 - @submissions.each do |sub|
@@ -46,6 +47,7
46 %td= time_ago_in_words(sub.submitted_at) + " ago"
47 %td= time_ago_in_words(sub.submitted_at) + " ago"
47 %td= sub.points
48 %td= sub.points
48 %td.fix-width= sub.grader_comment
49 %td.fix-width= sub.grader_comment
50 + %td= sub.ip_address
49 - else
51 - else
50 No submission
52 No submission
51
53
@@ -5,3 +5,4
5 = link_to '[Hall of Fame]', :action => 'problem_hof'
5 = link_to '[Hall of Fame]', :action => 'problem_hof'
6 = link_to '[Struggle]', :action => 'stuck'
6 = link_to '[Struggle]', :action => 'stuck'
7 = link_to '[Login]', :action => 'login_stat'
7 = link_to '[Login]', :action => 'login_stat'
8 + = link_to '[Multiple Login]', :action => 'multiple_login'
You need to be logged in to leave comments. Login now