Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -157,23 +157,38 @@ def generate_dpr(files):
|
|
| 157 |
|
| 158 |
# Salesforce upload
|
| 159 |
salesforce_result = ""
|
|
|
|
|
|
|
|
|
|
| 160 |
if sf and pdf_filepath:
|
| 161 |
try:
|
| 162 |
-
# Create Daily_Progress_Reports__c record
|
| 163 |
-
report_description = "; ".join(captions)[:255] # Concatenate captions, limit to 255 chars
|
| 164 |
-
dpr_record = sf.Daily_Progress_Reports__c.create({
|
| 165 |
-
'Report_Date__c': current_time,
|
| 166 |
-
'Report_Description__c': report_description
|
| 167 |
-
})
|
| 168 |
-
dpr_record_id = dpr_record['id']
|
| 169 |
-
salesforce_result += f"Created Daily_Progress_Reports__c record with ID: {dpr_record_id}\n"
|
| 170 |
-
|
| 171 |
# Upload PDF to Salesforce for Report_PDF__c
|
| 172 |
pdf_content_document_id, pdf_upload_result = upload_file_to_salesforce(
|
| 173 |
pdf_filepath, pdf_filename, sf, 'Report_PDF__c'
|
| 174 |
)
|
| 175 |
salesforce_result += pdf_upload_result + "\n"
|
| 176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 177 |
# Link PDF to DPR record
|
| 178 |
if pdf_content_document_id:
|
| 179 |
sf.ContentDocumentLink.create({
|
|
@@ -182,21 +197,13 @@ def generate_dpr(files):
|
|
| 182 |
'ShareType': 'V'
|
| 183 |
})
|
| 184 |
|
| 185 |
-
#
|
| 186 |
-
for
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
# Link image to DPR record
|
| 194 |
-
if image_content_document_id:
|
| 195 |
-
sf.ContentDocumentLink.create({
|
| 196 |
-
'ContentDocumentId': image_content_document_id,
|
| 197 |
-
'LinkedEntityId': dpr_record_id,
|
| 198 |
-
'ShareType': 'V'
|
| 199 |
-
})
|
| 200 |
|
| 201 |
except Exception as e:
|
| 202 |
salesforce_result += f"Error interacting with Salesforce: {str(e)}\n"
|
|
|
|
| 157 |
|
| 158 |
# Salesforce upload
|
| 159 |
salesforce_result = ""
|
| 160 |
+
pdf_content_document_id = None
|
| 161 |
+
image_content_document_ids = []
|
| 162 |
+
|
| 163 |
if sf and pdf_filepath:
|
| 164 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
# Upload PDF to Salesforce for Report_PDF__c
|
| 166 |
pdf_content_document_id, pdf_upload_result = upload_file_to_salesforce(
|
| 167 |
pdf_filepath, pdf_filename, sf, 'Report_PDF__c'
|
| 168 |
)
|
| 169 |
salesforce_result += pdf_upload_result + "\n"
|
| 170 |
|
| 171 |
+
# Upload images to Salesforce for Site_Images__c
|
| 172 |
+
for file in files:
|
| 173 |
+
image_filename = os.path.basename(file.name)
|
| 174 |
+
image_content_document_id, image_upload_result = upload_file_to_salesforce(
|
| 175 |
+
file.name, image_filename, sf, 'Site_Images__c'
|
| 176 |
+
)
|
| 177 |
+
if image_content_document_id:
|
| 178 |
+
image_content_document_ids.append(image_content_document_id)
|
| 179 |
+
salesforce_result += image_upload_result + "\n"
|
| 180 |
+
|
| 181 |
+
# Create Daily_Progress_Reports__c record with file references
|
| 182 |
+
report_description = "; ".join(captions)[:255] # Concatenate captions, limit to 255 chars
|
| 183 |
+
images_ids = ";".join(image_content_document_ids) # Semicolon-separated image IDs
|
| 184 |
+
dpr_record = sf.Daily_Progress_Reports__c.create({
|
| 185 |
+
'Report_Description__c': report_description,
|
| 186 |
+
'Report_PDF__c': pdf_content_document_id if pdf_content_document_id else '',
|
| 187 |
+
'Site_Images__c': images_ids if images_ids else ''
|
| 188 |
+
})
|
| 189 |
+
dpr_record_id = dpr_record['id']
|
| 190 |
+
salesforce_result += f"Created Daily_Progress_Reports__c record with ID: {dpr_record_id}\n"
|
| 191 |
+
|
| 192 |
# Link PDF to DPR record
|
| 193 |
if pdf_content_document_id:
|
| 194 |
sf.ContentDocumentLink.create({
|
|
|
|
| 197 |
'ShareType': 'V'
|
| 198 |
})
|
| 199 |
|
| 200 |
+
# Link images to DPR record
|
| 201 |
+
for image_content_document_id in image_content_document_ids:
|
| 202 |
+
sf.ContentDocumentLink.create({
|
| 203 |
+
'ContentDocumentId': image_content_document_id,
|
| 204 |
+
'LinkedEntityId': dpr_record_id,
|
| 205 |
+
'ShareType': 'V'
|
| 206 |
+
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 207 |
|
| 208 |
except Exception as e:
|
| 209 |
salesforce_result += f"Error interacting with Salesforce: {str(e)}\n"
|