Merge branch 'dev_aliyun' of http://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_sync_trustie
cxt 5 years ago
commit 12c05c262b

@ -15,15 +15,19 @@ $(document).on('turbolinks:load', function(){
var $unlockAction = $lockAction.siblings('.unlock-action');
var userId = $lockAction.data('id');
$.ajax({
url: '/admins/users/' + userId + '/lock',
method: 'POST',
dataType: 'json',
success: function() {
showSuccessNotify();
$lockAction.hide();
$unlockAction.show();
customConfirm({
content: '确认加锁吗?',
ok: function(){
$.ajax({
url: '/admins/users/' + userId + '/lock',
method: 'POST',
dataType: 'json',
success: function() {
showSuccessNotify();
$lockAction.hide();
$unlockAction.show();
}
});
}
});
});
@ -34,17 +38,21 @@ $(document).on('turbolinks:load', function(){
var $lockAction = $unlockAction.siblings('.lock-action');
var userId = $unlockAction.data('id');
$.ajax({
url: '/admins/users/' + userId + '/unlock',
method: 'POST',
dataType: 'json',
success: function() {
showSuccessNotify();
$lockAction.show();
$unlockAction.hide();
customConfirm({
content: '确认解锁吗?',
ok: function () {
$.ajax({
url: '/admins/users/' + userId + '/unlock',
method: 'POST',
dataType: 'json',
success: function() {
showSuccessNotify();
$lockAction.show();
$unlockAction.hide();
}
});
}
});
})
});
// active user
@ -54,18 +62,22 @@ $(document).on('turbolinks:load', function(){
var $lockAction = $activeAction.siblings('.lock-action');
var userId = $activeAction.data('id');
$.ajax({
url: '/admins/users/' + userId + '/unlock',
method: 'POST',
dataType: 'json',
success: function() {
showSuccessNotify();
$activeAction.hide();
$lockAction.show();
$unlockAction.hide();
customConfirm({
content: '确认激活吗?',
ok: function () {
$.ajax({
url: '/admins/users/' + userId + '/unlock',
method: 'POST',
dataType: 'json',
success: function() {
showSuccessNotify();
$activeAction.hide();
$lockAction.show();
$unlockAction.hide();
}
});
}
});
})
});
// ***************** reward grade modal *****************

@ -32,13 +32,13 @@ class Admins::UsersController < Admins::BaseController
end
def lock
User.find(params[:user_id]).lock!
User.find(params[:id]).lock!
render_ok
end
def unlock
User.find(params[:user_id]).activate!
User.find(params[:id]).activate!
render_ok
end

@ -33,14 +33,14 @@
<%= javascript_void_link('奖励', class: 'action reward-grade-action', data: { toggle: 'modal', target: '.admin-users-reward-grade-modal', id: user.id }) %>
<%= javascript_void_link '解锁', class: 'action unlock-action', data: { id: user.id, confirm: '确认解锁吗?' }, style: user.locked? ? '' : 'display: none;' %>
<%= javascript_void_link '解锁', class: 'action unlock-action', data: { id: user.id }, style: user.locked? ? '' : 'display: none;' %>
<% if user.registered? %>
<%= javascript_void_link '激活', class: 'action active-action', data: { id: user.id, confirm: '确认激活吗?' } %>
<%= javascript_void_link '激活', class: 'action active-action', data: { id: user.id } %>
<% end %>
<% if user.id != current_user.id %>
<%= javascript_void_link '加锁', class: 'action lock-action', data: { id: user.id, confirm: '确认加锁吗?' }, style: user.locked? || user.registered? ? 'display: none;' : '' %>
<%= javascript_void_link '加锁', class: 'action lock-action', data: { id: user.id }, style: user.locked? || user.registered? ? 'display: none;' : '' %>
<% end %>
<%= delete_link '删除', admins_user_path(user, element: ".user-item-#{user.id}"), class: 'delete-user-action' %>

@ -17,9 +17,9 @@
teacher_ids:
enroll_forbidden: "本竞赛的参赛者限定为:学生"
invalid_count: "教师数量应为%{minimum}~%{maximum}人"
enrolled: "教师 ${names} 已加入其它战队了"
enrolled: "教师 %{names} 已加入其它战队了"
member_ids:
enroll_forbidden: "本竞赛的参赛者限定为:教师"
invalid_count: "队员数量应为%{minimum}~%{maximum}人"
enrolled: "队员 ${names} 已加入其它战队了"
enrolled: "队员 %{names} 已加入其它战队了"

File diff suppressed because one or more lines are too long

@ -19161,6 +19161,362 @@ body[class*=jconfirm-no-scroll-] {
transform: scale(1);
}
/*!
* Datetimepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker {
padding: 4px;
margin-top: 1px;
border-radius: 4px;
direction: ltr;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-inline {
width: 220px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker.datetimepicker-rtl {
direction: rtl;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker.datetimepicker-rtl table tr td span {
float: right;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown, .datetimepicker-dropdown-left {
top: 0;
left: 0;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
[class*=" datetimepicker-dropdown"]:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
[class*=" datetimepicker-dropdown"]:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #fff;
position: absolute;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
[class*=" datetimepicker-dropdown-top"]:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 7px solid #ccc;
border-top-color: rgba(0, 0, 0, 0.2);
border-bottom: 0;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
[class*=" datetimepicker-dropdown-top"]:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid #fff;
border-bottom: 0;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-bottom-left:before {
top: -7px;
right: 6px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-bottom-left:after {
top: -6px;
right: 7px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-bottom-right:before {
top: -7px;
left: 6px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-bottom-right:after {
top: -6px;
left: 7px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-top-left:before {
bottom: -7px;
right: 6px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-top-left:after {
bottom: -6px;
right: 7px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-top-right:before {
bottom: -7px;
left: 6px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker-dropdown-top-right:after {
bottom: -6px;
left: 7px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker > div {
display: none;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker.minutes div.datetimepicker-minutes {
display: block;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker.hours div.datetimepicker-hours {
display: block;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker.days div.datetimepicker-days {
display: block;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker.months div.datetimepicker-months {
display: block;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker.years div.datetimepicker-years {
display: block;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table {
margin: 0;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker td, .datetimepicker th {
text-align: center;
width: 20px;
height: 20px;
border-radius: 4px;
border: 0;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.table-striped .datetimepicker table tr td, .table-striped .datetimepicker table tr th {
background-color: transparent;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.minute:hover {
background: #eee;
cursor: pointer;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.hour:hover {
background: #eee;
cursor: pointer;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.day:hover {
background: #eee;
cursor: pointer;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.old, .datetimepicker table tr td.new {
color: #999;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.disabled, .datetimepicker table tr td.disabled:hover {
background: 0;
color: #999;
cursor: default;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.today, .datetimepicker table tr td.today:hover, .datetimepicker table tr td.today.disabled, .datetimepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -webkit-gradient(linear, left top, left bottom, from(#fdd49a), to(#fdf59a));
background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.today:hover, .datetimepicker table tr td.today:hover:hover, .datetimepicker table tr td.today.disabled:hover, .datetimepicker table tr td.today.disabled:hover:hover, .datetimepicker table tr td.today:active, .datetimepicker table tr td.today:hover:active, .datetimepicker table tr td.today.disabled:active, .datetimepicker table tr td.today.disabled:hover:active, .datetimepicker table tr td.today.active, .datetimepicker table tr td.today:hover.active, .datetimepicker table tr td.today.disabled.active, .datetimepicker table tr td.today.disabled:hover.active, .datetimepicker table tr td.today.disabled, .datetimepicker table tr td.today:hover.disabled, .datetimepicker table tr td.today.disabled.disabled, .datetimepicker table tr td.today.disabled:hover.disabled, .datetimepicker table tr td.today[disabled], .datetimepicker table tr td.today:hover[disabled], .datetimepicker table tr td.today.disabled[disabled], .datetimepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.today:active, .datetimepicker table tr td.today:hover:active, .datetimepicker table tr td.today.disabled:active, .datetimepicker table tr td.today.disabled:hover:active, .datetimepicker table tr td.today.active, .datetimepicker table tr td.today:hover.active, .datetimepicker table tr td.today.disabled.active, .datetimepicker table tr td.today.disabled:hover.active {
background-color: #fbf069;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.active, .datetimepicker table tr td.active:hover, .datetimepicker table tr td.active.disabled, .datetimepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#04c));
background-image: linear-gradient(to bottom, #08c, #04c);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);
border-color: #04c #04c #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.active:hover, .datetimepicker table tr td.active:hover:hover, .datetimepicker table tr td.active.disabled:hover, .datetimepicker table tr td.active.disabled:hover:hover, .datetimepicker table tr td.active:active, .datetimepicker table tr td.active:hover:active, .datetimepicker table tr td.active.disabled:active, .datetimepicker table tr td.active.disabled:hover:active, .datetimepicker table tr td.active.active, .datetimepicker table tr td.active:hover.active, .datetimepicker table tr td.active.disabled.active, .datetimepicker table tr td.active.disabled:hover.active, .datetimepicker table tr td.active.disabled, .datetimepicker table tr td.active:hover.disabled, .datetimepicker table tr td.active.disabled.disabled, .datetimepicker table tr td.active.disabled:hover.disabled, .datetimepicker table tr td.active[disabled], .datetimepicker table tr td.active:hover[disabled], .datetimepicker table tr td.active.disabled[disabled], .datetimepicker table tr td.active.disabled:hover[disabled] {
background-color: #04c;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td.active:active, .datetimepicker table tr td.active:hover:active, .datetimepicker table tr td.active.disabled:active, .datetimepicker table tr td.active.disabled:hover:active, .datetimepicker table tr td.active.active, .datetimepicker table tr td.active:hover.active, .datetimepicker table tr td.active.disabled.active, .datetimepicker table tr td.active.disabled:hover.active {
background-color: #039;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
border-radius: 4px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker .datetimepicker-hours span {
height: 26px;
line-height: 26px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker .datetimepicker-hours table tr td span.hour_am, .datetimepicker .datetimepicker-hours table tr td span.hour_pm {
width: 14.6%;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker .datetimepicker-hours fieldset legend, .datetimepicker .datetimepicker-minutes fieldset legend {
margin-bottom: inherit;
line-height: 30px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker .datetimepicker-minutes span {
height: 26px;
line-height: 26px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td span:hover {
background: #eee;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td span.disabled, .datetimepicker table tr td span.disabled:hover {
background: 0;
color: #999;
cursor: default;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td span.active, .datetimepicker table tr td span.active:hover, .datetimepicker table tr td span.active.disabled, .datetimepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -webkit-gradient(linear, left top, left bottom, from(#08c), to(#04c));
background-image: linear-gradient(to bottom, #08c, #04c);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);
border-color: #04c #04c #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td span.active:hover, .datetimepicker table tr td span.active:hover:hover, .datetimepicker table tr td span.active.disabled:hover, .datetimepicker table tr td span.active.disabled:hover:hover, .datetimepicker table tr td span.active:active, .datetimepicker table tr td span.active:hover:active, .datetimepicker table tr td span.active.disabled:active, .datetimepicker table tr td span.active.disabled:hover:active, .datetimepicker table tr td span.active.active, .datetimepicker table tr td span.active:hover.active, .datetimepicker table tr td span.active.disabled.active, .datetimepicker table tr td span.active.disabled:hover.active, .datetimepicker table tr td span.active.disabled, .datetimepicker table tr td span.active:hover.disabled, .datetimepicker table tr td span.active.disabled.disabled, .datetimepicker table tr td span.active.disabled:hover.disabled, .datetimepicker table tr td span.active[disabled], .datetimepicker table tr td span.active:hover[disabled], .datetimepicker table tr td span.active.disabled[disabled], .datetimepicker table tr td span.active.disabled:hover[disabled] {
background-color: #04c;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td span.active:active, .datetimepicker table tr td span.active:hover:active, .datetimepicker table tr td span.active.disabled:active, .datetimepicker table tr td span.active.disabled:hover:active, .datetimepicker table tr td span.active.active, .datetimepicker table tr td span.active:hover.active, .datetimepicker table tr td span.active.disabled.active, .datetimepicker table tr td span.active.disabled:hover.active {
background-color: #039;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker table tr td span.old {
color: #999;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker th.switch {
width: 145px;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker th span.glyphicon {
pointer-events: none;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker thead tr:first-child th, .datetimepicker tfoot th {
cursor: pointer;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.datetimepicker thead tr:first-child th:hover, .datetimepicker tfoot th:hover {
background: #eee;
}
/* line 9, app/assets/stylesheets/bootstrap-datetimepicker.min.css */
.input-append.date .add-on i, .input-prepend.date .add-on i, .input-group.date .input-group-addon span {
cursor: pointer;
width: 14px;
height: 14px;
}
/* BASICS */
/* line 3, vendor/assets/codemirror/lib/codemirror.css */
.CodeMirror {
@ -26125,7 +26481,7 @@ input.form-control {
flex: 3;
}
/* line 18, app/assets/stylesheets/admin.scss */
/* line 19, app/assets/stylesheets/admin.scss */
body {
width: 100vw;
height: 100vh;
@ -26140,28 +26496,28 @@ body {
overflow: hidden;
}
/* line 32, app/assets/stylesheets/admin.scss */
/* line 33, app/assets/stylesheets/admin.scss */
.simple_form .form-group .collection_radio_buttons {
margin-bottom: 0px;
}
/* line 36, app/assets/stylesheets/admin.scss */
/* line 37, app/assets/stylesheets/admin.scss */
.simple_form .form-group .form-check-inline {
height: calc(1.5em + 0.75rem + 2px);
}
/* line 42, app/assets/stylesheets/admin.scss */
/* line 43, app/assets/stylesheets/admin.scss */
input.form-control {
font-size: 14px;
}
/* line 46, app/assets/stylesheets/admin.scss */
/* line 47, app/assets/stylesheets/admin.scss */
.btn-default {
color: #666;
background: #e1e1e1 !important;
}
/* line 50, app/assets/stylesheets/admin.scss */
/* line 51, app/assets/stylesheets/admin.scss */
.export-absolute {
right: 20px;
position: absolute;
Loading…
Cancel
Save