Exemple #1
0
    def folderitem(self, obj, item, index):
        """Applies new properties to the item (Client) that is currently being
        rendered as a row in the list

        :param obj: client to be rendered as a row in the list
        :param item: dict representation of the client, suitable for the list
        :param index: current position of the item within the list
        :type obj: ATContentType/DexterityContentType
        :type item: dict
        :type index: int
        :return: the dict representation of the item
        :rtype: dict
        """
        # render a link to the defined start page
        link_url = "{}/{}".format(item["url"], self.landing_page)
        item["replace"]["title"] = get_link(link_url, item["title"])
        item["replace"]["getClientID"] = get_link(link_url,
                                                  item["getClientID"])
        # render an email link
        item["replace"]["EmailAddress"] = get_email_link(item["EmailAddress"])
        # translate True/FALSE values
        item["replace"]["BulkDiscount"] = obj.getBulkDiscount() and _(
            "Yes") or _("No")
        item["replace"][
            "MemberDiscountApplies"] = obj.getMemberDiscountApplies() and _(
                "Yes") or _("No")
        # render a phone link
        phone = obj.getPhone()
        if phone:
            item["replace"]["Phone"] = get_link("tel:{}".format(phone), phone)
        return item
Exemple #2
0
    def folderitem(self, obj, item, index):
        """Service triggered each time an item is iterated in folderitems.
        The use of this service prevents the extra-loops in child objects.
        :obj: the instance of the class to be foldered
        :item: dict containing the properties of the object to be used by
            the template
        :index: current index of the item
        """
        obj = api.get_object(obj)
        title = obj.Title()
        description = obj.Description()
        url = obj.absolute_url()

        item["replace"]["Title"] = get_link(url, value=title)
        item["Description"] = description

        item["Manager"] = ""
        item["ManagerPhone"] = ""
        item["ManagerEmail"] = ""
        manager = obj.getManager()
        if manager:
            manager_name = manager.getFullname()
            item["Manager"] = manager_name

            manager_url = manager.absolute_url()
            item["replace"]["Manager"] = get_link(manager_url, manager_name)

            manager_email = manager.getEmailAddress()
            item["replace"]["ManagerEmail"] = get_email_link(
                manager_email, value=manager_email)

            item["ManagerPhone"] = manager.getBusinessPhone()

        return item
Exemple #3
0
    def folderitem(self, obj, item, index):
        """Applies new properties to the item to be rendered
        """
        obj = api.get_object(obj)
        # Replace client name with the link
        item['getPrimaryReferrer'] = ""
        client = obj.getClient()
        if client:
            client_link = get_link(api.get_url(client), api.get_title(client))
            item["replace"]["getPrimaryReferrer"] = client_link

        # Replace doctor's full name with a link
        fullname = obj.getFullname()
        doctor_url = "{}/analysisrequests".format(api.get_url(obj))
        doctor_link = get_link(doctor_url, fullname)
        item["replace"]["getFullname"] = doctor_link
        doctor_link = get_link(doctor_url, obj.getDoctorID())
        item["replace"]["getDoctorID"] = doctor_link

        # Replace doctor's full name with a link
        email = obj.getEmailAddress()
        if email:
            item["replace"]['getEmailAddress'] = get_email_link(email)

        # Display the internal/external icons, but only if the logged-in user
        # does not belong to an external client
        if not self.is_external_user():
            item["before"]["getFullname"] = get_client_aware_html_image(obj)

        return item
    def folderitem(self, obj, item, idx):
        """
        Replace or add the required/wanted fields for each invoice
        in the item dictionary

        :param obj: the instance of the class to be foldered. In our case, an
                    Invoice
        :param item: dict containing the properties of the object to be used by
                     the template
        :return: dictionary with the updated fields of the invoice being processed
        """
        currency = currency_format(self.context, 'en')
        item['replace']['id'] = get_link(api.get_url(obj), obj.getId())
        client = obj.getClient()
        if client:
            item['client'] = client.Title()
            item['replace']['client'] = get_link(client.absolute_url(),
                                                 item['client'])
            item['email'] = client.getEmailAddress()
            item['replace']['email'] = get_email_link(client.getEmailAddress())
            item['phone'] = client.getPhone()
        else:
            item['client'] = ''
            item['email'] = ''
            item['phone'] = ''

        item['invoicedate'] = self.ulocalized_time(obj.getInvoiceDate())
        item['startdate'] = self.ulocalized_time(obj.getBatchStartDate())
        item['enddate'] = self.ulocalized_time(obj.getBatchEndDate())
        item['subtotal'] = currency(obj.getSubtotal())
        item['vatamount'] = currency(obj.getVATAmount())
        item['total'] = currency(obj.getTotal())

        return item
    def folderitem(self, obj, item, index):
        obj = api.get_object(obj)
        url = api.get_url(obj)

        # MRN
        mrn = obj.get_mrn().encode("utf8")
        item["mrn"] = mrn
        item["replace"]["mrn"] = get_link(url, value=mrn)

        # Patient ID
        patient_id = obj.get_patient_id().encode("utf8")
        item["patient_id"] = patient_id
        if patient_id:
            item["replace"]["patient_id"] = get_link(url, value=patient_id)

        # Fullname
        fullname = obj.get_fullname().encode("utf8")
        item["fullname"] = fullname
        if fullname:
            item["replace"]["fullname"] = get_link(url, value=fullname)

        # Email
        email = obj.get_email()
        item["email"] = email
        if email:
            item["replace"]["email"] = get_email_link(email, value=email)

        # Gender
        item["gender"] = obj.get_gender()

        # Birthdate
        birthdate = obj.get_birthdate()
        item["birthdate"] = self.ulocalized_time(birthdate, long_format=0)

        return item
 def folderitem(self, obj, item, index):
     obj = api.get_object(obj)
     item["replace"].update({
         "getFullName":
         get_link(item["url"], obj.getFullName()),
         "getEmailAddress":
         get_email_link(obj.getEmailAddress())
     })
     return item
Exemple #7
0
 def folderitem(self, obj, item, index):
     url = item.get("url")
     email = obj.getEmailAddress()
     fullname = obj.getFullname()
     item['getFullname'] = fullname
     item['getEmailAddress'] = email
     item['getBusinessPhone'] = obj.getBusinessPhone()
     item['getMobilePhone'] = obj.getMobilePhone()
     item['Username'] = obj.getUsername() or ""
     item['replace']['getFullname'] = get_link(url, fullname)
     if email:
         item["replace"]['getEmailAddress'] = get_email_link(email)
     return item
Exemple #8
0
    def folderitem(self, obj, item, index):
        """Applies new properties to item (StorageFacility) that is currently
        being rendered as a row in the list
        """
        item = super(StorageRootFolderContentsView,
                     self).folderitem(obj, item, index)

        item["replace"]["EmailAddress"] = get_email_link(item["EmailAddress"])
        phone = obj.getPhone()
        if phone:
            item["replace"]["Phone"] = get_link("tel:{}".format(phone), phone)

        # Containers
        containers = obj.get_layout_containers()
        item["replace"]["Containers"] = "{:01d}".format(len(containers))
        return item
Exemple #9
0
 def folderitem(self, obj, item, index):
     """
     Applies new properties to the item (Client) that is currently being
     rendered as a row in the list
     :param obj: client to be rendered as a row in the list
     :param item: dict representation of the client, suitable for the list
     :param index: current position of the item within the list
     :type obj: ATContentType/DexterityContentType
     :type item: dict
     :type index: int
     :return: the dict representation of the item
     :rtype: dict
     """
     link_url = "{}/{}".format(item['url'], self.landing_page)
     item['replace']['title'] = get_link(link_url, item['title'])
     item['replace']['EmailAddress'] = get_email_link(item['EmailAddress'])
     return item
    def folderitem(self, obj, item, index):
        """Service triggered each time an item is iterated in folderitems.
        The use of this service prevents the extra-loops in child objects.
        :obj: the instance of the class to be foldered
        :item: dict containing the properties of the object to be used by
            the template
        :index: current index of the item
        """

        fullname = obj.getFullname()
        if fullname:
            item["Fullname"] = fullname
            item["replace"]["Fullname"] = get_link(
                obj.absolute_url(), value=fullname)
        else:
            item["Fullname"] = ""

        default_department = obj.getDefaultDepartment()
        if default_department:
            item["replace"]["DefaultDepartment"] = get_link(
                default_department.absolute_url(),
                value=default_department.Title())

        departments = obj.getDepartments()
        if departments:
            links = map(
                lambda o: get_link(o.absolute_url(),
                                   value=o.Title(),
                                   css_class="link"),
                departments)
            item["replace"]["Departments"] = ", ".join(links)

        email = obj.getEmailAddress()
        if email:
            item["EmailAddress"] = obj.getEmailAddress()
            item["replace"]["EmailAddress"] = get_email_link(
                email, value=email)

        item["BusinessPhone"] = obj.getBusinessPhone()
        item["Fax"] = obj.getBusinessFax()
        item["MobilePhone"] = obj.getMobilePhone()

        return item
    def folderitem(self, obj, item, index):
        """Service triggered each time an item is iterated in folderitems.
        The use of this service prevents the extra-loops in child objects.
        :obj: the instance of the class to be foldered
        :item: dict containing the properties of the object to be used by
            the template
        :index: current index of the item
        """

        fullname = obj.getFullname()
        email = obj.getEmailAddress()
        url = item.get("url")
        item['getFullname'] = fullname
        item['getEmailAddress'] = email
        item['getBusinessPhone'] = obj.getBusinessPhone()
        item["replace"]["getFullname"] = get_link(url, fullname)
        if email:
            item["replace"]['getEmailAddress'] = get_email_link(email)

        return item