Description:
manage
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r877:93c4562b9761 - - The requested commit is too big and content was truncated. 14 files changed. Show full diff

new file 100644
@@ -1,1 +1,5
1 1 $font-size-base: 0.875rem;
2 +
3 + $primary: #0074d9;
4 + //$danger: #ff4136;
5 +
@@ -35,6 +35,7
35 35 def create
36 36 @user = User.new(user_params)
37 37 @user.activated = true
38 + byebug
38 39 if @user.save
39 40 flash[:notice] = 'User was successfully created.'
40 41 redirect_to :action => 'index'
@@ -44,6 +44,7
44 44 /* */
45 45
46 46 import "select2"
47 + import "chart"
47 48
48 49 //my own customization
49 50 import 'custom'
@@ -43,6 +43,3
43 43
44 44 //jQuery(".best_in_place").best_in_place();
45 45 });
46 -
47 - // ---
48 - // generated by coffee-script 1.9.2
@@ -26,8 +26,8
26 26
27 27 has_one :contest_stat, :class_name => "UserContestStat", :dependent => :destroy
28 28
29 - belongs_to :site
30 - belongs_to :country
29 + belongs_to :site, optional: true
30 + belongs_to :country, optional: true
31 31
32 32 has_and_belongs_to_many :contests, -> { order(:name)}
33 33
@@ -45,12 +45,12
45 45 validates_length_of :password, :within => 4..50, :if => :password_required?
46 46 validates_confirmation_of :password, :if => :password_required?
47 47
48 - validates_format_of :email,
49 - :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i,
48 + validates_format_of :email,
49 + :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i,
50 50 :if => :email_validation?
51 - validate :uniqueness_of_email_from_activated_users,
51 + validate :uniqueness_of_email_from_activated_users,
52 52 :if => :email_validation?
53 - validate :enough_time_interval_between_same_email_registrations,
53 + validate :enough_time_interval_between_same_email_registrations,
54 54 :if => :email_validation?
55 55
56 56 # these are for ytopc
@@ -10,10 +10,10
10 10 .panel-heading
11 11 Grader control:
12 12 .panel-body
13 - =link_to 'Start Graders in grading env', { action: 'start_grading'}, class: 'btn btn-default'
14 - =link_to 'Start Graders in exam env', { action: 'start_exam'}, class: 'btn btn-default'
15 - =link_to 'Stop all running Graders', { action: 'stop_all'}, class: 'btn btn-default'
16 - =link_to 'Clear all data', { action: 'clear_all'}, class: 'btn btn-default'
13 + =link_to 'Start Graders in grading env', { action: 'start_grading'}, class: 'btn btn-secondary'
14 + =link_to 'Start Graders in exam env', { action: 'start_exam'}, class: 'btn btn-secondary'
15 + =link_to 'Stop all running Graders', { action: 'stop_all'}, class: 'btn btn-secondary'
16 + =link_to 'Clear all data', { action: 'clear_all'}, class: 'btn btn-secondary'
17 17
18 18 .row
19 19 .col-md-6
@@ -1,27 +1,7
1 - = form_for @group do |f|
2 - - if @group.errors.any?
3 - #error_explanation
4 - %h2= "#{pluralize(@group.errors.count, "error")} prohibited this group from being saved:"
5 - %ul
6 - - @group.errors.full_messages.each do |msg|
7 - %li= msg
8 - .row
9 - .col-md-6
10 - .form-group.field
11 - = f.label :name
12 - = f.text_field :name, class: 'form-control'
13 - .row
14 - .col-md-6
15 - .form-group.field
16 - = f.label :description
17 - = f.text_field :description, class: 'form-control'
18 - .row
19 - .col-md-6
20 - .checkbox
21 - = f.label :enabled do
22 - = f.check_box :enabled
23 - Enabled
24 - .row
25 - .col-md-6
26 - .form-group.actions
27 - = f.submit 'Save', class: 'btn btn-primary'
1 + .row
2 + .col-md-6
3 + = simple_form_for @group do |f|
4 + = f.input :name
5 + = f.input :description
6 + = f.input :enabled
7 + = f.button :submit, class: 'btn btn-primary'
@@ -2,6 +2,8
2 2
3 3 = render 'form'
4 4
5 - = link_to 'Show', @group
6 - \|
7 - = link_to 'Back', groups_path
5 + .row.my-3
6 + .col-auto
7 + = link_to 'Edit members and problems', @group, class: 'btn btn-info'
8 + .col-auto
9 + = link_to 'Back', groups_path, class: 'btn btn-secondary'
@@ -1,7 +1,7
1 1 %h1 Groups
2 2
3 3 %p
4 - = link_to 'New Group', new_group_path, class: 'btn btn-primary'
4 + = link_to 'New Group', new_group_path, class: 'btn btn-success'
5 5 %table.table.table-hover
6 6 %thead
7 7 %tr
@@ -9,16 +9,15
9 9 %th Description
10 10 %th Enabled?
11 11 %th
12 - %th
13 -
14 12 %tbody
15 13 - @groups.each do |group|
16 14 %tr{:class => "#{(group.enabled?) ? "success" : "danger"}", id: "group-#{group.id}"}
17 15 %td= group.name
18 16 %td= group.description
19 - %td= toggle_button(group.enabled?, toggle_group_path(group), "group-enabled-#{group.id}", size: ' ', block: ' ')
20 - %td= link_to 'View', group, class: 'btn btn-default'
21 - %td= link_to 'Destroy', group, :method => :delete, :data => { :confirm => 'Are you sure?' }, class: 'btn btn-danger'
17 + %td= toggle_button(group.enabled?, toggle_group_path(group), "group-enabled-#{group.id}", block: ' ')
18 + %td
19 + = link_to 'Edit members and problems', group, class: 'btn btn-secondary btn-sm'
20 + = link_to 'Destroy', group, :method => :delete, :data => { :confirm => 'Are you sure?' }, class: 'btn btn-danger btn-sm'
22 21
23 22 %br
24 23
@@ -1,82 +1,92
1 - .container-fluid
2 - .row
3 - .col-md-6
4 - %h1 Group #{@group.name}
5 - .row
6 - .col-md-6
7 - %b Description:
8 - = @group.description
9 - %br
10 - = link_to 'Edit', edit_group_path(@group), class: 'btn btn-primary'
11 - .row
12 - .col-md-12
13 - %h1 Group details
14 - .row
15 - .col-md-6
16 - .panel.panel-default
17 - .panel-heading
18 - .panel-title Users in this group
19 - .panel-body
20 - %ul
21 - %li
22 - If you want to add several users to a group, it may be easier to just re-import those users in
23 - = link_to 'New list of users', new_list_user_admin_index_path
24 - page. You can also use
25 - = link_to 'Bulk Manage User', bulk_manage_user_admin_index_path
26 - page.
27 - =form_tag add_user_group_path(@group), class: 'form-inline' do
28 - .form-group
29 - =label_tag :user_id, "User"
1 + .row.mb-3
2 + .col-md-6
3 + %h1 Editing Group members and problems
4 + .row.mb-3
5 + .col-md-6
6 + %b Name:
7 + = @group.name
8 + .row.mb-3
9 + .col-md-6
10 + %b Description:
11 + = @group.description
12 + .row.mb-3
13 + .col-md-6
14 + = link_to 'Edit', edit_group_path(@group), class: 'btn btn-primary'
15 + .row.mb-3
16 + .col-md-12
17 + %h1 Group details
18 + .row
19 + .col-md-6
20 + .card
21 + .card-header
22 + Users in this group
23 + .card-body
24 + %ul
25 + %li
26 + If you want to add several users to a group, it may be easier to just re-import those users in
27 + = link_to 'New list of users', new_list_user_admin_index_path
28 + page. You can also use
29 + = link_to 'Bulk Manage User', bulk_manage_user_admin_index_path
30 + page.
31 + =form_tag add_user_group_path(@group), class: 'form-inline' do
32 + .row
33 + .col-auto
34 + =label_tag :user_id, "User", class: 'col-form-label'
35 + .col-auto
30 36 =select_tag :user_id, options_from_collection_for_select(User.all,'id','login_with_name'), class: 'select2', style: 'width: 25em';
31 - =submit_tag "Add",class: 'btn btn-primary'
37 + .col-auto
38 + =submit_tag "Add",class: 'btn btn-primary'
32 39
33 40
34 - %table.table.table-hover
35 - %thead
36 - %tr
37 - %th Login
38 - %th Full name
39 - %th Remark
40 - %th= link_to 'Remove All', remove_all_user_group_path(@group), method: :delete, :data => { :confirm => "Remove ALL USERS from group?" }, class: 'btn btn-danger btn-sm'
41 + %table.table.table-hover
42 + %thead
43 + %tr
44 + %th Login
45 + %th Full name
46 + %th Remark
47 + %th= link_to 'Remove All', remove_all_user_group_path(@group), method: :delete, :data => { :confirm => "Remove ALL USERS from group?" }, class: 'btn btn-danger btn-sm'
41 48
42 - %tbody
43 - - @group.users.each do |user|
44 - %tr
45 - %td= user.login
46 - %td= user.full_name
47 - %td= user.remark
48 - %td= link_to 'Remove', remove_user_group_path(@group,user), :method => :delete, :data => { :confirm => "Remove #{user.full_name}?" }, class: 'btn btn-danger btn-sm'
49 - .col-md-6
50 - .panel.panel-default
51 - .panel-heading
52 - .panel-title Problems
53 - .panel-body
54 - %ul
55 - %li
56 - If you want to add several problem to a group, it may be easier to bulk manage them in the
57 - = link_to 'Bulk Manage Problems', manage_problems_path
58 - page
59 - =form_tag add_problem_group_path(@group), class: 'form-inline' do
60 - .form-group
61 - =label_tag :problem_id, "Problem"
49 + %tbody
50 + - @group.users.each do |user|
51 + %tr
52 + %td= user.login
53 + %td= user.full_name
54 + %td= user.remark
55 + %td= link_to 'Remove', remove_user_group_path(@group,user), :method => :delete, :data => { :confirm => "Remove #{user.full_name}?" }, class: 'btn btn-danger btn-sm'
56 + .col-md-6
57 + .card
58 + .card-header
59 + Problems
60 + .card-body
61 + %ul
62 + %li
63 + If you want to add several problem to a group, it may be easier to bulk manage them in the
64 + = link_to 'Bulk Manage Problems', manage_problems_path
65 + page
66 + =form_tag add_problem_group_path(@group) do
67 + .row
68 + .col-auto
69 + =label_tag :problem_id, "Problem",class: 'col-form-label'
70 + .col-auto
62 71 =select_tag :problem_id, options_from_collection_for_select(Problem.all,'id','long_name'), class: 'select2', style: 'width: 25em';
63 - =submit_tag "Add",class: 'btn btn-primary'
72 + .col-auto
73 + =submit_tag "Add",class: 'btn btn-primary'
64 74
65 75
66 - %table.table.table-hover
67 - %thead
68 - %tr
69 - %th name
70 - %th Full name
71 - %th Full score
72 - %th= link_to 'Remove All', remove_all_problem_group_path(@group), method: :delete, :data => { :confirm => "Remove ALL PROBLEMS from group?" }, class: 'btn btn-danger btn-sm'
76 + %table.table.table-hover
77 + %thead
78 + %tr
79 + %th name
80 + %th Full name
81 + %th Full score
82 + %th= link_to 'Remove All', remove_all_problem_group_path(@group), method: :delete, :data => { :confirm => "Remove ALL PROBLEMS from group?" }, class: 'btn btn-danger btn-sm'
73 83
74 - %tbody
75 - - @group.problems.each do |problem|
76 - %tr
77 - %td= problem.name
78 - %td= problem.full_name
79 - %td= problem.full_score
80 - %td= link_to 'Remove', remove_problem_group_path(@group,problem), :method => :delete, :data => { :confirm => "Remove #{problem.full_name}?" }, class: 'btn btn-danger btn-sm'
84 + %tbody
85 + - @group.problems.each do |problem|
86 + %tr
87 + %td= problem.name
88 + %td= problem.full_name
89 + %td= problem.full_score
90 + %td= link_to 'Remove', remove_problem_group_path(@group,problem), :method => :delete, :data => { :confirm => "Remove #{problem.full_name}?" }, class: 'btn btn-danger btn-sm'
81 91
82 92
@@ -135,21 +135,22
135 135 = "#{value[:first][:value]} @"
136 136 = link_to "#" + value[:first][:sub_id].to_s, submission_path( value[:first][:sub_id])
137 137
138 - %script{src:"https://cdn.jsdelivr.net/npm/chart.js"}
139 138 :javascript
140 - data = #{@chart_dataset}
141 - config = {
142 - type: 'bar',
143 - data: data,
144 - options: {
145 - plugins: {
146 - legend: {
147 - display: false
139 + $(document).on('import-map-loaded',(e) => {
140 + data = #{@chart_dataset}
141 + config = {
142 + type: 'bar',
143 + data: data,
144 + options: {
145 + plugins: {
146 + legend: {
147 + display: false
148 + },
148 149 },
149 - },
150 + }
150 151 }
151 - }
152 - Chart.defaults.font.size = 15
153 - //Chart.defaults.font.family = 'Sarabun Light'
154 - chart = new Chart($('#chart'),config)
152 + Chart.defaults.font.size = 15
153 + //Chart.defaults.font.family = 'Sarabun Light'
154 + chart = new Chart($('#chart'),config)
155 + });
155 156
@@ -49,16 +49,6
49 49 = link_to "[#{contest.name}]", :action => 'contests', :id => contest.id
50 50 = link_to "[no contest]", :action => 'contests', :id => 'none'
51 51
52 - -# Total #{@user_count} users |
53 - -# - if !@paginated
54 - -# Display all users.
55 - -# \#{link_to '[show in pages]', :action => 'index', :page => '1'}
56 - -# - else
57 - -# Display in pages.
58 - -# \#{link_to '[display all]', :action => 'index', :page => 'all'} |
59 - -# \#{will_paginate @users, :container => false}
60 -
61 -
62 52 %table.table.table-hover.table-condense.datatable
63 53 %thead
64 54 %th Login
@@ -85,10 +75,10
85 75 %td= toggle_button(user.activated?, toggle_activate_user_path(user),"toggle_activate_user_#{user.id}")
86 76 %td= toggle_button(user.enabled?, toggle_enable_user_path(user),"toggle_enable_user_#{user.id}")
87 77 %td= user.last_ip
88 - %td= link_to 'Clear IP', {:action => 'clear_last_ip', :id => user, :page=>params[:page]}, :confirm => 'This will reset last logging in ip of the user, are you sure?', class: 'btn btn-default btn-xs btn-block'
89 - %td= link_to 'Show', {:action => 'show', :id => user}, class: 'btn btn-default btn-xs btn-block'
90 - %td= link_to 'Edit', {:action => 'edit', :id => user}, class: 'btn btn-default btn-xs btn-block'
91 - %td= link_to 'Destroy', {action: :destroy, id: user}, data: {confirm: 'Are you sure?'}, method: :delete, class: 'btn btn-danger btn-xs btn-block'
78 + %td= link_to 'Clear IP', {:action => 'clear_last_ip', :id => user, :page=>params[:page]}, :confirm => 'This will reset last logging in ip of the user, are you sure?', class: 'btn btn-secondary btn-sm btn-block'
79 + %td= link_to 'Show', {:action => 'show', :id => user}, class: 'btn btn-secondary btn-sm btn-block'
80 + %td= link_to 'Edit', {:action => 'edit', :id => user}, class: 'btn btn-secondary btn-sm btn-block'
81 + %td= link_to 'Destroy', {action: :destroy, id: user}, data: {confirm: 'Are you sure?'}, method: :delete, class: 'btn btn-danger btn-sm btn-block'
92 82 %br/
93 83 = link_to '+ New user', { :action => 'new' }, { class: 'btn btn-success '}
94 84 = link_to '+ New list of users', { :action => 'new_list' }, { class: 'btn btn-success '}
@@ -55,3 +55,4
55 55 pin "custom", to: "custom.js"
56 56
57 57 #pin "ace-rails-ap"
58 + pin "chart", to: 'chart.js' # @3.9.1
You need to be logged in to leave comments. Login now