geethareddy commited on
Commit
e9719bd
·
verified ·
1 Parent(s): 2b8f237

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -15
app.py CHANGED
@@ -103,24 +103,18 @@ def get_projects_for_supervisor(supervisor_name):
103
  print(f"⚠️ Error fetching project: {e}")
104
  return ""
105
 
106
- def field_exists(sf, object_name, field_name):
107
- try:
108
- obj_desc = getattr(sf, object_name).describe()
109
- return field_name in [field['name'] for field in obj_desc['fields']]
110
- except Exception as e:
111
- print(f"⚠️ Error checking field {field_name}: {e}")
112
- return False
113
-
114
- # New function to generate Salesforce dashboard URL (Visualforce Page)
115
  def generate_salesforce_dashboard_url(supervisor_name, project_id):
116
  # Use the provided Salesforce Visualforce URL with supervisorName and projectId as parameters
117
  return f"https://aicoachforsitesupervisors-dev-ed--c.develop.vf.force.com/apex/DashboardPage?supervisorName={supervisor_name}&projectId={project_id}"
118
 
119
- # Dashboard button function
120
- def open_dashboard(role, supervisor_name, project_id):
121
- # Generate dynamic URL based on supervisor and project
122
- dashboard_url = generate_salesforce_dashboard_url(supervisor_name, project_id)
123
- return f'<a href="{dashboard_url}" target="_blank" rel="noopener noreferrer" style="font-size:16px;">Open Salesforce Dashboard</a>'
 
 
 
124
 
125
  # Generate function
126
  def generate_outputs(role, supervisor_name, project_id, milestones, reflection):
@@ -216,10 +210,12 @@ def create_interface():
216
  clear = gr.Button("Clear")
217
  refresh = gr.Button("🔄 Refresh Roles")
218
  dashboard_btn = gr.Button("Dashboard")
 
219
 
220
  checklist_output = gr.Textbox(label="✅ Daily Checklist")
221
  suggestions_output = gr.Textbox(label="💡 Focus Suggestions")
222
  dashboard_link = gr.HTML("")
 
223
 
224
  role.change(fn=lambda r: gr.update(choices=get_supervisor_name_by_role(r)), inputs=role, outputs=supervisor_name)
225
  supervisor_name.change(fn=get_projects_for_supervisor, inputs=supervisor_name, outputs=project_id)
@@ -234,10 +230,10 @@ def create_interface():
234
  refresh.click(fn=lambda: gr.update(choices=get_roles_from_salesforce()), outputs=role)
235
 
236
  dashboard_btn.click(fn=open_dashboard, inputs=[role, supervisor_name, project_id], outputs=dashboard_link)
 
237
 
238
  return demo
239
 
240
  if __name__ == "__main__":
241
  app = create_interface()
242
  app.launch()
243
-
 
103
  print(f"⚠️ Error fetching project: {e}")
104
  return ""
105
 
 
 
 
 
 
 
 
 
 
106
  def generate_salesforce_dashboard_url(supervisor_name, project_id):
107
  # Use the provided Salesforce Visualforce URL with supervisorName and projectId as parameters
108
  return f"https://aicoachforsitesupervisors-dev-ed--c.develop.vf.force.com/apex/DashboardPage?supervisorName={supervisor_name}&projectId={project_id}"
109
 
110
+ def generate_salesforce_report_url(supervisor_name, project_id):
111
+ # Similar function to generate a report URL for supervisor and project
112
+ return f"https://aicoachforsitesupervisors-dev-ed--c.develop.vf.force.com/apex/ReportPage?supervisorName={supervisor_name}&projectId={project_id}"
113
+
114
+ # New function to open the report page
115
+ def open_report_page(role, supervisor_name, project_id):
116
+ report_url = generate_salesforce_report_url(supervisor_name, project_id)
117
+ return f'<a href="{report_url}" target="_blank" rel="noopener noreferrer" style="font-size:16px;">Open Supervisor Report</a>'
118
 
119
  # Generate function
120
  def generate_outputs(role, supervisor_name, project_id, milestones, reflection):
 
210
  clear = gr.Button("Clear")
211
  refresh = gr.Button("🔄 Refresh Roles")
212
  dashboard_btn = gr.Button("Dashboard")
213
+ report_btn = gr.Button("Report")
214
 
215
  checklist_output = gr.Textbox(label="✅ Daily Checklist")
216
  suggestions_output = gr.Textbox(label="💡 Focus Suggestions")
217
  dashboard_link = gr.HTML("")
218
+ report_link = gr.HTML("")
219
 
220
  role.change(fn=lambda r: gr.update(choices=get_supervisor_name_by_role(r)), inputs=role, outputs=supervisor_name)
221
  supervisor_name.change(fn=get_projects_for_supervisor, inputs=supervisor_name, outputs=project_id)
 
230
  refresh.click(fn=lambda: gr.update(choices=get_roles_from_salesforce()), outputs=role)
231
 
232
  dashboard_btn.click(fn=open_dashboard, inputs=[role, supervisor_name, project_id], outputs=dashboard_link)
233
+ report_btn.click(fn=open_report_page, inputs=[role, supervisor_name, project_id], outputs=report_link)
234
 
235
  return demo
236
 
237
  if __name__ == "__main__":
238
  app = create_interface()
239
  app.launch()