@@ -252,6 +252,21 @@ def to_crud(self, request, options=None):
252252
253253 twig_file = self .ensure_crud_template (crud_name + ".twig" )
254254
255+ def parse_request_for_images (request ):
256+ """
257+ Parses request for images and files
258+ :param request:
259+ :return:
260+ """
261+ # if there are files in the request the then I assign the file value to the request body
262+ if request .files :
263+ for input_name in request .files :
264+ prefix = ""
265+ if "image" in request .files [input_name ]["content_type" ]:
266+ prefix = "data:" + request .files [input_name ]["content_type" ]+ ";base64,"
267+ request .body [input_name ] = prefix + request .files [input_name ]["content" ]
268+ return request
269+
255270 async def get_record (request , response ):
256271 limit = int (request .params .get ("limit" , options .get ("limit" , 10 )))
257272 offset = int (request .params .get ("offset" , options .get ("offset" , 0 )))
@@ -285,12 +300,21 @@ async def get_record(request, response):
285300
286301 async def post_record (request , response ):
287302 Debug .info ("CRUD CREATE" , table_name , request .body )
303+
304+ request = parse_request_for_images (request )
305+
288306 self .dba .insert (table_name , request .body , primary_key = options ["primary_key" ])
289307 self .dba .commit ()
290308 return response ({"message" : f"<script>showMessage('{ table_nice_name } Record added');</script>" }, HTTP_OK , APPLICATION_JSON )
291309
292310 async def update_record (request , response ):
293311 Debug .info ("CRUD UPDATE" , table_name , request .params , request .body )
312+ # Add the primary key if it is taken out of the form
313+ if options ["primary_key" ] not in request .body :
314+ request .body [options ["primary_key" ]] = request .params [options ["primary_key" ]]
315+
316+ request = parse_request_for_images (request )
317+
294318 self .dba .update (table_name , request .body , primary_key = options ["primary_key" ])
295319 self .dba .commit ()
296320 return response ({"message" : f"<script>showMessage('{ table_nice_name } Record updated');</script>" , "post" : request .body }, HTTP_OK , APPLICATION_JSON )
0 commit comments