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)
|
||||
email = serializers.EmailField(max_length=254)
|
||||
captcha = serializers.CharField(max_length=4, min_length=4)
|
||||
student_id = serializers.CharField(max_length=15, required=False, default=None)
|
||||
|
||||
|
||||
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='')
|
||||
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='')
|
||||
student_id = serializers.CharField(max_length=15, required=False, default="")
|
||||
|
||||
|
||||
class UserProfileSerializer(serializers.ModelSerializer):
|
||||
@ -81,4 +83,4 @@ class UserProfileSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = UserProfile
|
||||
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"])
|
||||
user.set_password(data["password"])
|
||||
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"注册成功!")
|
||||
else:
|
||||
return serializer_invalid_response(serializer)
|
||||
@ -262,6 +262,7 @@ class UserProfileAPIView(APIView):
|
||||
user_profile.codeforces_username = data["codeforces_username"]
|
||||
user_profile.blog = data["blog"]
|
||||
user_profile.school = data["school"]
|
||||
user_profile.student_id = data["student_id"]
|
||||
user_profile.phone_number = data["phone_number"]
|
||||
user_profile.save()
|
||||
return success_response(u"修改成功")
|
||||
|
||||
@ -1,16 +1,18 @@
|
||||
require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, csrfTokenHeader) {
|
||||
$("#stu_id").hide();
|
||||
$('form').validator().on('submit', function (e) {
|
||||
if (!e.isDefaultPrevented()) {
|
||||
var username = $("#username").val();
|
||||
var realName = $("#real_name").val();
|
||||
var school = $('#school').val();
|
||||
var student_id = $('#student_id').val();
|
||||
var password = $("#password").val();
|
||||
var email = $("#email").val();
|
||||
var captcha = $("#captcha").val();
|
||||
$.ajax({
|
||||
beforeSend: csrfTokenHeader,
|
||||
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",
|
||||
method: "post",
|
||||
success: function (data) {
|
||||
@ -29,6 +31,16 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
$("#school").blur(function () {
|
||||
if ($("#school").val() == "青岛大学") {
|
||||
$("#stu_id").show();
|
||||
}
|
||||
if ($("#school").val() == "qdu") {
|
||||
$("#stu_id").show();
|
||||
$("#school").val("青岛大学");
|
||||
}
|
||||
});
|
||||
function refresh_captcha() {
|
||||
$("#captcha-img")[0].src = "/captcha/?" + Math.random();
|
||||
$("#captcha")[0].value = "";
|
||||
|
||||
@ -8,7 +8,7 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c
|
||||
var blog = $("#blog").val();
|
||||
var mood = $("#mood").val();
|
||||
var school = $("#school").val();
|
||||
|
||||
var student_id = $("#student_id").val();
|
||||
$.ajax({
|
||||
beforeSend: csrfTokenHeader,
|
||||
url: "/api/account/userprofile/",
|
||||
@ -19,7 +19,8 @@ require(["jquery", "bsAlert", "csrfToken", "validator"], function ($, bsAlert, c
|
||||
codeforces_username: codeforces_username,
|
||||
blog: blog,
|
||||
mood: mood,
|
||||
school: school
|
||||
school: school,
|
||||
student_id: student_id
|
||||
},
|
||||
dataType: "json",
|
||||
method: "put",
|
||||
|
||||
@ -19,10 +19,14 @@
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<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>
|
||||
<div class="help-block with-errors"></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">
|
||||
<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>
|
||||
|
||||
@ -69,9 +69,16 @@
|
||||
|
||||
<div class="help-block with-errors"></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>
|
||||
<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>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user