*: propertymapping template -> expression

This commit is contained in:
Jens Langhammer
2020-02-17 20:38:14 +01:00
parent bc4b7ef44d
commit 3aa2f1e892
12 changed files with 42 additions and 23 deletions

View File

@ -0,0 +1,16 @@
# Generated by Django 3.0.3 on 2020-02-17 19:34
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("passbook_core", "0006_propertymapping_template"),
]
operations = [
migrations.RenameField(
model_name="propertymapping", old_name="template", new_name="expression",
),
]

View File

@ -296,15 +296,15 @@ class PropertyMapping(UUIDModel):
"""User-defined key -> x mapping which can be used by providers to expose extra data."""
name = models.TextField()
template = models.TextField()
expression = models.TextField()
form = ""
objects = InheritanceManager()
def render(self, user: User, request: HttpRequest, **kwargs) -> Any:
"""Render `self.template` using `**kwargs` as Context."""
template = NATIVE_ENVIRONMENT.from_string(self.template)
return template.render(user=user, request=request, **kwargs)
def evaluate(self, user: User, request: HttpRequest, **kwargs) -> Any:
"""Evaluate `self.expression` using `**kwargs` as Context."""
expression = NATIVE_ENVIRONMENT.from_string(self.expression)
return expression.render(user=user, request=request, **kwargs)
def __str__(self):
return f"Property Mapping {self.name}"