Commit Graph

751 Commits

Author SHA1 Message Date
a1d6844e52 Replaced the accountCode and accountText getters with the account getter in the JavaScript LineItemSubForm class. 2023-04-01 00:14:47 +08:00
94391b02a6 Added the copy() method to the JavaScript JournalEntryAccount class, and replaced the accountCode and accountText fields with the account field in the OriginalLineItem class. 2023-03-31 23:54:56 +08:00
1cb8a7563e Added the JavaScript JournalEntryAccount class, and added the account field to the JournalEntryLineItemEditor class to replace the accountCode, accountText, and isNeedOffset fields. 2023-03-31 23:33:38 +08:00
63f0f28948 Prefix the classes in the JavaScript description editor with the "DescriptionEditor". 2023-03-27 07:22:36 +08:00
3431922f12 Removed an unused import from the "accounting.models" module. 2023-03-26 01:06:19 +08:00
d5a9e1af18 Removed an unnecessary "start" variable in the constructor of the JavaScript MonthTab class. 2023-03-25 08:37:17 +08:00
73f5d63f44 Replaced string concatenations with ES6 template literals. 2023-03-25 08:37:13 +08:00
93ba086548 Simplified the code in the query_values pseudo property of the JournalEntryLineItem data model. 2023-03-24 09:15:29 +08:00
5c4f6017b8 Removed the redundant partial time in the query_values pseudo property of the JournalEntryLineItem data model. They are redundant since it is always partial match now. 2023-03-24 09:13:26 +08:00
4ccaf01b3c Revised the template of the option detail to be visually different from the option edit form, to avoid confusion. 2023-03-24 08:52:58 +08:00
7c512b1c15 Revised the JavaScript DebitCreditSubForm to have a better visual effect when the line item editor is opened and closed with no line items. 2023-03-24 07:58:32 +08:00
dc432da398 Revised the coding style in the constructor of the JavaScript JournalEntryLineItemEditor class. 2023-03-24 07:49:58 +08:00
c8504bcbf5 Revised the #isQueryMatched method to match the current net balance instead of the net balance but the current form in the JavaScript OriginalLineItem class. 2023-03-24 07:47:41 +08:00
c865141583 Revised the #isQueryMatched method to always does partial match in the JavaScript OriginalLineItem class. Removed the full match from the query values. It is really wierd to type in the half with no match until you type the full term. It may create misunderstanding that there is no further match if you keep typing. 2023-03-24 07:38:17 +08:00
8c1ecd6eac Renamed the #isDebitCreditMatches and #isQueryMatches methods in the JavaScript OriginalLineItem class to #isDebitCreditMatched and #isQueryMatched, respectively. 2023-03-24 07:32:23 +08:00
e8e4100677 Revised the documentation of the JavaScript #isQueryMatches method of the OriginalLineItem class. 2023-03-24 07:31:13 +08:00
6a8773c531 Revised the code in the constructor of the JavaScript OriginalLineItemSelector class. 2023-03-24 07:30:09 +08:00
30e0c7682c Renamed the JavaScript AccountSelector class to JournalEntryAccountSelector, to avoid confusion. There is a RecurringAccountSelector in the option form now. 2023-03-24 07:27:52 +08:00
eb5a7bef7e Added the JavaScript AccountOption class to object-ize the account options in the journal entry form. 2023-03-24 07:23:56 +08:00
8a174d8847 Renamed the setBaseAccount method to saveBaseAccount in the JavaScript AccountForm form, for consistency. 2023-03-24 07:20:40 +08:00
7459afd63a Renamed the hasAnyMatched variable to isAnyMatched in the JavaScript #filterOptions method of the BaseAccountSelector, RecurringAccountSelector, and OriginalLineItemSelector classes. 2023-03-24 06:52:14 +08:00
a9afc385e9 Added the "baseCode" getter to the JavaScript AccountForm form, and removed the "baseCode" parameter from the onOpen method of the BaseAccountSelector class. It can retrieve the base code directly from the parent account form now. 2023-03-24 06:46:22 +08:00
a8be739ec7 Fixed the documentation of the JavaScript BaseAccountOption class. 2023-03-24 06:35:44 +08:00
0130bc58a9 Added prefix to the constructor of the BaseAccountSelector class, to simplify the code. 2023-03-24 00:37:59 +08:00
821059fa80 Added the JavaScript BaseAccountOption class to object-ize the base account options in the account form. 2023-03-24 00:35:50 +08:00
5b4f57d0b3 Removed a debugging log from the onOpen method of the RecurringAccountSelector class. 2023-03-24 00:27:37 +08:00
4bfac2d545 Removed an unused "noinspection JSValidateTypes" comment from the constructor of the JavaScript DebitCreditSubForm class. 2023-03-24 00:21:33 +08:00
f105f0cf7b Removed an orphan comment from the JavaScript RecurringTransactionTab class. 2023-03-24 00:20:59 +08:00
7d084e570e Revised the debit-credit content to have a better look when it is still empty. 2023-03-23 09:13:52 +08:00
cb397910f8 Added the "resetNo" method to the RecurringItemSubForm, CurrencySubForm, and LineItemSubForm forms to provide a simpler way to reset the order number, and removed the "elementId" getter and "no" setter. 2023-03-23 08:55:16 +08:00
5f8b0dec98 Renamed the JavaScript "lineItemIndex" property to "index" in the LineItemSubForm form. 2023-03-23 08:44:20 +08:00
8398d1e8bb Fixed a type error in the constructor of the JavaScript LineItemSubForm form. 2023-03-23 08:42:48 +08:00
562801692a Added the JavaScript setDeleteButtonShown method to the CurrencySubForm and LineItemSubForm forms, and hides the implementation of the delete buttons from outside. Changed the delete buttons to private. 2023-03-23 08:40:19 +08:00
faee1e61c6 Added the JavaScript elementId getter and no setter to the RecurringItemSubForm, CurrencySubForm, and LineItemSubForm forms, to hide the actual implementation of the element ID and order number. 2023-03-23 08:24:58 +08:00
57a4177037 Replaced the JavaScript getXXX methods with the "get XXX" getters. 2023-03-23 08:11:11 +08:00
fa1dedf207 Unified the documentation of the JavaScript prefix attribute. 2023-03-23 07:10:16 +08:00
7ed13dc0af Replaced the JavaScript prefix attributes that are only used in the class constructors with the prefix constant variables in the constructor. 2023-03-23 07:06:58 +08:00
4902eecae0 Updated the translation. 2023-03-23 00:46:18 +08:00
889e4c058e Revised the option form to have a better look when there is no recurring expense and income. 2023-03-23 00:45:19 +08:00
7262a6cb42 Removed an unused ID in the form-recurring-item.html template. 2023-03-23 00:27:23 +08:00
c4ff4ecb3d Fixed the layout in the option detail when there is no recurring expenses or incomes. 2023-03-23 00:24:57 +08:00
2859f628ea Fixed the error finding the account in the default_ie_account_code_text pseudo property of the Options data model. 2023-03-23 00:21:31 +08:00
e0355b2af1 Revised the error message of the CurrentAccountExists and AccountNotCurrent validators. 2023-03-23 00:09:57 +08:00
b4d390c33a Renamed the isMatches method to isMatched in the JavaScript RecurringAccount class. 2023-03-23 00:00:39 +08:00
a4ab8a761c Renamed the "content" dataset to "text" in the base account selector of the account form, for consistency. 2023-03-22 23:56:37 +08:00
907ce6d06e Renamed the "content" dataset to "text" in the account selector of the journal entry form, for consistency. 2023-03-22 23:55:28 +08:00
6f773dd837 Added the ACCOUNT_REQUIRED validator to the account_code field of the RecurringExpenseForm and RecurringIncomeForm forms. 2023-03-22 23:25:20 +08:00
87fa5aa6bc Moved the ACCOUNT_REQUIRED validator from the "accounting.journal_entry.forms.line_item" module to the "accounting.forms" module, in order to share it. 2023-03-22 23:23:53 +08:00
35e05b3708 Revised the IsDebitAccount and IsCreditAccount validators to require the error message, and moved their default error messages to the DebitLineItemForm and CreditLineItemForm forms. 2023-03-22 23:19:52 +08:00
7ccc96bda0 Added the CurrentAccountExists and AccountNotCurrent validators to the default_ie_account_code field of the OptionForm form, to validate that the current account exists and is a current account. 2023-03-22 23:16:31 +08:00
b673c7aeaf Renamed the "default_currency" option to "default_currency_code". 2023-03-22 22:34:13 +08:00
0ad2ac53dd Added the "sql_condition" method to the CurrentAccount data model to simplify the queries. 2023-03-22 21:43:58 +08:00
7e90ec5a8f Replaced the "current_accounts" function with the "accounts" class method of the CurrentAccount data model. 2023-03-22 21:39:18 +08:00
7755365467 Revised the documentation of the CurrentAccount data model. 2023-03-22 21:36:07 +08:00
979eea606a Added the missing documentation to the account property of the CurrentAccount data model. 2023-03-22 20:40:43 +08:00
5a9e08f2c4 Moved the AccountExists, IsDebitAccount, and IsCreditAccount validators from the "accounting.journal_entry.forms.line_item" module to the "accounting.forms" module, to share it with the "accounting.option.forms" module. Removed the redundant AccountExists, IsExpenseAccount, and IsIncomeAccount validators from the "accounting.option.forms" module. 2023-03-22 20:37:53 +08:00
68c810d492 Renamed the debit and credit methods in the Account data model to selectable_debit and selectable_credit, to be clear. 2023-03-22 20:21:52 +08:00
5f88260507 Revised the elements in the option detail page for better layout. 2023-03-22 20:16:08 +08:00
779d89f8c4 Replaced the "clear" method with the "onOpen" method when the account is clicked in the RecurringItemEditor in the JavaScript RecurringAccountSelector class. 2023-03-22 20:09:41 +08:00
5d4bf4361b Revised the error messages of the NotStartPayableFromExpense and NotStartReceivableFromIncome validators. 2023-03-22 20:00:17 +08:00
10170d613d Fixed the debit and credit methods of the Account data model, removing the payable accounts that need offset from the debit accounts, and the receivable accounts that need offset from the credit accounts. They should not be selectable. 2023-03-22 19:54:27 +08:00
c885c08c37 Moved the "accounting.option.options" module to "accounting.utils.options", because it is meant to shared by other submodules. 2023-03-22 19:47:37 +08:00
e2a4340f2a Revised the imports in the "accounting.option.views" module. 2023-03-22 19:43:10 +08:00
9728ff30e0 Renamed the IsDebitAccount, IsCreditAccount, NotStartPayableFromDebit, and NotStartReceivableFromCredit validators to IsExpenseAccount, IsIncomeAccount, NotStartPayableFromExpense, and NotStartReceivableFromIncome, respectively, in the "accounting.option.forms" module. 2023-03-22 19:41:54 +08:00
a4644ede5f Fixed and replaced the IsDebitAccount validator with the IsCreditAccount validator in the account_code field of the RecurringIncomeForm form. 2023-03-22 19:39:02 +08:00
8f477dd6f1 Added the all_errors pseudo property to the RecurringItemForm form, and applied it to the form-recurring-item.html template. 2023-03-22 19:37:20 +08:00
44ac53f15c Fixed and added the missing validation in the update_options route. 2023-03-22 19:33:21 +08:00
5edb5465c5 Fixed the incomes field of the RecurringForm form to use the RecurringIncomeForm form instead of the RecurringExpenseForm form as its sub-forms. 2023-03-22 19:29:42 +08:00
067afdb165 Fixed and moved the account_text pseudo property from the RecurringExpenseForm form to its base RecurringItemForm form. 2023-03-22 19:28:46 +08:00
37a4c26f86 Fixed the label in the option detail and option form. 2023-03-22 19:21:24 +08:00
89e43830b4 Fixed the __get_accounts method of the DescriptionEditor class not to do empty queries. 2023-03-22 19:17:25 +08:00
671dbfb692 Moved the CURRENCY_REQUIRED validator back from the "accounting.forms" module to the "accounting.journal_entry.forms.currency" module. It is not shared with other module anymore. 2023-03-22 19:14:51 +08:00
2014344d25 Revised to use its own error message for the DataRequired validator in the default_currency field of the OptionForm form. 2023-03-22 19:13:08 +08:00
f9c39709c8 Revised the text messages in the option forms. 2023-03-22 19:11:07 +08:00
b394c58ec6 Added support to sort the recurring items. 2023-03-22 19:01:02 +08:00
0af3e2785b Removed an unused import from the "accounting.option.forms" module. 2023-03-22 18:50:24 +08:00
7066f75e72 Added the read-only view for the options. 2023-03-22 16:08:16 +08:00
619540da49 Fixed the documentation of the form-recurring-expense-income.html template. 2023-03-22 15:47:19 +08:00
567004f7d9 Renamed IncomeExpensesAccount to CurrentAccount. 2023-03-22 15:42:44 +08:00
761d5a5824 Added the option management, and moved the configuration of the default currency, the default account for the income and expenses log, and the recurring expenses and incomes to the options. 2023-03-22 15:34:28 +08:00
fa3cdace7f Renamed the #validateForm method to #validate in the JavaScript AccountForm and CurrencyForm. 2023-03-22 11:22:46 +08:00
656762850c Moved the IncomeExpensesAccount data model from the "accounting.report.utils.ie_account" module to the "accounting.utils.ie_account" module. 2023-03-22 07:29:41 +08:00
e2325f08d0 Moved the CURRENCY_REQUIRED and CurrencyExists validators from the "accounting.journal_entry.forms.currency" module to the "accounting.forms" module. 2023-03-22 07:17:45 +08:00
855356084e Fixed the documentation of the can_view and can_edit functions in the "accounting.utils.permission" module. 2023-03-22 04:50:12 +08:00
7aaeb32a3d Added the missing "role=" to the "<a...></a>" links that act like buttons. 2023-03-22 02:35:07 +08:00
b376cf1580 Revised the toolbar layout so that it looks better with only one toolbar button on the mobile devices. 2023-03-22 02:28:58 +08:00
ccbdc779ac Restored the "Back" button on the toolbar for the mobile devices. It is still necessary, because the user may get lost in the navigation history. 2023-03-22 02:28:29 +08:00
61ee08fda2 Revised the date format in the journal entry order page, and removed the individual date in the page, as it is redundant. 2023-03-22 02:12:19 +08:00
c8e1270d8f Updated the translation. 2023-03-22 01:50:18 +08:00
2a78799404 Revised the page to reorder the journal entries in a same day. 2023-03-22 01:47:11 +08:00
863d7a9368 Simplified the "can_delete" pseudo property of the JournalEntry data model. SQLAlchemy caches the query result. There is no need to cache the result again. 2023-03-22 01:02:09 +08:00
6fd37b21d9 Fixed so that the journal entries that has offset cannot be deleted. 2023-03-22 00:59:43 +08:00
bbf3ee3320 Added the limitation so that the default currency and the currencies in use cannot be deleted. 2023-03-22 00:37:39 +08:00
d0d2d77a2e Added the limitation so that essential accounts, like cash, and the accounts in use, cannot be deleted. 2023-03-22 00:37:26 +08:00
494faeffea Revised the toolbar of the reports to fit better in desktop browsers. 2023-03-21 23:16:47 +08:00
871a5fd1d8 Changed the "settings" button to "edit" in the account, currency, and journal entry detail pages. 2023-03-21 23:10:33 +08:00
e615ad2690 Revised the style of the toolbar buttons for better layout on mobile devices. Hid the "Back" button on mobile devices for better layout and saving spaces. 2023-03-21 23:07:05 +08:00
da92a0b42c Replaced the BABEL_DEFAULT_LOCALE configuration variable with the default_locale from the Flask-Babel instance, to get rid of the dependency to the specific configuration variable. 2023-03-21 22:34:44 +08:00
9248ba7e3b Removed the redundant Flask App context from the default_currency_code Jinja2 global and the default_ie_account_code function. They are always under the Flask app context. 2023-03-21 21:17:10 +08:00
a42e7d13a2 Renamed the configuration DEFAULT_CURRENCY, DEFAULT_IE_ACCOUNT, and RECURRING to "ACCOUNTING_DEFAULT_CURRENCY", "ACCOUNTING_DEFAULT_IE_ACCOUNT", and "ACCOUNTING_RECURRING", respectively. 2023-03-21 21:13:03 +08:00
a82f5091f1 Revised the styles of the buttons in the description editor. 2023-03-21 19:50:57 +08:00
3455827c09 Added the recurring transactions. 2023-03-21 19:45:56 +08:00
5dccf99a55 Renamed "regular" to "recurring" in the description editor. 2023-03-21 17:48:19 +08:00
8818b46e01 Moved the tag initialization from the constructor to the __init_tags method in the DescriptionEditor class. 2023-03-21 17:32:07 +08:00
2f3ad99467 Removed redundant code in the templates of the journal entry form. 2023-03-21 11:54:45 +08:00
592910187b Added the common form-debit-credit.html template to reduce the duplicated code for the currency sub-forms in the transaction form. 2023-03-21 11:47:05 +08:00
cb7a0d377f Added the common form-currency.html template to reduce the duplicated code for the currency sub-forms in the transaction form. 2023-03-21 11:26:28 +08:00
79175285f8 Changed "to transfer" to "as transfer", and updated its Font Awesome icon in the toolbar of the journal entries. 2023-03-21 11:04:45 +08:00
fef474977c Adjust the location of the Material Design floating action buttons for mobile screen. 2023-03-21 10:57:08 +08:00
fa1a55cd3d Adjusted the style for the mobile toolbar for Firefox on Android with large font size. 2023-03-21 10:56:21 +08:00
56138f7de3 Updated the translation. 2023-03-21 00:53:52 +08:00
21ef944259 Fixed the error in the navigation menu when there is no matching endpoint. 2023-03-21 00:53:27 +08:00
760f1c2877 Fixed the query to be case-insensitive in the base account selector in the account form and the account selector in the journal entry form. 2023-03-20 23:54:50 +08:00
e377eac407 Fixed the capitalization of the currencies, base accounts, and accounts. 2023-03-20 23:54:49 +08:00
77787eee9f Fixed the search queries to be case-insensitive. 2023-03-20 23:54:38 +08:00
03265a1232 Fixed the text in the buttons to add new journal entries. 2023-03-20 23:16:57 +08:00
079dc1ab6d Renamed the "eid" field to "id" in the LineItemForm form, since the problem is found. It was the "id" property of the enclosing FormField. If we extract the form from FormField, we can still access the "id" field. 2023-03-20 23:06:57 +08:00
d4fe91ec4a Fixed the capitalization of the shortcut periods in the period chooser. 2023-03-20 22:57:04 +08:00
acc5b4d6ea Fixed the capitalization of the label of the number of items in the description editor. 2023-03-20 22:52:35 +08:00
19a93cb4c3 Fixed the text message in the add_journal_entry view. 2023-03-20 22:44:55 +08:00
116089d1d2 Fixed the text message in the add_currency view. 2023-03-20 22:44:26 +08:00
50dd6078c7 Replaced "Need offset" with "Needs Offset" as the text of the badge. 2023-03-20 22:43:53 +08:00
9a4531b26c Revised the title of the delete confirmation modal from "Delete XXX Confirmation" to "Confirm Delete XXX", as suggested by ChatGPT. 2023-03-20 22:38:35 +08:00
b1af1d7425 Renamed "voucher" to "journal entry". 2023-03-20 22:33:14 +08:00
8f909965a9 Renamed "voucher line item" to "journal entry line item". 2023-03-20 20:52:35 +08:00
e26af6f3fc Renamed "side" to "debit-credit". 2023-03-20 20:35:10 +08:00
02fffc3400 Removed the unused offset_original_line_item_id field from the DebitLineItemForm form. 2023-03-20 18:56:38 +08:00
d7d6929bf2 Fixed the parameter passed to the credit line item subform in the transfer voucher form. 2023-03-20 18:53:16 +08:00
e4cc61552e Simplified the parameter passed to the "form-line-item.html" template for the line item subform of the voucher form, to be less error-prone. 2023-03-20 18:53:11 +08:00
d18dd7d4d2 Renamed "summary" to "description" in the voucher line item. 2023-03-20 18:45:50 +08:00
c1235608d8 Renamed "journal entry" to "voucher line item", and "entry type" to "side". 2023-03-19 22:09:40 +08:00
25c45b16ae Removed the unused imports from the "accounting.voucher.utils.original_entries" module. 2023-03-19 14:15:50 +08:00
5db13393cc Renamed "transaction" to "voucher", "cash expense transaction" to "cash disbursement voucher", and "cash income transaction" to "cash receipt voucher". 2023-03-19 13:56:46 +08:00
1e286fbeba Renamed the #originalEntry, #summary, #account, and #amount private attributes of the JavaScript JournalEntryEditor class to #originalEntryText, #summaryText, #accountText, and #amountInput, to avoid confusion with the public attributes with similar names. 2023-03-19 10:42:37 +08:00
d4b3fe67b9 Removed the originalEntryId parameter from the onOpen method of the JavaScript OriginalEntrySelector class. It can be obtained from the JournalEntryEditor instance, and the parameter is not needed anymore. 2023-03-19 10:25:33 +08:00
5d0757c845 Added the JavaScript JournalEntryEditor instance to the parameters of the constructor of the JavaScript OriginalEntrySelector class, so that it always have access to the JournalEntryEditor instance. Removed the JournalEntryEditor instance from the parameters of the onOpen method of the JournalEntryEditor class. 2023-03-19 10:22:18 +08:00
122b7b059c Changed the default date and min date for the Tempus Dominus month chooser from strings to the JavaScript Date objects. 2023-03-19 10:15:32 +08:00
4977847dd8 Changed the entryType attribute of the JavaScript AccountSelector class from public to private, renamed it from entryType to #entryType. 2023-03-19 07:30:03 +08:00
b9b197ea27 Removed the unused #modal property from the JavaScript OriginalEntrySelector class. 2023-03-19 07:27:25 +08:00
2299b86d0f Updated the translation. 2023-03-18 23:37:08 +08:00
6d293a1aac Added the JavaScript getInstances method to the SummaryEditor and AccountSelector classes, so that it is easier to deal with the case when the debit and credit versions are not both exist. 2023-03-18 23:36:38 +08:00
a2311aee24 Revised to prevent word wrapping in the button to choose the original entry in the summary editor. 2023-03-18 23:20:49 +08:00
5571c0d01f Renamed all the is_XXX_needed properties to is_need_XXX. For example, especially the is_offset_needed property to is_need_offset, to be clear and understandable. 2023-03-18 22:52:29 +08:00
7ff52d99e6 Removed the unused is_offset_chooser_needed property from the AccountOption data model. 2023-03-18 22:40:56 +08:00
cc440a4110 Renamed the "_is_payable_needed" and "_is_receivable_needed" properties in the TransactionForm form to "_is_need_payable" and "_is_need_receivable", respectively, for readability and understandability. 2023-03-18 22:39:26 +08:00
f5149a0c37 Replaced the long parameter list with the JournalEntrySubForm instance in the onEdit method of the JavaScript JournalEntryEditor, to simplify the code. 2023-03-18 22:36:50 +08:00
ca928636fd Replaces the datasets with object attributes to store the currency code and entry type in the JavaScript OriginalEntrySelector class. 2023-03-18 22:11:45 +08:00
4a8297d594 Revised the documentation of the JavaScript OriginalEntrySelector class. 2023-03-18 22:11:45 +08:00
915e4408e1 Revised the JavaScript to initialize the OriginalEntrySelector instance in JournalEntryEditor, so that the journal entry editor holds the OriginalEntrySelector instance. It can find the OriginalEntrySelector instance without needing to invoke its static methods. Removed the redundant static methods from the OriginalEntrySelector class. 2023-03-18 22:11:45 +08:00
fd9eac06f6 Merged the code in the #initializeSummaryEditors method into the constructor in the JavaScript JournalEntryEditor class. 2023-03-18 22:11:45 +08:00