node.fixed_budget_including_subtasks))
def set_excluding_from_including_and_error():
- node.fixed_budget_excluding_subtasks = \
- node.budget_including_subtasks - subtasks_total
+ v = node.budget_including_subtasks - subtasks_total
+ if v < 0:
+ return set_including_from_excluding_and_error()
+ node.fixed_budget_excluding_subtasks = v
errors.append(
BudgetGraphMoneyMismatchForBudgetExcludingSubtasks(
node.bug.id, root.bug.id,