signatures.py 762 B

123456789101112131415161718192021222324
  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. else:
  15. return False
  16. def make_signature_checksum(parsed_signature, user):
  17. return checksums.make_checksum(parsed_signature, [user.pk])