Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
| 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
|
| 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,
|
| 145 |
VALUES (?, ?, ?, ?, ?, ?, ?)''',
|
| 146 |
-
(ticket_number, appeal_text,
|
| 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 |
-
|
| 230 |
-
|
| 231 |
sa_output = gr.Textbox(label="Result / Keputusan / 结果")
|
| 232 |
-
|
|
|
|
| 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 |
+
|