signatures.py 748 B

1234567891011121314151617181920212223
  1. from ..markup import checksums, signature_flavour
  2. def set_user_signature(request, user, user_acl, signature):
  3. user.signature = signature
  4. if signature:
  5. user.signature_parsed = signature_flavour(request, user, user_acl, signature)
  6. user.signature_checksum = make_signature_checksum(user.signature_parsed, user)
  7. else:
  8. user.signature_parsed = ""
  9. user.signature_checksum = ""
  10. def is_user_signature_valid(user):
  11. if user.signature:
  12. valid_checksum = make_signature_checksum(user.signature_parsed, user)
  13. return user.signature_checksum == valid_checksum
  14. return False
  15. def make_signature_checksum(parsed_signature, user):
  16. return checksums.make_checksum(parsed_signature, [user.pk])