Handle amount in import and display

This commit is contained in:
Jan Bader 2021-12-02 20:49:07 +00:00
parent db7f0bfb7b
commit 696469f6c2
3 changed files with 21 additions and 2 deletions

View File

@ -123,7 +123,16 @@ func GetAmount(inflow string, outflow string) (pgtype.Numeric, error) {
num := pgtype.Numeric{}
err := num.Set(inflow)
if err != nil {
return num, fmt.Errorf("Could not inflow %s: %w", inflow, err)
return num, fmt.Errorf("Could not parse inflow %s: %w", inflow, err)
}
if num.Int.Int64() != 0 {
return num, nil
}
err = num.Set("-" + outflow)
if err != nil {
return num, fmt.Errorf("Could not parse outflow %s: %w", inflow, err)
}
return num, nil
}

View File

@ -43,3 +43,13 @@ func (tx Transaction) GetAmount() float64 {
}
return amount
}
func (tx Transaction) GetAmountString() string {
amount := tx.GetAmount()
return fmt.Sprintf("%.2f", amount)
}
func (tx Transaction) GetPositive() bool {
amount := tx.GetAmount()
return amount >= 0
}

View File

@ -19,7 +19,7 @@
<td>
<a href="transaction/{{.ID}}">{{.Memo}}</a>
</td>
<td>{{.GetAmount}}</td>
<td style="text-align: right;{{if .GetPositive()}}{{else}}color: red;{{end}}">{{.GetAmount}}</td>
</tr>
{{end}}
</table>