0001-manager-fix-display-of-page-edition-in-case-of-unkno.patch
combo/data/models.py | ||
---|---|---|
233 | 233 |
return Page.objects.filter(parent_id=self.id).exists() |
234 | 234 | |
235 | 235 |
def get_template_display_name(self): |
236 |
return settings.COMBO_PUBLIC_TEMPLATES[self.template_name]['name'] |
|
236 |
try: |
|
237 |
return settings.COMBO_PUBLIC_TEMPLATES[self.template_name]['name'] |
|
238 |
except KeyError: |
|
239 |
return _('Unknown (%s)') % self.template_name |
|
237 | 240 | |
238 | 241 |
def missing_template(self): |
239 |
template_name = settings.COMBO_PUBLIC_TEMPLATES.get(self.template_name).get('template') |
|
242 |
template_name = settings.COMBO_PUBLIC_TEMPLATES.get(self.template_name, {}).get('template') |
|
243 |
if not template_name: |
|
244 |
return True |
|
240 | 245 |
try: |
241 | 246 |
template.loader.select_template([template_name]) |
242 | 247 |
except TemplateDoesNotExist: |
... | ... | |
246 | 251 |
def get_placeholders(self, request, traverse_cells=False, template_name=None): |
247 | 252 |
placeholders = [] |
248 | 253 | |
249 |
page_template = settings.COMBO_PUBLIC_TEMPLATES.get(template_name or self.template_name) |
|
254 |
page_template = settings.COMBO_PUBLIC_TEMPLATES.get(template_name or self.template_name, {})
|
|
250 | 255 |
if page_template.get('placeholders'): |
251 | 256 |
# manual declaration |
252 | 257 |
for key, options in page_template['placeholders'].items(): |
253 | 258 |
placeholders.append(Placeholder(key=key, **options)) |
254 | 259 |
return placeholders |
255 | 260 | |
256 |
template_name = settings.COMBO_PUBLIC_TEMPLATES.get(self.template_name).get('template') |
|
257 |
tmpl = template.loader.select_template([template_name, 'combo/page_template.html']) |
|
261 |
template_names = [] |
|
262 |
if page_template.get('template'): |
|
263 |
template_names.append(page_template['template']) |
|
264 |
template_names.append('combo/page_template.html') |
|
265 |
tmpl = template.loader.select_template(template_names) |
|
258 | 266 |
request = RequestFactory(SERVER_NAME=request.get_host()).get(self.get_online_url()) |
259 | 267 |
request.user = None |
260 | 268 |
context = { |
tests/test_manager.py | ||
---|---|---|
120 | 120 |
resp = resp.follow() |
121 | 121 |
assert Page.objects.all()[0].exclude_from_navigation is True |
122 | 122 | |
123 |
def test_edit_page_unknown_template(app, admin_user): |
|
124 |
Page.objects.all().delete() |
|
125 |
page = Page(title='One', slug='one', template_name='broken') |
|
126 |
page.save() |
|
127 |
app = login(app) |
|
128 |
resp = app.get('/manage/pages/%s/' % page.id) |
|
129 |
assert 'Unknown (broken)' in resp.text |
|
130 | ||
123 | 131 |
def test_page_edit_slug(app, admin_user): |
124 | 132 |
Page.objects.all().delete() |
125 | 133 |
page = Page(title='One', slug='one', template_name='standard') |
126 |
- |