Ejemplo n.º 1
0
 def add_loyalty_points(customer):
     loyalty_points = get_loyalty_details(
         customer.get("name"),
         customer.get("loyalty_program"),
         expiry_date=query_date,
     )
     return merge(customer, pick(["loyalty_points"], loyalty_points))
Ejemplo n.º 2
0
def get_customer_loyalty_details(customer, loyalty_card_no, expiry_date,
                                 company):
    if loyalty_card_no != frappe.db.get_value("Customer", customer,
                                              "os_loyalty_card_no"):
        frappe.throw(_("Loyalty Card does not belong to this Customer"))
    program = get_loyalty_program_details(customer,
                                          expiry_date=expiry_date,
                                          company=company)
    points = get_loyalty_details(customer,
                                 program.loyalty_program,
                                 expiry_date=expiry_date,
                                 company=company)
    return merge(
        pick(["loyalty_program", "conversion_factor"], program),
        pick(["loyalty_points"], points),
    )
Ejemplo n.º 3
0
def get_loyalty_program_details(
    customer,
    loyalty_program=None,
    expiry_date=None,
    company=None,
    silent=False,
    include_expired_entry=False,
):
    from erpnext.accounts.doctype.loyalty_program.loyalty_program import (
        get_loyalty_program_details,
        get_loyalty_details,
    )

    program = get_loyalty_program_details(customer, loyalty_program,
                                          expiry_date, company, silent,
                                          include_expired_entry)
    points = get_loyalty_details(customer, program.loyalty_program,
                                 expiry_date, company, include_expired_entry)

    return merge(program, points)
Ejemplo n.º 4
0
 def get_loyalty_points(self):
     if self.loyalty_program:
         from erpnext.accounts.doctype.loyalty_program.loyalty_program import get_loyalty_details
         return get_loyalty_details(self.name, self.loyalty_program)