@@ -20,6 +20,7 @@ class AppSettings(UuidAuditedModel):
2020 owner = models .ForeignKey (User , on_delete = models .PROTECT )
2121 app = models .ForeignKey ('App' , on_delete = models .CASCADE )
2222 routable = models .BooleanField (default = True )
23+ autorollback = models .BooleanField (default = True )
2324 autoscale = models .JSONField (default = dict , blank = True )
2425 label = models .JSONField (default = dict , blank = True )
2526
@@ -71,6 +72,15 @@ def _update_routable(self, previous_settings):
7172 elif old != new :
7273 self .summary += ["{} changed routablity from {} to {}" .format (self .owner , old , new )]
7374
75+ def _update_autorollback (self , previous_settings ):
76+ old = getattr (previous_settings , 'autorollback' , None )
77+ new = getattr (self , 'autorollback' , None )
78+ # if nothing changed copy the settings from previous
79+ if new is None and old is not None :
80+ setattr (self , 'autorollback' , old )
81+ elif old != new :
82+ self .summary += ["{} changed autorollback from {} to {}" .format (self .owner , old , new )]
83+
7484 def _update_autoscale (self , previous_settings ):
7585 data = getattr (previous_settings , 'autoscale' , {}).copy ()
7686 new = getattr (self , 'autoscale' , {}).copy ()
@@ -149,7 +159,7 @@ def _update_fields(self, ignore_update_fields=None):
149159 previous_settings = self .app .appsettings_set .latest ()
150160 except AppSettings .DoesNotExist :
151161 pass
152- update_fields = ["routable" , "autoscale" , "label" ]
162+ update_fields = ["routable" , "autorollback" , " autoscale" , "label" ]
153163 try :
154164 for update_field in update_fields :
155165 if ignore_update_fields is None or update_field not in ignore_update_fields :
0 commit comments