1
1
from utils .env import env
2
-
2
+ from datetime import datetime
3
+ import json
3
4
4
5
def get_edit_event_modal (event_id : str ):
5
6
event = env .airtable .get_event (event_id )
7
+ raw_desc = json .loads (event ["fields" ]["Raw Description" ])
6
8
return {
7
9
"type" : "modal" ,
8
- "callback_id" : "create_event" ,
10
+ "callback_id" : "edit_event" ,
11
+ "private_metadata" : event_id ,
9
12
"title" : {"type" : "plain_text" , "text" : "Add Event" , "emoji" : True },
10
13
"submit" : {"type" : "plain_text" , "text" : "Submit" , "emoji" : True },
11
14
"close" : {"type" : "plain_text" , "text" : "Cancel" , "emoji" : True },
@@ -21,38 +24,42 @@ def get_edit_event_modal(event_id: str):
21
24
{
22
25
"type" : "input" ,
23
26
"block_id" : "title" ,
24
- "element" : {"type" : "plain_text_input" , "action_id" : "title" },
27
+ "element" : {
28
+ "type" : "plain_text_input" ,
29
+ "action_id" : "title" ,
30
+ "initial_value" : event ["fields" ]["Title" ]
31
+ },
25
32
"label" : {"type" : "plain_text" , "text" : "Title" , "emoji" : True },
26
- "initial_value" : event ["fields" ]["Name" ],
27
33
},
28
34
{
29
35
"type" : "input" ,
30
36
"block_id" : "description" ,
31
37
"element" : {
32
38
"type" : "rich_text_input" ,
33
39
"action_id" : "description" ,
34
- "dispatch_action_config" : {
35
- "trigger_actions_on" : ["on_character_entered" ]
36
- },
37
- "focus_on_load" : False ,
38
- "placeholder" : {"type" : "plain_text" , "text" : "Enter text" },
40
+ "initial_value" : raw_desc ,
39
41
},
40
42
"label" : {"type" : "plain_text" , "text" : "Description" , "emoji" : True },
41
- "initial_value" : event ["fields" ]["Description" ],
42
43
},
43
44
{
44
45
"type" : "input" ,
45
46
"block_id" : "start_time" ,
46
- "element" : {"type" : "datetimepicker" , "action_id" : "start_time" },
47
+ "element" : {
48
+ "type" : "datetimepicker" ,
49
+ "action_id" : "start_time" ,
50
+ "initial_date_time" : datetime .fromisoformat (event ["fields" ]["Start Time" ]).timestamp (),
51
+ },
47
52
"label" : {"type" : "plain_text" , "text" : "Start Time" , "emoji" : True },
48
- "initial_date" : event ["fields" ]["Start Time" ],
49
53
},
50
54
{
51
55
"type" : "input" ,
52
56
"block_id" : "end_time" ,
53
- "element" : {"type" : "datetimepicker" , "action_id" : "end_time" },
57
+ "element" : {
58
+ "type" : "datetimepicker" ,
59
+ "action_id" : "end_time" ,
60
+ "initial_date_time" : datetime .fromisoformat (event ["fields" ]["End Time" ]).timestamp ()
61
+ },
54
62
"label" : {"type" : "plain_text" , "text" : "End Time" , "emoji" : True },
55
- "initial_date" : event ["fields" ]["End Time" ],
56
63
},
57
64
{
58
65
"type" : "input" ,
0 commit comments