support changing tags order when editing transaction

This commit is contained in:
MaysWind
2021-02-06 23:13:12 +08:00
parent aa92180dfb
commit d65ce058bf
2 changed files with 28 additions and 4 deletions
+9 -4
View File
@@ -320,8 +320,6 @@ func (a *TransactionsApi) TransactionModifyHandler(c *core.Context) (interface{}
}
transactionTagIds := allTransactionTagIds[transaction.TransactionId]
addTransactionTagIds := utils.Int64SliceMinus(tagIds, transactionTagIds)
removeTransactionTagIds := utils.Int64SliceMinus(transactionTagIds, tagIds)
newTransaction := &models.Transaction{
TransactionId: transaction.TransactionId,
@@ -345,11 +343,18 @@ func (a *TransactionsApi) TransactionModifyHandler(c *core.Context) (interface{}
(transaction.Type != models.TRANSACTION_DB_TYPE_TRANSFER_OUT || newTransaction.RelatedAccountId == transaction.RelatedAccountId) &&
(transaction.Type != models.TRANSACTION_DB_TYPE_TRANSFER_OUT || newTransaction.RelatedAccountAmount == transaction.RelatedAccountAmount) &&
newTransaction.Comment == transaction.Comment &&
len(addTransactionTagIds) < 1 &&
len(removeTransactionTagIds) < 1 {
utils.Int64SliceEquals(tagIds, transactionTagIds) {
return nil, errs.ErrNothingWillBeUpdated
}
var addTransactionTagIds []int64
var removeTransactionTagIds []int64
if !utils.Int64SliceEquals(tagIds, transactionTagIds) {
removeTransactionTagIds = transactionTagIds
addTransactionTagIds = tagIds
}
err = a.transactions.ModifyTransaction(newTransaction, addTransactionTagIds, removeTransactionTagIds)
if err != nil {