diff --git a/app_doc/report_utils.py b/app_doc/report_utils.py index a643bdf..2a8a191 100644 --- a/app_doc/report_utils.py +++ b/app_doc/report_utils.py @@ -5,13 +5,15 @@ # 博客地址:zmister.com # MrDoc文集文档导出相关功能代码 from django.conf import settings +from django.core.exceptions import ObjectDoesNotExist from django.utils.translation import gettext_lazy as _ +from bs4 import BeautifulSoup import subprocess import datetime,time import re import os,sys import shutil -from bs4 import BeautifulSoup + from django.core.wsgi import get_wsgi_application sys.path.extend([settings.BASE_DIR]) @@ -652,9 +654,10 @@ class ReportEPUB(): # 导出PDF @logger.catch() class ReportPDF(): - def __init__(self,project_id): + def __init__(self,project_id,user_id): # 查询文集信息 self.pro_id = project_id + self.user_id = user_id self.editormd_html_str = ''' @@ -667,7 +670,9 @@ class ReportPDF(): + + @@ -745,8 +750,13 @@ class ReportPDF(): def work(self): 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: + logger.exception("未知异常") return False # 拼接文档的HTML字符串 data = Doc.objects.filter(top_doc=self.pro_id,parent_doc=0).order_by("sort") diff --git a/app_doc/views.py b/app_doc/views.py index 7ace00c..62284c8 100644 --- a/app_doc/views.py +++ b/app_doc/views.py @@ -2146,7 +2146,8 @@ def genera_project_file(request): elif report_type in ['pdf']: try: report_project = ReportPDF( - project_id=project.id + project_id=project.id, + user_id=request.user.id ).work() if report_project is False: return JsonResponse({'status':False,'data':_('生成出错')})