针对添加学号字段对页面的一些修改,注册是学校为青岛大学则显示学号字段,在user settings页面显示学号,并提供修改

This commit is contained in:
sxw 2015-12-08 14:33:40 +08:00
parent 7d358c9e4c
commit 2d6be12a2f
6 changed files with 34 additions and 7 deletions

View File

@ -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"]

View File

@ -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"修改成功")

View File

@ -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 = "";

View File

@ -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",

View File

@ -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>

View File

@ -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>