Projet

Général

Profil

0001-manager-fix-display-of-page-edition-in-case-of-unkno.patch

Frédéric Péters, 17 janvier 2019 11:05

Télécharger (2,5 ko)

Voir les différences:

Subject: [PATCH] manager: fix display of page edition in case of unknown
 template (#29383)

 combo/data/models.py | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
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 = {
261
-