예제 #1
0
            #     return "<span class='errornote'>The Page <em>" + unicode(self.obj) + "</em> has no <strong>Description metadata</strong>. If you are responsible for this Page, please address this problem <strong>immediately.</strong></span>"

            return self.obj.get_meta_description()

        def metadata(self):
            ancestors = self.obj.get_cached_ancestors()
            r = []
            for ancestor in ancestors:
                r.append(u"%s" % ancestor.get_menu_title())
            r.append(self.obj.get_menu_title())
            return u" &raquo; ".join(r)

        def heading(self):
            return "Related pages"

    schema.register_wrapper(Page, PageLinkWrapper)

if 'filer' in settings.INSTALLED_APPS:
    from filer.models import File
    from filer.admin import FileAdmin

    class FileLinkWrapper(LinkWrapper):
        search_fields = ['name', 'original_filename', 'sha1', 'description']

        def title(self):
            return self.obj.label

            # warn the user if the item lacks a Name field
            if not self.obj.name:
                item = self.obj.label
                return "%s <span class='errornote'>This Filer item has an empty <strong>Name</strong> field. If you are responsible for this item, please provide a proper name for it." % item
예제 #2
0
        def text(self):
            return self.obj.get_title()
        def short_text(self):
            return self.obj.get_menu_title()
        def description(self):
            return self.obj.get_meta_description()
        def metadata(self):
            ancestors = self.obj.get_cached_ancestors()
            r = []
            for ancestor in ancestors:
                r.append(u"%s" % ancestor.get_menu_title())
            r.append(self.obj.get_menu_title())
            return u" &raquo; ".join(r)
        def heading(self):
            return "Related pages"
    schema.register_wrapper(Page, PageLinkWrapper)

if 'filer' in settings.INSTALLED_APPS:
    from filer.models import File
    from filer.admin import FileAdmin
    def the_path(obj, items=[]):
        items[0:0] = [obj.name]
        if obj.parent:
            items = the_path(obj.parent, items)
        return items
    def file_description(obj):
        if obj.folder:
            s = u" &raquo; ".join(the_path(obj.folder))
        else:
            s = obj.logical_folder.name
        #return u"Folder: %s" % s
예제 #3
0
            return get_thumbnailer(source).get_thumbnail({
                'subject_location': u'',
                'upscale': True,
                'crop': True,
                'size': (size, size)
            }).url
        except Exception, e:
            print "Error in personwrapper", e
            url = None
        return url

    def heading(self):
        return "Related people"


schema.register_wrapper(models.Person, PersonWrapper)


class EntityWrapper(LinkWrapper):
    search_fields = admin.EntityAdmin.search_fields

    # link_attributes = models.EntityAutoPageLinkPluginEditor.AUTO_PAGES["contacts-and-people"]

    def description(self):
        if self.obj.abstract_entity:
            return "Abstract entity - description unavailable"
        if self.obj.external_url:
            return "External entity at " + self.obj.external_url.url
        if self.obj.get_website and self.obj.get_website.get_meta_description(
        ):
            return self.obj.get_website.get_meta_description()
예제 #4
0
        return ', '.join(data)

    def thumbnail_url(self):
        try:
            size = self.THUMBNAIL_SIZE # which is defined in widgetry, and can be overridden in settings
            source = self.obj.image.file
            return get_thumbnailer(source).get_thumbnail({'subject_location': u'', 'upscale': True, 'crop': True, 'size': (size, size)}
).url
        except Exception,e:
            print "Error in personwrapper", e
            url = None
        return url

    def heading(self):
        return "Related people"
schema.register_wrapper(models.Person,PersonWrapper)


class EntityWrapper(LinkWrapper):
    search_fields = admin.EntityAdmin.search_fields
    # link_attributes = models.EntityAutoPageLinkPluginEditor.AUTO_PAGES["contacts-and-people"]

    def description(self):
        if self.obj.abstract_entity:
            return "Abstract entity - description unavailable"
        if self.obj.external_url:
            return "External entity at " + self.obj.external_url.url
        if self.obj.get_website and self.obj.get_website.get_meta_description():
            return self.obj.get_website.get_meta_description()
        # the following functionality will have to be restored in such a way that we don't return admin messages to the frontend - later
        # else:
예제 #5
0
        return nice_date(self.obj.date)

    def admin_metadata(self):
        date = nice_date(self.obj.date)
        if self.obj.published:
            status = "<strong>Published:</strong>"
        else:
            status = """
                <span class='errornote'>Not published</span>
            """
        return """
        %s %s
        """ % (status, self.date())


schema.register_wrapper([models.NewsArticle], NewsWrapper)


class EventWrapper(GenericWrapper):
    search_fields = admin.EventAdmin.search_fields
    heading = "Related events"
    block_level_item_template = "news_and_events/event_list_item.html"

    special_attributes = [
        "parent",
        "show_parent_series",
        "calculated_summary",
        "get_dates",
        "get_times",
        "building",
        "is_uninformative",
예제 #6
0
        return self.obj.publisher

    def get_start_date(self):
        return self.obj.get_start_date()

    def get_finish_date(self):
        return self.obj.get_finish_date()

    def place_of_publication(self):
        return self.obj.place_of_publication

    def abstract(self):
        return self.obj.abstract


schema.register_wrapper(BibliographicRecord, BibliographicRecordWrapper)


class ResearcherWrapper(SearchItemWrapper):
    search_fields = ResearcherAdmin.search_fields

    def summary(self):
        data = []
        data.append(smart_unicode(self.obj.person.get_role))
        data.append(smart_unicode(self.obj.person.get_entity))
        return ", ".join(data)

    def thumbnail_url(self):
        try:
            size = self.THUMBNAIL_SIZE
            source = self.obj.person.image.file