def set_html(self, message, text_content=None, footer=None, print_html=None, formatted=None, inline_images=None, header=None): """Attach message in the html portion of multipart/alternative""" if not formatted: formatted = get_formatted_html(self.subject, message, footer, print_html, email_account=self.email_account, header=header, sender=self.sender) # this is the first html part of a multi-part message, # convert to text well if not self.html_set: if text_content: self.set_text(expand_relative_urls(text_content)) else: self.set_html_as_text(expand_relative_urls(formatted)) self.set_part_html(formatted, inline_images) self.html_set = True
def set_html(self, message, text_content=None, footer=None, print_html=None, formatted=None): """Attach message in the html portion of multipart/alternative""" if not formatted: formatted = get_formatted_html(self.subject, message, footer, print_html) # this is the first html part of a multi-part message, # convert to text well if not self.html_set: if text_content: self.set_text(expand_relative_urls(text_content)) else: self.set_html_as_text(expand_relative_urls(formatted)) self.set_part_html(formatted) self.html_set = True
def sync(self, verbose=True): """Sync items with hub.erpnext.com""" if not self.publish: if verbose: frappe.msgprint(_("Publish to sync items")) return items = frappe.db.get_all("Item", fields=["name", "item_name", "description", "image", "item_group"], filters={"publish_in_hub": 1, "synced_with_hub": 0}) for item in items: item.item_code = item.name if item.image: item.image = expand_relative_urls(item.image) item_list = frappe.db.sql_list("select name from tabItem where ifnull(publish_in_hub,0)=1") if items: response = requests.post(self.hub_url + "/api/method/hub.hub.api.sync", data={ "access_token": self.access_token, "items": json.dumps(items), "item_list": json.dumps(item_list) }) response.raise_for_status() for item in items: frappe.db.set_value("Item", item.name, "synced_with_hub", 1) if verbose: frappe.msgprint(_("{0} Items synced".format(len(items)))) else: if verbose: frappe.msgprint(_("Items already synced"))