mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-05-01 11:19:32 -05:00

* Saving some start on this * At least partially working for the tesseract parser * Problems with migration testing need to figure out * Work around that error * Fixes max m_pixels * Moving the settings to main paperless application * Starting some consumer options * More fixes and work * Fixes these last tests * Fix max_length on OcrSettings.mode field * Fix all fields on Common & Ocr settings serializers * Umbrellla config view * Revert "Umbrellla config view" This reverts commit fbaf9f4be30f89afeb509099180158a3406416a5. * Updates to use a single configuration object for all settings * Squashed commit of the following: commit 8a0a49dd5766094f60462fbfbe62e9921fbd2373 Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Dec 19 23:02:47 2023 -0800 Fix formatting commit 66b2d90c507b8afd9507813ff555e46198ea33b9 Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Dec 19 22:36:35 2023 -0800 Refactor frontend data models commit 5723bd8dd823ee855625e250df39393e26709d48 Author: Adam Bogdał <adam@bogdal.pl> Date: Wed Dec 20 01:17:43 2023 +0100 Fix: speed up admin panel for installs with a large number of documents (#5052) commit 9b08ce176199bf9011a6634bb88f616846150d2b Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Dec 19 15:18:51 2023 -0800 Update PULL_REQUEST_TEMPLATE.md commit a6248bec2d793b7690feed95fcaf5eb34a75bfb6 Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Dec 19 15:02:05 2023 -0800 Chore: Update Angular to v17 (#4980) commit b1f6f52486d5ba5c04af99b41315eb6428fd1fa8 Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Dec 19 13:53:56 2023 -0800 Fix: Dont allow null custom_fields property via API (#5063) commit 638d9970fd468d8c02c91d19bd28f8b0796bdcb1 Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Dec 19 13:43:50 2023 -0800 Enhancement: symmetric document links (#4907) commit 5e8de4c1da6eb4eb8f738b20962595c7536b30ec Author: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue Dec 19 12:45:04 2023 -0800 Enhancement: shared icon & shared by me filter (#4859) commit 088bad90306025d3f6b139cbd0ad264a1cbecfe5 Author: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue Dec 19 12:04:03 2023 -0800 Bulk updates all the backend libraries (#5061) * Saving some work on frontend config * Very basic but dynamically-generated config form * Saving work on slightly less ugly frontend config * JSON validation for user_args field * Fully dynamic config form * Adds in some additional validators for a nicer error message * Cleaning up the testing and coverage more * Reverts unintentional change * Adds documentation about the settings and the precedence * Couple more commenting and style fixes --------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
181 lines
6.3 KiB
Python
181 lines
6.3 KiB
Python
# Generated by Django 4.2.7 on 2023-12-19 17:51
|
|
|
|
import django.core.validators
|
|
from django.db import migrations
|
|
from django.db import models
|
|
|
|
|
|
def _create_singleton(apps, schema_editor):
|
|
"""
|
|
Creates the first and only instance of the configuration model
|
|
"""
|
|
settings_model = apps.get_model("paperless", "ApplicationConfiguration")
|
|
settings_model.objects.create()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
initial = True
|
|
|
|
dependencies = []
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="ApplicationConfiguration",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.AutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"output_type",
|
|
models.CharField(
|
|
blank=True,
|
|
choices=[
|
|
("pdf", "pdf"),
|
|
("pdfa", "pdfa"),
|
|
("pdfa-1", "pdfa-1"),
|
|
("pdfa-2", "pdfa-2"),
|
|
("pdfa-3", "pdfa-3"),
|
|
],
|
|
max_length=8,
|
|
null=True,
|
|
verbose_name="Sets the output PDF type",
|
|
),
|
|
),
|
|
(
|
|
"pages",
|
|
models.PositiveIntegerField(
|
|
null=True,
|
|
validators=[
|
|
django.core.validators.MinValueValidator(1),
|
|
],
|
|
verbose_name="Do OCR from page 1 to this value",
|
|
),
|
|
),
|
|
(
|
|
"language",
|
|
models.CharField(
|
|
blank=True,
|
|
max_length=32,
|
|
null=True,
|
|
verbose_name="Do OCR using these languages",
|
|
),
|
|
),
|
|
(
|
|
"mode",
|
|
models.CharField(
|
|
blank=True,
|
|
choices=[
|
|
("skip", "skip"),
|
|
("redo", "redo"),
|
|
("force", "force"),
|
|
("skip_noarchive", "skip_noarchive"),
|
|
],
|
|
max_length=16,
|
|
null=True,
|
|
verbose_name="Sets the OCR mode",
|
|
),
|
|
),
|
|
(
|
|
"skip_archive_file",
|
|
models.CharField(
|
|
blank=True,
|
|
choices=[
|
|
("never", "never"),
|
|
("with_text", "with_text"),
|
|
("always", "always"),
|
|
],
|
|
max_length=16,
|
|
null=True,
|
|
verbose_name="Controls the generation of an archive file",
|
|
),
|
|
),
|
|
(
|
|
"image_dpi",
|
|
models.PositiveIntegerField(
|
|
null=True,
|
|
validators=[
|
|
django.core.validators.MinValueValidator(1),
|
|
],
|
|
verbose_name="Sets image DPI fallback value",
|
|
),
|
|
),
|
|
(
|
|
"unpaper_clean",
|
|
models.CharField(
|
|
blank=True,
|
|
choices=[
|
|
("clean", "clean"),
|
|
("clean-final", "clean-final"),
|
|
("none", "none"),
|
|
],
|
|
max_length=16,
|
|
null=True,
|
|
verbose_name="Controls the unpaper cleaning",
|
|
),
|
|
),
|
|
(
|
|
"deskew",
|
|
models.BooleanField(null=True, verbose_name="Enables deskew"),
|
|
),
|
|
(
|
|
"rotate_pages",
|
|
models.BooleanField(
|
|
null=True,
|
|
verbose_name="Enables page rotation",
|
|
),
|
|
),
|
|
(
|
|
"rotate_pages_threshold",
|
|
models.FloatField(
|
|
null=True,
|
|
validators=[django.core.validators.MinValueValidator(0.0)],
|
|
verbose_name="Sets the threshold for rotation of pages",
|
|
),
|
|
),
|
|
(
|
|
"max_image_pixels",
|
|
models.FloatField(
|
|
null=True,
|
|
validators=[
|
|
django.core.validators.MinValueValidator(1000000.0),
|
|
],
|
|
verbose_name="Sets the maximum image size for decompression",
|
|
),
|
|
),
|
|
(
|
|
"color_conversion_strategy",
|
|
models.CharField(
|
|
blank=True,
|
|
choices=[
|
|
("LeaveColorUnchanged", "LeaveColorUnchanged"),
|
|
("RGB", "RGB"),
|
|
("UseDeviceIndependentColor", "UseDeviceIndependentColor"),
|
|
("Gray", "Gray"),
|
|
("CMYK", "CMYK"),
|
|
],
|
|
max_length=32,
|
|
null=True,
|
|
verbose_name="Sets the Ghostscript color conversion strategy",
|
|
),
|
|
),
|
|
(
|
|
"user_args",
|
|
models.JSONField(
|
|
null=True,
|
|
verbose_name="Adds additional user arguments for OCRMyPDF",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "paperless application settings",
|
|
},
|
|
),
|
|
migrations.RunPython(_create_singleton, migrations.RunPython.noop),
|
|
]
|