django-cms-qe 4.2.0__py3-none-any.whl → 4.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cms_qe/locale/cs/LC_MESSAGES/django.mo +0 -0
- cms_qe/locale/cs/LC_MESSAGES/django.po +13 -1
- cms_qe/settings/base/app.py +1 -0
- cms_qe/settings/base/constants.py +14 -4
- cms_qe/static/cms_qe/css/temporarily-unavailable-content.css +209 -0
- cms_qe/templates/cms_qe/temporarily_unavailable.html +111 -0
- cms_qe/views/errors.py +27 -1
- {django_cms_qe-4.2.0.dist-info → django_cms_qe-4.4.0.dist-info}/METADATA +2 -1
- {django_cms_qe-4.2.0.dist-info → django_cms_qe-4.4.0.dist-info}/RECORD +12 -10
- {django_cms_qe-4.2.0.dist-info → django_cms_qe-4.4.0.dist-info}/WHEEL +0 -0
- {django_cms_qe-4.2.0.dist-info → django_cms_qe-4.4.0.dist-info}/licenses/LICENSE +0 -0
- {django_cms_qe-4.2.0.dist-info → django_cms_qe-4.4.0.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
@@ -122,7 +122,7 @@ msgstr "Obecná chyba"
|
|
|
122
122
|
|
|
123
123
|
#: cms_qe/templates/cms_qe/internal_error.html:7
|
|
124
124
|
msgid "Something went very wrong. Please try again later."
|
|
125
|
-
msgstr ""
|
|
125
|
+
msgstr "Něco se nezdařilo. Prosím, zkuste to později."
|
|
126
126
|
|
|
127
127
|
msgid ""
|
|
128
128
|
"To log into the API, the user needs to have the access permission assigned. "
|
|
@@ -132,3 +132,15 @@ msgstr ""
|
|
|
132
132
|
"Pro přihlášení do API je potřeba, aby uživatel měl přiděleno oprávnění "
|
|
133
133
|
"ACCESS. Pro přístup k dalším záznamům v API je nutné, aby uživatel měl "
|
|
134
134
|
"nastaveno oprávnění VIEW pro daný model."
|
|
135
|
+
|
|
136
|
+
msgid "Temporarily unavailable content"
|
|
137
|
+
msgstr "Dočasně nedostupný obsah"
|
|
138
|
+
|
|
139
|
+
msgid "This page is temporarily unavailable."
|
|
140
|
+
msgstr "Tato stránka je dočasně nedostupná."
|
|
141
|
+
|
|
142
|
+
msgid "Please try again later."
|
|
143
|
+
msgstr "Prosím, zkuste to později."
|
|
144
|
+
|
|
145
|
+
msgid "Thank you for your understanding."
|
|
146
|
+
msgstr "Děkujeme za pochopení."
|
cms_qe/settings/base/app.py
CHANGED
|
@@ -139,7 +139,7 @@ MAILCHIMP_CONSTANCE_CONFIG = (
|
|
|
139
139
|
)),
|
|
140
140
|
)
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
REDIRECT_TO_PAGE_CONFIG = (
|
|
143
143
|
('REDIRECT_TO_PAGE', (
|
|
144
144
|
'',
|
|
145
145
|
mark_safe('<div>Redirect to page from path <code>/redirect-to-page/</code>.</div>'
|
|
@@ -164,6 +164,14 @@ SECURITY_TXT_CONFIG = (
|
|
|
164
164
|
]),
|
|
165
165
|
)
|
|
166
166
|
|
|
167
|
+
DELETED_PAGES_CONFIG = (
|
|
168
|
+
('DELETED_PAGES_SLUG', (
|
|
169
|
+
'deleted-pages',
|
|
170
|
+
'The slug of the Trash can page.',
|
|
171
|
+
'short_str'
|
|
172
|
+
)),
|
|
173
|
+
)
|
|
174
|
+
|
|
167
175
|
|
|
168
176
|
CONSTANCE_CONFIG = OrderedDict(
|
|
169
177
|
GOOGLE_ANALYTICS_CONSTANCE_CONFIG + # type: ignore
|
|
@@ -171,8 +179,9 @@ CONSTANCE_CONFIG = OrderedDict(
|
|
|
171
179
|
PIWIK_CONSTANCE_CONFIG + # type: ignore
|
|
172
180
|
DJANGOCMS_GOOGLEMAP_CONSTANCE_CONFIG + # type: ignore
|
|
173
181
|
MAILCHIMP_CONSTANCE_CONFIG + # type: ignore
|
|
174
|
-
|
|
175
|
-
SECURITY_TXT_CONFIG # type: ignore
|
|
182
|
+
REDIRECT_TO_PAGE_CONFIG + # type: ignore
|
|
183
|
+
SECURITY_TXT_CONFIG + # type: ignore
|
|
184
|
+
DELETED_PAGES_CONFIG # type: ignore
|
|
176
185
|
)
|
|
177
186
|
|
|
178
187
|
CONSTANCE_CONFIG_FIELDSETS = {
|
|
@@ -181,8 +190,9 @@ CONSTANCE_CONFIG_FIELDSETS = {
|
|
|
181
190
|
'Google tag manager options': dict(GOOGLE_TAG_MANAGER_CONSTANCE_CONFIG).keys(),
|
|
182
191
|
'Piwik options': dict(PIWIK_CONSTANCE_CONFIG).keys(),
|
|
183
192
|
'Mailchimp options': dict(MAILCHIMP_CONSTANCE_CONFIG).keys(),
|
|
184
|
-
'Redirect to page': dict(
|
|
193
|
+
'Redirect to page': dict(REDIRECT_TO_PAGE_CONFIG).keys(),
|
|
185
194
|
'Security.txt': dict(SECURITY_TXT_CONFIG).keys(),
|
|
195
|
+
'Deleted pages': dict(DELETED_PAGES_CONFIG).keys(),
|
|
186
196
|
}
|
|
187
197
|
|
|
188
198
|
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
body {
|
|
2
|
+
margin: 0;
|
|
3
|
+
height: 100vh;
|
|
4
|
+
background-image: linear-gradient(to bottom right, transparent, #888);
|
|
5
|
+
font-size: .3vmin;
|
|
6
|
+
display: grid;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
body .wrapper * {
|
|
10
|
+
position: absolute;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.content {
|
|
14
|
+
color: #aaa;
|
|
15
|
+
position: relative;
|
|
16
|
+
font-size: 8em;
|
|
17
|
+
margin-left: auto;
|
|
18
|
+
margin-right: auto;
|
|
19
|
+
text-align: center;
|
|
20
|
+
z-index: 1000;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.wrapper {
|
|
24
|
+
background-image: linear-gradient(to bottom left, #000, #1a1a1a, #363636);
|
|
25
|
+
position: absolute;
|
|
26
|
+
inset: 0;
|
|
27
|
+
display: grid;
|
|
28
|
+
animation: hue 2s ease-in-out infinite alternate;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@keyframes hue {
|
|
32
|
+
0% {
|
|
33
|
+
filter: saturate(4) contrast(1.5) hue-rotate(180deg);
|
|
34
|
+
}
|
|
35
|
+
100% {
|
|
36
|
+
filter: saturate(5) contrast(2) hue-rotate(360deg);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.scene {
|
|
41
|
+
place-self: center;
|
|
42
|
+
width: 100em;
|
|
43
|
+
aspect-ratio: 1;
|
|
44
|
+
perspective: 250em;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.scene * {
|
|
48
|
+
transform-style: preserve-3d;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.pivot, .starHedron {
|
|
52
|
+
inset: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.pivot {
|
|
56
|
+
animation: wobble 8s ease-in-out alternate infinite;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@keyframes wobble {
|
|
60
|
+
0% {
|
|
61
|
+
rotate: x -30deg;
|
|
62
|
+
}
|
|
63
|
+
100% {
|
|
64
|
+
rotate: x 30deg;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.starHedron {
|
|
69
|
+
display: grid;
|
|
70
|
+
place-items: center;
|
|
71
|
+
animation: spin 9s linear infinite;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@keyframes spin {
|
|
75
|
+
0% {
|
|
76
|
+
rotate: y 1deg;
|
|
77
|
+
}
|
|
78
|
+
100% {
|
|
79
|
+
rotate: y 361deg;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.pentagon {
|
|
84
|
+
--pentaW: calc(sin(atan(1/(cos(36deg) + .5))) * 100);
|
|
85
|
+
width: calc(var(--pentaW)*1em);
|
|
86
|
+
aspect-ratio: 1;
|
|
87
|
+
--pushZ: calc(cos(atan(1/(cos(36deg) + .5))) * 50);
|
|
88
|
+
display: grid;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.pentagon::before, .triangle {
|
|
92
|
+
background-image: linear-gradient(23deg, #ffeeff02 20%, #eeffff28, #ffe1, #efea 85%);
|
|
93
|
+
background-size: 500% 500%;
|
|
94
|
+
animation: shimmer 1s linear alternate infinite;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.pentagon::before {
|
|
98
|
+
content: '';
|
|
99
|
+
position: absolute;
|
|
100
|
+
inset: 0;
|
|
101
|
+
clip-path: polygon(
|
|
102
|
+
calc(50%*(1 + sin(72deg*0))) calc(50%*(1 + cos(72deg*0))),
|
|
103
|
+
calc(50%*(1 + sin(72deg*1))) calc(50%*(1 + cos(72deg*1))),
|
|
104
|
+
calc(50%*(1 + sin(72deg*2))) calc(50%*(1 + cos(72deg*2))),
|
|
105
|
+
calc(50%*(1 + sin(72deg*3))) calc(50%*(1 + cos(72deg*3))),
|
|
106
|
+
calc(50%*(1 + sin(72deg*4))) calc(50%*(1 + cos(72deg*4))),
|
|
107
|
+
|
|
108
|
+
calc(50%*(1 + cos(36deg)*sin(72deg*4.5))) calc(50%*(1 + cos(36deg)*cos(72deg*4.5))),
|
|
109
|
+
calc(50%*(1 + cos(36deg)*sin(72deg*3.5))) calc(50%*(1 + cos(36deg)*cos(72deg*3.5))),
|
|
110
|
+
calc(50%*(1 + cos(36deg)*sin(72deg*2.5))) calc(50%*(1 + cos(36deg)*cos(72deg*2.5))),
|
|
111
|
+
calc(50%*(1 + cos(36deg)*sin(72deg*1.5))) calc(50%*(1 + cos(36deg)*cos(72deg*1.5))),
|
|
112
|
+
calc(50%*(1 + cos(36deg)*sin(72deg*.5))) calc(50%*(1 + cos(36deg)*cos(72deg*.5))),
|
|
113
|
+
|
|
114
|
+
calc(50%*(1 + cos(36deg)*sin(72deg*4.5))) calc(50%*(1 + cos(36deg)*cos(72deg*4.5)))
|
|
115
|
+
);
|
|
116
|
+
padding: 1px;
|
|
117
|
+
animation-delay: calc(-.415s*var(--step));
|
|
118
|
+
filter: hue-rotate(calc(var(--step)*61deg));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.side {
|
|
122
|
+
transform: rotateY(calc(72deg*var(--step))) rotateX(calc(atan(.5) + 90deg - (var(--dir)*90deg))) translateZ(calc(var(--pushZ)*1em))
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.lid {
|
|
126
|
+
transform: rotateX(calc(90deg*var(--dir))) translateZ(calc(var(--pushZ)*1em)) rotate(36deg);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.pentagon:nth-child(1),
|
|
130
|
+
.pentagon:nth-child(2) {
|
|
131
|
+
--step: 0;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.pentagon:nth-child(3),
|
|
135
|
+
.pentagon:nth-child(4) {
|
|
136
|
+
--step: 1;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.pentagon:nth-child(5),
|
|
140
|
+
.pentagon:nth-child(6) {
|
|
141
|
+
--step: 2;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.pentagon:nth-child(7),
|
|
145
|
+
.pentagon:nth-child(8) {
|
|
146
|
+
--step: 3;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.pentagon:nth-child(9),
|
|
150
|
+
.pentagon:nth-child(10) {
|
|
151
|
+
--step: 4;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.pentagon:nth-child(11),
|
|
155
|
+
.pentagon:nth-child(12) {
|
|
156
|
+
--step: 5;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.pentagon:nth-child(odd) {
|
|
160
|
+
--dir: 1;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.pentagon:nth-child(even) {
|
|
164
|
+
--dir: -1;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.triangle {
|
|
168
|
+
top: 50%;
|
|
169
|
+
justify-self: center;
|
|
170
|
+
width: calc(cos(36deg)*sin(36deg)*var(--pentaW)*1em);
|
|
171
|
+
--baseH: calc(cos(36deg)*cos(36deg)*var(--pentaW)*.5);
|
|
172
|
+
--pyramidAngle: atan(.5);
|
|
173
|
+
height: calc(1/sin(var(--pyramidAngle)) * var(--baseH)*.5em);
|
|
174
|
+
clip-path: polygon(50% 0, 100% 100%, 0 100%);
|
|
175
|
+
transform-origin: 50% 0;
|
|
176
|
+
transform: translateZ(calc(tan(var(--pyramidAngle))*var(--baseH)*1em)) rotate(calc(var(--triStep)*72deg)) rotateX(calc(-1*(var(--pyramidAngle))));
|
|
177
|
+
animation-delay: calc(-.32s*var(--triStep) - .87s*var(--step));
|
|
178
|
+
filter: hue-rotate(calc(var(--triStep)*43deg) + var(--step)*67deg);
|
|
179
|
+
padding: 1px;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.triangle:nth-child(1) {
|
|
183
|
+
--triStep: 0;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.triangle:nth-child(2) {
|
|
187
|
+
--triStep: 1;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.triangle:nth-child(3) {
|
|
191
|
+
--triStep: 2;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.triangle:nth-child(4) {
|
|
195
|
+
--triStep: 3;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.triangle:nth-child(5) {
|
|
199
|
+
--triStep: 4;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@keyframes shimmer {
|
|
203
|
+
0% {
|
|
204
|
+
background-position: top, left;
|
|
205
|
+
}
|
|
206
|
+
100% {
|
|
207
|
+
background-position: bottom, right;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Temporarily unavailable content</title>
|
|
5
|
+
<link rel="stylesheet" href="/static/cms_qe/css/temporarily-unavailable-content.css">
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<div class="content">
|
|
9
|
+
<h1>Temporarily unavailable content</h1>
|
|
10
|
+
<div class="message">
|
|
11
|
+
<div>This page is temporarily unavailable.</div>
|
|
12
|
+
<div>Please try again later.</div>
|
|
13
|
+
<div>Thank you for your understanding.</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div class="wrapper">
|
|
18
|
+
<div class="scene">
|
|
19
|
+
<div class="pivot">
|
|
20
|
+
<div class="starHedron">
|
|
21
|
+
<div class="pentagon side">
|
|
22
|
+
<div class="triangle"></div>
|
|
23
|
+
<div class="triangle"></div>
|
|
24
|
+
<div class="triangle"></div>
|
|
25
|
+
<div class="triangle"></div>
|
|
26
|
+
<div class="triangle"></div>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="pentagon side">
|
|
29
|
+
<div class="triangle"></div>
|
|
30
|
+
<div class="triangle"></div>
|
|
31
|
+
<div class="triangle"></div>
|
|
32
|
+
<div class="triangle"></div>
|
|
33
|
+
<div class="triangle"></div>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="pentagon side">
|
|
36
|
+
<div class="triangle"></div>
|
|
37
|
+
<div class="triangle"></div>
|
|
38
|
+
<div class="triangle"></div>
|
|
39
|
+
<div class="triangle"></div>
|
|
40
|
+
<div class="triangle"></div>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="pentagon side">
|
|
43
|
+
<div class="triangle"></div>
|
|
44
|
+
<div class="triangle"></div>
|
|
45
|
+
<div class="triangle"></div>
|
|
46
|
+
<div class="triangle"></div>
|
|
47
|
+
<div class="triangle"></div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="pentagon side">
|
|
50
|
+
<div class="triangle"></div>
|
|
51
|
+
<div class="triangle"></div>
|
|
52
|
+
<div class="triangle"></div>
|
|
53
|
+
<div class="triangle"></div>
|
|
54
|
+
<div class="triangle"></div>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="pentagon side">
|
|
57
|
+
<div class="triangle"></div>
|
|
58
|
+
<div class="triangle"></div>
|
|
59
|
+
<div class="triangle"></div>
|
|
60
|
+
<div class="triangle"></div>
|
|
61
|
+
<div class="triangle"></div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="pentagon side">
|
|
64
|
+
<div class="triangle"></div>
|
|
65
|
+
<div class="triangle"></div>
|
|
66
|
+
<div class="triangle"></div>
|
|
67
|
+
<div class="triangle"></div>
|
|
68
|
+
<div class="triangle"></div>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="pentagon side">
|
|
71
|
+
<div class="triangle"></div>
|
|
72
|
+
<div class="triangle"></div>
|
|
73
|
+
<div class="triangle"></div>
|
|
74
|
+
<div class="triangle"></div>
|
|
75
|
+
<div class="triangle"></div>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="pentagon side">
|
|
78
|
+
<div class="triangle"></div>
|
|
79
|
+
<div class="triangle"></div>
|
|
80
|
+
<div class="triangle"></div>
|
|
81
|
+
<div class="triangle"></div>
|
|
82
|
+
<div class="triangle"></div>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="pentagon side">
|
|
85
|
+
<div class="triangle"></div>
|
|
86
|
+
<div class="triangle"></div>
|
|
87
|
+
<div class="triangle"></div>
|
|
88
|
+
<div class="triangle"></div>
|
|
89
|
+
<div class="triangle"></div>
|
|
90
|
+
</div>
|
|
91
|
+
<div class="pentagon lid">
|
|
92
|
+
<div class="triangle"></div>
|
|
93
|
+
<div class="triangle"></div>
|
|
94
|
+
<div class="triangle"></div>
|
|
95
|
+
<div class="triangle"></div>
|
|
96
|
+
<div class="triangle"></div>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="pentagon lid">
|
|
99
|
+
<div class="triangle"></div>
|
|
100
|
+
<div class="triangle"></div>
|
|
101
|
+
<div class="triangle"></div>
|
|
102
|
+
<div class="triangle"></div>
|
|
103
|
+
<div class="triangle"></div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
</body>
|
|
111
|
+
</html>
|
cms_qe/views/errors.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
import os
|
|
2
3
|
from typing import Callable
|
|
3
4
|
|
|
4
5
|
from cms.views import details
|
|
@@ -11,7 +12,8 @@ from django.views.decorators.csrf import requires_csrf_token
|
|
|
11
12
|
|
|
12
13
|
from ..constants import QE_STATUS_CODE
|
|
13
14
|
|
|
14
|
-
__all__ = ('handler403', 'handler404', 'handler500', 'handler503', 'get_error_handler'
|
|
15
|
+
__all__ = ('handler403', 'handler404', 'handler500', 'handler503', 'get_error_handler',
|
|
16
|
+
'handler_temporarily_unavailable_content')
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
def get_error_handler(code: int) -> Callable[[HttpRequest], HttpResponseBase]:
|
|
@@ -82,3 +84,27 @@ def handler500(request: HttpRequest) -> HttpResponseBase:
|
|
|
82
84
|
logging.exception('Exception while rendering page 500')
|
|
83
85
|
title, message = _('Internal error'), _('Something went very wrong. Please try again later.')
|
|
84
86
|
return HttpResponse(f'<h1>{title}</h1><p>{message}</p>', status=500)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
temporarily_unavailable_content: dict[str, str] = {}
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
@requires_csrf_token
|
|
93
|
+
def handler_temporarily_unavailable_content(request: HttpRequest) -> HttpResponse:
|
|
94
|
+
"""
|
|
95
|
+
Specially designed page.
|
|
96
|
+
"""
|
|
97
|
+
language_code = getattr(request, "LANGUAGE_CODE", "en")
|
|
98
|
+
if not temporarily_unavailable_content.get(language_code):
|
|
99
|
+
root = os.path.dirname(__file__)
|
|
100
|
+
defaultpath = os.path.join(root, '..', 'templates', 'cms_qe', 'temporarily_unavailable.html')
|
|
101
|
+
filepath = getattr(settings, "TEMPORARILY_UNAVAILABLE_PAGE_PATH", defaultpath)
|
|
102
|
+
# TEMPORARILY_UNAVAILABLE_PAGE_PATH = os.path.join(sysconfig.get_paths()["purelib"], "yoursite/templates/...")
|
|
103
|
+
with open(filepath, encoding="utf-8") as handle:
|
|
104
|
+
body = handle.read()
|
|
105
|
+
temporarily_unavailable_content[language_code] = body\
|
|
106
|
+
.replace("Temporarily unavailable content", _("Temporarily unavailable content"))\
|
|
107
|
+
.replace("This page is temporarily unavailable.", _("This page is temporarily unavailable."))\
|
|
108
|
+
.replace("Please try again later.", _("Please try again later."))\
|
|
109
|
+
.replace("Thank you for your understanding.", _("Thank you for your understanding."))
|
|
110
|
+
return HttpResponse(temporarily_unavailable_content[language_code], status=500)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-cms-qe
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.4.0
|
|
4
4
|
Summary: Django CMS Quick & Easy provides all important modules to run new page withouta lot of coding. Aims to do it very easily and securely.
|
|
5
5
|
Home-page: https://websites.pages.nic.cz/django-cms-qe
|
|
6
6
|
Author: CZ.NIC, z.s.p.o.
|
|
@@ -41,6 +41,7 @@ Requires-Dist: django-csp~=4.0
|
|
|
41
41
|
Requires-Dist: django-import-export~=4.3
|
|
42
42
|
Requires-Dist: django-tablib~=3.2
|
|
43
43
|
Requires-Dist: djangocms-file~=3.0
|
|
44
|
+
Requires-Dist: djangocms-deleted-pages~=1.0
|
|
44
45
|
Requires-Dist: djangocms-googlemap~=2.2
|
|
45
46
|
Requires-Dist: djangocms-icon~=2.1
|
|
46
47
|
Requires-Dist: djangocms-link~=5.1
|
|
@@ -46,8 +46,8 @@ cms_qe/haystack/forms.py,sha256=4FyieMfxfE6h2dcUaWAZJ18rEOAcnMVb2zLZ60iCbVA,912
|
|
|
46
46
|
cms_qe/haystack/highlighting.py,sha256=VRECODAO-AGcdon2ggz-Epo41HGmReeUuQFrF_3Per8,3562
|
|
47
47
|
cms_qe/haystack/inputs.py,sha256=GhgmgKRe74nGJvXSVUBy1_tFxop6NuguriVybddSunA,129
|
|
48
48
|
cms_qe/haystack/query.py,sha256=bpxIcAOg_LVSa-st0ml-4Oa7gXb_NFMHj8iPCu5jui0,442
|
|
49
|
-
cms_qe/locale/cs/LC_MESSAGES/django.mo,sha256=
|
|
50
|
-
cms_qe/locale/cs/LC_MESSAGES/django.po,sha256=
|
|
49
|
+
cms_qe/locale/cs/LC_MESSAGES/django.mo,sha256=MbTH9LCl4AeHZ7VJskWnRmEVDJKBLTbbGRxG3_91Cx8,3337
|
|
50
|
+
cms_qe/locale/cs/LC_MESSAGES/django.po,sha256=8sGdZZgVLqdrYrHd7PUp1XVaFY9wgpmwrgbh-Pj9llI,4374
|
|
51
51
|
cms_qe/locale/en/LC_MESSAGES/django.mo,sha256=1Oza0kFTJYv1uLpu51-XbZShcMmsgRMPdKVmSFB0mZk,378
|
|
52
52
|
cms_qe/locale/en/LC_MESSAGES/django.po,sha256=id9XCp1yVlWOBi37bDGlFVn26ao6mREpGWJI5iTbJH4,1924
|
|
53
53
|
cms_qe/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -61,11 +61,11 @@ cms_qe/settings/__init__.py,sha256=GJwHXMHwMuGYE-3ZzePJ-26I2WwE8bAIMUDoiTFr0L8,9
|
|
|
61
61
|
cms_qe/settings/dev.py,sha256=dKLpdibotQELoMjU-_HJlcsY30U5xM9KSONdsDW_Dq0,2168
|
|
62
62
|
cms_qe/settings/unittest.py,sha256=folLIMJb1Arh60_Sn0eNQrvIlx0OsAs6v1tDfyRZVuQ,514
|
|
63
63
|
cms_qe/settings/base/__init__.py,sha256=5yHfne9gPD_xuTaG3voZP23yzuCwROmif2mmKs-hG_A,446
|
|
64
|
-
cms_qe/settings/base/app.py,sha256=
|
|
64
|
+
cms_qe/settings/base/app.py,sha256=RnOope8cWN17AvYNE5RMEI8hbJKvbPPqmNdU_XgNo6E,4500
|
|
65
65
|
cms_qe/settings/base/auth.py,sha256=OTr1LJ4RSMZm8STs4Q3pwPXmQoURax8OKLJ8eAj7PW4,395
|
|
66
66
|
cms_qe/settings/base/cache.py,sha256=yBCvIIW25bSBD9nzVbPQvsPfw-pkOmcnLO7OPwzXPWo,337
|
|
67
67
|
cms_qe/settings/base/cms.py,sha256=hzl10CwswfQJkIfn4WoFJUmoumwC2smhSl8IR4VxkLM,1990
|
|
68
|
-
cms_qe/settings/base/constants.py,sha256=
|
|
68
|
+
cms_qe/settings/base/constants.py,sha256=Bq2EwWbolE6Jf7Va89Zan2eEGhxNGhujNKvaU3E7qV0,8521
|
|
69
69
|
cms_qe/settings/base/database.py,sha256=_i3OJMRcrcI17VJeqY66JNOpAOXkhq570lRi0RVpzGw,354
|
|
70
70
|
cms_qe/settings/base/email.py,sha256=WkTj4V4lMZ3BG5AvHGPqulZ8T_cQMrvXiLj_NhLmpZs,576
|
|
71
71
|
cms_qe/settings/base/env.py,sha256=Oe10oSrA7QlD9TBDnEup8mtNTd1pXyaO5OThtUW8UVQ,36
|
|
@@ -76,6 +76,7 @@ cms_qe/settings/base/search.py,sha256=Vp6ROmo2x3ZaMrnHhNBjR3dX_r7BvIkcG9CPXmlZhi
|
|
|
76
76
|
cms_qe/settings/base/security.py,sha256=fLaVfmqdF6-IZ0oppnV3Xs6KGARx7u9fYvWMwRJA3LM,4557
|
|
77
77
|
cms_qe/settings/base/template.py,sha256=bITmA7XkoqbDpefWWOBsEiPtCREzFfHkUuFvGxJVLK4,1082
|
|
78
78
|
cms_qe/static/cms_qe/css/fix-djangocms-admin-style.css,sha256=sf_9yH_rKSts9L0OQ1vN5t32PTyjBuwfHZnDCN0GTX4,805
|
|
79
|
+
cms_qe/static/cms_qe/css/temporarily-unavailable-content.css,sha256=seLwIrLwx7G3pIsXT27e5HVU9fBS3yc6bw_h-q_MV4o,4381
|
|
79
80
|
cms_qe/templates/base.html,sha256=Hb6MWA_IpBWlCyJ2NiPPQv0nSKOJgXSXS7y62-cHGUA,1094
|
|
80
81
|
cms_qe/templates/pg_is_in_recovery_login.html,sha256=ng0snZ-rriwFRKVvG0ZCY5QsQbod7jex2pVJ3hVonc0,116
|
|
81
82
|
cms_qe/templates/admin/index.html,sha256=6CjuqOPQnEYXa7zwyoLyDHt-zzfBwLAf45B0F80ryZ0,1812
|
|
@@ -85,6 +86,7 @@ cms_qe/templates/cms_qe/error.html,sha256=1wNCO-ToNoM-HBnfq0Id_W8m_epmOEYcoozRhh
|
|
|
85
86
|
cms_qe/templates/cms_qe/home.html,sha256=zT4fnq9V6CsVkGXs_iFMGE4RvcMAeWvs4r0XTiHcLwA,114
|
|
86
87
|
cms_qe/templates/cms_qe/internal_error.html,sha256=n4JJ80KNHyhiSxGLQadCn9KmctnFABcwLU4KuZly8A4,251
|
|
87
88
|
cms_qe/templates/cms_qe/search_result.html,sha256=5XDX4nhRDkSJq_EdW95p8CuEN1Yy14OG9UC3WDz7TXI,310
|
|
89
|
+
cms_qe/templates/cms_qe/temporarily_unavailable.html,sha256=UApB9aITU1o7y0_wGr75k0bI-8INM_hl7pGhDXWdiEs,4255
|
|
88
90
|
cms_qe/templates/cms_qe/include/body_bottom.html,sha256=t-B_SA2AFPmTC5hnDANyR9O9tmH3-hzGTLoRPi9lgIY,29
|
|
89
91
|
cms_qe/templates/cms_qe/include/body_top.html,sha256=EjKqWSU_jeEKIPabZxTNxqoVXgwyfKfFIDn91dXFIJw,91
|
|
90
92
|
cms_qe/templates/cms_qe/include/head.html,sha256=esYZKgL9VAue_YDT8rI7bKOjDiTFp4bwt8bE1UGNC70,109
|
|
@@ -98,7 +100,7 @@ cms_qe/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
98
100
|
cms_qe/templatetags/cms_qe_filters.py,sha256=ciYCXLuMVde-f_-B_7a5mHfAJPWPMxYEUMgCHpualRY,784
|
|
99
101
|
cms_qe/templatetags/kwacros.py,sha256=r2oHLltu8BgKKlrpgzXgvLjbIqwcrH13Lww3zTF-nr8,6275
|
|
100
102
|
cms_qe/views/__init__.py,sha256=3b5FCZ5MaqgiWglC7c5mfvP3WYLWTtNp3YpVb9BgYi8,106
|
|
101
|
-
cms_qe/views/errors.py,sha256=
|
|
103
|
+
cms_qe/views/errors.py,sha256=KYjvYF1eo49s8qmDKttrwdX6wp05pcG4YGVNLy0fQHs,4527
|
|
102
104
|
cms_qe/views/maintenance.py,sha256=Q410LCeeihRWhIJ-zzRpFSjfvA6xhgr6NJlNAoTNO2U,1658
|
|
103
105
|
cms_qe/views/monitoring.py,sha256=1r2s_jm6B6P0gEmiqjH9m3loUW3BmJivvpg6qcUOxVM,1909
|
|
104
106
|
cms_qe/views/redirect_to_page.py,sha256=2HeGxTIKQQcfXsafdDz9F1fDHKGAbpiq1qKBKMvDL70,806
|
|
@@ -3974,8 +3976,8 @@ cms_qe_video/templates/cms_qe/video/video_source_file.html,sha256=QJF5fs88s9Fznp
|
|
|
3974
3976
|
cms_qe_video/templates/cms_qe/video/video_widget.html,sha256=Yumciq6bGlAYI1lYx5j9V6IF8QYrncNYygPTkXEz6Wk,925
|
|
3975
3977
|
cms_qe_video/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3976
3978
|
cms_qe_video/templatetags/cms_qe_video.py,sha256=NR_mGv91J0rEreZrQjCzaaXSrZsKvrSas12wMJ-Dg24,1168
|
|
3977
|
-
django_cms_qe-4.
|
|
3978
|
-
django_cms_qe-4.
|
|
3979
|
-
django_cms_qe-4.
|
|
3980
|
-
django_cms_qe-4.
|
|
3981
|
-
django_cms_qe-4.
|
|
3979
|
+
django_cms_qe-4.4.0.dist-info/licenses/LICENSE,sha256=5wLaeUil0gfU9p8C4zn2Yu_PvZBNieUoYl0z9FcFWdA,1521
|
|
3980
|
+
django_cms_qe-4.4.0.dist-info/METADATA,sha256=1W8JY0jZsyxNu5Fe2QIKHA8XZssZXzOhTd0z736VwWI,6354
|
|
3981
|
+
django_cms_qe-4.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
3982
|
+
django_cms_qe-4.4.0.dist-info/top_level.txt,sha256=u9pqfoJfXwh29tMO7lnphA5yn7ChYZquFe7_sNtEiW8,150
|
|
3983
|
+
django_cms_qe-4.4.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|