Skip to content

Commit 634a1ad

Browse files
authored
Refactor appsetting injection (#494)
* update variable names in templates * update variable names in defaults * add function which returns all appsettings which starts with given prefix * refactor function, so that all appsettings which starts with prefix `renderer_` get injected in the templating system * linter fun * calm down rioting linter pt. 2 * fix merge conflict * fix merge conflicts, wrong variable names
1 parent 3eaff06 commit 634a1ad

12 files changed

Lines changed: 44 additions & 31 deletions

File tree

datameta/defaults/appsettings.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,17 @@ template_reg_notify:
7474
Best regards,
7575
The Support Team
7676
77-
logo_html:
77+
renderer_logo_html:
7878
str_value : |
7979
<p class="h4 my-0 me-md-auto fw-normal" style="font-family: \'Fira Sans\', sans-serif;">
8080
<a href="/" class="link-bare"><span style="color:#ffca2c">D</span>ata<span style="color:#ffca2c">M</span>eta</a>
8181
</p>
8282
83-
legal_notice:
83+
renderer_legal_notice:
8484
str_value : |
8585
<a href="#" class="link-bare">Legal Notice</a>
8686
87-
page_title:
87+
renderer_page_title:
8888
str_value : DataMeta
8989

9090
user_agreement:

datameta/settings.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import datetime
1616
import pkgutil
1717
import yaml
18+
from typing import List
1819

1920
import transaction
2021
from .models import ApplicationSetting, get_engine, get_tm_session, get_session_factory
@@ -67,6 +68,15 @@ def get_setting(db, name):
6768
return None
6869

6970

71+
def get_settings_startswith(
72+
db,
73+
prefix: str,
74+
) -> List[str]:
75+
"""Return all appsettings which starts with given prefix."""
76+
settings = db.query(ApplicationSetting).filter(ApplicationSetting.key.startswith(prefix)).all()
77+
return [setting.key for setting in settings]
78+
79+
7080
class SettingUpdateError(RuntimeError):
7181
pass
7282

datameta/templates/404.pt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div metal:use-macro="load: minimal.pt">
22
<div metal:fill-slot="content" class="container">
3-
<div tal:replace="structure logo_html"></div>
3+
<div tal:replace="structure renderer_logo_html"></div>
44
<p class="lead"><span class="font-semi-bold">404</span> Page Not Found</p>
55
</div>
66
</div>

datameta/templates/forgot.pt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
}
5656
</style>
5757
<main metal:fill-slot="content" class="form-signin">
58-
<div tal:replace="structure logo_html"></div>
58+
<div tal:replace="structure renderer_logo_html"></div>
5959
<div id="alert" class="alert alert-danger collapse" role="alert">
6060
An unknown error occurred.
6161
</div>
@@ -81,7 +81,7 @@
8181
</fieldset>
8282
</form>
8383
<p class="mt-2">
84-
<span tal:replace="structure legal_notice"></span>
84+
<span tal:replace="structure renderer_legal_notice"></span>
8585
</p>
8686
<script src="${request.static_url('datameta:static/js/forgot.js')}"></script>
8787
</main>

datameta/templates/layout-minimal.pt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1">
66

77
<title tal:condition="exists:page_title_current_page">
8-
${page_title + " - " + page_title_current_page}
8+
${renderer_page_title + " - " + page_title_current_page}
99
</title>
1010
<title tal:condition="not:exists:page_title_current_page">
11-
${page_title}
11+
${renderer_page_title}
1212
</title>
1313

1414
<link rel="preconnect" href="https://fonts.gstatic.com">

datameta/templates/layout.pt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1">
66

77
<title tal:condition="exists:page_title_current_page">
8-
${page_title + " - " + page_title_current_page}
8+
${renderer_page_title + " - " + page_title_current_page}
99
</title>
1010
<title tal:condition="not:exists:page_title_current_page">
11-
${page_title}
11+
${renderer_page_title}
1212
</title>
1313

1414

@@ -107,7 +107,7 @@
107107
<body class="d-flex flex-column h-100" onload=init_widescreen()>
108108

109109
<header class="sticky-top d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-body border-bottom border-accent">
110-
<div tal:replace="structure logo_html"></div>
110+
<div tal:replace="structure renderer_logo_html"></div>
111111

112112
<nav class="my-2 my-md-0 me-md-3">
113113
<a class="col ms-2 btn btn-outline-dark" href="/submit"><i class="bi bi-file-earmark-plus"></i> Submit Data</a>
@@ -140,7 +140,7 @@
140140
</div>
141141
</div>
142142
<div class="container mb-1" style="font-size:7pt">
143-
<span>DataMeta Version </span><span id="datameta_version"></span><span> - API Version </span><span id="datameta_api_version"></span><span> - </span><span tal:replace="structure legal_notice"></span>
143+
<span>DataMeta Version </span><span id="datameta_version"></span><span> - API Version </span><span id="datameta_api_version"></span><span> - </span><span tal:replace="structure renderer_legal_notice"></span>
144144
<span class="text-danger" tal:condition="request.registry.settings.get('datameta.demo_mode') in [True, 'true', 'True']">
145145
- [DEMO MODE]
146146
</span>

datameta/templates/login.pt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
}
5555
</style>
5656
<main metal:fill-slot="content" class="form-signin">
57-
<div tal:replace="structure logo_html"></div>
57+
<div tal:replace="structure renderer_logo_html"></div>
5858
<form action="/login" method="POST" class="mt-3">
5959
<label for="inputEmail" class="visually-hidden">Email address</label>
6060
<input name="input_email" type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
@@ -73,7 +73,7 @@
7373
<a href="/forgot">Forgot password?</a>
7474
</p>
7575
<p class="mt-2">
76-
<span tal:replace="structure legal_notice"></span>
76+
<span tal:replace="structure renderer_legal_notice"></span>
7777
</p>
7878
</main>
7979
</metal:block>

datameta/templates/minimal.pt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1">
66

77
<title tal:condition="exists:page_title_current_page">
8-
${page_title + " - " + page_title_current_page}
8+
${renderer_page_title + " - " + page_title_current_page}
99
</title>
1010
<title tal:condition="not:exists:page_title_current_page">
11-
${page_title}
11+
${renderer_page_title}
1212
</title>
1313

1414
<link rel="preconnect" href="https://fonts.gstatic.com">

datameta/templates/register.pt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
}
5656
</style>
5757
<main metal:fill-slot="content" class="form-signin">
58-
<div tal:replace="structure logo_html"></div>
58+
<div tal:replace="structure renderer_logo_html"></div>
5959
<div id="alert" class="alert alert-danger mt-2 alert-dismissible" role="alert" style="display:none">
6060
</div>
6161
<div id="success" class="alert alert-success mt-2" role="alert" style="display:none">
@@ -132,7 +132,7 @@
132132
</fieldset>
133133
</form>
134134
<p class="mt-2">
135-
<span tal:replace="structure legal_notice"></span>
135+
<span tal:replace="structure renderer_legal_notice"></span>
136136
</p>
137137
<script type="text/javascript" charset="utf8" src="${request.static_url('datameta:static/js/register.js')}"></script>
138138
</main>

datameta/templates/settfa.pt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
}
5656
</style>
5757
<main metal:fill-slot="content" class="form-signin">
58-
<div tal:replace="structure logo_html"></div>
58+
<div tal:replace="structure renderer_logo_html"></div>
5959
<div tal:condition="unknown_token" id="unknowntoken">
6060
<div class="alert alert-danger" role="alert">
6161
An error occurred.
@@ -109,7 +109,7 @@
109109
</div>
110110
</div>
111111
<p class="mt-2">
112-
<span tal:replace="structure legal_notice"></span>
112+
<span tal:replace="structure renderer_legal_notice"></span>
113113
</p>
114114
<script type="module" src="${request.static_url('datameta:static/js/settfa.js')}"></script>
115115
</div>

0 commit comments

Comments
 (0)