recordedit.py 822 B

1234567891011121314151617181920212223
  1. from django.db.models import F
  2. from . import EDIT, PostingMiddleware
  3. class RecordEditMiddleware(PostingMiddleware):
  4. def __init__(self, **kwargs):
  5. super(RecordEditMiddleware, self).__init__(**kwargs)
  6. if self.mode == EDIT:
  7. self.original_title = self.thread.title
  8. self.original_post = self.post.original
  9. def save(self, form):
  10. if self.mode == EDIT:
  11. # record post or thread edit
  12. is_title_changed = self.original_title != self.thread.title
  13. is_post_changed = self.original_post != self.post.original
  14. if is_title_changed or is_post_changed:
  15. self.post.edits += 1
  16. self.post.last_editor_name = self.user.username
  17. self.post.update_fields.extend(('edits', 'last_editor_name'))