Skip to content
Snippets Groups Projects
Unverified Commit c1b99958 authored by youngcw's avatar youngcw Committed by GitHub
Browse files

Goals: Add option to percent goal to use available funds (#1254)

parent 050f48ac
No related branches found
No related tags found
No related merge requests found
...@@ -90,13 +90,14 @@ async function processTemplate(month, force) { ...@@ -90,13 +90,14 @@ async function processTemplate(month, force) {
// so the remainders don't get skiped // so the remainders don't get skiped
if (remainder_found) lowestPriority = remainder_priority; if (remainder_found) lowestPriority = remainder_priority;
let sheetName = monthUtils.sheetForMonth(month);
let available_start = await getSheetValue(sheetName, `to-budget`);
for (let priority = 0; priority <= lowestPriority; priority++) { for (let priority = 0; priority <= lowestPriority; priority++) {
// setup scaling for remainder // setup scaling for remainder
let remainder_scale = 1; let remainder_scale = 1;
if (priority === lowestPriority) { if (priority === lowestPriority) {
let sheetName = monthUtils.sheetForMonth(month); let available_now = await getSheetValue(sheetName, `to-budget`);
let budgetAvailable = await getSheetValue(sheetName, `to-budget`); remainder_scale = Math.round(available_now / remainder_weight_total);
remainder_scale = Math.round(budgetAvailable / remainder_weight_total);
} }
for (let c = 0; c < categories.length; c++) { for (let c = 0; c < categories.length; c++) {
...@@ -150,6 +151,7 @@ async function processTemplate(month, force) { ...@@ -150,6 +151,7 @@ async function processTemplate(month, force) {
month, month,
priority, priority,
remainder_scale, remainder_scale,
available_start,
force, force,
); );
if (to_budget != null) { if (to_budget != null) {
...@@ -252,6 +254,7 @@ async function applyCategoryTemplate( ...@@ -252,6 +254,7 @@ async function applyCategoryTemplate(
month, month,
priority, priority,
remainder_scale, remainder_scale,
available_start,
force, force,
) { ) {
let current_month = `${month}-01`; let current_month = `${month}-01`;
...@@ -493,6 +496,8 @@ async function applyCategoryTemplate( ...@@ -493,6 +496,8 @@ async function applyCategoryTemplate(
let monthlyIncome = 0; let monthlyIncome = 0;
if (template.category.toLowerCase() === 'all income') { if (template.category.toLowerCase() === 'all income') {
monthlyIncome = await getSheetValue(sheetName, `total-income`); monthlyIncome = await getSheetValue(sheetName, `total-income`);
} else if (template.category.toLowerCase() === 'available funds') {
monthlyIncome = available_start;
} else { } else {
let income_category = (await db.getCategories()).find( let income_category = (await db.getCategories()).find(
c => c =>
......
---
category: Enhancements
authors: [youngcw]
---
Goals: Add 'available funds' option to the percentage goal
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment