Benny-Tang commited on
Commit
a8d585d
·
verified ·
1 Parent(s): 10f63f4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -9
app.py CHANGED
@@ -36,7 +36,7 @@ def init_db():
36
  appeal_id INTEGER PRIMARY KEY AUTOINCREMENT,
37
  ticket_number TEXT,
38
  appeal_text TEXT,
39
- evidence_file TEXT,
40
  decision TEXT,
41
  final_fine REAL,
42
  created_at TEXT,
@@ -137,17 +137,27 @@ def view_case(ticket_number, name, vehicle_number):
137
  f"Updated / Dikemaskini / 更新: {row[14]}"
138
  )
139
 
140
- def submit_appeal(ticket_number, appeal_text, evidence_file):
141
  now = datetime.datetime.now().isoformat()
142
  conn = sqlite3.connect(DB_FILE)
143
  c = conn.cursor()
144
- c.execute('''INSERT INTO appeals (ticket_number, appeal_text, evidence_file, decision, final_fine, created_at, updated_at)
145
  VALUES (?, ?, ?, ?, ?, ?, ?)''',
146
- (ticket_number, appeal_text, evidence_file.name if evidence_file else None,
147
- None, None, now, now))
148
  conn.commit()
149
  conn.close()
150
- return "📨 Appeal submitted / Rayuan dihantar / 上诉已提交"
 
 
 
 
 
 
 
 
 
 
 
151
 
152
  def view_appeal_status(ticket_number):
153
  conn = sqlite3.connect(DB_FILE)
@@ -226,10 +236,11 @@ def citizen_portal():
226
  with gr.Tab("Submit Appeal / Hantar Rayuan / 提交上诉"):
227
  sa_ticket = gr.Textbox(label="Ticket Number / Nombor Saman / 传票号码")
228
  sa_text = gr.Textbox(label="Appeal Text / Teks Rayuan / 上诉内容")
229
- sa_file = gr.File(label="Upload Evidence / Muat Naik Bukti / 上传证据", type="filepath")
230
- sa_btn = gr.Button("Submit / Hantar / 提交")
231
  sa_output = gr.Textbox(label="Result / Keputusan / 结果")
232
- sa_btn.click(submit_appeal, [sa_ticket, sa_text, sa_file], sa_output)
 
233
 
234
  with gr.Tab("View Appeal Status / Lihat Status Rayuan / 查看上诉状态"):
235
  vas_ticket = gr.Textbox(label="Ticket Number / Nombor Saman / 传票号码")
@@ -255,3 +266,4 @@ with gr.Blocks() as demo:
255
 
256
  if __name__ == "__main__":
257
  demo.launch()
 
 
36
  appeal_id INTEGER PRIMARY KEY AUTOINCREMENT,
37
  ticket_number TEXT,
38
  appeal_text TEXT,
39
+ appeal_to TEXT,
40
  decision TEXT,
41
  final_fine REAL,
42
  created_at TEXT,
 
137
  f"Updated / Dikemaskini / 更新: {row[14]}"
138
  )
139
 
140
+ def appeal_to_pdrm(ticket_number, appeal_text):
141
  now = datetime.datetime.now().isoformat()
142
  conn = sqlite3.connect(DB_FILE)
143
  c = conn.cursor()
144
+ c.execute('''INSERT INTO appeals (ticket_number, appeal_text, appeal_to, decision, final_fine, created_at, updated_at)
145
  VALUES (?, ?, ?, ?, ?, ?, ?)''',
146
+ (ticket_number, appeal_text, "PDRM", None, None, now, now))
 
147
  conn.commit()
148
  conn.close()
149
+ return "📨 Appeal submitted to PDRM / Rayuan dihantar ke PDRM / 上诉已提交给皇家警察"
150
+
151
+ def appeal_to_magistrate(ticket_number, appeal_text):
152
+ now = datetime.datetime.now().isoformat()
153
+ conn = sqlite3.connect(DB_FILE)
154
+ c = conn.cursor()
155
+ c.execute('''INSERT INTO appeals (ticket_number, appeal_text, appeal_to, decision, final_fine, created_at, updated_at)
156
+ VALUES (?, ?, ?, ?, ?, ?, ?)''',
157
+ (ticket_number, appeal_text, "MAGISTRATE", None, None, now, now))
158
+ conn.commit()
159
+ conn.close()
160
+ return "📨 Appeal submitted to Magistrate / Rayuan dihantar ke Majistret / 上诉已提交给地方法官"
161
 
162
  def view_appeal_status(ticket_number):
163
  conn = sqlite3.connect(DB_FILE)
 
236
  with gr.Tab("Submit Appeal / Hantar Rayuan / 提交上诉"):
237
  sa_ticket = gr.Textbox(label="Ticket Number / Nombor Saman / 传票号码")
238
  sa_text = gr.Textbox(label="Appeal Text / Teks Rayuan / 上诉内容")
239
+ sa_pdrm_btn = gr.Button("Appeal to PDRM / Rayuan ke PDRM / 向皇家警察")
240
+ sa_mag_btn = gr.Button("Appeal to Magistrate / Rayuan ke Majistret / 向地方法官上诉")
241
  sa_output = gr.Textbox(label="Result / Keputusan / 结果")
242
+ sa_pdrm_btn.click(appeal_to_pdrm, [sa_ticket, sa_text], sa_output)
243
+ sa_mag_btn.click(appeal_to_magistrate, [sa_ticket, sa_text], sa_output)
244
 
245
  with gr.Tab("View Appeal Status / Lihat Status Rayuan / 查看上诉状态"):
246
  vas_ticket = gr.Textbox(label="Ticket Number / Nombor Saman / 传票号码")
 
266
 
267
  if __name__ == "__main__":
268
  demo.launch()
269
+