コード例 #1
0
 public function getBillingDetails()
 {
     $this->__load();
     return parent::getBillingDetails();
 }
コード例 #2
0
 /**
  *
  * @param IXP_Form_Customer $form The Send form object
  * @param \Entities\Customer $object The Doctrine2 entity (being edited or blank for add)
  * @param bool $isEdit True if we are editing, otherwise false
  * @return bool If false, the form is not processed
  */
 protected function addPostValidate($form, $object, $isEdit)
 {
     if (!$isEdit && $this->getD2EM()->getRepository('\\Entities\\Customer')->findOneBy(['shortname' => $form->getValue('shortname')])) {
         $form->getElement('shortname')->addError('This shortname is not available');
         return false;
     }
     if ($isEdit) {
         $object->setLastupdated(new DateTime());
         $object->setLastupdatedby($this->getUser()->getId());
         $bdetail = $object->getBillingDetails();
         $rdetail = $object->getRegistrationDetails();
     } else {
         $object->setCreated(new DateTime());
         $object->setCreator($this->getUser()->getUsername());
         $bdetail = new \Entities\CompanyBillingDetail();
         $this->getD2EM()->persist($bdetail);
         $object->setBillingDetails($bdetail);
         $bdetail->setPurchaseOrderRequired(0);
         $rdetail = new \Entities\CompanyRegisteredDetail();
         $this->getD2EM()->persist($rdetail);
         $object->setRegistrationDetails($rdetail);
         $object->setIsReseller(0);
     }
     if (($form->getValue('type') == \Entities\Customer::TYPE_FULL || $form->getValue('type') == \Entities\Customer::TYPE_PROBONO) && !$form->getElement('irrdb')->getValue()) {
         $form->getElement('irrdb')->markAsError();
         return false;
     } else {
         if ($form->getElement('irrdb')->getValue()) {
             if (!($irrdb = $this->getD2EM()->getRepository('\\Entities\\IRRDBConfig')->find($form->getElement('irrdb')->getValue()))) {
                 // should never be executed as it should be caught by registerInArray validator on element.
                 $form->getElement('irrdb')->setErrorMessages(['Invalid IRRDB source'])->markAsError();
                 return false;
             }
             $object->setIRRDB($irrdb);
         } else {
             $object->setIRRDB(null);
         }
     }
     if (!$isEdit) {
         $object->addIXP($this->loadIxpById($form->getValue("ixp")));
     }
     return $this->_setReseller($form, $object);
 }
コード例 #3
0
/**
 * Creates or updates customers billing details from given member array.
 *
 * @param \Entities\Customer $cust   Customer to update or create registration details
 * @param array              $member Members details array parsed from csv file.
 * @param object             $em     Doctrine entity manager.
 * @return void
 */
function createUpdateBilingDetails($cust, $member, $em, $countries)
{
    $bdetail = $cust->getBillingDetails();
    if (!$bdetail) {
        $bdetail = new \Entities\CompanyBillingDetail();
        $em->persist($bdetail);
        $bdetail->addCustomer($cust);
        $cust->setBillingDetails($bdetail);
    }
    $bdetail->setBillingContactName($member['billing_name']);
    $bdetail->setBillingAddress1($member['bill_addr1']);
    $bdetail->setBillingAddress2($member['bill_addr2'] . ", " . $member['bill_towncity']);
    $bdetail->setBillingTownCity($member['bill_countyregion']);
    $bdetail->setBillingPostcode($member['bill_postcode']);
    $bdetail->setBillingCountry(mapCountry($member['bill_country'], $countries));
    $bdetail->setBillingEmail($member['billing_email']);
    $bdetail->setBillingTelephone($member['billing_phone']);
    $bdetail->setBillingFrequency(mapBillFreq($member['billing_frequency']));
    $bdetail->setVatNumber($member['vat_no']);
    $bdetail->setVatRate($member['vat_rate']);
    $bdetail->setPurchaseOrderRequired(strtolower($member['po_required']) == 'yes' ? 1 : 0);
    $bdetail->setInvoiceMethod(mapInvoiceMethod($member['invoice_method']));
    $bdetail->setInvoiceEmail($member['invoice_email']);
}