mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 05:29:38 -04:00
Add a template filter for message placeholders
As a first guess placeholders can be added to messages with the `((placeholder))` syntax. This commit adds a Jinja template filter to convert strings containing said-formatted strings into HTML, which can then be styled to highlight which parts will be substituted in messages.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import os
|
||||
import re
|
||||
|
||||
from flask import Flask, session
|
||||
from flask import Flask, session, Markup
|
||||
from flask._compat import string_types
|
||||
from flask.ext import assets
|
||||
from flask.ext.sqlalchemy import SQLAlchemy
|
||||
@@ -44,6 +45,8 @@ def create_app(config_name):
|
||||
application.session_interface = ItsdangerousSessionInterface()
|
||||
admin_api_client.init_app(application)
|
||||
|
||||
application.add_template_filter(placeholders)
|
||||
|
||||
return application
|
||||
|
||||
|
||||
@@ -153,3 +156,13 @@ def convert_to_boolean(value):
|
||||
return False
|
||||
|
||||
return value
|
||||
|
||||
|
||||
def placeholders(value):
|
||||
if not value:
|
||||
return value
|
||||
return Markup(re.sub(
|
||||
r"\(\(([^\)]+)\)\)", # anything that looks like ((registration number))
|
||||
lambda match: "<span class='placeholder'>{}</span>".format(match.group(1)),
|
||||
value
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user