diff --git a/app/controllers/simple_fin_controller.rb b/app/controllers/simple_fin_controller.rb index 5df9de41..b09ea810 100644 --- a/app/controllers/simple_fin_controller.rb +++ b/app/controllers/simple_fin_controller.rb @@ -26,7 +26,7 @@ class SimpleFinController < ApplicationController def sync @simple_fin_item = Current.family.simple_fin_items.find(params[:id]) unless @simple_fin_item.syncing? - @simple_fin_item.sync_later + @simple_fin_item.sync end respond_to do |format| diff --git a/app/models/simple_fin_account.rb b/app/models/simple_fin_account.rb index 4c53b3fd..43f59fc9 100644 --- a/app/models/simple_fin_account.rb +++ b/app/models/simple_fin_account.rb @@ -69,9 +69,6 @@ class SimpleFinAccount < ApplicationRecord # Ensure accountable_attributes has the ID for updates # 'account' here refers to self.account (the associated Account instance) accountable_attributes = { id: self.account.accountable_id } - - puts "SFA #{sf_account_data}" - self.update!( current_balance: sf_account_data["balance"].to_d, available_balance: sf_account_data["available-balance"]&.to_d, @@ -85,10 +82,11 @@ class SimpleFinAccount < ApplicationRecord } ) - self.simple_fin_item.update!( - institution_errors: sf_account_data["org"]["institution_errors"], - status: sf_account_data["org"]["institution_errors"].empty? ? :good : :requires_update + institution_errors = sf_account_data["org"]["institution_errors"] + self.simple_fin_item.update!( + institution_errors: institution_errors.empty? ? []: institution_errors, + status: institution_errors.empty? ? :good : :requires_update ) # Sync transactions if present in the data diff --git a/app/models/simple_fin_item.rb b/app/models/simple_fin_item.rb index 2b85ade6..a351fa52 100644 --- a/app/models/simple_fin_item.rb +++ b/app/models/simple_fin_item.rb @@ -115,7 +115,7 @@ class SimpleFinItem < ApplicationRecord # These could be marked as closed, archived, etc. For example: # simple_fin_accounts.where.not(external_id: current_provider_external_ids).find_each(&:archive!) - update!(status: :good) # Mark connection as successfully synced. + # update!(status: :good) # Mark connection as successfully synced. Rails.logger.info("SimpleFinConnection: Sync completed for connection ID #{id}") # rescue Provider::SimpleFin::AuthenticationError => e # Catch specific auth errors if your provider defines them. diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 53e7f666..b7df7020 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -80,7 +80,7 @@ <%= yield :sidebar %> <% else %>
-
+
<%= render "accounts/account_sidebar_tabs", family: Current.family, active_account_group_tab: params[:account_group_tab] || "assets" %>