Example #1
0
 public function assignData($data)
 {
     if (!$data instanceof Varien_Object) {
         $data = new Varien_Object($data);
     }
     $info = $this->getInfoInstance();
     $info->setCcType('openinvoice');
     // check if option gender or date of birth is enabled
     $genderShow = $this->genderShow();
     $dobShow = $this->dobShow();
     $telephoneShow = $this->telephoneShow();
     if ($genderShow || $dobShow || $telephoneShow) {
         // set gender and dob to the quote
         $quote = $this->getQuote();
         // dob must be in yyyy-MM-dd
         $dob = $data->getYear() . "-" . $data->getMonth() . "-" . $data->getDay();
         if ($dobShow) {
             $quote->setCustomerDob($dob);
         }
         if ($genderShow) {
             $quote->setCustomerGender($data->getGender());
             // Fix for OneStepCheckout (won't convert quote customerGender to order object)
             $info->setAdditionalInformation('customerGender', $data->getGender());
         }
         if ($telephoneShow) {
             $telephone = $data->getTelephone();
             $quote->getBillingAddress()->setTelephone($data->getTelephone());
         }
         /* Check if the customer is logged in or not */
         if (Mage::getSingleton('customer/session')->isLoggedIn()) {
             /* Get the customer data */
             $customer = Mage::getSingleton('customer/session')->getCustomer();
             // set the email and/or gender
             if ($dobShow) {
                 $customer->setDob($dob);
             }
             if ($genderShow) {
                 $customer->setGender($data->getGender());
             }
             if ($telephoneShow) {
                 $billingAddress = $customer->getPrimaryBillingAddress();
                 if ($billingAddress) {
                     $billingAddress->setTelephone($data->getTelephone());
                 }
             }
             // save changes into customer
             $customer->save();
         }
     }
     return $this;
 }