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"
|