/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import org.apache.ofbiz.entity.util.EntityUtil import org.apache.ofbiz.party.contact.ContactHelper import org.apache.ofbiz.entity.condition.EntityCondition if (userLogin) { party = userLogin.getRelatedOne("Party", false) contactMech = EntityUtil.getFirst(ContactHelper.getContactMech(party, "BILLING_LOCATION", "POSTAL_ADDRESS", false)) if (contactMech) { postalAddress = contactMech.getRelatedOne("PostalAddress", false) billToContactMechId = postalAddress.contactMechId context.billToContactMechId = billToContactMechId context.billToName = postalAddress.toName context.billToAttnName = postalAddress.attnName context.billToAddress1 = postalAddress.address1 context.billToAddress2 = postalAddress.address2 context.billToCity = postalAddress.city context.billToPostalCode = postalAddress.postalCode context.billToStateProvinceGeoId = postalAddress.stateProvinceGeoId context.billToCountryGeoId = postalAddress.countryGeoId billToStateProvinceGeo = from("Geo").where("geoId", postalAddress.stateProvinceGeoId).queryOne() if (billToStateProvinceGeo) { context.billToStateProvinceGeo = billToStateProvinceGeo.geoName } billToCountryProvinceGeo = from("Geo").where("geoId", postalAddress.countryGeoId).queryOne() if (billToCountryProvinceGeo) { context.billToCountryProvinceGeo = billToCountryProvinceGeo.geoName } creditCards = [] paymentMethod = from("PaymentMethod").where("partyId", party.partyId, "paymentMethodTypeId", "CREDIT_CARD").orderBy("fromDate").filterByDate().queryFirst() if (paymentMethod) { creditCard = paymentMethod.getRelatedOne("CreditCard", false) context.paymentMethodTypeId = "CREDIT_CARD" context.cardNumber = creditCard.cardNumber context.cardType = creditCard.cardType context.paymentMethodId = creditCard.paymentMethodId context.firstNameOnCard = creditCard.firstNameOnCard context.lastNameOnCard = creditCard.lastNameOnCard context.expMonth = (creditCard.expireDate).substring(0, 2) context.expYear = (creditCard.expireDate).substring(3) } if (shipToContactMechId) { if (billToContactMechId && billToContactMechId.equals(shipToContactMechId)) { context.useShippingAddressForBilling = "Y" } } } billToContactMechList = ContactHelper.getContactMech(party, "PHONE_BILLING", "TELECOM_NUMBER", false) if (billToContactMechList) { billToTelecomNumber = (EntityUtil.getFirst(billToContactMechList)).getRelatedOne("TelecomNumber", false) pcm = EntityUtil.getFirst(billToTelecomNumber.getRelated("PartyContactMech", null, null, false)) context.billToTelecomNumber = billToTelecomNumber context.billToExtension = pcm.extension } billToFaxNumberList = ContactHelper.getContactMech(party, "FAX_BILLING", "TELECOM_NUMBER", false) if (billToFaxNumberList) { billToFaxNumber = (EntityUtil.getFirst(billToFaxNumberList)).getRelatedOne("TelecomNumber", false) faxPartyContactMech = EntityUtil.getFirst(billToFaxNumber.getRelated("PartyContactMech", null, null, false)) context.billToFaxNumber = billToFaxNumber context.billToFaxExtension = faxPartyContactMech.extension } }