from django.apps import AppConfig from fieldsignals import post_save_changed class DbConfig(AppConfig): name = "plane.db" # def ready(self): # post_save_changed.connect( # self.model_activity, # sender=self.get_model("Issue"), # ) # def model_activity(self, sender, instance, changed_fields, **kwargs): # verb = "created" if instance._state.adding else "changed" # import inspect # for frame_record in inspect.stack(): # if frame_record[3] == "get_response": # request = frame_record[0].f_locals["request"] # REQUEST_METHOD = request.method # if REQUEST_METHOD == "POST": # self.get_model("IssueActivity").objects.create( # issue=instance, project=instance.project, actor=instance.created_by # ) # elif REQUEST_METHOD == "PATCH": # try: # del changed_fields["updated_at"] # del changed_fields["updated_by"] # except KeyError as e: # pass # for field_name, (old, new) in changed_fields.items(): # field = field_name # old_value = old # new_value = new # self.get_model("IssueActivity").objects.create( # issue=instance, # verb=verb, # field=field, # old_value=old_value, # new_value=new_value, # project=instance.project, # actor=instance.updated_by, # )