Наследование: extends Illuminate\Database\Eloquent\Model
Пример #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = BankAccount::find();
     // add conditions that should always apply here
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     // grid filtering conditions
     $query->andFilterWhere(['ID' => $this->ID, 'ID_Bank' => $this->ID_Bank]);
     $query->andFilterWhere(['like', 'Account', $this->Account]);
     return $dataProvider;
 }
 public function validateAccount()
 {
     $publicId = Input::get('public_id');
     $username = trim(Input::get('bank_username'));
     $password = trim(Input::get('bank_password'));
     if ($publicId) {
         $bankAccount = BankAccount::scope($publicId)->firstOrFail();
         if ($username != $bankAccount->username) {
             // TODO update username
         }
         $username = Crypt::decrypt($username);
         $bankId = $bankAccount->bank_id;
     } else {
         $bankId = Input::get('bank_id');
     }
     return json_encode($this->bankAccountService->loadBankAccounts($bankId, $username, $password, $publicId));
 }
 public function save($input)
 {
     $bankAccount = BankAccount::createNew();
     $bankAccount->bank_id = $input['bank_id'];
     $bankAccount->username = Crypt::encrypt(trim($input['bank_username']));
     $account = \Auth::user()->account;
     $account->bank_accounts()->save($bankAccount);
     foreach ($input['bank_accounts'] as $data) {
         if (!isset($data['include']) || !filter_var($data['include'], FILTER_VALIDATE_BOOLEAN)) {
             continue;
         }
         $subaccount = BankSubaccount::createNew();
         $subaccount->account_name = trim($data['account_name']);
         $subaccount->account_number = trim($data['hashed_account_number']);
         $bankAccount->bank_subaccounts()->save($subaccount);
     }
     return $bankAccount;
 }
Пример #4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getBankAccounts()
 {
     return $this->hasMany(BankAccount::className(), ['ID_Bank' => 'ID']);
 }
 /**
  * Stores new account
  *
  */
 public function save($bankAccountPublicId = false)
 {
     $account = Auth::user()->account;
     $bankId = Input::get('bank_id');
     $username = Input::get('bank_username');
     $rules = ['bank_id' => $bankAccountPublicId ? '' : 'required', 'bank_username' => 'required'];
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return Redirect::to('bank_accounts/create')->withErrors($validator)->withInput();
     } else {
         if ($bankAccountPublicId) {
             $bankAccount = BankAccount::scope($bankAccountPublicId)->firstOrFail();
         } else {
             $bankAccount = BankAccount::createNew();
             $bankAccount->bank_id = $bankId;
         }
         if ($username != str_repeat('*', strlen($username))) {
             $bankAccount->username = Crypt::encrypt(trim($username));
         }
         if ($bankAccountPublicId) {
             $bankAccount->save();
             $message = trans('texts.updated_bank_account');
         } else {
             $account->bank_accounts()->save($bankAccount);
             $message = trans('texts.created_bank_account');
         }
         Session::flash('message', $message);
         return Redirect::to("bank_accounts/{$bankAccount->public_id}/edit");
     }
 }