From 67b639672869d1f5b7c5c3bc7282319128af25af Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Fri, 29 Nov 2024 11:38:36 +0100 Subject: [PATCH] Add requirements field for progression rules This will allow to store the requirements needed for the rule to apply --- .../migrations/0018_flexible_routines.py | 40 +++++++++++++++++++ wger/manager/models/abstract_config.py | 8 +++- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/wger/manager/migrations/0018_flexible_routines.py b/wger/manager/migrations/0018_flexible_routines.py index 5ad4332fd..85ab3a30e 100644 --- a/wger/manager/migrations/0018_flexible_routines.py +++ b/wger/manager/migrations/0018_flexible_routines.py @@ -409,6 +409,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -460,6 +464,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -517,6 +525,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -573,6 +585,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -624,6 +640,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -675,6 +695,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -726,6 +750,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -777,6 +805,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -828,6 +860,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], @@ -878,6 +914,10 @@ class Migration(migrations.Migration): to='manager.slotentry', ), ), + ( + 'requirements', + models.JSONField(default=None, null=True), + ) ], options={ 'ordering': ['slot_entry', 'iteration'], diff --git a/wger/manager/models/abstract_config.py b/wger/manager/models/abstract_config.py index 85f749a25..bc3a94e24 100644 --- a/wger/manager/models/abstract_config.py +++ b/wger/manager/models/abstract_config.py @@ -85,8 +85,14 @@ class Meta: different change. """ + requirements = models.JSONField( + default=None, + null=True, + ) + """Requirements for the application of this rule as JSON""" + @property - def replace(self): + def replace(self) -> bool: """ Flag indicating that there is no increase, but that the value will simply be replaced with the new one