22 lines
968 B
Markdown
22 lines
968 B
Markdown
<%*
|
|
// billable: marks a note as relevant for billing, invoicing or non-billable review.
|
|
const componentName = "billable";
|
|
const file = tp.file.find_tfile(tp.file.path(true));
|
|
|
|
setTimeout(async () => {
|
|
await tp.app.fileManager.processFrontMatter(file, (frontmatter) => {
|
|
const components = Array.isArray(frontmatter["components"]) ? frontmatter["components"] : [];
|
|
if (!components.includes(componentName)) components.push(componentName);
|
|
|
|
frontmatter["components"] = components;
|
|
frontmatter["bill_status"] = frontmatter["bill_status"] ?? "unreviewed";
|
|
frontmatter["bill_minutes"] = frontmatter["bill_minutes"] ?? 0;
|
|
frontmatter["bill_rate"] = frontmatter["bill_rate"] ?? 0;
|
|
frontmatter["bill_amount"] = frontmatter["bill_amount"] ?? 0;
|
|
frontmatter["bill_currency"] = frontmatter["bill_currency"] ?? "EUR";
|
|
frontmatter["bill_invoice"] = frontmatter["bill_invoice"] ?? "";
|
|
frontmatter["bill_note"] = frontmatter["bill_note"] ?? "";
|
|
});
|
|
}, 300)
|
|
-%>
|