diff --git a/group/serializers.py b/group/serializers.py index 27490d87..377d56d6 100644 --- a/group/serializers.py +++ b/group/serializers.py @@ -17,6 +17,7 @@ class EditGroupSerializer(serializers.Serializer): name = serializers.CharField(max_length=20) description = serializers.CharField(max_length=300) join_group_setting = serializers.IntegerField() + visible = serializers.BooleanField() class CreateJoinGroupRequestSerializer(serializers.Serializer): diff --git a/group/views.py b/group/views.py index 29f0a49c..5c2797b1 100644 --- a/group/views.py +++ b/group/views.py @@ -25,7 +25,7 @@ class GroupAPIViewBase(object): 管理员可以查询所有的小组,其他用户查询自己创建的自傲组 """ if request.user.admin_type == SUPER_ADMIN: - group = Group.objects.get(id=group_id, visible=True) + group = Group.objects.get(id=group_id) else: group = Group.objects.get(id=group_id, visible=True, admin=request.user) return group @@ -36,7 +36,7 @@ class GroupAPIViewBase(object): 如果是管理员,就返回他创建的全部小组 """ if request.user.admin_type == SUPER_ADMIN: - groups = Group.objects.filter(visible=True) + groups = Group.objects.filter() else: groups = Group.objects.filter(admin=request.user, visible=True) return groups @@ -83,6 +83,7 @@ class GroupAdminAPIView(APIView, GroupAPIViewBase): group.name = data["name"] group.description = data["description"] group.join_group_setting = data["join_group_setting"] + group.visible = data["visible"] group.save() except IntegrityError: return error_response(u"小组名已经存在") @@ -298,7 +299,12 @@ def group_page(request, group_id): group = Group.objects.get(id=group_id, visible=True) except Group.DoesNotExist: return error_page(request, u"小组不存在") - return render(request, "oj/group/group.html", {"group": group}) + joined = True + try: + UserGroupRelation.objects.get(user=request.user, group=group) + except UserGroupRelation.DoesNotExist: + joined = False + return render(request, "oj/group/group.html", {"group": group, "joined": joined}) @login_required diff --git a/static/src/js/app/admin/group/groupDetail.js b/static/src/js/app/admin/group/groupDetail.js index 9edc2355..6df05afa 100644 --- a/static/src/js/app/admin/group/groupDetail.js +++ b/static/src/js/app/admin/group/groupDetail.js @@ -18,7 +18,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "validator"], function ($, name: "", description: "", checkedSetting: "0", - + visible: true, getNext: function () { if (!vm.nextPage) return; @@ -103,6 +103,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "validator"], function ($, vm.name = data.data.name; vm.description = data.data.description; vm.checkedSetting = data.data.join_group_setting.toString(); + vm.visible = data.data.visible; } else { bsAlert(data.data); @@ -123,7 +124,7 @@ require(["jquery", "avalon", "csrfToken", "bsAlert", "validator"], function ($, url: "/api/admin/group/", method: "put", data: {group_id: group_id, name: name, description: description, - join_group_setting: join_group_setting}, + join_group_setting: join_group_setting, visible:vm.visible}, dataType: "json", success: function (data) { if (!data.code) { diff --git a/template/src/admin/group/group_detail.html b/template/src/admin/group/group_detail.html index cb1be1fe..71e54b5c 100644 --- a/template/src/admin/group/group_detail.html +++ b/template/src/admin/group/group_detail.html @@ -49,18 +49,24 @@
-
+
- - - 允许任何人加入 - 提交请求后管理员审核 - 不允许任何人加入 - +
+ + +
+ +
+
+
+ +
+
-
diff --git a/template/src/oj/account/user_index.html b/template/src/oj/account/user_index.html index 9ae7178e..7a481aa6 100644 --- a/template/src/oj/account/user_index.html +++ b/template/src/oj/account/user_index.html @@ -22,14 +22,16 @@ {% if user.userprofile.mood %}

{{ user.userprofile.mood }}

{% endif %} - {% if user.userprofile.school %} -

{{ user.userprofile.school }}

- {% endif %} +
- + {% if user.userprofile.school %} +

+ {{ user.userprofile.school }} +

+ {% endif %} {% if user.userprofile.blog %} -

+

{{ blog_link }}

{% endif %} diff --git a/template/src/oj/group/group.html b/template/src/oj/group/group.html index 3d9fa23c..bbf6c32b 100644 --- a/template/src/oj/group/group.html +++ b/template/src/oj/group/group.html @@ -15,7 +15,7 @@

{{ group.name }}

发布时间 : {{ group.create_time }}   - 创建者 : {{ group.admin }} + 创建者 : {{ group.created_by }}

@@ -25,19 +25,23 @@

{{ group.description|safe }}

+ {% if not joined %}
- {% if group.join_group_setting %} + {% ifequal group.join_group_setting 1 %}
- {% endif %} + {% endifequal %} +
+
+ {% endif %} {% endblock %} {% block js_block %} diff --git a/template/src/oj/group/group_list.html b/template/src/oj/group/group_list.html index 03e425cb..575102bd 100644 --- a/template/src/oj/group/group_list.html +++ b/template/src/oj/group/group_list.html @@ -34,11 +34,15 @@ {{ item.id }} {{ item.name }} - {% if item.join_group_setting %} + {% ifequal item.join_group_setting 1 %} 需要申请 - {% else %} + {% endifequal %} + {% ifequal item.join_group_setting 0 %} 无需申请 - {% endif %} + {% endifequal %} + {% ifequal item.join_group_setting 2 %} + 不允许加入 + {% endifequal %} {{ item.created_by }} {{ item.create_time }}