Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -146,6 +146,7 @@ def upload_file_to_salesforce(file_path, filename, sf_connection, file_type):
|
|
146 |
except Exception as e:
|
147 |
return None, None, f"Error uploading {filename} to Salesforce: {str(e)}"
|
148 |
|
|
|
149 |
# Function to generate the daily progress report (DPR), save as PDF, and upload to Salesforce
|
150 |
def generate_dpr(files):
|
151 |
dpr_text = []
|
@@ -166,14 +167,12 @@ def generate_dpr(files):
|
|
166 |
|
167 |
# Generate DPR section for this image with dynamic caption
|
168 |
dpr_section = f"\nImage: {file.name}\nDescription: {caption}\n"
|
169 |
-
# Remove the description from the dpr_text section
|
170 |
-
# No need to add it again as the image and caption will be inserted in the PDF
|
171 |
dpr_text.append(dpr_section)
|
172 |
|
173 |
# Save image path for embedding in the report
|
174 |
image_paths.append(file.name)
|
175 |
|
176 |
-
# Combine DPR text
|
177 |
dpr_output = "\n".join(dpr_text)
|
178 |
|
179 |
# Generate PDF filename with timestamp
|
@@ -182,7 +181,6 @@ def generate_dpr(files):
|
|
182 |
# Save DPR text to PDF
|
183 |
pdf_result, pdf_filepath = save_dpr_to_pdf(dpr_output, image_paths, captions, pdf_filename)
|
184 |
|
185 |
-
# Salesforce upload
|
186 |
salesforce_result = ""
|
187 |
pdf_content_document_id = None
|
188 |
pdf_url = None
|
@@ -219,29 +217,23 @@ def generate_dpr(files):
|
|
219 |
})
|
220 |
salesforce_result += f"Updated PDF URL for record ID {dpr_record_id}\n"
|
221 |
|
222 |
-
# Upload images to Salesforce and
|
223 |
for file in files:
|
224 |
image_filename = os.path.basename(file.name)
|
225 |
-
image_content_document_id, image_upload_result = upload_file_to_salesforce(
|
226 |
file.name, image_filename, sf, "image"
|
227 |
)
|
|
|
228 |
if image_content_document_id:
|
229 |
image_content_document_ids.append(image_content_document_id)
|
230 |
|
231 |
-
#
|
232 |
-
|
233 |
-
|
234 |
-
'
|
235 |
})
|
236 |
-
salesforce_result += image_upload_result + "\n"
|
237 |
|
238 |
-
|
239 |
-
if image_content_document_id:
|
240 |
-
sf.ContentDocumentLink.create({
|
241 |
-
'ContentDocumentId': image_content_document_id,
|
242 |
-
'LinkedEntityId': dpr_record_id,
|
243 |
-
'ShareType': 'V'
|
244 |
-
})
|
245 |
|
246 |
except Exception as e:
|
247 |
salesforce_result += f"Error interacting with Salesforce: {str(e)}\n"
|
|
|
146 |
except Exception as e:
|
147 |
return None, None, f"Error uploading {filename} to Salesforce: {str(e)}"
|
148 |
|
149 |
+
# Function to generate the daily progress report (DPR), save as PDF, and upload to Salesforce
|
150 |
# Function to generate the daily progress report (DPR), save as PDF, and upload to Salesforce
|
151 |
def generate_dpr(files):
|
152 |
dpr_text = []
|
|
|
167 |
|
168 |
# Generate DPR section for this image with dynamic caption
|
169 |
dpr_section = f"\nImage: {file.name}\nDescription: {caption}\n"
|
|
|
|
|
170 |
dpr_text.append(dpr_section)
|
171 |
|
172 |
# Save image path for embedding in the report
|
173 |
image_paths.append(file.name)
|
174 |
|
175 |
+
# Combine DPR text
|
176 |
dpr_output = "\n".join(dpr_text)
|
177 |
|
178 |
# Generate PDF filename with timestamp
|
|
|
181 |
# Save DPR text to PDF
|
182 |
pdf_result, pdf_filepath = save_dpr_to_pdf(dpr_output, image_paths, captions, pdf_filename)
|
183 |
|
|
|
184 |
salesforce_result = ""
|
185 |
pdf_content_document_id = None
|
186 |
pdf_url = None
|
|
|
217 |
})
|
218 |
salesforce_result += f"Updated PDF URL for record ID {dpr_record_id}\n"
|
219 |
|
220 |
+
# Upload images to Salesforce and link them to DPR record
|
221 |
for file in files:
|
222 |
image_filename = os.path.basename(file.name)
|
223 |
+
image_content_document_id, image_url, image_upload_result = upload_file_to_salesforce(
|
224 |
file.name, image_filename, sf, "image"
|
225 |
)
|
226 |
+
|
227 |
if image_content_document_id:
|
228 |
image_content_document_ids.append(image_content_document_id)
|
229 |
|
230 |
+
# Now, link the image to the DPR record in the correct field (e.g., Site Images)
|
231 |
+
# Assuming you have a field like `Site_Images__c` in the DPR record that accepts ContentDocumentId
|
232 |
+
sf.Daily_Progress_Reports__c.update(dpr_record_id, {
|
233 |
+
'Site_Images__c': image_content_document_id # Store ContentDocumentId in Site_Images__c field
|
234 |
})
|
|
|
235 |
|
236 |
+
salesforce_result += image_upload_result + "\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
except Exception as e:
|
239 |
salesforce_result += f"Error interacting with Salesforce: {str(e)}\n"
|