diff --git a/README.md b/README.md index f54cdb7..a02223e 100644 --- a/README.md +++ b/README.md @@ -140,9 +140,10 @@ To create the first user, open the container's console using Unraid's UI, by cli | ENABLE_SOFT_DELETE | true\|false | false | Whether to enable transactions soft delete, if enabled, deleted transactions will remain in the database. Useful for imports and avoiding duplicate entries. | | KEEP_DELETED_TRANSACTIONS_FOR | int | 365 | Time in days to keep soft deleted transactions for. If 0, will keep all transactions indefinitely. Only works if ENABLE_SOFT_DELETE is true. | | TASK_WORKERS | int | 1 | How many workers to have for async tasks. One should be enough for most use cases | -| DEMO | true\|false | false | If demo mode is enabled. | -| ADMIN_EMAIL | string | None | Automatically creates an admin account with this email. Must have `ADMIN_PASSWORD` also set. | -| ADMIN_PASSWORD | string | None | Automatically creates an admin account with this password. Must have `ADMIN_EMAIL` also set. | +| DEMO | true\|false | false | If demo mode is enabled. | +| ADMIN_EMAIL | string | None | Automatically creates an admin account with this email. Must have `ADMIN_PASSWORD` also set. | +| ADMIN_PASSWORD | string | None | Automatically creates an admin account with this password. Must have `ADMIN_EMAIL` also set. | +| CHECK_FOR_UPDATES | bool | true | Check and notify users about new versions. The check is done by doing a single query to Github's API every 12 hours. | ## OIDC Configuration diff --git a/app/WYGIWYH/settings.py b/app/WYGIWYH/settings.py index f05c8f3..84c9749 100644 --- a/app/WYGIWYH/settings.py +++ b/app/WYGIWYH/settings.py @@ -537,6 +537,7 @@ PWA_APP_SCREENSHOTS = [ PWA_SERVICE_WORKER_PATH = BASE_DIR / "templates" / "pwa" / "serviceworker.js" ENABLE_SOFT_DELETE = os.getenv("ENABLE_SOFT_DELETE", "false").lower() == "true" +CHECK_FOR_UPDATES = os.getenv("CHECK_FOR_UPDATES", "true").lower() == "true" KEEP_DELETED_TRANSACTIONS_FOR = int(os.getenv("KEEP_DELETED_ENTRIES_FOR", "365")) APP_VERSION = os.getenv("APP_VERSION", "unknown") DEMO = os.getenv("DEMO", "false").lower() == "true" diff --git a/app/apps/common/tasks.py b/app/apps/common/tasks.py index b462a38..1d6203d 100644 --- a/app/apps/common/tasks.py +++ b/app/apps/common/tasks.py @@ -90,6 +90,9 @@ def reset_demo_data(timestamp=None): name="check_for_updates", ) def check_for_updates(timestamp=None): + if not settings.CHECK_FOR_UPDATES: + return "CHECK_FOR_UPDATES is disabled" + url = "https://api.github.com/repos/eitchtee/WYGIWYH/releases/latest" try: diff --git a/app/apps/transactions/tasks.py b/app/apps/transactions/tasks.py index c526c67..70e11d2 100644 --- a/app/apps/transactions/tasks.py +++ b/app/apps/transactions/tasks.py @@ -28,23 +28,18 @@ def generate_recurring_transactions(timestamp=None): @app.periodic(cron="10 1 * * *") @app.task(name="cleanup_deleted_transactions") def cleanup_deleted_transactions(timestamp=None): - with cachalot_disabled(): - if settings.ENABLE_SOFT_DELETE and settings.KEEP_DELETED_TRANSACTIONS_FOR == 0: - return "KEEP_DELETED_TRANSACTIONS_FOR is 0, no cleanup performed." + if settings.ENABLE_SOFT_DELETE and settings.KEEP_DELETED_TRANSACTIONS_FOR == 0: + return "KEEP_DELETED_TRANSACTIONS_FOR is 0, no cleanup performed." - if not settings.ENABLE_SOFT_DELETE: - # Hard delete all soft-deleted transactions - deleted_count, _ = Transaction.userless_deleted_objects.all().hard_delete() - return ( - f"Hard deleted {deleted_count} transactions (soft deletion disabled)." - ) + if not settings.ENABLE_SOFT_DELETE: + # Hard delete all soft-deleted transactions + deleted_count, _ = Transaction.userless_deleted_objects.all().hard_delete() + return f"Hard deleted {deleted_count} transactions (soft deletion disabled)." - # Calculate the cutoff date - cutoff_date = timezone.now() - timedelta( - days=settings.KEEP_DELETED_TRANSACTIONS_FOR - ) - - invalidate() + # Calculate the cutoff date + cutoff_date = timezone.now() - timedelta( + days=settings.KEEP_DELETED_TRANSACTIONS_FOR + ) # Hard delete soft-deleted transactions older than the cutoff date old_transactions = Transaction.userless_deleted_objects.filter(