mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-28 03:46:06 -05:00 
			
		
		
		
	Updating Django admin event log on document_consumption_finished
This commit is contained in:
		| @@ -4,11 +4,16 @@ import os | ||||
| import time | ||||
|  | ||||
| from django.conf import settings | ||||
| from django.contrib.contenttypes.models import ContentType | ||||
| from django.core.management.base import BaseCommand, CommandError | ||||
| from django.contrib.admin.models import LogEntry, ADDITION | ||||
| from django.contrib.auth.models import User | ||||
| from django.dispatch import receiver | ||||
|  | ||||
| from ...models import Log | ||||
| from ...models import Document | ||||
| from ...consumer import Consumer, ConsumerError | ||||
| from ...mail import MailFetcher, MailFetcherError | ||||
| from ...signals import document_consumption_finished | ||||
|  | ||||
|  | ||||
| class Command(BaseCommand): | ||||
| @@ -16,7 +21,7 @@ class Command(BaseCommand): | ||||
|     On every iteration of an infinite loop, consume what we can from the | ||||
|     consumption directory, and fetch any mail available. | ||||
|     """ | ||||
|  | ||||
|     CONSUME_USER_ID = 1 | ||||
|     LOOP_TIME = 10  # Seconds | ||||
|     MAIL_DELTA = datetime.timedelta(minutes=10) | ||||
|  | ||||
| @@ -68,3 +73,17 @@ class Command(BaseCommand): | ||||
|         delta = self.mail_fetcher.last_checked + self.MAIL_DELTA | ||||
|         if delta < datetime.datetime.now(): | ||||
|             self.mail_fetcher.pull() | ||||
|  | ||||
|     @receiver(document_consumption_finished) | ||||
|     def notify_finished(sender, document=None, logging_group=None, **kwargs): | ||||
|         doctype = ContentType.objects.get_for_model(Document) | ||||
|         user = User.objects.get(**{'id': Command.CONSUME_USER_ID}) | ||||
|  | ||||
|         LogEntry.objects.log_action( | ||||
|             user_id=user.pk, | ||||
|             content_type_id=doctype.pk, | ||||
|             object_id=document.pk, | ||||
|             object_repr=repr(document), | ||||
|             action_flag=ADDITION, | ||||
|             change_message='Document %s consumption finished' % document.title | ||||
|         ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Aleksandr Bogdanov
					Aleksandr Bogdanov