mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-12-23 19:41:22 +00:00
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
from django.conf import settings
|
|
from django.core.checks import Warning, register
|
|
from django.db.utils import OperationalError
|
|
|
|
|
|
@register()
|
|
def changed_password_check(app_configs, **kwargs):
|
|
|
|
from documents.models import Document
|
|
from paperless.db import GnuPG
|
|
|
|
if not settings.PASSPHRASE:
|
|
return []
|
|
|
|
warning = (
|
|
"At least one document:\n\n {}\n\nin your data store was encrypted "
|
|
"with a password other than the one currently\nin use. This means "
|
|
"that this file, and others encrypted with the other\npassword are no "
|
|
"longer acessible, which is probably not what you want. If\nyou "
|
|
"intend to change your Paperless password, you must first export all "
|
|
"of\nthe old documents, start fresh with the new password and then "
|
|
"re-import them."
|
|
)
|
|
|
|
try:
|
|
document = Document.objects.order_by("-pk").filter(
|
|
storage_type=Document.STORAGE_TYPE_GPG).first()
|
|
if document and not GnuPG.decrypted(document.source_file):
|
|
return [Warning(warning.format(document))]
|
|
except OperationalError:
|
|
pass # No documents table yet
|
|
|
|
return []
|