Ejemplo n.º 1
0
    def get_icon_url(self, brain):
        """Returns the (big) icon URL for the given catalog brain
        """
        icon_url = api.get_icon(brain, html_tag=False)
        url, icon = icon_url.rsplit("/", 1)
        relative_url = url.lstrip(self.portal.absolute_url())
        name, ext = os.path.splitext(icon)

        # big icons endwith _big
        if not name.endswith("_big"):
            icon = "{}_big{}".format(name, ext)

        icon_big_url = "/".join([relative_url, icon])

        # fall back to a default icon if the looked up icon does not exist
        if self.context.restrictedTraverse(icon_big_url, None) is None:
            icon_big_url = "++resource++bika.lims.images/gears.png"

        return icon_big_url
Ejemplo n.º 2
0
    def folderitem(self, obj, item, index):
        """Applies new properties to item that is currently being rendered as a
        row in the list
        """
        item["replace"]["Title"] = get_link(item["url"], item["Title"])
        item["replace"]["Id"] = get_link(item["url"], api.get_id(obj))

        # Samples usage
        capacity = obj.get_samples_capacity()
        samples = obj.get_samples_utilization()
        percentage = capacity and samples * 100 / capacity or 0
        item["replace"]["SamplesUsage"] = self.get_usage_bar_html(percentage)
        item["replace"]["Samples"] = "{:01d} / {:01d} ({:01d}%)"\
            .format(samples, capacity, percentage)

        # Container types icons
        item["before"]["Title"] = get_icon(obj)

        return item