Example #1
0
 public function info()
 {
     $user = User::getInstanceById((int) $this->request->get('id'), ActiveRecord::LOAD_DATA, array('UserGroup'));
     $availableUserGroups = array('' => $this->translate('_default_user_group'));
     foreach (UserGroup::getRecordSet(new ARSelectFilter()) as $group) {
         $availableUserGroups[$group->getID()] = $group->name->get();
     }
     $response = new ActionResponse();
     $response->set('countries', array_merge(array('' => ''), $this->application->getEnabledCountries()));
     $form = self::createUserForm($this, $user, $response);
     $response->set('form', $form);
     $response->set('shippingAddressStates', State::getStatesByCountry($form->get('shippingAddress_countryID')));
     $response->set('billingAddressStates', State::getStatesByCountry($form->get('billingAddress_countryID')));
     $user->loadAddresses();
     $response->set('someUser', $user->toArray());
     $response->set('availableUserGroups', $availableUserGroups);
     BackendToolbarItem::registerLastViewedUser($user);
     return $response;
 }
Example #2
0
 /**
  * Get current user (from session)
  * @return User
  */
 public static function getUser()
 {
     if (!empty(self::$currentUser)) {
         return self::$currentUser;
     }
     $session = new Session();
     $id = $session->get('User');
     $app = ActiveRecordModel::getApplication();
     if (!$id) {
         $user = self::getAnonymousUser();
     } else {
         $user = User::getInstanceById($id);
         // set user's prefered locale code
         $reqLang = $app->getRequest()->get('requestLanguage');
         $localeCode = $reqLang ? $reqLang : $app->getLocaleCode();
         try {
             if ($session->get('userLocale') != $localeCode) {
                 $user->load();
                 $user->locale->set($localeCode);
                 $user->save();
                 $session->set('userLocale', $localeCode);
             }
             if (!$session->isValueSet('UserGroup') || is_null($session->get('UserGroup'))) {
                 $user->load();
                 $group = $user->userGroup->get() ? $user->userGroup->get()->getID() : 0;
                 $session->set('UserGroup', $group);
             }
             $user->userGroup->set(UserGroup::getInstanceByID($session->get('UserGroup')));
         } catch (ARNotFoundException $e) {
             $user = self::getAnonymousUser();
         }
     }
     if ($app->getSessionHandler()) {
         $app->getSessionHandler()->setUser($user);
     }
     return $user;
 }
Example #3
0
 public function getNextBillingAddress()
 {
     if (!($data = $this->loadRecord('SELECT * FROM ' . $this->getTablePrefix() . 'address_book LEFT JOIN ' . $this->getTablePrefix() . 'countries ON ' . $this->getTablePrefix() . 'address_book.entry_country_id=' . $this->getTablePrefix() . 'countries.countries_id LEFT JOIN ' . $this->getTablePrefix() . 'customers ON ' . $this->getTablePrefix() . 'address_book.customers_id=' . $this->getTablePrefix() . 'customers.customers_id WHERE ' . $this->getTablePrefix() . 'customers.customers_id IS NOT NULL'))) {
         return null;
     }
     $address = $this->getUserAddress($data, 'entry_');
     $address->countryID->set($data['countries_iso_code_2']);
     return BillingAddress::getNewInstance(User::getInstanceById($this->getRealId('User', $data['customers_id'])), $address);
 }