コード例 #1
0
 /**
  * SoftDelete
  */
 public function testSoftDelete()
 {
     $account = CreateObjectHelper::makeAccount();
     Account_Model::delete($account['user_id'], $account['account_id']);
     $account = Account_Model::findById($account['account_id']);
     $this->assertTrue((bool) $account['deleted_at'], "Expected Account marked as deleted");
     $this->assertEquals($account['deleted_at'], $account['updated_at'], "Expected Account `deleted_at` equals `updated_at`");
     // Account_Model::delete - запускает свою транзацию
     // Поэтому надо подчистить таблицу
     // TODO: исправить
     $this->getConnection()->query('TRUNCATE TABLE accounts');
 }
コード例 #2
0
 /**
  * Функция которая отсылает список счетов
  */
 public function accountslist()
 {
     $accountModel = new Account_Model();
     $accounts = $accountModel->loadAllWithStat($this->user->getId());
     //@TODO Привести к нормальному возврату данных, т.е. через присвоение переменной.
     //В деструкторе ещё используется, поэтому ой
     // $this->tpl->assign('accounts', array('result'=>array('data'=> $acc)));
     die(json_encode(array('result' => array('data' => $accounts))));
 }
コード例 #3
0
 /**
  * Удалить счёт
  *
  * @param oldUser $user
  * @param array   $param
  */
 public function delete(oldUser $user, $param)
 {
     $fin = new Targets_Model();
     $noFinTarget = $fin->countTargetsOnAccount($param['id']);
     // если ноль значит удаляем
     if ($noFinTarget > 0) {
         return 'cel';
     }
     return Account_Model::delete($user->getId(), $param['id']);
 }
コード例 #4
0
 /**
  * Индексная страница
  *
  * @param $args array mixed
  * @return void
  */
 function index()
 {
     if ($this->_user->getId()) {
         $this->addToRes('profile', array('integration' => array('email' => $this->_user->getUserProps('user_service_mail'), 'account' => Account_Model::findBoundWithAmt($this->_user->getId()))));
     }
 }
コード例 #5
0
 /**
  * При завершении работы, контроллера
  */
 function __destruct()
 {
     if (!session_id()) {
         session_start();
     }
     // Применение модификаций\удалений моделей (после внедрения TemplateEngine_Json - удалить)
     _Core_ObjectWatcher::getInstance()->performOperations();
     $user = Core::getInstance()->user;
     $this->addToRes('errors', Core::getInstance()->errors);
     //@TODO Удалить потом
     $res = $this->getRes();
     if (isset($_SESSION['resultMessage'])) {
         if (isset($_SESSION['messageSend'])) {
             $res['result'] = array('text' => $_SESSION['resultMessage']);
             unset($_SESSION['resultMessage'], $_SESSION['messageSend']);
         } else {
             $_SESSION['messageSend'] = true;
         }
     }
     if (isset($_SESSION['errorMessage'])) {
         if (isset($_SESSION['errorMessage'])) {
             $res['result'] = array('text' => $_SESSION['errorMessage']);
             unset($_SESSION['errorMessage'], $_SESSION['messageSend']);
         } else {
             $_SESSION['messageSend'] = true;
         }
     }
     if (is_null($user->getId())) {
         $this->tpl->assign('res', $res);
         return false;
     }
     /**
      * Счета
      */
     $accountModel = new Account_Model();
     $accounts = $accountModel->loadAllWithStat($user->getId());
     //Подготавливаем Часто используемые счета
     $oftenAccounts = array();
     $oftenAccount = array();
     foreach ($accounts as $k => $v) {
         $op = new Operation_Model();
         $oftenAccounts[$k] = $op->getNumOfOperationOnAccount($k);
     }
     arsort($oftenAccounts);
     $num = 0;
     foreach ($oftenAccounts as $k => $v) {
         if ($num < 3) {
             $oftenAccount[$k] = $oftenAccounts[$k];
             $num++;
         }
     }
     // Подготавливаем фин.цели
     $targets = array();
     try {
         $targ = $user->getUserTargets();
     } catch (Exception $e) {
         $targ = 0;
     }
     try {
         $info = new Info_Model();
         $infoa = $info->get_data();
     } catch (Exception $e) {
         $infoa = array();
     }
     try {
         $category = new Category_Model();
         $cats = $category->getCategory();
         $cats['recent'] = get_recent_category(10, 0);
     } catch (Exception $e) {
         $cats = null;
     }
     /**
      * Валюты
      */
     $ex = sfConfig::get('ex');
     $userDefaultCurrency = $user->getUserProps('user_currency_default');
     $userCurrencies = array();
     // Все валюты пользователя по курсу к базовой
     foreach ($user->getUserCurrency() as $currencyItem) {
         $userCurrencies[$currencyItem['id']] = array('cost' => number_format($ex->getRate($currencyItem['id'], $userDefaultCurrency), 4, '.', ''), 'name' => $currencyItem['charCode'], 'text' => $currencyItem['abbr']);
     }
     $userCurrencies['default'] = (int) $userDefaultCurrency;
     //валюта по умолчанию
     /**
      * Res
      */
     $res = array_merge($res, array('getNotify' => @$_SESSION['user']['getNotify'], 'tags' => $user->getUserTags(), 'cloud' => $user->getUserTags(true), 'calendar' => array('overdue' => Core::getInstance()->user->getUserEvents('overdue'), 'calendar' => Core::getInstance()->user->getUserEvents('calendar'), 'future' => Core::getInstance()->user->getUserEvents('reminder')), 'accounts' => $accounts, 'accountsRecent' => $oftenAccount, 'user_targets' => $targ['user_targets'], 'popup_targets' => $targ['pop_targets'], 'currency' => $userCurrencies, 'flash' => array('title' => '', 'value' => isset($infoa[0][0]) ? $infoa[0][0] : 0), 'targets_category' => array('1' => 'Квартира', '2' => 'Автомобиль', '3' => 'Отпуск', '4' => 'Финансовая подушка', '6' => 'Свадьба', '7' => 'Бытовая техника', '8' => 'Компьютер', '5' => 'Прочее'), 'errors' => Core::getInstance()->errors, 'budget' => Core::getInstance()->user->getUserBudget(), 'category' => $cats, 'informers' => $infoa));
     if (Core::getInstance()->user->getId() > 0) {
         $res['user'] = array('name' => Core::getInstance()->user->getName());
     }
     $this->tpl->assign('res', $res);
 }