@@ -19,7 +19,7 @@ <h2>Events</h2>
19
19
< th > Category</ th >
20
20
< th > Checked in</ th >
21
21
< th > QR Code</ th >
22
- < th > < a href ="{{url_for('admin.new_event')}} "> New</ a > </ th >
22
+ < th > < a href ="#editModal " data-bs-toggle =" modal " data-id =" 0 "> New</ a > </ th >
23
23
</ tr >
24
24
</ thead >
25
25
< tbody >
@@ -34,11 +34,137 @@ <h2>Events</h2>
34
34
< td > {{ event.get_checkins()|length }}</ td >
35
35
< td > < a href ='{{ url_for("admin.qrcode_event", id=event.id)
36
36
}} '> QR Code</ a > </ td >
37
- < td > < a href ="{{url_for('admin.edit_event', id=event .id) }} "> Edit</ a > </ td >
37
+ < td > < a href ="#editModal " data-bs-toggle =" modal " data- id =" {{ e .id}} " > Edit</ a > </ td >
38
38
</ tr >
39
39
{% endfor %}
40
40
</ tbody >
41
41
</ table >
42
42
</ div >
43
43
</ div >
44
+
45
+ < div class ="modal " id ="editModal " tabindex ="-1 " aria-labelledby ="editModalLabel "
46
+ aria-hidden ="true ">
47
+ < div class ="modal-dialog ">
48
+ < div class ="modal-content ">
49
+ < div class ="modal-header ">
50
+ < h1 class ="modal-title fs-5 " id ="editModalLabel "> Event</ h1 >
51
+ < button type ="button " class ="btn-close " data-bs-dismiss ="modal " aria-label ="Close "> </ button >
52
+ </ div >
53
+ < form class ="form " id ="edit-form " action ="/admin/events/0 " role ="form " method ="post ">
54
+ < div class ="modal-body ">
55
+ {{ form.csrf_token }}
56
+ < div class ="form-floating mb-3 required ">
57
+ {{ form.name(class="form-control") }}
58
+ {{ form.name.label() }}
59
+ </ div >
60
+ < div class ="form-floating mb-3 ">
61
+ {{ form.description(class="form-control") }}
62
+ {{ form.description.label() }}
63
+ </ div >
64
+ < div class ="form-floating mb-3 required ">
65
+ {{ form.location(class="form-control") }}
66
+ {{ form.location.label() }}
67
+ </ div >
68
+ < div class ="row ">
69
+ < div class ="col ">
70
+ < div class ="form-floating mb-3 required ">
71
+ {{ form.start_day(class="form-control") }}
72
+ {{ form.start_day.label() }}
73
+ </ div >
74
+ </ div >
75
+ < div class ="col ">
76
+ < div class ="form-floating mb-3 required ">
77
+ {{ form.start_time(class="form-control") }}
78
+ {{ form.start_time.label() }}
79
+ </ div >
80
+ </ div >
81
+ </ div >
82
+ < div class ="row ">
83
+ < div class ="col ">
84
+ < div class ="form-floating mb-3 required ">
85
+ {{ form.end_day(class="form-control") }}
86
+ {{ form.end_day.label() }}
87
+ </ div >
88
+ </ div >
89
+ < div class ="col ">
90
+ < div class ="form-floating mb-3 required ">
91
+ {{ form.end_time(class="form-control") }}
92
+ {{ form.end_time.label() }}
93
+ </ div >
94
+ </ div >
95
+ </ div >
96
+ </ div >
97
+ < div class ="modal-footer ">
98
+ < button type ="button " class ="btn btn-secondary " data-bs-dismiss ="modal "> Close</ button >
99
+ < button type ="submit " class ="btn btn-primary " id ="edit-save "> Save changes</ button >
100
+ </ div >
101
+ </ form >
102
+ </ div >
103
+ </ div >
104
+ </ div >
105
+
106
+ < script src ="{{ url_for('static', filename='js/jquery-3.6.3.min.js') }} " charset ="utf-8 "> </ script >
107
+
108
+ < script charset ="utf-8 ">
109
+ const editButton = document . getElementById ( "edit-save" )
110
+
111
+ $ ( '#editModal' ) . on ( 'show.bs.modal' , function ( event ) {
112
+ var modal = $ ( this )
113
+ modal . find ( '#name' ) . val ( '' )
114
+ modal . find ( '#location' ) . val ( '' )
115
+ modal . find ( '#description' ) . val ( '' )
116
+ modal . find ( '#start_day' ) . val ( '' )
117
+ modal . find ( '#start_time' ) . val ( '' )
118
+ modal . find ( '#end_day' ) . val ( '' )
119
+ modal . find ( '#end_time' ) . val ( '' )
120
+
121
+ var button = $ ( event . relatedTarget )
122
+ var name , description , loc , start_time , start_day , end_time , end_day
123
+ id = button . data ( 'id' )
124
+
125
+ saveButton = document . getElementById ( "edit-save" )
126
+ saveButton . dataset . id = id
127
+
128
+ editForm = document . getElementById ( "edit-form" )
129
+ editForm . action = "/admin/event/" + id
130
+
131
+ if ( id ) {
132
+ $ . get ( `/admin/event/${ id } ` , ( data ) => {
133
+
134
+ if ( data . status == "error" ) {
135
+ // This is a new event, do nothing!
136
+ } else {
137
+ name = data . name ,
138
+ description = data . description ,
139
+ loc = data . location
140
+
141
+ start = new Date ( data . start_time )
142
+
143
+ var day = ( "0" + start . getDate ( ) ) . slice ( - 2 ) ;
144
+ var month = ( "0" + ( start . getMonth ( ) + 1 ) ) . slice ( - 2 ) ;
145
+
146
+ start_day = start . getFullYear ( ) + "-" + ( month ) + "-" + ( day ) ;
147
+ start_time = `${ start . getHours ( ) } :${ padTwoDigits ( start . getMinutes ( ) ) } `
148
+ end = new Date ( data . end_time )
149
+
150
+ var day = ( "0" + end . getDate ( ) ) . slice ( - 2 ) ;
151
+ var month = ( "0" + ( end . getMonth ( ) + 1 ) ) . slice ( - 2 ) ;
152
+
153
+ end_day = end . getFullYear ( ) + "-" + ( month ) + "-" + ( day ) ;
154
+ end_time = `${ end . getHours ( ) } :${ padTwoDigits ( end . getMinutes ( ) ) } `
155
+ }
156
+
157
+ modal . find ( '#name' ) . val ( name )
158
+ modal . find ( '#location' ) . val ( loc )
159
+ modal . find ( '#description' ) . val ( description )
160
+ modal . find ( '#start_day' ) . val ( start_day )
161
+ modal . find ( '#start_time' ) . val ( start_time )
162
+ modal . find ( '#end_day' ) . val ( end_day )
163
+ modal . find ( '#end_time' ) . val ( end_time )
164
+
165
+
166
+ } ) ;
167
+ }
168
+ } )
169
+ </ script >
44
170
{% endblock %}
0 commit comments