dwipper commited on
Commit
708a0fa
·
1 Parent(s): 42b63df

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +129 -0
app.py ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ with gr.Blocks() as iface:
4
+ """
5
+ with gr.Row(visible=False) as app_row:
6
+ with gr.Column():
7
+ with gr.Row():
8
+ with gr.Column(scale=2):
9
+ gr.Image(label="Logo", value="Nili_v2_Character.png", width=100, height=100, show_download_button=False,
10
+ interactive=False, show_label=False, elem_id="logo", container=False)
11
+ with gr.Column(scale=2):
12
+ gr.Markdown(value="<H2 style='text-align: center;'>NILI Compliance Desktop</h2>")
13
+ with gr.Column(scale=2):
14
+ gr.Markdown("")
15
+ with gr.Tabs() as tabs:
16
+ with gr.Tab(label="Contract Upload", id=0) as upload_tab:
17
+ with gr.Row():
18
+ with gr.Column(variant='panel',scale=1):
19
+ contract_file_cmpt = gr.File(label="Select Contract File",file_count="single",file_types=[".pdf"],height=150)
20
+ with gr.Column(variant='panel',scale=4):
21
+ with gr.Row():
22
+ with gr.Column(variant='panel'):
23
+ contract_text_tbox = gr.Textbox(label="Contract Text",interactive=True,info="Upload .pdf or paste in text. Shift-Enter to add a line")
24
+ with gr.Row():
25
+ with gr.Column(scale=1):
26
+ upload_btn = gr.components.Button(value="Upload Contract", size='sm', variant="primary")
27
+ with gr.Column(scale=2):
28
+ gr.Markdown("")
29
+ with gr.Column(scale=1):
30
+ redline_btn = gr.components.Button(value="Redline Contract", size='sm', variant="primary")
31
+ with gr.Column(scale=2):
32
+ gr.Markdown("")
33
+ with gr.Tab(label="Contract Redline", id=1) as redline_tab:
34
+ with gr.Row(variant='panel'):
35
+ with gr.Column():
36
+ sponsor_tbox = gr.Textbox(label="Sponsor:", interactive=True)
37
+ compensation_num = gr.Number(label="Contract Value",value=0)
38
+ status_ddss = gr.Dropdown(["Pending","Approved","Rejected"],multiselect=False,label="Status", value="Pending")
39
+ with gr.Column():
40
+ name_tbox = gr.Textbox(label="Name:", interactive=True)
41
+ email_tbox = gr.Textbox(label="Email:", interactive=True, type='email',placeholder='xxxxxxx@xxxxxx.xxx')
42
+ with gr.Column():
43
+ start_date_tbox = gr.Textbox(label="Start Date:", interactive=True, placeholder='MM/DD/YYYY')
44
+ end_date_tbox = gr.Textbox(label="End Date:", interactive=True, placeholder='MM/DD/YYYY')
45
+ with gr.Row():
46
+ with gr.Column(variant='panel'):
47
+ gr.components.Markdown(response_label)
48
+ contract_redline_html = gr.HTML(label="Contract Redline")
49
+ compliance_comments_tbox = gr.Textbox(interactive=True,label='Compliance Comments')
50
+ with gr.Row():
51
+ with gr.Column():
52
+ save_btn = gr.Button(value="Save Contract", size='sm', variant="primary")
53
+ with gr.Column():
54
+ gr.Markdown("")
55
+ with gr.Column():
56
+ gr.Markdown("")
57
+ with gr.Column():
58
+ gr.Markdown("")
59
+ with gr.Column():
60
+ gr.Markdown("")
61
+ with gr.Row(visible=False) as download_row:
62
+ with gr.Column(variant='panel'):
63
+ file_name_tbox = gr.Textbox(interactive=False,label='File Name',visible=False)
64
+ pdf_download_file = gr.File()
65
+ download_btn = gr.Button(value="Create Redline PDF", size='sm', variant="primary")
66
+ upload_btn.click(pdf_to_text,inputs=[contract_file_cmpt,contract_text_tbox,file_name_tbox],outputs=[contract_text_tbox,file_name_tbox,contract_redline_html,compliance_comments_tbox,pdf_download_file])
67
+ download_btn.click(download_pdf,inputs=[compliance_comments_tbox,contract_redline_html,file_name_tbox],outputs=pdf_download_file)
68
+ with gr.Column():
69
+ gr.Markdown("")
70
+ with gr.Column():
71
+ gr.Markdown("")
72
+ with gr.Column():
73
+ gr.Markdown("")
74
+ with gr.Column():
75
+ gr.Markdown("")
76
+ with gr.Tab(label="History", id=3) as history_tab:
77
+ with gr.Row():
78
+ with gr.Column(variant='panel'):
79
+ compliance_history_df = gr.Dataframe(get_compliance_history,
80
+ headers=["Sponsor", "Contract Value", "Student Name", "Student Email", "Start Date", "End Date", "Status","Created"],
81
+ datatype=["str", "number", "str", "str", "date", "date", "str","date"],
82
+ label="Contract History",
83
+ interactive=False
84
+ )
85
+ with gr.Tab(label="Settings", id=4) as settings_tab:
86
+ with gr.Row():
87
+ with gr.Column(variant='panel',scale=1):
88
+ policy_name_dd = gr.Dropdown(schools, multiselect=False,label="NIL Policy Selection", value="Wake Forest University")
89
+ policy_name_dd.change(policy_name_change,inputs=policy_name_dd,outputs=None)
90
+ redline_btn.click(change_tab, inputs=contract_text_tbox, outputs=tabs).success(chatbot,inputs=[policy_name_dd,contract_text_tbox],
91
+ outputs=[contract_redline_html,download_row]).then(update_tboxes,inputs=None,
92
+ outputs=[sponsor_tbox,name_tbox,email_tbox,start_date_tbox,end_date_tbox])
93
+ save_btn.click(append_to_at_compliance_history,inputs=[policy_name_dd,contract_redline_html,compliance_comments_tbox,sponsor_tbox,compensation_num,status_ddss,name_tbox,email_tbox,start_date_tbox,end_date_tbox],outputs=compliance_history_df)
94
+ with gr.Column():
95
+ gr.Markdown("")
96
+ with gr.Column():
97
+ gr.Markdown("")
98
+ with gr.Column():
99
+ gr.Markdown("")
100
+ """
101
+ with gr.Row(visible=True) as login_row:
102
+ with gr.Column():
103
+ with gr.Row():
104
+ with gr.Column(scale=2):
105
+ gr.Markdown("")
106
+ with gr.Column(scale=1):
107
+ with gr.Row():
108
+ gr.Image(label="Logo", value="Nili_v2_Character.png", width=200, height=200,
109
+ show_download_button=False,
110
+ interactive=False, show_label=False, elem_id="logo", container=False)
111
+ with gr.Row():
112
+ gr.Markdown(value="<H2 style='text-align: center;'>NILI Login</h2>")
113
+ with gr.Column(scale=2):
114
+ gr.Markdown("")
115
+ """
116
+ with gr.Row():
117
+ with gr.Column(scale=2):
118
+ gr.Markdown("")
119
+ with gr.Column(scale=1, variant='panel'):
120
+ username_tbox = gr.Textbox(label="User Name", interactive=True)
121
+ password_tbox = gr.Textbox(label="Password", interactive=True, type='password')
122
+ submit_btn = gr.Button(value='Submit', variant='primary', size='sm')
123
+ submit_btn.click(login_auth, inputs=[username_tbox, password_tbox], outputs=[login_row,app_row])
124
+ with gr.Column(scale=2):
125
+ gr.Markdown("")
126
+ """
127
+ with gr.Row():
128
+ with gr.Column(scale=4):
129
+ gr.HTML('<center><i>© 2023 Collegiate Influencer Marketing Systems, Inc.</i><br>CIMS.AI, CIMS.AI logo, NILI, NILI logo, and EzNIL are trademarks of Collegiate Influencer Marketing Systems, Inc.</center>')