tum před 1 rokem
rodič
revize
8d44341b99
3 změnil soubory, kde provedl 13 přidání a 9 odebrání
  1. 4 4
      app/report/gen_report.py
  2. 9 5
      app/report/views.py
  3. binární
      app/report/~$coi_templates.xlsx

+ 4 - 4
app/report/gen_report.py

@@ -16,7 +16,7 @@ from PIL import Image as PILImage
16 16
 from openpyxl.drawing.xdr import XDRPoint2D, XDRPositiveSize2D
17 17
 from openpyxl.utils.units import pixels_to_EMU
18 18
 from openpyxl.drawing.spreadsheet_drawing import AnchorMarker, TwoCellAnchor
19
-
19
+from django.conf import settings
20 20
 
21 21
 def set_image_with_offset_old(sheet, img, cell_coordinate, offset_x=0, offset_y=0):
22 22
     """
@@ -149,11 +149,11 @@ def gen_xlsx(template_file, selected_sheets, prefix_filename, data):
149 149
     Returns:
150 150
         str: Path of the generated Excel file.
151 151
     """
152
-    checked_image_path = "/app/report/checkbox_checked.jpg"  # Path to the checked checkbox image
153
-    unchecked_image_path = "/app/report/checkbox_unchecked.jpg"  # Path to the unchecked checkbox image
152
+    checked_image_path = f"{settings.BASE_DIR}/report/checkbox_checked.jpg"  # Path to the checked checkbox image
153
+    unchecked_image_path = f"{settings.BASE_DIR}/report/checkbox_unchecked.jpg"  # Path to the unchecked checkbox image
154 154
 
155 155
     # Load the template workbook
156
-    print("before load workbook {template_file}")
156
+    print(f"before load workbook {template_file}")
157 157
     workbook = load_workbook(template_file)
158 158
     print("after load")
159 159
     # Remove sheets not in selected_sheets

+ 9 - 5
app/report/views.py

@@ -17,7 +17,7 @@ import json
17 17
 from django.contrib.auth.decorators import login_required
18 18
 from django.contrib.auth.models import User
19 19
 from legacy.models import Data
20
-
20
+from django.conf import settings
21 21
 
22 22
 def index(request):
23 23
     reports = Report.objects.all()
@@ -170,9 +170,9 @@ def create_coi_file(lot_no, sheets, user, md):
170 170
     pprint(merged_data)
171 171
 
172 172
     output_file = gen_xlsx(
173
-        template_file="/app/report/coi_templates.xlsx",
173
+        template_file=f"{settings.BASE_DIR}/report/coi_templates.xlsx",
174 174
         selected_sheets=sheets,  # Replace with your actual sheet names
175
-        prefix_filename="/app/media/coi",
175
+        prefix_filename=f"{settings.BASE_DIR}/media/coi",
176 176
         data=merged_data
177 177
     )
178 178
     report = Report.objects.create(
@@ -255,8 +255,12 @@ def coi_view(request):
255 255
                     pcs = int(first_result.PRO5) - int(first_result.PRO27)
256 256
                 except:
257 257
                     pcs = 0
258
-                size_str = f"{first_result.PRO10}x{first_result.PRO11}x{first_result.PRO12}";
259
-                spec = f"{first_result.PRO13} {first_result.PRO14} {first_result.PRO15} {first_result.PRO16} {first_result.PRO17} {first_result.PRO18}"
258
+                if first_result:
259
+                    size_str = f"{first_result.PRO10}x{first_result.PRO11}x{first_result.PRO12}";
260
+                    spec = f"{first_result.PRO13} {first_result.PRO14} {first_result.PRO15} {first_result.PRO16} {first_result.PRO17} {first_result.PRO18}"
261
+                else:
262
+                    size_str = ""
263
+                    spec = ""
260 264
                 return render(request, 'report/coi.html', {'result': first_result, 
261 265
                                                            'pcs':pcs, 
262 266
                                                            'size_str': size_str,

binární
app/report/~$coi_templates.xlsx