Commit Graph

367 Commits

Author SHA1 Message Date
10d1be8bd1 Added the action-buttons.html template and retired the report-chooser.html and currency-chooser.html templates, as the template for the common action buttons. 2023-03-09 14:36:03 +08:00
6e1d35eda4 Revised the report-chooser.html template to simplify the reports. 2023-03-09 14:36:03 +08:00
52b5151fe0 Added the currency-chooser.html template to simplify the templates of the report. 2023-03-09 14:36:02 +08:00
f9fc033de6 Removed the unused RECEIVABLE, PAYABLE, and BROUGHT_FORWARD constants and the unused receivable(), payable(), brought_forward(), and net_change() shortcut methods from the Account data model. 2023-03-09 14:36:02 +08:00
116d00a557 Replaced the hard-coded cash account codes with the ACCUMULATED_CHANGE and NET_CHANGE constants and the accumulated_change() method of the Account data model. 2023-03-09 14:36:01 +08:00
329e3d5362 Replaced the hard-coded cash account codes with the CASH constant and the cash() method of the Account data model. 2023-03-09 14:36:00 +08:00
47e8944f06 Changed the constants of the common account codes in the Account data model from private to public. 2023-03-09 14:36:00 +08:00
e7c43ae390 Revised the documentation to use the term "income and expenses log" instead of "income and expenses", for consistency. 2023-03-09 14:36:00 +08:00
b8b51b34d3 Added the income-expenses-row-desktop.html and ledger-row-desktop.html templates to simplify templates of the income and expenses log and ledger. 2023-03-09 14:36:00 +08:00
d083036719 Renamed the income-expenses-mobile-row.html and ledger-mobile-row.html templates to income-expenses-row-mobile.html and ledger-row-mobile.html, respectively. 2023-03-09 14:35:59 +08:00
7fe81c710b Added the balance-sheet-section.html template to simplify the template of balance sheet. 2023-03-09 14:35:59 +08:00
9993f65627 Added the search to the accounting data. 2023-03-09 06:37:31 +08:00
fe01d5418d Fixed to limit the width of the search box in the currency list, base account list, account list, and transaction list. 2023-03-09 06:37:31 +08:00
2f7b9932a0 Added the base report class to ensure that the reports can both be shown on the page and downloaded as CSV. 2023-03-09 06:37:28 +08:00
1eed16b732 Added the pseudo account for the income and expenses log to query the income and expenses log of the current assets and liabilities. 2023-03-09 06:37:28 +08:00
ede1160943 Fixed the ledger and the income and expenses log not to show the total entry when there is actually no data. 2023-03-09 06:37:27 +08:00
3814f0cb18 Added the missing accounting_format_amount filter to the total of the ledger. 2023-03-09 06:37:27 +08:00
24315b8203 Fixed the styles of the negative numbers in the reports with red and braced absolute values. 2023-03-09 06:37:26 +08:00
3c200d0dc6 Fixed the sign of the amount in income statement. 2023-03-09 06:37:26 +08:00
9f1e724875 Added the "accounting.report.reports.csv_export" module to handle the CSV export in one place. 2023-03-09 06:37:26 +08:00
f838e7f893 Moved the utilities that are only for the report generators from the "accounting.report" module to the "accounting.report.reports.utils" module. 2023-03-09 06:37:25 +08:00
edb893ecd3 Replaced the report generators with a separated module for each report, to work with the diversity of the report formats without messing-up one another. 2023-03-09 06:37:23 +08:00
436a4c367f Added the balance sheet. 2023-03-09 06:37:22 +08:00
1813ce0cfa Removed the unused and empty __get_category method from the IncomeStatement report. 2023-03-09 06:37:22 +08:00
7683347997 Removed a non-existing parameter from the documentation of the constructor of the IncomeStatementParams class. 2023-03-09 06:37:22 +08:00
46ffc7a73d Changed the display style of the rows in the income statement from grid to flex, to simplify the layout. 2023-03-09 06:37:21 +08:00
e0a807d625 Fixed the style of the indent and total line of the income statement. 2023-03-09 06:37:20 +08:00
dffcf6d2ce Removed the unused is_account pseudo property in the IncomeStatementRow row. 2023-03-09 06:37:19 +08:00
84d239e4b1 Added the income statement. 2023-03-09 06:37:19 +08:00
fcefc64117 Removed an excess closing </div> in the template of the trial balance. 2023-03-09 06:37:18 +08:00
81fbb380b4 Renamed the variable select_trial_balance to select_balances in the __query_balances method of the TrialBalance report. 2023-03-09 06:37:17 +08:00
d7ac8a3dcf Fixed the documentation of the TrialBalanceRow class. 2023-03-09 06:37:17 +08:00
bcd3418e2c Fixed the documentation in the constructor of the trail balance. 2023-03-09 06:37:16 +08:00
ef9e5cb5b3 Split the report parameters from the report class so that it works better with both CSV export and HTML templates. 2023-03-09 06:37:16 +08:00
e797cfeb8c Simplified the logic to test the total row in the ledger and income and expenses. 2023-03-09 06:37:16 +08:00
22bae7f766 Replaced the <ul></ul> list with CSS "display: grid" for the trial balance, to allow using <a></a> as the table row. 2023-03-09 06:37:15 +08:00
aa669e9f53 Replaced tables with CSS "display: grid" for the journal, ledger, and income and expenses, to allow using <a></a> as the table row. 2023-03-09 06:37:14 +08:00
898a1af7b5 Revised the separation lines in the table headers and footers of the ledger tables. 2023-03-09 06:37:13 +08:00
f762bcf48f Replaced the duplicated "accounting-transaction-card" and "accounting-report-card" CSS classes with the "accounting-sheet" class, for simplicity. 2023-03-09 06:37:12 +08:00
5d4effa360 Added the "debit" and "credit" properties to, and removed the "is_debit" property from the JournalRow row, to reduce the amount of logic in the template of the journal. 2023-03-09 06:37:11 +08:00
dd05478bf3 Simplified the syntax to retrieve query arguments in the templates, and reduced the amount of logic in the templates. 2023-03-09 06:37:11 +08:00
9450915404 Added the "default" filter to reduce the amount of logic in the templates, which differs from the Jinja2 "default" filter in that it looks for None instead of undefined values. 2023-03-09 06:37:10 +08:00
8d126e183f Changed the date field of the transaction forms to set the default value in the view, but not the form, so that the default value is not set when it did not receive a value. 2023-03-09 06:37:10 +08:00
bfb08cf5fc Changed the format_amount_input filter to accept None, and return an empty string if the value is None. 2023-03-09 06:37:09 +08:00
a7bcf4b5c1 Changed the format_amount template filter to return None when the value is None. 2023-03-09 06:37:08 +08:00
cd49ca44b1 Fixed to avoid getting the income and expenses with accounts that are not current assets and liabilities when switching from the ledger. 2023-03-09 06:37:07 +08:00
734362396f Adding the missing currency when constructing the report chooser in the trial balance. 2023-03-09 06:37:06 +08:00
88147bea66 Revised the currency in the titles and options of the ledger, income and expenses, and trial balance. 2023-03-09 06:37:05 +08:00
cca43c68a6 Added trial balance. 2023-03-09 06:37:05 +08:00
480e2d2d8f Simplified the invocation of the super class constructor in the subclasses of Period. 2023-03-09 06:37:05 +08:00
be100ce7ec Simplified the constructors of the period choosers. 2023-03-09 06:37:04 +08:00
eca91d32ed Fixed the documentation of the IncomeExpensesPeriodChooser class. 2023-03-09 06:37:04 +08:00
1f95212494 Revised to use the title case in the CSV output of the journal and income and expenses. 2023-03-09 06:37:03 +08:00
0173104c84 Revised the currency field in the CSV output of the journal. 2023-03-09 06:37:03 +08:00
6e33fa775d Revised the __query_entries method of the IncomeExpenses report to be clear. 2023-03-09 06:37:02 +08:00
e244ff70e6 Simplified the SQL query in the currency_options and account_options pseudo properties in the Ledger report and the account_options pseudo property in the IncomeExpenses report. 2023-03-09 06:37:01 +08:00
ace782a26b Replaced "sa.select" with "sa.Select" in the account_options pseudo property of the IncomeExpenses report. 2023-03-09 06:37:01 +08:00
90289a0db2 Fixed the account options to list only the current assets and liabilities for the income and expenses. 2023-03-09 06:37:01 +08:00
7e7e1a2844 Revised so that the amounts won't wrap in the income and expenses. 2023-03-09 06:37:01 +08:00
ddd028736c Revised the balance in the mobile view of the income and expenses. 2023-03-09 06:37:01 +08:00
e1d35a64da Revised the account shown in the journal. 2023-03-09 06:37:01 +08:00
39807ef480 Added the income and expenses. 2023-03-09 06:37:00 +08:00
39723b1299 Removed the lazy setting from the account relationship of the JournalEntry data model. It results in problems in the income and expense report. 2023-03-09 06:36:25 +08:00
8cd004bede Revised the documentation of the ledger. 2023-03-05 18:16:43 +08:00
4f112dd386 Revised the documentation of the report row classes. 2023-03-05 18:14:32 +08:00
b806b1ed1f Added note to the CSV output of ledgers. 2023-03-05 17:55:47 +08:00
1d0a79e33c Changed the CSV field name to be title-cased. 2023-03-05 17:55:47 +08:00
d4a690ebbc Removed the text of the action buttons of currency and account filters for the small screens, to fit in the screen. 2023-03-05 17:55:46 +08:00
68687897f3 Changed the icons for the reports and accounts to be more accessible. 2023-03-05 17:55:46 +08:00
a7250fd9bf Replaced transactions with reports in the navigation menu. 2023-03-05 17:55:46 +08:00
eabe80b790 Added ledger. 2023-03-05 17:55:38 +08:00
fe77f87110 Fixed a regular expression in the _parse_period_spec function of the period utility. 2023-03-05 14:24:51 +08:00
32c27d7c07 Fixed an error finding the end of month in the __get_month_spec method of the Period utility. 2023-03-05 12:06:16 +08:00
14b871b57a Fixed the format_amount filter to deal with negative numbers with decimals correctly. 2023-03-05 11:48:34 +08:00
9d5fce2752 Fixed the documentation of the Journal report. 2023-03-04 20:14:08 +08:00
d333151731 Revised the documentation of the __get_journal_list view. 2023-03-04 20:12:13 +08:00
b2e500a714 Fixed the documentation of the get_default_journal_list view. 2023-03-04 20:10:59 +08:00
b705795b44 Moved the ReportType enumeration from the "accounting.report.report_chooser" module to the new "accounting.report.report_type" module. 2023-03-04 19:56:07 +08:00
250f4ff1ae Revised the imports in the "accounting.report.reports" module 2023-03-04 19:52:45 +08:00
6bed180790 Renamed the TransactionTypeEnum enum to TransactionType. 2023-03-04 19:39:13 +08:00
10fbc3f638 Renamed the "accounting.transaction.dispatcher" module to "accounting.transaction.operators". 2023-03-04 19:36:53 +08:00
f65dc6fc42 Renamed the TransactionType class to TransactionOperator. 2023-03-04 19:36:07 +08:00
9833bac6e4 Added the TransactionTypeEnum in the new "accounting.utils.txn_types" module to remove the dependency from the "accounting.report" module to the "accounting.transaction" module. 2023-03-04 19:32:36 +08:00
7d412b20d7 Moved the material floating action button template to add new transactions from the "accounting/transaction/include" directory to the "accounting/include" directory, and renamed it from add-new-material-fab.html to add-txn-material-fab.htm, as it will also be used in the reports, not only the transaction management. 2023-03-04 18:40:00 +08:00
9bfcd3c50c Added the journal report as the first accounting report. 2023-03-04 18:31:33 +08:00
710c26d016 Fixed the documentation in the JavaScript SummeryHelper class. 2023-03-04 13:45:30 +08:00
24415018b7 Reordered the properties in the JavaScript SummeryHelper class. 2023-03-04 13:45:29 +08:00
c50b9a2000 Removed the unused tab and page classes from the templates of the summary editor. 2023-03-04 11:52:45 +08:00
af9bd14eed Removed the unused tab ID from the template of the summary editor. 2023-03-04 11:52:45 +08:00
9e1ff16e96 Fixed the aria-labelledby in the template of the summary editor. 2023-03-04 11:52:45 +08:00
f7c1fd77f2 Added blank lines and documentation to the template of the summary editor. 2023-03-04 11:52:45 +08:00
641315537d Replaced the traditional function expressions with ES6 arrow function expressions in the JavaScript for the transaction order, account order, currency form, and the speed dial for the material floating action buttons. 2023-03-04 11:52:45 +08:00
a895bd8560 Replaced the traditional function expressions with ES6 arrow function expressions in the JavaScript for the drop-and-drop reorder. 2023-03-04 11:52:44 +08:00
ca86a08f3e Replaced the traditional function expressions with ES6 arrow function expressions in the JavaScript for the account form. 2023-03-04 11:52:44 +08:00
e118422441 Replaced the traditional function expressions with ES6 arrow function expressions in the JavaScript for the account selector. 2023-03-04 11:52:44 +08:00
b3777cffbf Replaced the traditional function expressions with ES6 arrow function expressions in the JavaScript for the transaction form. 2023-03-04 11:52:44 +08:00
39c9c17007 Replaced the traditional function expressions with ES6 arrow function expressions in the JavaScript for the summary editor to avoid messing up with the "this" object. 2023-03-04 11:52:44 +08:00
3ab4eacf9f Moved the "accounting.transaction.template_globals" module to "accounting.template_globals", for the two template globals will be used in the reports beside the transaction management. 2023-03-04 07:06:03 +08:00
cff3d1b6bd Revised the code order in the init_app function in the "accounting" module. 2023-03-04 07:01:03 +08:00
f41db78831 Revised the summary helper so that when the summary is changed with the tag changed, the on-change callback is run to check the tag button status. 2023-03-04 07:01:03 +08:00
73f7d14e7b Fixed so that the values of the input fields are trimmed before composing the summary when they are changed. 2023-03-04 07:01:03 +08:00
f6ed6b10a7 Revised the summary editor to allow the "*" start character as the multiplication operation in addition to the "×" times character. 2023-03-04 07:01:03 +08:00
b5aaee4d15 Renamed the "number" tab plane to "annotation". 2023-03-04 07:01:03 +08:00
c849d6b3d4 Revised the numer tab plane in the summary editor. 2023-03-04 07:01:03 +08:00
a9908a7df4 Simplified the regular expression in the populate method of the GeneralTagTab class in the summary editor. 2023-03-04 07:01:02 +08:00
063c769158 Renamed the variables in the summary editor. 2023-03-04 07:01:02 +08:00
f8e9871300 Fixed to trim the summary when it is changed in the summary editor. 2023-03-04 07:01:02 +08:00
78a62a9575 Added a "note" field to the summary editor. 2023-03-04 07:01:02 +08:00
85fde6219e Fixed an HTML ID in the summary editor modal. 2023-03-04 07:01:02 +08:00
4eb9346d8d Renamed summary helper to summary editor. 2023-03-04 07:00:46 +08:00
11966a52ba Fixed a variable name in the #initializeAccountQuery method of the JavaScript AccountSelector class. 2023-03-04 06:57:35 +08:00
8cf81b5459 Revised the documentation of the "accounting.account.queries", "accounting.base_account.queries", "accounting.currency.queries", and "accounting.transaction.queries" modules. 2023-03-04 06:57:35 +08:00
cc958a39b3 Moved the format_amount and format_date template filters from the "accounting.transaction.template_filters" module to the "accounting.template_filters" module, and rename the filters from "accounting_txn_format_amount" and "accounting_txn_format_date" to "accounting_format_amount" and "accounting_format_date", respectively. They will not only be used in the transaction management, but also the reports. 2023-03-04 06:57:10 +08:00
9065686cc5 Split the "accounting.transaction.template" module into the "accounting.transaction.template_filters" and "accounting.transaction.template_globals" modules. 2023-03-03 18:28:59 +08:00
9a41cb10a1 Rewrote the summary helper, added the TabPlane classes so that the internal states of the summary helper is stored in the tab plane objects instead of passing the as parameters and variables. 2023-03-03 18:09:36 +08:00
6957e52d0d Renamed the "accounting.account.query", "accounting.base_account.query", "accounting.currency.query", and "accounting.transaction.query" modules to "accounting.account.queries", "accounting.base_account.queries", "accounting.currency.queries", and "accounting.transaction.queries", respectively. There will be more than one query in the next report module. 2023-03-03 01:12:36 +08:00
b2bc993416 Replaced the #populate method with the #parseAndPopulate method that is used both when starting the summary helper and when the summary input is updated. 2023-03-01 01:45:38 +08:00
453b3f0da5 Renamed the #tagInputOnChange method to #onTagInputChange in the JavaScript summary helper. 2023-03-01 01:31:25 +08:00
63ae3f0746 Replace the is_in_use pseudo property of the Account data model with the AccountOption class, and revised the #getAccountCodeUsedInForm method of the SummaryHelper, to solve the issue that the list of used accounts should be different for debit and credit entries. 2023-03-01 01:28:25 +08:00
da4cc6489f Removed the direction arrows from the tab navigation in the summary helper. 2023-03-01 00:59:40 +08:00
1102a3a4f3 Updated the translation. 2023-03-01 00:51:58 +08:00
14ed4ca354 Added the #initializeTagButtons and #tagInputOnChange methods to the JavaScript SummaryHelper to simplify the code. 2023-03-01 00:51:24 +08:00
535ff96ab3 Revised the JavaScript regular expressions used in the summary helper, as suggested by SonarQube for security. 2023-03-01 00:51:24 +08:00
57482f81fc Revised the transaction form to start a new journal entry with the journal entry form instead of the summary helper, because it feels strange when the user want to leave the summary empty. 2023-03-01 00:51:24 +08:00
a31ce3c400 Replaced the function-based JavaScript account selector with the AccountSelector class that does things better. 2023-03-01 00:51:11 +08:00
319f0aed90 Fixed a documentation in the JavaScript summary helper. 2023-02-28 22:54:20 +08:00
826dcf0f86 Revised the documentation of the JavaScript for the summary helper. 2023-02-28 22:47:04 +08:00
731acdced0 Revised the HTML in the summary helper template. 2023-02-28 22:41:56 +08:00
35b3bca1e6 Renamed the variables for the button elements in the summary helper, to be clear. 2023-02-28 22:37:46 +08:00
3c413497ae Split the JavaScript for the account selector from transaction-form.js to account-selector.js, to modularize the complex JavaScript. 2023-02-28 22:33:14 +08:00
1b5e516413 Renamed the HTML ID and class name prefix of the account selector modal, for consistency. 2023-02-28 22:24:12 +08:00
20cb5cecc4 Renamed the accounting-selector-modal class to accounting-account-selector-modal in the account selector. 2023-02-28 22:14:03 +08:00
08dc24605d Replaced the forEach loops with the for-of loops in the JavaScript for the currency form, account form, and the drag-and-drop reorder library functions. 2023-02-28 22:09:39 +08:00
bb7e9e94ee Replaced the forEach loops with the for-of loops whenever appropriate in the JavaScript for the transaction form. 2023-02-28 22:00:19 +08:00
2680a1c872 Merged debit-account-modal.html and credit-account-modal.html into account-selector-modal.html, because they are almost the same. 2023-02-28 21:45:10 +08:00
20a7ce591c Renamed the account_selector_modals block to form_modals in the transaction form templates. 2023-02-28 21:37:08 +08:00
474e844ed9 Revised the loading of the summary helper so that only the required helpers are loaded, but not both the debit and credit helpers. 2023-02-28 21:35:02 +08:00
b34955f2fb Replaced the forEach loops with the for-of loops in the JavaScript summary helper. The for-of loops are more consistent with the other languages and the traditional for loops, and do not mess up with the "this" object. 2023-02-28 20:20:36 +08:00
2bd0f0f14d Fixed the target in the initShow method of the JavaScript summary helper. 2023-02-28 19:13:08 +08:00
8b77d9ff93 Added the suggested accounts to the summary helper. 2023-02-28 19:11:09 +08:00
a9c7360020 Renamed the variables in the #reset method of the JavaScript SummaryHelper class, for consistency. 2023-02-28 17:14:02 +08:00
d02c87602b Added validation to the summary helper. 2023-02-28 16:38:50 +08:00
9f966643b5 Added ARIA labels to the different pages in the summary helper. 2023-02-28 16:38:19 +08:00
5746e2a3d6 Added a missing amount filter to the debit entries of the transaction form. 2023-02-28 15:52:30 +08:00
d5c2231794 Added the summary helper for the transaction form. 2023-02-28 15:49:01 +08:00
fc8e257a10 Added missing documentation to the currencies_errors pseudo property of the TransactionForm form. 2023-02-28 09:36:20 +08:00
2e9bf382fb Revised the documentation of the "accounting.transaction.dispatcher" module. 2023-02-28 09:31:46 +08:00
274a38a588 Fixed a localization error in the transaction detail. 2023-02-28 00:16:12 +08:00
fff89a9957 Replaced the direct database add with the relationship append in the JournalEntryCollector class, to fix the PostgreSQL error that the new journal entries are added when the transaction is not added yet. 2023-02-28 00:04:32 +08:00
5613657c8f Fixed the JavaScript filterAccountOptions function in the transaction form so that the accounting list is not hidden when there is no account in use. 2023-02-27 23:00:49 +08:00