Example #1
0
    def render(self, context):
        if cms_settings.EDIT_IN_PLACE:
            if context['request'].user.has_module_perms("cms"):
                if is_editing(context['request']):
                    try:
                        page = Page.objects.get(url=context['request'].path_info, site=settings.SITE_ID)
                    except Page.DoesNotExist:
                        page = False

                    return template.loader.render_to_string("cms/cms/editor.html", RequestContext(context['request'], {
                        'page': page,
                        'cms_settings': cms_settings,
                        'editor_form': BlockForm(),
                        'html_editor_form': BlockForm(prefix="html"),
                        'image_form': ImageForm(),
                        'page_form': page and PublicPageForm(instance=page) or None,
                        'new_page_form': PublicPageForm(prefix='new'),
                    }))
                else:
                    return template.loader.render_to_string("cms/cms/logged_in.html", RequestContext(context['request'], {
                        'cms_settings': cms_settings,
                    }))
            elif 'edit' in context['request'].GET:
                return template.loader.render_to_string("cms/cms/login_top.html", RequestContext(context['request'], {
                    'login_form': AuthenticationForm(),
                    'cms_settings': cms_settings,
                }))
            elif 'cms-has_edited_before' in context['request'].COOKIES:
                return "" #template.loader.render_to_string("cms/cms/persistent_link.html")
            else:
                return ""
        else:
            return ''
Example #2
0
    def render(self, context):
        if cms_settings.EDIT_IN_PLACE:
            if context['request'].user.has_module_perms("cms"):
                if is_editing(context['request']):
                    try:
                        page = Page.objects.get(
                            url=context['request'].path_info,
                            site=settings.SITE_ID)
                    except Page.DoesNotExist:
                        page = False

                    return template.loader.render_to_string(
                        "cms/cms/editor.html",
                        RequestContext(
                            context['request'], {
                                'page':
                                page,
                                'cms_settings':
                                cms_settings,
                                'editor_form':
                                BlockForm(),
                                'html_editor_form':
                                BlockForm(prefix="html"),
                                'image_form':
                                ImageForm(),
                                'page_form':
                                page and PublicPageForm(instance=page) or None,
                                'new_page_form':
                                PublicPageForm(prefix='new'),
                            }))
                else:
                    return template.loader.render_to_string(
                        "cms/cms/logged_in.html",
                        RequestContext(context['request'], {
                            'cms_settings': cms_settings,
                        }))
            elif 'edit' in context['request'].GET:
                return template.loader.render_to_string(
                    "cms/cms/login_top.html",
                    RequestContext(
                        context['request'], {
                            'login_form': AuthenticationForm(),
                            'cms_settings': cms_settings,
                        }))
            elif 'cms-has_edited_before' in context['request'].COOKIES:
                return ""  #template.loader.render_to_string("cms/cms/persistent_link.html")
            else:
                return ""
        else:
            return ''
Example #3
0
    def render(self, context):
        if cms_settings.EDIT_IN_PLACE:
            if context["request"].user.has_module_perms("cms"):
                if is_editing(context["request"]):
                    try:
                        page = Page.objects.get(url=context["request"].path_info, site=settings.SITE_ID)
                    except Page.DoesNotExist:
                        page = False

                    return template.loader.render_to_string(
                        "cms/cms/editor.html",
                        RequestContext(
                            context["request"],
                            {
                                "page": page,
                                "cms_settings": cms_settings,
                                "editor_form": BlockForm(),
                                "html_editor_form": BlockForm(prefix="html"),
                                "image_form": ImageForm(),
                                "page_form": page and PublicPageForm(instance=page) or None,
                                "new_page_form": PublicPageForm(prefix="new"),
                            },
                        ),
                    )
                else:
                    return template.loader.render_to_string(
                        "cms/cms/logged_in.html", RequestContext(context["request"], {"cms_settings": cms_settings})
                    )
            elif "edit" in context["request"].GET:
                return template.loader.render_to_string(
                    "cms/cms/login_top.html",
                    RequestContext(
                        context["request"], {"login_form": AuthenticationForm(), "cms_settings": cms_settings}
                    ),
                )
            elif "cms-has_edited_before" in context["request"].COOKIES:
                return ""  # template.loader.render_to_string("cms/cms/persistent_link.html")
            else:
                return ""
        else:
            return ""
Example #4
0
 def render(self, context):
     context[self.varname] = is_editing(context["request"])
     return ""
Example #5
0
    def render(self, context):

        if isinstance(self.content_object, unicode):
            content_object = template.Variable(self.content_object).resolve(context)
        else:
            content_object = self.content_object

        # note the `label = kwargs['parser'].compile_filter(label)` below
        label = self.label.resolve(context)

        if isinstance(self.format, str):
            format = self.format
        else:
            format = template.Variable(self.format).resolve(context)

        editable = resolve_bool(self.editable, context)

        if not content_object:
            content_object = Page.objects.get_for_url(context["request"].path_info)

        block, created = Block.objects.get_or_create(
            label=label, content_type=ContentType.objects.get_for_model(content_object), object_id=content_object.id
        )
        if created:
            block.format = format
            block.save()

        if self.filters:
            filters = template.Variable(self.filters).resolve(context).split(",")
        else:
            filters = []

        filtered_content = block.get_filtered_content(filters)

        if block.format != "plain":
            filtered_content = mark_safe(filtered_content)

        if (
            "request" in context
            and is_editing(context["request"])
            and context["request"].user.has_perm("cms.change_page")
            and editable
            and cms_settings.EDIT_IN_PLACE
        ):
            returnval = mark_safe(
                template.loader.render_to_string(
                    "cms/cms/block.html",
                    {
                        "format": format,
                        "filters": ",".join(filters),
                        "label": label,
                        "request": context["request"],
                        "sitewide": isinstance(content_object, Site),
                        "filtered_content": filtered_content,
                        "block": block,
                    },
                )
            )
        else:
            returnval = filtered_content

        if self.alias:
            context[self.alias] = returnval
            return ""
        else:
            return returnval
Example #6
0
    def render(self, context):
        # return "dsfds"
        if isinstance(self.content_object, unicode):
            content_object = template.Variable(self.content_object).resolve(context)
        else:
            content_object = self.content_object

        editable = resolve_bool(self.editable, context)

        if self.constraint:
            constraint = template.Variable(self.constraint).resolve(context)
        else:
            constraint = None

        if self.defaultimage:
            defaultimage = template.Variable(self.defaultimage).resolve(context)
        else:
            defaultimage = False

        if self.format:
            format = template.Variable(self.format).resolve(context)
        else:
            format = "html"

        if self.colorspace:
            colorspace = template.Variable(self.colorspace).resolve(context)
        else:
            colorspace = ""

        label = self.label.resolve(context)

        if not content_object:
            content_object = Page.objects.get_for_url(context["request"].path_info)

        image, created = Image.objects.get_or_create(
            label=label, content_type=ContentType.objects.get_for_model(content_object), object_id=content_object.id
        )
        # print image.file
        try:
            crop = template.Variable(self.crop).resolve(context)
        except:
            crop = self.crop

        if crop == "crop":
            crop = "center"

        data = {
            "label": label,
            "request": context.get("request", None),
            "image": image,
            "constraint": constraint,
            "crop": crop,
            "colorspace": colorspace,
            "defaultimage": defaultimage,
            "sitewide": isinstance(content_object, Site),
            "content_object": content_object,
        }
        # print self.editable
        if (
            "request" in context
            and is_editing(context["request"])
            and context["request"].user.has_perm("cms.change_page")
            and cms_settings.EDIT_IN_PLACE
            and editable
        ):
            data["editable"] = True

        if hasattr(sorl, "NullHandler"):
            # assume up-to-date sorl
            if format == "url":
                returnval = template.loader.render_to_string("cms/cms/image_url.html", data)
            else:
                returnval = template.loader.render_to_string("cms/cms/image.html", data)
        else:
            # assume older sorl syntax
            if format == "url":
                returnval = template.loader.render_to_string("cms/cms/image_url_oldsorl.html", data)
            else:
                returnval = template.loader.render_to_string("cms/cms/image_oldsorl.html", data)

        if self.alias:
            if returnval.strip():
                context[self.alias] = mark_safe(returnval)
            else:
                context[self.alias] = ""
            return ""
        else:
            return returnval
Example #7
0
 def render(self, context):
     context[self.varname] = is_editing(context['request'])
     return ''
Example #8
0
    def render(self, context):
        
        if isinstance(self.content_object, unicode):
            content_object = template.Variable(self.content_object).resolve(context)
        else:
            content_object = self.content_object
        
        # note the `label = kwargs['parser'].compile_filter(label)` below
        label = self.label.resolve(context)

        if isinstance(self.format, str):
            format = self.format
        else:
            format = template.Variable(self.format).resolve(context)
        
        editable = resolve_bool(self.editable, context)
        
        
        if not content_object:
            content_object = Page.objects.get_for_url(context['request'].path_info)
                
        block, created = Block.objects.get_or_create(
            label=label,
            content_type=ContentType.objects.get_for_model(content_object),
            object_id=content_object.id
        )
        if created:
            block.format = format
            block.save()
        
        
        if self.filters:
            filters = template.Variable(self.filters).resolve(context).split(',')
        else:
            filters = []
            
        filtered_content = block.get_filtered_content(filters)
        
        if block.format != 'plain':
            filtered_content = mark_safe(filtered_content)
        
        # ordered for maximum efficiency - in particular we should avoid accessing
        # request.user at all costs
        if cms_settings.EDIT_IN_PLACE and editable and \
           'request' in context and is_editing(context['request']) and \
           context['request'].user.has_perm("cms.change_page"):
            returnval = mark_safe(template.loader.render_to_string("cms/cms/block.html", {
                'format': format,
                'filters': ','.join(filters),
                'label': label,
                'request': context['request'],
                'sitewide': isinstance(content_object, Site),
                'filtered_content': filtered_content,
                'block': block
            }))
        else:
            returnval = filtered_content


        if self.alias:
            context[self.alias] = returnval
            return ""
        else:
            return returnval
Example #9
0
    def render(self, context):
        #return "dsfds"
        if isinstance(self.content_object, unicode):
            content_object = template.Variable(self.content_object).resolve(context)
        else:
            content_object = self.content_object
        
        editable = resolve_bool(self.editable, context)
        
        if self.constraint:
            constraint = template.Variable(self.constraint).resolve(context)
        else:
            constraint = None
        
        if self.defaultimage:
            defaultimage = template.Variable(self.defaultimage).resolve(context)
        else:
            defaultimage = False
        
        if self.format:
            format = template.Variable(self.format).resolve(context)
        else:
            format = 'html'
        
        if self.colorspace:
            colorspace = template.Variable(self.colorspace).resolve(context)
        else:
            colorspace = ''
        
        label = self.label.resolve(context)
        
        
        if not content_object:
            content_object = Page.objects.get_for_url(context['request'].path_info)
            

        image, created = Image.objects.get_or_create(
            label=label,
            content_type=ContentType.objects.get_for_model(content_object),
            object_id=content_object.id
        )
        #print image.file
        try:
            crop = template.Variable(self.crop).resolve(context)
        except:
            crop = self.crop
        
        if crop == 'crop':
            crop = 'center'
        
        data = {
            'label': label,
            'request': context.get('request', None),
            'image': image,
            'constraint': constraint,
            'crop': crop,
            'colorspace': colorspace,
            'defaultimage': defaultimage,
            'sitewide': isinstance(content_object, Site),
            'content_object': content_object,
        }
        
        # ordered for maximum efficiency - in particular we should avoid accessing
        # request.user at all costs
        if cms_settings.EDIT_IN_PLACE and editable and \
           'request' in context and is_editing(context['request']) and \
           context['request'].user.has_perm("cms.change_page"):
            data['editable'] = True
        
        
        if hasattr(sorl, "NullHandler"):
            # assume up-to-date sorl
            if format == 'url':
                returnval = template.loader.render_to_string("cms/cms/image_url.html", data)
            else:
                returnval = template.loader.render_to_string("cms/cms/image.html", data)
        else:
            # assume older sorl syntax
            if format == 'url':
                returnval = template.loader.render_to_string("cms/cms/image_url_oldsorl.html", data)
            else:
                returnval = template.loader.render_to_string("cms/cms/image_oldsorl.html", data)
        
        
        if self.alias:
            if returnval.strip():
                context[self.alias] = mark_safe(returnval)
            else:
                context[self.alias] = ''
            return ""
        else:
            return returnval
Example #10
0
def cms_is_editing(context):
    return is_editing(context['request'])
Example #11
0
 def is_empty(self, obj, request):
     editing = request and is_editing(request)
     return not obj.image.file and (self.nodelist_empty or not editing)
Example #12
0
 def is_empty(self, obj, request):
     editing = request and is_editing(request)
     return not obj.display_content().strip() and \
         (self.nodelist_empty or not editing)
Example #13
0
 def render(self, context):
     context[self.varname] = is_editing(context['request'])
     return ''
Example #14
0
    def render(self, context):

        if isinstance(self.content_object, unicode):
            content_object = template.Variable(
                self.content_object).resolve(context)
        else:
            content_object = self.content_object

        # note the `label = kwargs['parser'].compile_filter(label)` below
        label = self.label.resolve(context)

        if isinstance(self.format, str):
            format = self.format
        else:
            format = template.Variable(self.format).resolve(context)

        editable = resolve_bool(self.editable, context)

        if not content_object:
            content_object = Page.objects.get_for_url(
                context['request'].path_info)

        block, created = Block.objects.get_or_create(
            label=label,
            content_type=ContentType.objects.get_for_model(content_object),
            object_id=content_object.id)
        if created:
            block.format = format
            block.save()

        if self.filters:
            filters = template.Variable(
                self.filters).resolve(context).split(',')
        else:
            filters = []

        filtered_content = block.get_filtered_content(filters)

        if block.format != 'plain':
            filtered_content = mark_safe(filtered_content)

        # ordered for maximum efficiency - in particular we should avoid accessing
        # request.user at all costs
        if cms_settings.EDIT_IN_PLACE and editable and \
           'request' in context and is_editing(context['request']) and \
           context['request'].user.has_perm("cms.change_page"):
            returnval = mark_safe(
                template.loader.render_to_string(
                    "cms/cms/block.html", {
                        'format': format,
                        'filters': ','.join(filters),
                        'label': label,
                        'request': context['request'],
                        'sitewide': isinstance(content_object, Site),
                        'filtered_content': filtered_content,
                        'block': block
                    }))
        else:
            returnval = filtered_content

        if self.alias:
            context[self.alias] = returnval
            return ""
        else:
            return returnval
Example #15
0
    def render(self, context):
        #return "dsfds"
        if isinstance(self.content_object, unicode):
            content_object = template.Variable(
                self.content_object).resolve(context)
        else:
            content_object = self.content_object

        editable = resolve_bool(self.editable, context)

        if self.constraint:
            constraint = template.Variable(self.constraint).resolve(context)
        else:
            constraint = None

        if self.defaultimage:
            defaultimage = template.Variable(
                self.defaultimage).resolve(context)
        else:
            defaultimage = False

        if self.format:
            format = template.Variable(self.format).resolve(context)
        else:
            format = 'html'

        if self.colorspace:
            colorspace = template.Variable(self.colorspace).resolve(context)
        else:
            colorspace = ''

        label = self.label.resolve(context)

        if not content_object:
            content_object = Page.objects.get_for_url(
                context['request'].path_info)

        image, created = Image.objects.get_or_create(
            label=label,
            content_type=ContentType.objects.get_for_model(content_object),
            object_id=content_object.id)
        #print image.file
        try:
            crop = template.Variable(self.crop).resolve(context)
        except:
            crop = self.crop

        if crop == 'crop':
            crop = 'center'

        data = {
            'label': label,
            'request': context.get('request', None),
            'image': image,
            'constraint': constraint,
            'crop': crop,
            'colorspace': colorspace,
            'defaultimage': defaultimage,
            'sitewide': isinstance(content_object, Site),
            'content_object': content_object,
        }

        # ordered for maximum efficiency - in particular we should avoid accessing
        # request.user at all costs
        if cms_settings.EDIT_IN_PLACE and editable and \
           'request' in context and is_editing(context['request']) and \
           context['request'].user.has_perm("cms.change_page"):
            data['editable'] = True

        if hasattr(sorl, "NullHandler"):
            # assume up-to-date sorl
            if format == 'url':
                returnval = template.loader.render_to_string(
                    "cms/cms/image_url.html", data)
            else:
                returnval = template.loader.render_to_string(
                    "cms/cms/image.html", data)
        else:
            # assume older sorl syntax
            if format == 'url':
                returnval = template.loader.render_to_string(
                    "cms/cms/image_url_oldsorl.html", data)
            else:
                returnval = template.loader.render_to_string(
                    "cms/cms/image_oldsorl.html", data)

        if self.alias:
            if returnval.strip():
                context[self.alias] = mark_safe(returnval)
            else:
                context[self.alias] = ''
            return ""
        else:
            return returnval