not allow to add transaction with hidden transaction category

This commit is contained in:
MaysWind
2024-07-23 00:47:19 +08:00
parent 085f9817fc
commit a7280bf7ed
4 changed files with 20 additions and 0 deletions
+17
View File
@@ -1635,6 +1635,10 @@ func (s *TransactionService) isCategoryValid(sess *xorm.Session, transaction *mo
return errs.ErrTransactionCategoryNotFound
}
if category.Hidden {
return errs.ErrCannotUseHiddenTransactionCategory
}
if category.ParentCategoryId < 1 {
return errs.ErrCannotUsePrimaryCategoryForTransaction
}
@@ -1644,6 +1648,19 @@ func (s *TransactionService) isCategoryValid(sess *xorm.Session, transaction *mo
((transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_OUT || transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_IN) && category.Type != models.CATEGORY_TYPE_TRANSFER) {
return errs.ErrTransactionCategoryTypeInvalid
}
parentCategory := &models.TransactionCategory{}
has, err = sess.ID(category.ParentCategoryId).Where("uid=? AND deleted=?", transaction.Uid, false).Get(parentCategory)
if err != nil {
return err
} else if !has {
return errs.ErrTransactionCategoryNotFound
}
if parentCategory.Hidden {
return errs.ErrCannotUseHiddenTransactionCategory
}
}
return nil