not allow to add / modify / delete transaction with parent account

This commit is contained in:
MaysWind
2024-07-23 23:18:34 +08:00
parent 8085f7cf11
commit 5d2e880bc5
4 changed files with 26 additions and 5 deletions
+8 -5
View File
@@ -18,9 +18,12 @@ var (
ErrCannotAddTransactionToHiddenAccount = NewNormalError(NormalSubcategoryTransaction, 11, http.StatusBadRequest, "cannot add transaction to hidden account")
ErrCannotModifyTransactionInHiddenAccount = NewNormalError(NormalSubcategoryTransaction, 12, http.StatusBadRequest, "cannot modify transaction of hidden account")
ErrCannotDeleteTransactionInHiddenAccount = NewNormalError(NormalSubcategoryTransaction, 13, http.StatusBadRequest, "cannot delete transaction in hidden account")
ErrCannotCreateTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 14, http.StatusBadRequest, "cannot add transaction with this transaction time")
ErrCannotModifyTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 15, http.StatusBadRequest, "cannot modify transaction with this transaction time")
ErrCannotDeleteTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 16, http.StatusBadRequest, "cannot delete transaction with this transaction time")
ErrCannotUseHiddenTransactionCategory = NewNormalError(NormalSubcategoryTransaction, 17, http.StatusBadRequest, "cannot use hidden transaction category")
ErrCannotUseHiddenTransactionTag = NewNormalError(NormalSubcategoryTransaction, 18, http.StatusBadRequest, "cannot use hidden transaction tag")
ErrCannotAddTransactionToParentAccount = NewNormalError(NormalSubcategoryTransaction, 14, http.StatusBadRequest, "cannot add transaction to parent account")
ErrCannotModifyTransactionInParentAccount = NewNormalError(NormalSubcategoryTransaction, 15, http.StatusBadRequest, "cannot modify transaction of parent account")
ErrCannotDeleteTransactionInParentAccount = NewNormalError(NormalSubcategoryTransaction, 16, http.StatusBadRequest, "cannot delete transaction in parent account")
ErrCannotCreateTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 17, http.StatusBadRequest, "cannot add transaction with this transaction time")
ErrCannotModifyTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 18, http.StatusBadRequest, "cannot modify transaction with this transaction time")
ErrCannotDeleteTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 19, http.StatusBadRequest, "cannot delete transaction with this transaction time")
ErrCannotUseHiddenTransactionCategory = NewNormalError(NormalSubcategoryTransaction, 20, http.StatusBadRequest, "cannot use hidden transaction category")
ErrCannotUseHiddenTransactionTag = NewNormalError(NormalSubcategoryTransaction, 21, http.StatusBadRequest, "cannot use hidden transaction tag")
)
+12
View File
@@ -267,6 +267,10 @@ func (s *TransactionService) CreateTransaction(c *core.Context, transaction *mod
return errs.ErrCannotAddTransactionToHiddenAccount
}
if sourceAccount.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS || (destinationAccount != nil && destinationAccount.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS) {
return errs.ErrCannotAddTransactionToParentAccount
}
if (transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_OUT || transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_IN) &&
sourceAccount.Currency == destinationAccount.Currency && transaction.Amount != transaction.RelatedAccountAmount {
return errs.ErrTransactionSourceAndDestinationAmountNotEqual
@@ -492,6 +496,10 @@ func (s *TransactionService) ModifyTransaction(c *core.Context, transaction *mod
return errs.ErrCannotModifyTransactionInHiddenAccount
}
if sourceAccount.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS || (destinationAccount != nil && destinationAccount.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS) {
return errs.ErrCannotModifyTransactionInParentAccount
}
if (transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_OUT || transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_IN) &&
sourceAccount.Currency == destinationAccount.Currency && transaction.Amount != transaction.RelatedAccountAmount {
return errs.ErrTransactionSourceAndDestinationAmountNotEqual
@@ -852,6 +860,10 @@ func (s *TransactionService) DeleteTransaction(c *core.Context, uid int64, trans
return errs.ErrCannotDeleteTransactionInHiddenAccount
}
if sourceAccount.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS || (destinationAccount != nil && destinationAccount.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS) {
return errs.ErrCannotDeleteTransactionInParentAccount
}
// Update transaction row to deleted
deletedRows, err := sess.ID(oldTransaction.TransactionId).Cols("deleted", "deleted_unix_time").Where("uid=? AND deleted=?", uid, false).Update(updateModel)
+3
View File
@@ -671,6 +671,9 @@ export default {
'cannot add transaction to hidden account': 'You cannot add transaction to an hidden account',
'cannot modify transaction of hidden account': 'You cannot modify transaction of an hidden account',
'cannot delete transaction in hidden account': 'You cannot delete transaction in an hidden account',
'cannot add transaction to parent account': 'You cannot add transaction to a parent account',
'cannot modify transaction of parent account': 'You cannot modify transaction of a parent account',
'cannot delete transaction in parent account': 'You cannot delete transaction in a parent account',
'cannot add transaction with this transaction time': 'You cannot add transaction with this transaction time',
'cannot modify transaction with this transaction time': 'You cannot modify this transaction with this transaction time',
'cannot delete transaction with this transaction time': 'You cannot delete this transaction with this transaction time',
+3
View File
@@ -671,6 +671,9 @@ export default {
'cannot add transaction to hidden account': '您不能在隐藏账户中添加交易',
'cannot modify transaction of hidden account': '您不能修改隐藏账户中的交易',
'cannot delete transaction in hidden account': '您不能删除隐藏账户中的交易',
'cannot add transaction to parent account': '您不能在父账户中添加交易',
'cannot modify transaction of parent account': '您不能修改父账户中的交易',
'cannot delete transaction in parent account': '您不能删除父账户中的交易',
'cannot add transaction with this transaction time': '您不能添加该交易时间的交易',
'cannot modify transaction with this transaction time': '您不能修改该交易时间的交易',
'cannot delete transaction with this transaction time': '您不能删除该交易时间的交易',