Skip to content

Commit 41efe10

Browse files
author
yangjian
committed
add:后台文档分享管理
1 parent 429546c commit 41efe10

3 files changed

Lines changed: 407 additions & 10 deletions

File tree

app_admin/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
path('doc_history_manage/<int:id>/', views.admin_doc_history, name='doc_history_manage'), # 文档历史记录管理
2121
path('api/doc_history/<int:id>/', views.AdminDocHistory.as_view(), name="api_doc_history"), # 文档历史记录接口
2222
path('api/doc_history_detail/', views.AdminDocHistoryDetail.as_view(), name="api_doc_history_detail"), # 文档历史记录详情接口
23+
# 文档分享管理
24+
path('doc_share_manage/',views.admin_doc_share,name="admin_doc_share"), # 分享文档管理
2325
path('doctemp_manage/',views.admin_doctemp,name='doctemp_manage'), # 文档模板管理
2426
path('setting/',views.admin_setting,name="sys_setting"), # 应用设置
2527
path('config',views.admin_site_config,name="site_config"), # 站点配置

app_admin/views.py

Lines changed: 107 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -939,7 +939,86 @@ def delete(self,request):
939939

940940
return Response({'code':5,'data':_("系统异常")})
941941

942-
942+
# 文档分享管理
943+
@superuser_only
944+
@require_http_methods(['GET','POST'])
945+
def admin_doc_share(request):
946+
if request.method == 'GET':
947+
return render(request, 'app_admin/admin_doc_share.html', locals())
948+
else:
949+
types = request.POST.get('type')
950+
# 请求类型 1:获取列表 2:删除 3:修改
951+
if types == '1':
952+
page = request.POST.get('page', 1)
953+
limit = request.POST.get('limit', 10)
954+
docshare_list = DocShare.objects.all().order_by('-create_time')
955+
paginator = Paginator(docshare_list, limit)
956+
page = request.GET.get('page', page)
957+
try:
958+
docshares = paginator.page(page)
959+
except PageNotAnInteger:
960+
docshares = paginator.page(1)
961+
except EmptyPage:
962+
docshares = paginator.page(paginator.num_pages)
963+
share_list = []
964+
for doc in docshares:
965+
item = {
966+
'token':doc.token,
967+
'doc_id':doc.doc.id,
968+
'doc_name':doc.doc.name,
969+
'share_type':doc.share_type,
970+
'share_value':doc.share_value,
971+
'share_status':doc.is_enable,
972+
'create_user': doc.doc.create_user.username,
973+
# 'expire_type':doc.expire_type,
974+
# 'expire_time':doc.expire_time,
975+
'create_time':doc.create_time
976+
}
977+
share_list.append(item)
978+
resp_data = {
979+
"code":0,
980+
"msg":"ok",
981+
"count":docshare_list.count(),
982+
"data":share_list
983+
}
984+
return JsonResponse(resp_data)
985+
# 删除
986+
elif types == '2':
987+
range = request.POST.get("range")
988+
token = request.POST.get("token")
989+
if range == 'single':
990+
try:
991+
share = DocShare.objects.get(token=token)
992+
share.delete()
993+
return JsonResponse({'status':True,'data':'ok'})
994+
except:
995+
return JsonResponse({'status':False,'data':_('无指定内容')})
996+
elif range == "multi":
997+
tokens = token.split(",")
998+
try:
999+
share = DocShare.objects.filter(token__in=tokens)
1000+
share.delete()
1001+
return JsonResponse({'status':True,'data':'ok'})
1002+
except:
1003+
return JsonResponse({'status':False,'data':_('无指定内容')})
1004+
else:
1005+
return JsonResponse({'status':False,'data':_('类型错误')})
1006+
# 修改
1007+
elif types == '3':
1008+
token = request.POST.get("token",'')
1009+
name = request.POST.get('key','')
1010+
value = request.POST.get('value','')
1011+
# 修改分享状态
1012+
if name == 'share_status':
1013+
is_enable = True if value == 'true' else False
1014+
DocShare.objects.filter(token=token).update(is_enable=is_enable)
1015+
# 修改分享类型
1016+
elif name == 'share_type':
1017+
share_type = 0 if value == '0' else 1
1018+
DocShare.objects.filter(token=token).update(share_type=share_type)
1019+
else:
1020+
return JsonResponse({'status':False,'data':_('参数错误')})
1021+
return JsonResponse({'status':True,'data':'ok'})
9431022

9441023
# 后台管理 - 文档模板管理
9451024
@superuser_only
@@ -1587,16 +1666,34 @@ def admin_center_menu(request):
15871666
{
15881667
"id": 3,
15891668
"title": _("文档管理"),
1590-
"type": 1,
1669+
"type": 0,
15911670
"icon": "layui-icon layui-icon-form",
1592-
"href": reverse('doc_manage'),
1593-
},
1594-
{
1595-
"id": 4,
1596-
"title": _("文档模板管理"),
1597-
"type": 1,
1598-
"icon": "layui-icon layui-icon-templeate-1",
1599-
"href": reverse('doctemp_manage'),
1671+
"href": "",
1672+
"children": [
1673+
{
1674+
"id": 'doc_manage',
1675+
"title": _("文档管理"),
1676+
"type": 1,
1677+
"icon": "layui-icon layui-icon-form",
1678+
"href": reverse('doc_manage'),
1679+
},
1680+
{
1681+
"id": 4,
1682+
"title": _("文档模板管理"),
1683+
"type": 1,
1684+
"icon": "layui-icon layui-icon-templeate-1",
1685+
"href": reverse('doctemp_manage'),
1686+
},
1687+
{
1688+
"id": 'doc_share_manage',
1689+
"title": _("文档分享管理"),
1690+
"type": 1,
1691+
"icon": "layui-icon layui-icon-templeate-1",
1692+
"href": reverse('admin_doc_share'),
1693+
},
1694+
1695+
],
1696+
16001697
},
16011698
{
16021699
"id": "my_fodder",

0 commit comments

Comments
 (0)