Exemple #1
0
def set_address_details(out, party, party_type, doctype=None, company=None, party_address=None, shipping_address=None):
	billing_address_field = "customer_address" if party_type == "Lead" \
		else party_type.lower() + "_address"
	out[billing_address_field] = party_address or get_default_address(party_type, party.name)
	if doctype:
		out.update(get_fetch_values(doctype, billing_address_field, out[billing_address_field]))
	# address display
	out.address_display = get_address_display(out[billing_address_field])
	# shipping address
	if party_type in ["Customer", "Lead"]:
		out.shipping_address_name = shipping_address or get_party_shipping_address(party_type, party.name)
		out.shipping_address = get_address_display(out["shipping_address_name"])
		if doctype:
			out.update(get_fetch_values(doctype, 'shipping_address_name', out.shipping_address_name))

	if doctype and doctype in ['Delivery Note', 'Sales Invoice']:
		out.update(get_company_address(company))
		if out.company_address:
			out.update(get_fetch_values(doctype, 'company_address', out.company_address))
		get_regional_address_details(out, doctype, company)

	elif doctype and doctype == "Purchase Invoice":
		out.update(get_company_address(company))
		if out.company_address:
			out["shipping_address"] = shipping_address or out["company_address"]
			out.shipping_address_display = get_address_display(out["shipping_address"])
			out.update(get_fetch_values(doctype, 'shipping_address', out.shipping_address))
		get_regional_address_details(out, doctype, company)
 def set_invoice_missing_values(source, target):
     target.customer = _get_or_create_customer(source_name, bill_to)
     target.update(
         frappe.model.utils.get_fetch_values("Sales Invoice", "customer",
                                             target.customer))
     target.customer_address = frappe.get_cached_value(
         "Booking Order", source_name, "{}_address".format(bill_to))
     if target.customer_address:
         target.update(
             frappe.model.utils.get_fetch_values("Sales Invoice",
                                                 "customer_address",
                                                 target.customer_address))
     target.taxes_and_charges = taxes_and_charges
     target.ignore_pricing_rule = 1
     if posting_datetime:
         target.set_posting_time = 1
         dt = frappe.utils.get_datetime(posting_datetime)
         target.posting_date = dt.date()
         target.posting_time = dt.time()
     target.run_method("set_missing_values")
     target.run_method("calculate_taxes_and_totals")
     target.update(get_company_address(target.company))
     if target.company_address:
         target.update(
             frappe.model.utils.get_fetch_values("Sales Invoice",
                                                 "company_address",
                                                 target.company_address))
Exemple #3
0
    def set_missing_values(source, target):
        if source.po_no:
            if target.po_no:
                target_po_no = target.po_no.split(", ")
                target_po_no.append(source.po_no)
                target.po_no = ", ".join(list(set(target_po_no))) if len(
                    target_po_no) > 1 else target_po_no[0]
            else:
                target.po_no = source.po_no

        # Since the credit limit check is bypassed at sales order level,
        # we need to check it at delivery note
        if cint(
                frappe.db.get_value(
                    "Customer", source.customer,
                    "bypass_credit_limit_check_at_sales_order")):
            check_credit_limit(source.customer, source.company)

        target.ignore_pricing_rule = 1
        target.run_method("set_missing_values")
        target.run_method("calculate_taxes_and_totals")

        # set company address
        target.update(get_company_address(target.company))
        if target.company_address:
            target.update(
                get_fetch_values("Delivery Note", 'company_address',
                                 target.company_address))
Exemple #4
0
def set_address_details(party_details, party, party_type, doctype=None, company=None, party_address=None, company_address=None, shipping_address=None):
	billing_address_field = "customer_address" if party_type == "Lead" \
		else party_type.lower() + "_address"
	party_details[billing_address_field] = party_address or get_default_address(party_type, party.name)
	if doctype:
		party_details.update(get_fetch_values(doctype, billing_address_field, party_details[billing_address_field]))
	# address display
	party_details.address_display = get_address_display(party_details[billing_address_field])
	# shipping address
	if party_type in ["Customer", "Lead"]:
		party_details.shipping_address_name = shipping_address or get_party_shipping_address(party_type, party.name)
		party_details.shipping_address = get_address_display(party_details["shipping_address_name"])
		if doctype:
			party_details.update(get_fetch_values(doctype, 'shipping_address_name', party_details.shipping_address_name))

	if company_address:
		party_details.update({'company_address': company_address})
	else:
		party_details.update(get_company_address(company))

	if doctype and doctype in ['Delivery Note', 'Sales Invoice', 'Sales Order']:
		if party_details.company_address:
			party_details.update(get_fetch_values(doctype, 'company_address', party_details.company_address))
		get_regional_address_details(party_details, doctype, company)

	elif doctype and doctype in ["Purchase Invoice", "Purchase Order", "Purchase Receipt"]:
		if party_details.company_address:
			party_details["shipping_address"] = shipping_address or party_details["company_address"]
			party_details.shipping_address_display = get_address_display(party_details["shipping_address"])
			party_details.update(get_fetch_values(doctype, 'shipping_address', party_details.shipping_address))
		get_regional_address_details(party_details, doctype, company)

	return party_details.get(billing_address_field), party_details.shipping_address_name
Exemple #5
0
def set_address_details(out, party, party_type, doctype=None, company=None):
    billing_address_field = "customer_address" if party_type == "Lead" \
     else party_type.lower() + "_address"
    out[billing_address_field] = get_default_address(party_type, party.name)
    out.update(
        get_fetch_values(doctype, billing_address_field,
                         out[billing_address_field]))

    # address display
    out.address_display = get_address_display(out[billing_address_field])

    # shipping address
    if party_type in ["Customer", "Lead"]:
        out.shipping_address_name = get_default_address(
            party_type, party.name, 'is_shipping_address')
        out.shipping_address = get_address_display(
            out["shipping_address_name"])
        out.update(
            get_fetch_values(doctype, 'shipping_address_name',
                             out.shipping_address_name))

    if doctype and doctype in ['Sales Invoice']:
        out.update(get_company_address(company))
        if out.company_address:
            out.update(
                get_fetch_values(doctype, 'company_address',
                                 out.company_address))
Exemple #6
0
	def set_missing_values(source, target):
		target.ignore_pricing_rule = 1
		target.run_method("set_missing_values")
		target.run_method("set_po_nos")
		target.run_method("calculate_taxes_and_totals")

		# set company address
		target.update(get_company_address(target.company))
		if target.company_address:
			target.update(get_fetch_values("Delivery Note", 'company_address', target.company_address))
Exemple #7
0
def get_company_address_details(doc):
    """Return default company address details"""

    company_address = get_company_address(doc.company).company_address

    if not company_address:
        frappe.throw(_("Please set a default company address"))

    company_address = frappe.get_doc("Address", company_address)
    return company_address
	def set_missing_values(source, target):
		target.is_pos = 0
		target.ignore_pricing_rule = 1
		target.flags.ignore_permissions = True
		target.run_method("set_missing_values")
		target.run_method("calculate_taxes_and_totals")

		# set company address
		target.update(get_company_address(target.company))
		if target.company_address:
			target.update(get_fetch_values("Sales Invoice", 'company_address', target.company_address))
Exemple #9
0
	def set_missing_values(source, target):
		target.run_method("set_missing_values")
		target.run_method("set_po_nos")
		target.run_method("calculate_taxes_and_totals")

		if source.company_address:
			target.update({"company_address": source.company_address})
		else:
			# set company address
			target.update(get_company_address(target.company))

		if target.company_address:
			target.update(get_fetch_values("Delivery Note", "company_address", target.company_address))
Exemple #10
0
def get_shipping_address(doc):
    company_address = get_company_address(
        get_default_company()).company_address
    company_address = frappe.get_doc("Address", company_address)
    shipping_address = None

    if company_address:
        if doc.shipping_address_name:
            shipping_address = frappe.get_doc("Address",
                                              doc.shipping_address_name)
        else:
            shipping_address = company_address

    return shipping_address
Exemple #11
0
	def set_missing_values(source, target):
		target.is_pos = 0
		target.ignore_pricing_rule = 1
		target.run_method("set_missing_values")

		if len(target.get("items")) == 0:
			frappe.throw(_("All these items have already been invoiced"))

		target.run_method("calculate_taxes_and_totals")

		# set company address
		target.update(get_company_address(target.company))
		if target.company_address:
			target.update(get_fetch_values("Sales Invoice", 'company_address', target.company_address))	
Exemple #12
0
def get_shipping_address(doc):
	company = get_default_company() if not doc.company else doc.company
	company_address = get_company_address(company).company_address
	if not company_address:
		frappe.throw(_("Please set up your company's shipping address"), frappe.AuthenticationError)
	company_address = frappe.get_doc("Address", company_address)
	shipping_address = None

	if company_address:
		if doc.shipping_address_name:
			shipping_address = frappe.get_doc("Address", doc.shipping_address_name)
		else:
			shipping_address = company_address

	return shipping_address
Exemple #13
0
	def set_missing_values(source, target):
		target.is_pos = 0
		target.ignore_pricing_rule = 1
		target.flags.ignore_permissions = True
		target.run_method("set_missing_values")
		target.run_method("calculate_taxes_and_totals")

		# Since the credit limit check is bypassed at sales order level, we need to check it at sales invoice
		if cint(frappe.db.get_value("Customer", source.customer, "bypass_credit_limit_check_at_sales_order")):
			check_credit_limit(source.customer, source.company)

		# set company address
		target.update(get_company_address(target.company))
		if target.company_address:
			target.update(get_fetch_values("Sales Invoice", 'company_address', target.company_address))
Exemple #14
0
    def set_missing_values(source, target):
        if (not source.allow_delivery
                and source.advance_paid < source.rounded_total):
            frappe.throw(
                _('Not allowed to create the Delivery Note before Payment'))
        target.ignore_pricing_rule = 1
        target.run_method("set_missing_values")
        target.run_method("set_po_nos")
        target.run_method("calculate_taxes_and_totals")

        # set company address
        target.update(get_company_address(target.company))
        if target.company_address:
            target.update(
                get_fetch_values("Delivery Note", 'company_address',
                                 target.company_address))
Exemple #15
0
	def set_missing_values(source, target):
		target.is_pos = 0
		target.ignore_pricing_rule = 1
		target.flags.ignore_permissions = True
		target.run_method("set_missing_values")
		target.run_method("set_po_nos")
		target.run_method("calculate_taxes_and_totals")

		# set company address
		target.update(get_company_address(target.company))
		if target.company_address:
			target.update(get_fetch_values("Sales Invoice", 'company_address', target.company_address))

		# set the redeem loyalty points if provided via shopping cart
		if source.loyalty_points and source.order_type == "Shopping Cart":
			target.redeem_loyalty_points = 1
	def set_missing_values(source, target):
		if source.po_no:
			if target.po_no:
				target_po_no = target.po_no.split(", ")
				target_po_no.append(source.po_no)
				target.po_no = ", ".join(list(set(target_po_no))) if len(target_po_no) > 1 else target_po_no[0]
			else:
				target.po_no = source.po_no

		target.ignore_pricing_rule = 1
		target.run_method("set_missing_values")
		target.run_method("calculate_taxes_and_totals")
		
		# set company address
		target.update(get_company_address(target.company))
		if target.company_address:
			target.update(get_fetch_values("Delivery Note", 'company_address', target.company_address))
Exemple #17
0
    def set_missing_values(source, target):
        so = [d.against_sales_order for d in target.items]
        if so:
            po_no_list = frappe.get_all('Sales Order',
                                        'po_no',
                                        filters={'name': ('in', so)})
            target.po_no = ', '.join(d.po_no for d in po_no_list if d.po_no)

        target.ignore_pricing_rule = 1
        target.run_method("set_missing_values")
        target.run_method("calculate_taxes_and_totals")

        # set company address
        target.update(get_company_address(target.company))
        if target.company_address:
            target.update(
                get_fetch_values("Delivery Note", 'company_address',
                                 target.company_address))
def get_shipper(delivery_note_name):
    shipper = RequestedShipment()

    delivery_note_company = frappe.db.get_value("Delivery Note",
                                                delivery_note_name, "company")

    if delivery_note_company:
        shipper.contact.PersonName = delivery_note_company
        shipper.contact.CompanyName = delivery_note_company

        company = frappe.db.get_values("Company",
                                       delivery_note_company,
                                       ["phone_no", "country"],
                                       as_dict=True)

        if company:
            shipper.contact.PhoneNumber = company[0].phone_no
            shipper.address.Country = company[0].country
            shipper.address.CountryCode = get_country_code(
                shipper.address.Country)

            shipper_address = None
            company_address = get_company_address(
                delivery_note_company).company_address

            if company_address:
                shipper_address = frappe.get_doc("Address", company_address)

            if shipper_address:
                shipper.address.StreetLines.append(
                    shipper_address.address_line1)

                if shipper_address.address_line2:
                    shipper.address.StreetLines.append(
                        shipper_address.address_line2)

                shipper.address.City = shipper_address.city
                shipper.address.PostalCode = shipper_address.pincode
                shipper.address.StateOrProvinceCode = shipper_address.state

    return shipper
Exemple #19
0
    def set_missing_values(source, target):
        target.ignore_pricing_rule = 1
        target.flags.ignore_permissions = True
        target.run_method("set_missing_values")
        target.run_method("set_po_nos")
        target.run_method("calculate_taxes_and_totals")

        if source.company_address:
            target.update({'company_address': source.company_address})
        else:
            # set company address
            target.update(get_company_address(target.company))

        if target.company_address:
            target.update(
                get_fetch_values("Sales Invoice", 'company_address',
                                 target.company_address))

        # set print heading
        target.select_print_heading = frappe.db.get_single_value(
            'ERPNext France Settings', 'deposit_print_heading')
Exemple #20
0
    def set_missing_values(source, target):
        target.run_method("set_missing_values")
        target.run_method("set_po_nos")

        if len(target.get("items")) == 0:
            frappe.throw(
                _("All these items have already been Invoiced/Returned"))

        target.run_method("calculate_taxes_and_totals")

        # set company address
        if source.company_address:
            target.update({"company_address": source.company_address})
        else:
            # set company address
            target.update(get_company_address(target.company))

        if target.company_address:
            target.update(
                get_fetch_values("Sales Invoice", "company_address",
                                 target.company_address))
Exemple #21
0
 def set_company_address(self):
     address = get_company_address(self.company)
     self.company_address = address.company_address
     self.company_address_display = address.company_address_display