mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2025-11-04 14:49:58 +08:00
针对添加学号字段对页面的一些修改,注册是学校为青岛大学则显示学号字段,在user settings页面显示学号,并提供修改
This commit is contained in:
parent
7d358c9e4c
commit
2d6be12a2f
@ -25,6 +25,7 @@ class UserRegisterSerializer(serializers.Serializer):
|
|||||||
password = serializers.CharField(max_length=30, min_length=6)
|
password = serializers.CharField(max_length=30, min_length=6)
|
||||||
email = serializers.EmailField(max_length=254)
|
email = serializers.EmailField(max_length=254)
|
||||||
captcha = serializers.CharField(max_length=4, min_length=4)
|
captcha = serializers.CharField(max_length=4, min_length=4)
|
||||||
|
student_id = serializers.CharField(max_length=15, required=False, default=None)
|
||||||
|
|
||||||
|
|
||||||
class UserChangePasswordSerializer(serializers.Serializer):
|
class UserChangePasswordSerializer(serializers.Serializer):
|
||||||
@ -74,6 +75,7 @@ class EditUserProfileSerializer(serializers.Serializer):
|
|||||||
codeforces_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default='')
|
codeforces_username = serializers.CharField(max_length=30, required=False, allow_blank=True, default='')
|
||||||
school = serializers.CharField(max_length=200, required=False, allow_blank=True, default='')
|
school = serializers.CharField(max_length=200, required=False, allow_blank=True, default='')
|
||||||
phone_number = serializers.CharField(max_length=15, required=False, allow_blank=True, default='')
|
phone_number = serializers.CharField(max_length=15, required=False, allow_blank=True, default='')
|
||||||
|
student_id = serializers.CharField(max_length=15, required=False, default="")
|
||||||
|
|
||||||
|
|
||||||
class UserProfileSerializer(serializers.ModelSerializer):
|
class UserProfileSerializer(serializers.ModelSerializer):
|
||||||
@ -81,4 +83,4 @@ class UserProfileSerializer(serializers.ModelSerializer):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = UserProfile
|
model = UserProfile
|
||||||
fields = ["avatar", "blog", "mood", "hduoj_username", "bestcoder_username", "codeforces_username",
|
fields = ["avatar", "blog", "mood", "hduoj_username", "bestcoder_username", "codeforces_username",
|
||||||
"rank", "accepted_number", "submissions_number", "problems_status", "phone_number", "school"]
|
"rank", "accepted_number", "submissions_number", "problems_status", "phone_number", "school", "student_id"]
|
||||||
|
|||||||
@ -97,7 +97,7 @@ class UserRegisterAPIView(APIView):
|
|||||||
email=data["email"])
|
email=data["email"])
|
||||||
user.set_password(data["password"])
|
user.set_password(data["password"])
|
||||||
user.save()
|
user.save()
|
||||||
UserProfile.objects.create(user=user, school=data["school"])
|
UserProfile.objects.create(user=user, school=data["school"], student_id=data["student_id"])
|
||||||
return success_response(u"注册成功!")
|
return success_response(u"注册成功!")
|
||||||
else:
|
else:
|
||||||
return serializer_invalid_response(serializer)
|
return serializer_invalid_response(serializer)
|
||||||
@ -262,6 +262,7 @@ class UserProfileAPIView(APIView):
|
|||||||
user_profile.codeforces_username = data["codeforces_username"]
|
user_profile.codeforces_username = data["codeforces_username"]
|
||||||
user_profile.blog = data["blog"]
|
user_profile.blog = data["blog"]
|
||||||
user_profile.school = data["school"]
|
user_profile.school = data["school"]
|
||||||
|
user_profile.student_id = data["student_id"]
|
||||||
user_profile.phone_number = data["phone_number"]
|
user_profile.phone_number = data["phone_number"]
|
||||||
user_profile.save()
|
user_profile.save()
|
||||||
return success_response(u"修改成功")
|
return success_response(u"修改成功")
|
||||||
|
|||||||
@ -1,16 +1,18 @@
|
|||||||
require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, csrfTokenHeader) {
|
require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, csrfTokenHeader) {
|
||||||
|
$("#stu_id").hide();
|
||||||
$('form').validator().on('submit', function (e) {
|
$('form').validator().on('submit', function (e) {
|
||||||
if (!e.isDefaultPrevented()) {
|
if (!e.isDefaultPrevented()) {
|
||||||
var username = $("#username").val();
|
var username = $("#username").val();
|
||||||
var realName = $("#real_name").val();
|
var realName = $("#real_name").val();
|
||||||
var school = $('#school').val();
|
var school = $('#school').val();
|
||||||
|
var student_id = $('#student_id').val();
|
||||||
var password = $("#password").val();
|
var password = $("#password").val();
|
||||||
var email = $("#email").val();
|
var email = $("#email").val();
|
||||||
var captcha = $("#captcha").val();
|
var captcha = $("#captcha").val();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
beforeSend: csrfTokenHeader,
|
beforeSend: csrfTokenHeader,
|
||||||
url: "/api/register/",
|
url: "/api/register/",
|
||||||
data: {username: username, school: school, real_name: realName, password: password, email: email, captcha:captcha},
|
data: {username: username, school: school, student_id: student_id, real_name: realName, password: password, email: email, captcha:captcha},
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
method: "post",
|
method: "post",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
@ -29,6 +31,16 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#school").blur(function () {
|
||||||
|
if ($("#school").val() == "青岛大学") {
|
||||||
|
$("#stu_id").show();
|
||||||
|
}
|
||||||
|
if ($("#school").val() == "qdu") {
|
||||||
|
$("#stu_id").show();
|
||||||
|
$("#school").val("青岛大学");
|
||||||
|
}
|
||||||
|
});
|
||||||
function refresh_captcha() {
|
function refresh_captcha() {
|
||||||
$("#captcha-img")[0].src = "/captcha/?" + Math.random();
|
$("#captcha-img")[0].src = "/captcha/?" + Math.random();
|
||||||
$("#captcha")[0].value = "";
|
$("#captcha")[0].value = "";
|
||||||
|
|||||||
@ -8,7 +8,7 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c
|
|||||||
var blog = $("#blog").val();
|
var blog = $("#blog").val();
|
||||||
var mood = $("#mood").val();
|
var mood = $("#mood").val();
|
||||||
var school = $("#school").val();
|
var school = $("#school").val();
|
||||||
|
var student_id = $("#student_id").val();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
beforeSend: csrfTokenHeader,
|
beforeSend: csrfTokenHeader,
|
||||||
url: "/api/account/userprofile/",
|
url: "/api/account/userprofile/",
|
||||||
@ -19,7 +19,8 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c
|
|||||||
codeforces_username: codeforces_username,
|
codeforces_username: codeforces_username,
|
||||||
blog: blog,
|
blog: blog,
|
||||||
mood: mood,
|
mood: mood,
|
||||||
school: school
|
school: school,
|
||||||
|
student_id: student_id
|
||||||
},
|
},
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
method: "put",
|
method: "put",
|
||||||
|
|||||||
@ -19,10 +19,14 @@
|
|||||||
<div class="help-block with-errors"></div>
|
<div class="help-block with-errors"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="real_name">学校</label>
|
<label for="school">学校</label>
|
||||||
<input type="text" class="form-control input-lg" id="school" name="school" placeholder="学校" data-error="请填写学校" required>
|
<input type="text" class="form-control input-lg" id="school" name="school" placeholder="学校" data-error="请填写学校" required>
|
||||||
<div class="help-block with-errors"></div>
|
<div class="help-block with-errors"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group" id="stu_id">
|
||||||
|
<label for="student_id">学号</label>
|
||||||
|
<input type="number" class="form-control input-lg" id="student_id" name="student_id" placeholder="非必填,如果你需要使用课程功能,请填写该字段">
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="email">邮箱地址</label>
|
<label for="email">邮箱地址</label>
|
||||||
<input type="email" class="form-control input-lg" id="email" name="email" placeholder="邮箱地址" data-remote="/api/email_check/" data-remote-error="该邮箱已被注册!" data-error="请填写正确的邮箱地址" required>
|
<input type="email" class="form-control input-lg" id="email" name="email" placeholder="邮箱地址" data-remote="/api/email_check/" data-remote-error="该邮箱已被注册!" data-error="请填写正确的邮箱地址" required>
|
||||||
|
|||||||
@ -69,9 +69,16 @@
|
|||||||
|
|
||||||
<div class="help-block with-errors"></div>
|
<div class="help-block with-errors"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group col-md-12"><label>学号</label>
|
||||||
|
<input name="student_id" type="number" class="form-control" id="student_id"
|
||||||
|
value="{{ request.user.userprofile.student_id }}">
|
||||||
|
|
||||||
|
<div class="help-block with-errors"></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
<div class="form-group col-md-12"><label>blog</label>
|
<div class="form-group col-md-12"><label>blog</label>
|
||||||
<input name="blog" type="url" class="form-control" id="blog"
|
<input name="blog" type="url" class="form-control" id="blog"
|
||||||
value="{{ request.user.userprofile.blog }}">
|
value="{% if request.user.userprofile.school %}{{ request.user.userprofile.blog }}{% endif %}">
|
||||||
|
|
||||||
<div class="help-block with-errors"></div>
|
<div class="help-block with-errors"></div>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user