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
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
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
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
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
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