添加隐藏小组功能,但是只有超级管理员才能看到隐藏小组

This commit is contained in:
sxw 2015-12-09 21:48:24 +08:00
parent 804add6a03
commit eacb26eed0
5 changed files with 28 additions and 17 deletions

View File

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

View File

@ -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"小组名已经存在")

View File

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

View File

@ -49,18 +49,24 @@
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-12">
<div class="col-md-9">
<div class="form-group">
<label>加入小组设置</label>
<input type="radio" name="join_group_setting" value="0" ms-duplex-string="checkedSetting">允许任何人加入
<input type="radio" name="join_group_setting" value="1" ms-duplex-string="checkedSetting">提交请求后管理员审核
<input type="radio" name="join_group_setting" value="2" ms-duplex-string="checkedSetting">不允许任何人加入
<label>加入小组设置</label><br>
<label><input type="radio" name="join_group_setting" value="0" ms-duplex-string="checkedSetting"><small>允许任何人加入</small></label>
<label><input type="radio" name="join_group_setting" value="1" ms-duplex-string="checkedSetting"><small>提交请求后管理员审核</small></label>
<label><input type="radio" name="join_group_setting" value="2" ms-duplex-string="checkedSetting"><small>不允许任何人加入</small></label>
</div>
</div>
<div class="col-md-3 form-group">
<label>前台是否可见</label><br>
<label><input type="checkbox" ms-duplex-checked="visible">
<small>可见</small>
</label>
</div>
<div class="col-md-12">
<button class="btn btn-primary" type="submit">提交</button>
</div>
</form>
</div>
<script src="/static/js/app/admin/group/groupDetail.js"></script>

View File

@ -22,14 +22,16 @@
{% if user.userprofile.mood %}
<p id="user-mood">{{ user.userprofile.mood }}</p>
{% endif %}
{% if user.userprofile.school %}
<p id="user-mood">{{ user.userprofile.school }}</p>
{% endif %}
</div>
<div class="list-group col-lg-9">
{% if user.userprofile.school %}
<p class="list-group-item"> <span class="glyphicon glyphicon-education"></span>
{{ user.userprofile.school }}
</p>
{% endif %}
{% if user.userprofile.blog %}
<p class="list-group-item"><span class="glyphicon glyphicon-link"></span>
<p class="list-group-item">
<a href="{{ user.userprofile.blog }}" target="_blank">{{ blog_link }}</a>
</p>
{% endif %}