Changeset 4736
- Timestamp:
- 03/15/07 10:59:49 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/full-history/django/contrib/history/models.py
r3765 r4736 138 138 return m 139 139 140 def save_new_revision(sender, instance, signal, *args, **kwargs): 140 141 ### Signal wrapper functions 142 ## pre_save 143 def save_new_revision_save(sender, instance, signal, *args, **kwargs): 144 """ 145 Wrapper function for save_new_revision() - for pre_save signal 146 This way there is no need to modify django/db/models/base.py 147 """ 148 save_new_revision(sender, instance, signal, signal_name='pre_save', *args, **kwargs) 149 150 ## pre_delete 151 def save_new_revision_delete(sender, instance, signal, *args, **kwargs): 152 """ 153 Wrapper function for save_new_revision() - for pre_delete signal 154 This way there is no need to modify django/db/models/query.py 155 """ 156 save_new_revision(sender, instance, signal, signal_name='pre_delete', *args, **kwargs) 157 158 159 ### Actual save_new_revision 160 def save_new_revision(sender, instance, signal, signal_name, *args, **kwargs): 141 161 """ 142 162 Saves a old copy of the record into the History table. … … 150 170 """ 151 171 print "Sender: ",sender 152 print "Signal : ",kwargs['signal_name']172 print "Signal_name: ",signal_name 153 173 154 174 if instance.__class__.__name__ is 'ChangeLog' or not hasattr(instance, 'History'): … … 164 184 if im: 165 185 try: 166 if kwargs['signal_name']is 'pre_delete':186 if signal_name is 'pre_delete': 167 187 print "Instance was last revision." 168 188 old = instance 169 189 log = ChangeLog(parent=instance, change_type='D', comment="Object deleted. Last revision.") 170 elif (( kwargs['signal_name']is 'pre_save') and instance.id):190 elif ((signal_name is 'pre_save') and instance.id): 171 191 print "Instance has an ID." 172 192 old = getattr(im, instance.__class__.__name__).objects.filter(pk=instance.id)[0] … … 196 216 197 217 198 dispatcher.connect( save_new_revision , signal=signals.pre_save )199 dispatcher.connect( save_new_revision , signal=signals.pre_delete )218 dispatcher.connect( save_new_revision_save, signal=signals.pre_save ) 219 dispatcher.connect( save_new_revision_delete, signal=signals.pre_delete ) django/branches/full-history/django/db/models/base.py
r4732 r4736 195 195 196 196 def save(self): 197 dispatcher.send(signal=signals.pre_save, sender=self.__class__, instance=self , signal_name="pre_save")197 dispatcher.send(signal=signals.pre_save, sender=self.__class__, instance=self) 198 198 199 199 non_pks = [f for f in self._meta.fields if not f.primary_key] django/branches/full-history/django/db/models/query.py
r4732 r4736 1023 1023 # Pre notify all instances to be deleted 1024 1024 for pk_val, instance in seen_objs[cls]: 1025 dispatcher.send(signal=signals.pre_delete, sender=cls, instance=instance , signal_name="pre_delete")1025 dispatcher.send(signal=signals.pre_delete, sender=cls, instance=instance) 1026 1026 1027 1027 pk_list = [pk for pk,instance in seen_objs[cls]]
