Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -107,15 +107,7 @@ def get_projects_for_supervisor(supervisor_name):
|
|
107 |
print(f"⚠️ Error fetching project: {e}")
|
108 |
return ""
|
109 |
|
110 |
-
|
111 |
-
try:
|
112 |
-
obj_desc = getattr(sf, object_name).describe()
|
113 |
-
return field_name in [field['name'] for field in obj_desc['fields']]
|
114 |
-
except Exception as e:
|
115 |
-
print(f"⚠️ Error checking field {field_name}: {e}")
|
116 |
-
return False
|
117 |
-
|
118 |
-
# Function to generate Salesforce dashboard URL (Visualforce Page)
|
119 |
def generate_salesforce_dashboard_url(supervisor_name, project_id):
|
120 |
return f"https://aicoachforsitesupervisors-dev-ed--c.develop.vf.force.com/apex/DashboardPage?supervisorName={supervisor_name}&projectId={project_id}"
|
121 |
|
@@ -124,7 +116,7 @@ def open_dashboard(role, supervisor_name, project_id):
|
|
124 |
dashboard_url = generate_salesforce_dashboard_url(supervisor_name, project_id)
|
125 |
return f'<a href="{dashboard_url}" target="_blank" rel="noopener noreferrer" style="font-size:16px;">Open Salesforce Dashboard</a>'
|
126 |
|
127 |
-
# Function to generate
|
128 |
def generate_outputs(role, supervisor_name, project_id, milestones, reflection):
|
129 |
if not all([role, supervisor_name, project_id, milestones, reflection]):
|
130 |
return "❗ Please fill all fields.", ""
|
@@ -141,7 +133,7 @@ def generate_outputs(role, supervisor_name, project_id, milestones, reflection):
|
|
141 |
with torch.no_grad():
|
142 |
outputs = model.generate(
|
143 |
inputs['input_ids'],
|
144 |
-
max_new_tokens=150,
|
145 |
no_repeat_ngram_size=2,
|
146 |
do_sample=True,
|
147 |
top_p=0.9,
|
@@ -161,7 +153,6 @@ def generate_outputs(role, supervisor_name, project_id, milestones, reflection):
|
|
161 |
checklist = extract_between(result, "Checklist:\n", "Suggestions:")
|
162 |
suggestions = extract_between(result, "Suggestions:\n", None)
|
163 |
|
164 |
-
# Fallback generation
|
165 |
if not checklist.strip():
|
166 |
checklist = generate_fallback_checklist(role, milestones)
|
167 |
if not suggestions.strip():
|
@@ -169,7 +160,7 @@ def generate_outputs(role, supervisor_name, project_id, milestones, reflection):
|
|
169 |
|
170 |
return checklist, suggestions
|
171 |
|
172 |
-
# Fallback
|
173 |
def generate_fallback_checklist(role, milestones):
|
174 |
checklist_items = []
|
175 |
if milestones:
|
@@ -189,7 +180,7 @@ def generate_fallback_suggestions(reflection):
|
|
189 |
suggestions_items.append("- Monitor team coordination")
|
190 |
return "\n".join(suggestions_items)
|
191 |
|
192 |
-
# Function to generate
|
193 |
def generate_pdf_report(supervisor_name, project_id, checklist, suggestions):
|
194 |
file_path = f"reports/{supervisor_name}_{project_id}_report.pdf"
|
195 |
buffer = BytesIO()
|
@@ -213,7 +204,7 @@ def generate_pdf_report(supervisor_name, project_id, checklist, suggestions):
|
|
213 |
f.write(buffer.read())
|
214 |
return file_path
|
215 |
|
216 |
-
# Function to generate
|
217 |
def generate_csv_report(supervisor_name, project_id, checklist, suggestions):
|
218 |
file_path = f"reports/{supervisor_name}_{project_id}_report.csv"
|
219 |
data = {
|
|
|
107 |
print(f"⚠️ Error fetching project: {e}")
|
108 |
return ""
|
109 |
|
110 |
+
# New function to generate Salesforce dashboard URL (Visualforce Page)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
def generate_salesforce_dashboard_url(supervisor_name, project_id):
|
112 |
return f"https://aicoachforsitesupervisors-dev-ed--c.develop.vf.force.com/apex/DashboardPage?supervisorName={supervisor_name}&projectId={project_id}"
|
113 |
|
|
|
116 |
dashboard_url = generate_salesforce_dashboard_url(supervisor_name, project_id)
|
117 |
return f'<a href="{dashboard_url}" target="_blank" rel="noopener noreferrer" style="font-size:16px;">Open Salesforce Dashboard</a>'
|
118 |
|
119 |
+
# Function to generate day-by-day tasks
|
120 |
def generate_outputs(role, supervisor_name, project_id, milestones, reflection):
|
121 |
if not all([role, supervisor_name, project_id, milestones, reflection]):
|
122 |
return "❗ Please fill all fields.", ""
|
|
|
133 |
with torch.no_grad():
|
134 |
outputs = model.generate(
|
135 |
inputs['input_ids'],
|
136 |
+
max_new_tokens=150,
|
137 |
no_repeat_ngram_size=2,
|
138 |
do_sample=True,
|
139 |
top_p=0.9,
|
|
|
153 |
checklist = extract_between(result, "Checklist:\n", "Suggestions:")
|
154 |
suggestions = extract_between(result, "Suggestions:\n", None)
|
155 |
|
|
|
156 |
if not checklist.strip():
|
157 |
checklist = generate_fallback_checklist(role, milestones)
|
158 |
if not suggestions.strip():
|
|
|
160 |
|
161 |
return checklist, suggestions
|
162 |
|
163 |
+
# Fallback checklist and suggestions generation
|
164 |
def generate_fallback_checklist(role, milestones):
|
165 |
checklist_items = []
|
166 |
if milestones:
|
|
|
180 |
suggestions_items.append("- Monitor team coordination")
|
181 |
return "\n".join(suggestions_items)
|
182 |
|
183 |
+
# Function to generate the PDF report
|
184 |
def generate_pdf_report(supervisor_name, project_id, checklist, suggestions):
|
185 |
file_path = f"reports/{supervisor_name}_{project_id}_report.pdf"
|
186 |
buffer = BytesIO()
|
|
|
204 |
f.write(buffer.read())
|
205 |
return file_path
|
206 |
|
207 |
+
# Function to generate CSV report
|
208 |
def generate_csv_report(supervisor_name, project_id, checklist, suggestions):
|
209 |
file_path = f"reports/{supervisor_name}_{project_id}_report.csv"
|
210 |
data = {
|