Handle nil name for entries

This commit is contained in:
Zach Gollwitzer
2024-12-16 12:11:51 -05:00
parent 9130089950
commit ca14d96e33
6 changed files with 14 additions and 8 deletions

View File

@@ -23,6 +23,8 @@ class Account::DataEnricher
candidates.each do |entry|
if entry.enriched_at.nil? || entry.entryable.merchant_id.nil? || entry.entryable.category_id.nil?
begin
next unless entry.name.present?
info = self.class.synth_provider.enrich_transaction(entry.name).info
next unless info.present?
@@ -48,7 +50,7 @@ class Account::DataEnricher
category.save! if category.present?
entry.update!(
enriched_at: Time.current,
name: entry.enriched_at.nil? ? info.name : entry.name,
name: entry.enriched_at.nil? && info.name ? info.name : entry.name,
entryable_attributes: entryable_attributes
)
end

View File

@@ -49,7 +49,7 @@ class Account::Transaction < ApplicationRecord
end
def name
entry.name || "(no description)"
entry.name || (entry.amount.positive? ? "Expense" : "Income")
end
def eod_balance

View File

@@ -10,4 +10,8 @@ class Account::Valuation < ApplicationRecord
false
end
end
def name
"Balance update"
end
end

View File

@@ -14,14 +14,14 @@
<% if entry.account_transaction.merchant&.icon_url %>
<%= image_tag entry.account_transaction.merchant.icon_url, class: "w-6 h-6 rounded-full" %>
<% else %>
<%= render "shared/circle_logo", name: entry.name, size: "sm" %>
<%= render "shared/circle_logo", name: transaction.name, size: "sm" %>
<% end %>
<div class="truncate">
<% if entry.new_record? %>
<%= content_tag :p, entry.name %>
<%= content_tag :p, transaction.name %>
<% else %>
<%= link_to entry.name,
<%= link_to transaction.name,
entry.transfer.present? ? account_transfer_path(entry.transfer) : account_entry_path(entry),
data: { turbo_frame: "drawer", turbo_prefetch: false },
class: "hover:underline hover:text-gray-800" %>

View File

@@ -18,9 +18,9 @@
<div class="truncate text-gray-900">
<% if entry.new_record? %>
<%= content_tag :p, entry.name %>
<%= content_tag :p, entry.entryable.name %>
<% else %>
<%= link_to entry.name || t(".balance_update"),
<%= link_to entry.entryable.name,
account_entry_path(entry),
data: { turbo_frame: "drawer", turbo_prefetch: false },
class: "hover:underline hover:text-gray-800" %>

View File

@@ -9,5 +9,5 @@
<%= tag.div style: mixed_hex_styles(hex),
class: [size_classes[size], "flex shrink-0 items-center justify-center rounded-full"] do %>
<%= tag.span name[0].upcase, class: ["font-medium", size == "sm" ? "text-xs" : "text-sm"] %>
<%= tag.span (name.presence&.first || "T").upcase, class: ["font-medium", size == "sm" ? "text-xs" : "text-sm"] %>
<% end %>