Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(Templates): render text field as jinja2 template #595

Merged
merged 2 commits into from
May 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions docs/release-notes/version-2.4.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# Status-Page v2.4

## v2.4.1 (FUTURE)

---

## v2.4.0 (2023-06-09)

### Features
Expand Down
6 changes: 6 additions & 0 deletions docs/release-notes/version-2.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Status-Page v2.5

## v2.5.0 (FUTURE)

### Features
* Add Jinja2 rendering for incident / maintenance templates
2 changes: 1 addition & 1 deletion statuspage/incidents/models.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from django.db import models
from django.urls import reverse
from django.utils import timezone
from django.contrib.auth.models import User

from incidents.choices import *
from django.contrib.auth.models import User
from components.models import Component
from utilities.models import IncidentMaintenanceModel, IncidentMaintenanceUpdateModel

Expand Down
5 changes: 3 additions & 2 deletions statuspage/incidents/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from statuspage.views import generic
from statuspage.views.generic.mixins import ActionsMixin
from utilities.utils import render_jinja2
from utilities.views import register_model_view, ViewTab
from .models import Incident, IncidentUpdate, IncidentTemplate
from . import tables
Expand Down Expand Up @@ -61,7 +62,7 @@ def get_extra_context(self, request, instance: Incident):
'visibility': selected_template.visibility,
'components': selected_template.components.all(),
'update_component_status': selected_template.update_component_status,
'text': selected_template.text,
'text': render_jinja2(template_code=selected_template.text, context={'incident': instance}),
})
return {
'form': form,
Expand Down Expand Up @@ -94,7 +95,7 @@ def get_extra_context(self, request, instance: Incident):
'visibility': selected_template.visibility,
'components': selected_template.components.all(),
'update_component_status': selected_template.update_component_status,
'text': selected_template.text,
'text': render_jinja2(template_code=selected_template.text, context={'incident': instance}),
})
return {
'form': form,
Expand Down
6 changes: 2 additions & 4 deletions statuspage/maintenances/models.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
from django.db import models
from django.urls import reverse
from django.utils import timezone

from components.models import Component
from maintenances.choices import *
from django.contrib.auth.models import User

from subscribers.models import Subscriber
from maintenances.choices import *
from components.models import Component
from utilities.models import IncidentMaintenanceModel, IncidentMaintenanceUpdateModel


Expand Down
5 changes: 3 additions & 2 deletions statuspage/maintenances/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from statuspage.views import generic
from statuspage.views.generic.mixins import ActionsMixin
from utilities.utils import render_jinja2
from utilities.views import register_model_view, ViewTab
from .models import Maintenance, MaintenanceUpdate, MaintenanceTemplate
from . import tables
Expand Down Expand Up @@ -63,7 +64,7 @@ def get_extra_context(self, request, instance: Maintenance):
'end_automatically': selected_template.end_automatically,
'components': selected_template.components.all(),
'update_component_status': selected_template.update_component_status,
'text': selected_template.text,
'text': render_jinja2(template_code=selected_template.text, context={'maintenance': instance}),
})
return {
'form': form,
Expand Down Expand Up @@ -98,7 +99,7 @@ def get_extra_context(self, request, instance: Maintenance):
'end_automatically': selected_template.end_automatically,
'components': selected_template.components.all(),
'update_component_status': selected_template.update_component_status,
'text': selected_template.text,
'text': render_jinja2(template_code=selected_template.text, context={'maintenance': instance}),
})
return {
'form': form,
Expand Down
2 changes: 1 addition & 1 deletion statuspage/statuspage/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from statuspage.config import PARAMS
from statuspage.constants import RQ_QUEUE_HIGH, RQ_QUEUE_DEFAULT, RQ_QUEUE_LOW

VERSION = '2.4.1-dev'
VERSION = '2.5.0-dev'

HOSTNAME = platform.node()

Expand Down
Loading