1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-24 23:59:40 +02:00

Isolate infinite loop bug, add timeout to actions (#583)

* Isolate infinite loop bug, add timeout to actions

* Increase timeout to allow for temporary failure

* Set correct timeout, implement temporary fix

* Trigger syncs at controller layer
This commit is contained in:
Zach Gollwitzer 2024-03-29 12:53:08 -04:00 committed by GitHub
parent 2d406274ac
commit b1bfdef8ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 36 additions and 20 deletions

View file

@ -63,6 +63,7 @@ class TransactionsController < ApplicationController
respond_to do |format|
if @transaction.save
@transaction.account.sync_later
format.html { redirect_to transactions_url, notice: t(".success") }
else
format.html { render :new, status: :unprocessable_entity }
@ -73,6 +74,8 @@ class TransactionsController < ApplicationController
def update
respond_to do |format|
if @transaction.update(transaction_params)
@transaction.account.sync_later
format.html { redirect_to transaction_url(@transaction), notice: t(".success") }
format.turbo_stream do
render turbo_stream: [
@ -88,6 +91,7 @@ class TransactionsController < ApplicationController
def destroy
@transaction.destroy!
@transaction.account.sync_later
respond_to do |format|
format.html { redirect_to transactions_url, notice: t(".success") }

View file

@ -7,6 +7,8 @@ class ValuationsController < ApplicationController
# TODO: placeholder logic until we have a better abstraction for trends
@valuation = @account.valuations.new(valuation_params.merge(currency: Current.family.currency))
if @valuation.save
@valuation.account.sync_later
respond_to do |format|
format.html { redirect_to account_path(@account), notice: "Valuation created" }
format.turbo_stream
@ -30,6 +32,8 @@ class ValuationsController < ApplicationController
def update
@valuation = Valuation.find(params[:id])
if @valuation.update(valuation_params)
@valuation.account.sync_later
redirect_to account_path(@valuation.account), notice: "Valuation updated"
else
render :edit, status: :unprocessable_entity
@ -42,7 +46,8 @@ class ValuationsController < ApplicationController
def destroy
@valuation = Valuation.find(params[:id])
@account = @valuation.account
@valuation.destroy
@valuation.destroy!
@account.sync_later
respond_to do |format|
format.html { redirect_to account_path(@account), notice: "Valuation deleted" }