增强文集导出用户验证,优化文集PDF导出只有封面的问题
This commit is contained in:
parent
1baceadcfd
commit
f08ce79cd6
@ -5,13 +5,15 @@
|
|||||||
# 博客地址:zmister.com
|
# 博客地址:zmister.com
|
||||||
# MrDoc文集文档导出相关功能代码
|
# MrDoc文集文档导出相关功能代码
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from bs4 import BeautifulSoup
|
||||||
import subprocess
|
import subprocess
|
||||||
import datetime,time
|
import datetime,time
|
||||||
import re
|
import re
|
||||||
import os,sys
|
import os,sys
|
||||||
import shutil
|
import shutil
|
||||||
from bs4 import BeautifulSoup
|
|
||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
from django.core.wsgi import get_wsgi_application
|
||||||
sys.path.extend([settings.BASE_DIR])
|
sys.path.extend([settings.BASE_DIR])
|
||||||
@ -652,9 +654,10 @@ class ReportEPUB():
|
|||||||
# 导出PDF
|
# 导出PDF
|
||||||
@logger.catch()
|
@logger.catch()
|
||||||
class ReportPDF():
|
class ReportPDF():
|
||||||
def __init__(self,project_id):
|
def __init__(self,project_id,user_id):
|
||||||
# 查询文集信息
|
# 查询文集信息
|
||||||
self.pro_id = project_id
|
self.pro_id = project_id
|
||||||
|
self.user_id = user_id
|
||||||
self.editormd_html_str = '''
|
self.editormd_html_str = '''
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@ -667,7 +670,9 @@ class ReportPDF():
|
|||||||
<link rel="stylesheet" href="../../static/editor.md/css/editormd.css" />
|
<link rel="stylesheet" href="../../static/editor.md/css/editormd.css" />
|
||||||
<link rel="stylesheet" href="../../static/mrdoc/mrdoc-docs.css" />
|
<link rel="stylesheet" href="../../static/mrdoc/mrdoc-docs.css" />
|
||||||
<script src="../../static/jquery/3.1.1/jquery.min.js"></script>
|
<script src="../../static/jquery/3.1.1/jquery.min.js"></script>
|
||||||
|
<script>var iframe_whitelist = []</script>
|
||||||
<script src="../../static/editor.md/lib/marked.min.js"></script>
|
<script src="../../static/editor.md/lib/marked.min.js"></script>
|
||||||
|
<script src="../../static/editor.md/lib/purify.min.js"></script>
|
||||||
<script src="../../static/editor.md/lib/prettify.min.js"></script>
|
<script src="../../static/editor.md/lib/prettify.min.js"></script>
|
||||||
<script src="../../static/editor.md/lib/raphael.min.js"></script>
|
<script src="../../static/editor.md/lib/raphael.min.js"></script>
|
||||||
<script src="../../static/editor.md/lib/underscore.min.js"></script>
|
<script src="../../static/editor.md/lib/underscore.min.js"></script>
|
||||||
@ -745,8 +750,13 @@ class ReportPDF():
|
|||||||
|
|
||||||
def work(self):
|
def work(self):
|
||||||
try:
|
try:
|
||||||
project = Project.objects.get(pk=self.pro_id)
|
user = User.objects.get(id=self.user_id)
|
||||||
|
project = Project.objects.get(pk=self.pro_id,create_user=user)
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
logger.error("查询文集或用户失败")
|
||||||
|
return False
|
||||||
except:
|
except:
|
||||||
|
logger.exception("未知异常")
|
||||||
return False
|
return False
|
||||||
# 拼接文档的HTML字符串
|
# 拼接文档的HTML字符串
|
||||||
data = Doc.objects.filter(top_doc=self.pro_id,parent_doc=0).order_by("sort")
|
data = Doc.objects.filter(top_doc=self.pro_id,parent_doc=0).order_by("sort")
|
||||||
|
|||||||
@ -2146,7 +2146,8 @@ def genera_project_file(request):
|
|||||||
elif report_type in ['pdf']:
|
elif report_type in ['pdf']:
|
||||||
try:
|
try:
|
||||||
report_project = ReportPDF(
|
report_project = ReportPDF(
|
||||||
project_id=project.id
|
project_id=project.id,
|
||||||
|
user_id=request.user.id
|
||||||
).work()
|
).work()
|
||||||
if report_project is False:
|
if report_project is False:
|
||||||
return JsonResponse({'status':False,'data':_('生成出错')})
|
return JsonResponse({'status':False,'data':_('生成出错')})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user