mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 23:07:32 -05:00 
			
		
		
		
	Attempt to refresh account list from auth page
This commit is contained in:
		
							parent
							
								
									3542e35da0
								
							
						
					
					
						commit
						d6039cec3a
					
				@ -31,6 +31,7 @@ class YodleeController extends BaseController
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        $company = $request->getCompany();
 | 
					        $company = $request->getCompany();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if($company->account->bank_integration_account_id){
 | 
					        if($company->account->bank_integration_account_id){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $flow = 'edit';
 | 
					            $flow = 'edit';
 | 
				
			||||||
@ -54,6 +55,9 @@ class YodleeController extends BaseController
 | 
				
			|||||||
        
 | 
					        
 | 
				
			||||||
        $yodlee = new Yodlee($token);
 | 
					        $yodlee = new Yodlee($token);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if($request->has('window_closed') && $request->input("window_closed") == "true")
 | 
				
			||||||
 | 
					            $this->getAccounts($company, $token);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $data = [
 | 
					        $data = [
 | 
				
			||||||
            'access_token' => $yodlee->getAccessToken(),
 | 
					            'access_token' => $yodlee->getAccessToken(),
 | 
				
			||||||
            'fasttrack_url' => $yodlee->getFastTrackUrl(),
 | 
					            'fasttrack_url' => $yodlee->getFastTrackUrl(),
 | 
				
			||||||
@ -61,10 +65,43 @@ class YodleeController extends BaseController
 | 
				
			|||||||
            'flow' => $flow,
 | 
					            'flow' => $flow,
 | 
				
			||||||
            'company' => $company,
 | 
					            'company' => $company,
 | 
				
			||||||
            'account' => $company->account,
 | 
					            'account' => $company->account,
 | 
				
			||||||
 | 
					            'completed' => $request->has('window_closed') ? true : false,
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return view('bank.yodlee.auth', $data);
 | 
					        return view('bank.yodlee.auth', $data);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private function getAccounts($company, $token)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $yodlee = new Yodlee($token);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $accounts = $yodlee->getAccounts(); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        foreach($accounts as $account)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(!BankIntegration::where('bank_account_id', $account['id'])->where('company_id', $company->id)->exists())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                $bank_integration = new BankIntegration();
 | 
				
			||||||
 | 
					                $bank_integration->company_id = $company->id;
 | 
				
			||||||
 | 
					                $bank_integration->account_id = $company->account_id;
 | 
				
			||||||
 | 
					                $bank_integration->user_id = $company->owner()->id;
 | 
				
			||||||
 | 
					                $bank_integration->bank_account_id = $account['id'];
 | 
				
			||||||
 | 
					                $bank_integration->bank_account_type = $account['account_type'];
 | 
				
			||||||
 | 
					                $bank_integration->bank_account_name = $account['account_name'];
 | 
				
			||||||
 | 
					                $bank_integration->bank_account_status = $account['account_status'];
 | 
				
			||||||
 | 
					                $bank_integration->bank_account_number = $account['account_number'];
 | 
				
			||||||
 | 
					                $bank_integration->provider_id = $account['provider_id'];
 | 
				
			||||||
 | 
					                $bank_integration->provider_name = $account['provider_name'];
 | 
				
			||||||
 | 
					                $bank_integration->nickname = $account['nickname'];
 | 
				
			||||||
 | 
					                $bank_integration->balance = $account['current_balance'];
 | 
				
			||||||
 | 
					                $bank_integration->currency = $account['account_currency'];
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                $bank_integration->save();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -55,14 +55,9 @@
 | 
				
			|||||||
        @endif
 | 
					        @endif
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div id="cta" class="mb-4" x-data="{ open: false }">
 | 
					    <div id="cta" class="mb-4" x-data="{ open: false }">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <button @click="open = !open" x-show="!open" type="submit" class="button button-primary bg-blue-600 my-4" id="btn-fastlink">{{ ctrans('texts.add_bank_account') }}
 | 
					      <button @click="open = !open" x-show="!open" type="submit" class="button button-primary bg-blue-600 my-4" id="btn-fastlink">{{ ctrans('texts.add_bank_account') }}</button>
 | 
				
			||||||
      </button>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <div x-show="open" class="fixed top-0 left-0 right-0 bottom-0 w-full h-screen z-50 overflow-hidden bg-gray-700 opacity-75 flex flex-col items-center justify-center">
 | 
					      <div x-show="open" class="fixed top-0 left-0 right-0 bottom-0 w-full h-screen z-50 overflow-hidden bg-gray-700 opacity-75 flex flex-col items-center justify-center">
 | 
				
			||||||
        <div class="loader ease-linear rounded-full border-4 border-t-4 border-gray-200 h-12 w-12 mb-4"></div>
 | 
					        <div class="loader ease-linear rounded-full border-4 border-t-4 border-gray-200 h-12 w-12 mb-4"></div>
 | 
				
			||||||
@ -73,7 +68,7 @@
 | 
				
			|||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div id="completed" class="mb-4">
 | 
					    <div id="completed" class="mb-4">
 | 
				
			||||||
      <a class="button button-primary bg-blue-600 my-4" href="https://invoicing.co">Return to admin portal.</a>
 | 
					      <a class="button button-primary bg-blue-600 my-4" href="{{ config('ninja.app_url') }}">Return to admin portal.</a>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
@ -89,6 +84,16 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  (function (window) {
 | 
					  (function (window) {
 | 
				
			||||||
    //Open FastLink
 | 
					    //Open FastLink
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @if($completed)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      var completed = document.getElementById('completed');
 | 
				
			||||||
 | 
					      completed.style.display = "block"; //block
 | 
				
			||||||
 | 
					      var hideme = document.getElementById('cta');
 | 
				
			||||||
 | 
					      hideme.style.display = "none";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    var fastlinkBtn = document.getElementById('btn-fastlink');
 | 
					    var fastlinkBtn = document.getElementById('btn-fastlink');
 | 
				
			||||||
    fastlinkBtn.addEventListener(
 | 
					    fastlinkBtn.addEventListener(
 | 
				
			||||||
      'click', 
 | 
					      'click', 
 | 
				
			||||||
@ -118,6 +123,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                  var completed = document.getElementById('completed');
 | 
					                  var completed = document.getElementById('completed');
 | 
				
			||||||
                  completed.style.display = "block"; //block
 | 
					                  completed.style.display = "block"; //block
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  window.location.href = window.location.pathname+"?"+$.param({'window_closed':'true'})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            onEvent: function (data) {
 | 
					            onEvent: function (data) {
 | 
				
			||||||
              // will be called on intermittent status update.
 | 
					              // will be called on intermittent status update.
 | 
				
			||||||
@ -131,6 +139,7 @@
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
    false);
 | 
					    false);
 | 
				
			||||||
  }(window));
 | 
					  }(window));
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@endpush
 | 
					@endpush
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user