@@ -421,6 +421,20 @@ class ApartmentUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
421421 template_name = "pages/post_property.html"
422422 success_message = _ ("Apartment updated successfully" )
423423
424+ def form_valid (self , form ):
425+ form .instance .user = self .request .user
426+ apartment_data = form .save ()
427+
428+ # Delete existing images of the apartment instance
429+ for old_image in form .instance .apartment_images .all ():
430+ old_image .delete ()
431+
432+ # Create new apartment images for the instance
433+ images = self .request .FILES .getlist ("images" )
434+ for image in images :
435+ form .instance .apartment_images .create (apartment = apartment_data , image = image )
436+ return super ().form_valid (form )
437+
424438 def get_success_url (self ):
425439 return reverse ("core:apartment_detail" , kwargs = {"slug" : self .object .slug })
426440
@@ -438,6 +452,23 @@ class CommercialUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
438452 template_name = "pages/post_property.html"
439453 success_message = _ ("Commercial updated successfully" )
440454
455+ def form_valid (self , form ):
456+ form .instance .user = self .request .user
457+ commercial_data = form .save ()
458+
459+ # Delete existing images of the commercial instance
460+ for old_image in form .instance .commercial_images .all ():
461+ old_image .delete ()
462+
463+ # Create new commercial images for the instance
464+ images = self .request .FILES .getlist ("images" )
465+ for image in images :
466+ form .instance .commercial_images .create (
467+ commercial = commercial_data , image = image
468+ )
469+ return super ().form_valid (form )
470+
471+
441472 def get_success_url (self ):
442473 return reverse ("core:commercial_detail" , kwargs = {"slug" : self .object .slug })
443474
@@ -455,6 +486,21 @@ class HouseUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
455486 template_name = "pages/post_property.html"
456487 success_message = _ ("House updated successfully" )
457488
489+ def form_valid (self , form ):
490+ form .instance .user = self .request .user
491+ house_data = form .save ()
492+
493+ # Delete existing images of the house instance
494+ for old_image in form .instance .house_images .all ():
495+ old_image .delete ()
496+
497+ # Create new house images for the instance
498+ images = self .request .FILES .getlist ("images" )
499+ for image in images :
500+ form .instance .house_images .create (house = house_data , image = image )
501+ return super ().form_valid (form )
502+
503+
458504 def get_success_url (self ):
459505 return reverse ("core:house_detail" , kwargs = {"slug" : self .object .slug })
460506
@@ -472,6 +518,20 @@ class LandUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
472518 template_name = "pages/post_property.html"
473519 success_message = _ ("Land updated successfully" )
474520
521+ def form_valid (self , form ):
522+ form .instance .user = self .request .user
523+ land_data = form .save ()
524+
525+ # Delete existing images of the land instance
526+ for old_image in form .instance .land_images .all ():
527+ old_image .delete ()
528+
529+ # Create new land images for the instance
530+ images = self .request .FILES .getlist ("images" )
531+ for image in images :
532+ form .instance .land_images .create (land = land_data , image = image )
533+ return super ().form_valid (form )
534+
475535 def get_success_url (self ):
476536 return reverse ("core:land_detail" , kwargs = {"slug" : self .object .slug })
477537
@@ -489,6 +549,20 @@ class VillaUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
489549 template_name = "pages/post_property.html"
490550 success_message = _ ("Villa updated successfully" )
491551
552+ def form_valid (self , form ):
553+ form .instance .user = self .request .user
554+ villa_data = form .save ()
555+
556+ # Delete existing images of the villa instance
557+ for old_image in form .instance .villa_images .all ():
558+ old_image .delete ()
559+
560+ # Create new villa images for the instance
561+ images = self .request .FILES .getlist ("images" )
562+ for image in images :
563+ form .instance .villa_images .create (villa = villa_data , image = image )
564+ return super ().form_valid (form )
565+
492566 def get_success_url (self ):
493567 return reverse ("core:villa_detail" , kwargs = {"slug" : self .object .slug })
494568
0 commit comments