Users should be able to track financial bits associated with different things.
An Account is a scaffold-ish structure with a name, optionally belongs to a Team, and can polymorphically has-many-through to... a whole lot of stuff, probably, but just start with People and Events for now. Only admins & team managers should be able to create new accounts.
A Transaction can just be a model with a comment, a polymorphic belongs_to relationship to what created it (Person, Hook, ...???) & a monetary value that belongs to an Account. Only team managers & admins should be able to create Transactions. Transactions should also not be able to be edited or destroyed, except in the case of their parent Account being destroyed.
Users should be able to track financial bits associated with different things.
An
Account
is a scaffold-ish structure with a name, optionally belongs to aTeam
, and can polymorphically has-many-through to... a whole lot of stuff, probably, but just start withPeople
andEvents
for now. Only admins & team managers should be able to create new accounts.A
Transaction
can just be a model with a comment, a polymorphic belongs_to relationship to what created it (Person
,Hook
, ...???) & a monetary value that belongs to anAccount
. Only team managers & admins should be able to createTransactions
.Transactions
should also not be able to be edited or destroyed, except in the case of their parentAccount
being destroyed.