Ejemplo n.º 1
0
 /**
  * Record the transaction
  *
  * @param   string   $type    Record type (inserting or updating)
  * @param   integer  $amount  Amount to process
  * @param   string   $desc    Transaction description
  * @param   string   $cat     Transaction category
  * @param   integer  $ref     ID of item transaction references
  * @return  boolean  True on success
  */
 public function _saveTransaction($type, $amount, $desc, $cat, $ref)
 {
     $transaction = Transaction::blank()->set(array('uid' => $this->uid, 'type' => $type, 'amount' => $amount, 'description' => $desc, 'category' => $cat, 'referenceid' => $ref, 'balance' => $this->balance));
     if (!$transaction->save()) {
         $this->setError($transaction->getError());
         return false;
     }
     return true;
 }
Ejemplo n.º 2
0
 /**
  * Save an entry
  *
  * @return  void
  */
 public function saveTask()
 {
     // Check for request forgeries
     Request::checkToken();
     $account = Request::getVar('account', array(), 'post');
     $row = \Hubzero\Bank\Account::blank()->set($account);
     $row->set('uid', intval($row->get('uid')));
     $row->set('balance', intval($row->get('balance')));
     $row->set('earnings', intval($row->get('earnings')));
     $data = Request::getVar('transaction', array(), 'post');
     if (isset($data['amount']) && intval($data['amount']) > 0) {
         $data['uid'] = $row->get('uid');
         $data['created'] = Date::toSql();
         $data['amount'] = intval($data['amount']);
         if (!isset($data['category']) || !$data['category']) {
             $data['category'] = 'general';
         }
         if (!isset($data['description']) || !$data['description']) {
             $data['description'] = 'Reason unspecified';
         }
         if (!isset($data['type']) || !$data['type']) {
             $data['type'] = '';
         }
         switch ($data['type']) {
             case 'withdraw':
                 $row->balance -= $data['amount'];
                 break;
             case 'deposit':
                 $row->balance += $data['amount'];
                 $row->earnings += $data['amount'];
                 break;
             case 'creation':
                 $row->balance = $data['amount'];
                 $row->earnings = $data['amount'];
                 break;
         }
         $data['balance'] = $row->balance;
         $BT = Transaction::blank()->set($data);
         if (!$BT->save()) {
             App::abort(500, $row->getError());
             return;
         }
     }
     if (!$row->save()) {
         App::abort(500, $row->getError());
         return;
     }
     App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&task=edit&uid=' . $row->uid, false), Lang::txt('User info saved'));
 }