not allow to add / modify / delete transaction with parent account
This commit is contained in:
@@ -18,9 +18,12 @@ var (
|
|||||||
ErrCannotAddTransactionToHiddenAccount = NewNormalError(NormalSubcategoryTransaction, 11, http.StatusBadRequest, "cannot add transaction to hidden account")
|
ErrCannotAddTransactionToHiddenAccount = NewNormalError(NormalSubcategoryTransaction, 11, http.StatusBadRequest, "cannot add transaction to hidden account")
|
||||||
ErrCannotModifyTransactionInHiddenAccount = NewNormalError(NormalSubcategoryTransaction, 12, http.StatusBadRequest, "cannot modify transaction of 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")
|
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")
|
ErrCannotAddTransactionToParentAccount = NewNormalError(NormalSubcategoryTransaction, 14, http.StatusBadRequest, "cannot add transaction to parent account")
|
||||||
ErrCannotModifyTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 15, http.StatusBadRequest, "cannot modify transaction with this transaction time")
|
ErrCannotModifyTransactionInParentAccount = NewNormalError(NormalSubcategoryTransaction, 15, http.StatusBadRequest, "cannot modify transaction of parent account")
|
||||||
ErrCannotDeleteTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 16, http.StatusBadRequest, "cannot delete transaction with this transaction time")
|
ErrCannotDeleteTransactionInParentAccount = NewNormalError(NormalSubcategoryTransaction, 16, http.StatusBadRequest, "cannot delete transaction in parent account")
|
||||||
ErrCannotUseHiddenTransactionCategory = NewNormalError(NormalSubcategoryTransaction, 17, http.StatusBadRequest, "cannot use hidden transaction category")
|
ErrCannotCreateTransactionWithThisTransactionTime = NewNormalError(NormalSubcategoryTransaction, 17, http.StatusBadRequest, "cannot add transaction with this transaction time")
|
||||||
ErrCannotUseHiddenTransactionTag = NewNormalError(NormalSubcategoryTransaction, 18, http.StatusBadRequest, "cannot use hidden transaction tag")
|
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")
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -267,6 +267,10 @@ func (s *TransactionService) CreateTransaction(c *core.Context, transaction *mod
|
|||||||
return errs.ErrCannotAddTransactionToHiddenAccount
|
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) &&
|
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 {
|
sourceAccount.Currency == destinationAccount.Currency && transaction.Amount != transaction.RelatedAccountAmount {
|
||||||
return errs.ErrTransactionSourceAndDestinationAmountNotEqual
|
return errs.ErrTransactionSourceAndDestinationAmountNotEqual
|
||||||
@@ -492,6 +496,10 @@ func (s *TransactionService) ModifyTransaction(c *core.Context, transaction *mod
|
|||||||
return errs.ErrCannotModifyTransactionInHiddenAccount
|
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) &&
|
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 {
|
sourceAccount.Currency == destinationAccount.Currency && transaction.Amount != transaction.RelatedAccountAmount {
|
||||||
return errs.ErrTransactionSourceAndDestinationAmountNotEqual
|
return errs.ErrTransactionSourceAndDestinationAmountNotEqual
|
||||||
@@ -852,6 +860,10 @@ func (s *TransactionService) DeleteTransaction(c *core.Context, uid int64, trans
|
|||||||
return errs.ErrCannotDeleteTransactionInHiddenAccount
|
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
|
// Update transaction row to deleted
|
||||||
deletedRows, err := sess.ID(oldTransaction.TransactionId).Cols("deleted", "deleted_unix_time").Where("uid=? AND deleted=?", uid, false).Update(updateModel)
|
deletedRows, err := sess.ID(oldTransaction.TransactionId).Cols("deleted", "deleted_unix_time").Where("uid=? AND deleted=?", uid, false).Update(updateModel)
|
||||||
|
|
||||||
|
|||||||
@@ -671,6 +671,9 @@ export default {
|
|||||||
'cannot add transaction to hidden account': 'You cannot add transaction to an hidden account',
|
'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 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 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 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 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',
|
'cannot delete transaction with this transaction time': 'You cannot delete this transaction with this transaction time',
|
||||||
|
|||||||
@@ -671,6 +671,9 @@ export default {
|
|||||||
'cannot add transaction to hidden account': '您不能在隐藏账户中添加交易',
|
'cannot add transaction to hidden account': '您不能在隐藏账户中添加交易',
|
||||||
'cannot modify transaction of hidden account': '您不能修改隐藏账户中的交易',
|
'cannot modify transaction of hidden account': '您不能修改隐藏账户中的交易',
|
||||||
'cannot delete transaction in 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 add transaction with this transaction time': '您不能添加该交易时间的交易',
|
||||||
'cannot modify transaction with this transaction time': '您不能修改该交易时间的交易',
|
'cannot modify transaction with this transaction time': '您不能修改该交易时间的交易',
|
||||||
'cannot delete transaction with this transaction time': '您不能删除该交易时间的交易',
|
'cannot delete transaction with this transaction time': '您不能删除该交易时间的交易',
|
||||||
|
|||||||
Reference in New Issue
Block a user