Merge branch 'dev' into virusdefender-dev
* dev: 由于修改了返回的时间的格式,原来的api是返回utc时间,现在直接返回北京时间了,于是测试还过不了,先注释掉了,明天改好 重新修改后台比赛编辑前后端时间不一致问题,修改了后端serializers,通过继承原来的serializer.DateTimeField类替换contestSerilazer中的DateTime.这会影响到contestAdminApi的return,并不影响其他页面.而且通过timezone.local()方法转换时区 添加前台小组申请和申请列表,的一系列页面,带测试,这个结构类似与题目和题目提交列表的样式和结构(页面的关系),写了简略的测试 [后端]这次commit跟上一次紧密相关,添加了接受和拒绝请求时对models里新加字段的操作 [后端]修改group.models里joinGroupRequest.添加了accept字段,用于标识此次请求是否被接受,用于前台展示 修改typo,修改旧的test的url,因为上午修改join_group的api的url [前端]修改我的提交页面错误的url[CI SKIP] 添加group详细页面url 修改原来申请加入小组的apiurl,原来是admin普通用户没法用 [修复]去掉urls中重复的匹配项
This commit is contained in:
@@ -149,16 +149,8 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
|
||||
vm.editingContestId = contestId;
|
||||
vm.editTitle = vm.contestList[contestId-1].title;
|
||||
vm.editPassword = vm.contestList[contestId-1].password;
|
||||
//var startTime = new Date(), endTime = new Date();
|
||||
//startTime.setFullYear(parseInt(vm.contestList[contestId-1].start_time.substring(0,4)))
|
||||
//startTime.setMonth(parseInt(vm.contestList[contestId-1].start_time.substring(5,7)))
|
||||
//startTime.setDate(parseInt(vm.contestList[contestId-1].start_time.substring(8,10)))
|
||||
//startTime.setHours(parseInt(vm.contestList[contestId-1].start_time.substring(11,13)))
|
||||
//startTime.setMinutes(parseInt(vm.contestList[contestId-1].start_time.substring(14,16)))
|
||||
//startTime = new Date(startTime + 8 * 60 * 60 * 1000)
|
||||
|
||||
vm.editStartTime = add8Hours(vm.contestList[contestId-1].start_time);
|
||||
vm.editEndTime = add8Hours(vm.contestList[contestId-1].end_time);//.substring(0,16).replace("T"," ");
|
||||
vm.editStartTime = vm.contestList[contestId-1].start_time.substring(0,16).replace("T"," ");
|
||||
vm.editEndTime = vm.contestList[contestId-1].end_time.substring(0,16).replace("T"," ");
|
||||
vm.editMode = vm.contestList[contestId-1].mode;
|
||||
vm.editVisible = vm.contestList[contestId-1].visible;
|
||||
if (vm.contestList[contestId-1].contest_type == 0) { //contest type == 0, contest in group
|
||||
@@ -300,39 +292,6 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "editor", "datetimePicker",
|
||||
});
|
||||
}
|
||||
|
||||
function add8Hours(UtcString) {
|
||||
console.log(UtcString);
|
||||
var M = [31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
||||
/*time.setFullYear(parseInt(UtcString.substring(0,4)))
|
||||
time.setMonth(parseInt(UtcString.substring(5,7)))
|
||||
time.setDate(parseInt(UtcString.substring(8,10)))
|
||||
time.setHours(parseInt(UtcString.substring(11,13)))
|
||||
time.setMinutes(parseInt(UtcString.substring(14,16)))
|
||||
time = new Date(time + 8 * 60 * 60 * 1000)*/
|
||||
var year =UtcString.substring(0,4);
|
||||
var month =UtcString.substring(5,7);
|
||||
var day =UtcString.substring(8,10);
|
||||
var hour =parseInt(UtcString.substring(11,13)) + 8;
|
||||
var minute = UtcString.substring(14,16);
|
||||
if (hour > 23) {
|
||||
hour -= 24; day = parseInt(day)+1; month = parseInt(month);
|
||||
if (month == 2) if (!(year%400)||(!(year%4)&&year%100)) M[2] = 29;
|
||||
if (day > M[month]) {
|
||||
day = 1;
|
||||
month = parseInt(month)+1;
|
||||
if (month > 12) {
|
||||
year=parseInt(year)+1; month = 1;
|
||||
}
|
||||
}
|
||||
month = month.toString();
|
||||
day = day.toString();
|
||||
if (month.length==1) month = "0"+month;
|
||||
if (day.length==1) day = "0"+day;
|
||||
}
|
||||
hour = hour.toString();
|
||||
if (hour.length==1) hour="0"+hour;
|
||||
return year+"-"+month+"-"+day+" "+hour+":"+minute;
|
||||
}
|
||||
// Get group list
|
||||
$.ajax({ // Get current user type
|
||||
url: "/api/user/",
|
||||
|
||||
25
static/src/js/app/oj/group/group.js
Normal file
25
static/src/js/app/oj/group/group.js
Normal file
@@ -0,0 +1,25 @@
|
||||
require(["jquery", "csrfToken", "bsAlert"], function ($, csrfTokenHeader, bsAlert) {
|
||||
$("#sendApplication").click(function (){
|
||||
var message = $("#applyMessage").val();
|
||||
console.log(message);
|
||||
var groupId = window.location.pathname.split("/")[2];
|
||||
console.log(groupId);
|
||||
data = {group_id: groupId,message:message}
|
||||
$.ajax({
|
||||
url: "/api/group_join/",
|
||||
method: "post",
|
||||
dataType: "json",
|
||||
beforeSend: csrfTokenHeader,
|
||||
data: JSON.stringify(data),
|
||||
contentType: "application/json",
|
||||
success: function (data) {
|
||||
if (data.code) {
|
||||
bsAlert(data.data);
|
||||
}
|
||||
else {
|
||||
bsAlert("申请已提交!");
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user