Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
5ae1ab95ae | |||
7a5b3b78fc | |||
7df4051452 | |||
85084c68fd | |||
0185c16654 | |||
7dd007f3cf | |||
38b8a028d5 | |||
213981a8b2 | |||
a4d1789b58 | |||
91620d7db2 | |||
02fcabb0ce | |||
4c2dcc5070 | |||
c9166fda4d | |||
3a0f0873e2 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/27
|
||||
|
||||
# Copyright (c) 2022 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2022/8/21
|
||||
|
||||
# Copyright (c) 2022-2023 imacat.
|
||||
|
26
README.rst
26
README.rst
@ -1,24 +1,33 @@
|
||||
=====================
|
||||
Mia! Accounting Flask
|
||||
=====================
|
||||
===============
|
||||
Mia! Accounting
|
||||
===============
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This is the Mia! Accounting Flask project. It is an accounting
|
||||
This is the Mia! Accounting project. It is an accounting
|
||||
module for the Flask_ applications.
|
||||
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
Install the latest source from the
|
||||
`Mia! Accounting Flask repository`_.
|
||||
Install ``mia-accounting`` with ``pip``.
|
||||
|
||||
::
|
||||
|
||||
pip install git+https://gitea.imacat.idv.tw/imacat/mia-accounting-flask.git
|
||||
pip install mia-accounting
|
||||
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
This needs to be done. Currently, you can refer to the test site
|
||||
located in the test directory on the `Mia! Accounting repository`_.
|
||||
|
||||
The test site is running as the
|
||||
`live demonstration for Mia! Accounting`_.
|
||||
|
||||
|
||||
Copyright
|
||||
@ -47,4 +56,5 @@ Authors
|
||||
| 2023/1/27
|
||||
|
||||
.. _Flask: https://flask.palletsprojects.com
|
||||
.. _Mia! Accounting Flask repository: https://gitea.imacat.idv.tw/imacat/mia-accounting-flask
|
||||
.. _Mia! Accounting repository: https://github.com/imacat/mia-accounting
|
||||
.. _live demonstration for Mia! Accounting: https://accounting.imacat.idv.tw
|
||||
|
@ -10,10 +10,10 @@ sys.path.insert(0, os.path.abspath('../../src/'))
|
||||
# -- Project information -----------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
||||
|
||||
project = 'Mia! Accounting Flask'
|
||||
project = 'Mia! Accounting'
|
||||
copyright = '2023, imacat'
|
||||
author = 'imacat'
|
||||
release = '0.10.0'
|
||||
release = '0.11.1'
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||
|
@ -1,10 +1,10 @@
|
||||
.. Mia! Accounting Flask documentation master file, created by
|
||||
.. Mia! Accounting documentation master file, created by
|
||||
sphinx-quickstart on Fri Jan 27 12:20:04 2023.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to Mia! Accounting Flask's documentation!
|
||||
=================================================
|
||||
Welcome to Mia! Accounting's documentation!
|
||||
===========================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2022/8/21
|
||||
|
||||
# Copyright (c) 2022 imacat.
|
||||
|
12
setup.cfg
12
setup.cfg
@ -1,4 +1,4 @@
|
||||
# The Mia! Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2022/8/21
|
||||
|
||||
# Copyright (c) 2022-2023 imacat.
|
||||
@ -16,16 +16,16 @@
|
||||
# limitations under the License.
|
||||
|
||||
[metadata]
|
||||
name = mia-accounting-flask
|
||||
version = 0.10.0
|
||||
name = mia-accounting
|
||||
version = 0.11.1
|
||||
author = imacat
|
||||
author_email = imacat@mail.imacat.idv.tw
|
||||
description = The Mia! Accounting Flask project.
|
||||
description = The Mia! Accounting project.
|
||||
long_description = file: README.rst
|
||||
long_description_content_type = text/x-rst
|
||||
url = https://github.com/imacat/mia-accounting-flask
|
||||
url = https://github.com/imacat/mia-accounting
|
||||
project_urls =
|
||||
Bug Tracker = https://github.com/imacat/mia-accounting-flask/issues
|
||||
Bug Tracker = https://github.com/imacat/mia-accounting/issues
|
||||
classifiers =
|
||||
Programming Language :: Python :: 3
|
||||
License :: OSI Approved :: Apache Software License
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/25
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -47,7 +47,6 @@ def init_app(app: Flask, user_utils: UserUtilityInterface,
|
||||
init_user_utils(user_utils)
|
||||
|
||||
bp: Blueprint = Blueprint("accounting", __name__,
|
||||
url_prefix=url_prefix,
|
||||
template_folder="templates",
|
||||
static_folder="static")
|
||||
|
||||
@ -84,9 +83,9 @@ def init_app(app: Flask, user_utils: UserUtilityInterface,
|
||||
journal_entry.init_app(app, bp)
|
||||
|
||||
from . import report
|
||||
report.init_app(app, bp)
|
||||
report.init_app(app, url_prefix)
|
||||
|
||||
from . import option
|
||||
option.init_app(bp)
|
||||
|
||||
app.register_blueprint(bp)
|
||||
app.register_blueprint(bp, url_prefix=url_prefix)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/30
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/30
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/31
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/1
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/30
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/30
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/25
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/25
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/1
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/26
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/26
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/6
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/6
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/6
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/6
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/6
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/6
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/22
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/18
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/19
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/10
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/10
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/18
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/10
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/10
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/25
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/10
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/10
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/27
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/15
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/19
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/10
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -72,11 +72,12 @@ def get_selectable_original_line_items(
|
||||
line_items: list[JournalEntryLineItem] = JournalEntryLineItem.query\
|
||||
.filter(JournalEntryLineItem.id.in_({x for x in net_balances}))\
|
||||
.join(JournalEntry)\
|
||||
.order_by(JournalEntry.date, JournalEntryLineItem.is_debit,
|
||||
JournalEntryLineItem.no)\
|
||||
.order_by(JournalEntry.date, JournalEntry.no,
|
||||
JournalEntryLineItem.is_debit, JournalEntryLineItem.no)\
|
||||
.options(selectinload(JournalEntryLineItem.currency),
|
||||
selectinload(JournalEntryLineItem.account),
|
||||
selectinload(JournalEntryLineItem.journal_entry)).all()
|
||||
line_items.reverse()
|
||||
for line_item in line_items:
|
||||
line_item.net_balance = line_item.amount \
|
||||
if net_balances[line_item.id] is None \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/18
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -235,4 +235,4 @@ def __get_default_page_uri() -> str:
|
||||
|
||||
:return: The URI for the default page.
|
||||
"""
|
||||
return url_for("accounting.report.default")
|
||||
return url_for("accounting-report.default")
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/25
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/1/25
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/22
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/22
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/22
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/3
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -17,14 +17,14 @@
|
||||
"""The report management.
|
||||
|
||||
"""
|
||||
from flask import Flask, Blueprint
|
||||
from flask import Flask
|
||||
|
||||
|
||||
def init_app(app: Flask, bp: Blueprint) -> None:
|
||||
def init_app(app: Flask, url_prefix: str) -> None:
|
||||
"""Initialize the application.
|
||||
|
||||
:param app: The Flask application.
|
||||
:param bp: The blueprint of the accounting application.
|
||||
:param url_prefix: The URL prefix of the accounting application.
|
||||
:return: None.
|
||||
"""
|
||||
from .converters import PeriodConverter, IncomeExpensesAccountConverter
|
||||
@ -32,4 +32,4 @@ def init_app(app: Flask, bp: Blueprint) -> None:
|
||||
app.url_map.converters["ieAccount"] = IncomeExpensesAccountConverter
|
||||
|
||||
from .views import bp as report_bp
|
||||
bp.register_blueprint(report_bp, url_prefix="/reports")
|
||||
app.register_blueprint(report_bp, url_prefix=url_prefix)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/3
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/9
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -137,6 +137,7 @@ class AccountCollector:
|
||||
.join(JournalEntry).join(Account)\
|
||||
.filter(*conditions)\
|
||||
.group_by(Account.id, Account.base_code, Account.no)\
|
||||
.having(balance_func != 0)\
|
||||
.order_by(Account.base_code, Account.no)
|
||||
account_balances: list[sa.Row] \
|
||||
= db.session.execute(select_balance).all()
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -269,6 +269,7 @@ class IncomeStatement(BaseReport):
|
||||
.join(JournalEntry).join(Account)\
|
||||
.filter(*conditions)\
|
||||
.group_by(Account.id)\
|
||||
.having(balance_func != 0)\
|
||||
.order_by(Account.base_code, Account.no)
|
||||
balances: list[sa.Row] = db.session.execute(select_balances).all()
|
||||
accounts: dict[int, Account] \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/8
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -191,6 +191,7 @@ class TrialBalance(BaseReport):
|
||||
.join(JournalEntry).join(Account)\
|
||||
.filter(*conditions)\
|
||||
.group_by(Account.id)\
|
||||
.having(balance_func != 0)\
|
||||
.order_by(Account.base_code, Account.no)
|
||||
balances: list[sa.Row] = db.session.execute(select_balances).all()
|
||||
accounts: dict[int, Account] \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/6
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/8
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/7
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/5
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -68,9 +68,9 @@ class ReportChooser:
|
||||
"""The title of the current report."""
|
||||
self.is_search: bool = active_report == ReportType.SEARCH
|
||||
"""Whether the current report is the search page."""
|
||||
self.__reports.append(self.__journal)
|
||||
self.__reports.append(self.__ledger)
|
||||
self.__reports.append(self.__income_expenses)
|
||||
self.__reports.append(self.__ledger)
|
||||
self.__reports.append(self.__journal)
|
||||
self.__reports.append(self.__trial_balance)
|
||||
self.__reports.append(self.__income_statement)
|
||||
self.__reports.append(self.__balance_sheet)
|
||||
@ -80,28 +80,6 @@ class ReportChooser:
|
||||
if self.is_search:
|
||||
self.current_report = gettext("Search")
|
||||
|
||||
@property
|
||||
def __journal(self) -> OptionLink:
|
||||
"""Returns the journal.
|
||||
|
||||
:return: The journal.
|
||||
"""
|
||||
return OptionLink(gettext("Journal"), journal_url(self.__period),
|
||||
self.__active_report == ReportType.JOURNAL,
|
||||
fa_icon="fa-solid fa-book")
|
||||
|
||||
@property
|
||||
def __ledger(self) -> OptionLink:
|
||||
"""Returns the ledger.
|
||||
|
||||
:return: The ledger.
|
||||
"""
|
||||
return OptionLink(gettext("Ledger"),
|
||||
ledger_url(self.__currency, self.__account,
|
||||
self.__period),
|
||||
self.__active_report == ReportType.LEDGER,
|
||||
fa_icon="fa-solid fa-clipboard")
|
||||
|
||||
@property
|
||||
def __income_expenses(self) -> OptionLink:
|
||||
"""Returns the income and expenses log.
|
||||
@ -118,6 +96,28 @@ class ReportChooser:
|
||||
self.__active_report == ReportType.INCOME_EXPENSES,
|
||||
fa_icon="fa-solid fa-money-bill-wave")
|
||||
|
||||
@property
|
||||
def __ledger(self) -> OptionLink:
|
||||
"""Returns the ledger.
|
||||
|
||||
:return: The ledger.
|
||||
"""
|
||||
return OptionLink(gettext("Ledger"),
|
||||
ledger_url(self.__currency, self.__account,
|
||||
self.__period),
|
||||
self.__active_report == ReportType.LEDGER,
|
||||
fa_icon="fa-solid fa-clipboard")
|
||||
|
||||
@property
|
||||
def __journal(self) -> OptionLink:
|
||||
"""Returns the journal.
|
||||
|
||||
:return: The journal.
|
||||
"""
|
||||
return OptionLink(gettext("Journal"), journal_url(self.__period),
|
||||
self.__active_report == ReportType.JOURNAL,
|
||||
fa_icon="fa-solid fa-book")
|
||||
|
||||
@property
|
||||
def __trial_balance(self) -> OptionLink:
|
||||
"""Returns the trial balance.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/4
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/9
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -34,8 +34,8 @@ def journal_url(period: Period) \
|
||||
:return: The URL of the journal.
|
||||
"""
|
||||
if period.is_default:
|
||||
return url_for("accounting.report.journal-default")
|
||||
return url_for("accounting.report.journal", period=period)
|
||||
return url_for("accounting-report.journal-default")
|
||||
return url_for("accounting-report.journal", period=period)
|
||||
|
||||
|
||||
def ledger_url(currency: Currency, account: Account, period: Period) \
|
||||
@ -48,9 +48,9 @@ def ledger_url(currency: Currency, account: Account, period: Period) \
|
||||
:return: The URL of the ledger.
|
||||
"""
|
||||
if period.is_default:
|
||||
return url_for("accounting.report.ledger-default",
|
||||
return url_for("accounting-report.ledger-default",
|
||||
currency=currency, account=account)
|
||||
return url_for("accounting.report.ledger",
|
||||
return url_for("accounting-report.ledger",
|
||||
currency=currency, account=account,
|
||||
period=period)
|
||||
|
||||
@ -67,11 +67,11 @@ def income_expenses_url(currency: Currency, account: CurrentAccount,
|
||||
if currency.code == default_currency_code() \
|
||||
and account.code == options.default_ie_account_code \
|
||||
and period.is_default:
|
||||
return url_for("accounting.report.default")
|
||||
return url_for("accounting-report.default")
|
||||
if period.is_default:
|
||||
return url_for("accounting.report.income-expenses-default",
|
||||
return url_for("accounting-report.income-expenses-default",
|
||||
currency=currency, account=account)
|
||||
return url_for("accounting.report.income-expenses",
|
||||
return url_for("accounting-report.income-expenses",
|
||||
currency=currency, account=account,
|
||||
period=period)
|
||||
|
||||
@ -84,9 +84,9 @@ def trial_balance_url(currency: Currency, period: Period) -> str:
|
||||
:return: The URL of the trial balance.
|
||||
"""
|
||||
if period.is_default:
|
||||
return url_for("accounting.report.trial-balance-default",
|
||||
return url_for("accounting-report.trial-balance-default",
|
||||
currency=currency)
|
||||
return url_for("accounting.report.trial-balance",
|
||||
return url_for("accounting-report.trial-balance",
|
||||
currency=currency, period=period)
|
||||
|
||||
|
||||
@ -98,9 +98,9 @@ def income_statement_url(currency: Currency, period: Period) -> str:
|
||||
:return: The URL of the income statement.
|
||||
"""
|
||||
if period.is_default:
|
||||
return url_for("accounting.report.income-statement-default",
|
||||
return url_for("accounting-report.income-statement-default",
|
||||
currency=currency)
|
||||
return url_for("accounting.report.income-statement",
|
||||
return url_for("accounting-report.income-statement",
|
||||
currency=currency, period=period)
|
||||
|
||||
|
||||
@ -112,7 +112,7 @@ def balance_sheet_url(currency: Currency, period: Period) -> str:
|
||||
:return: The URL of the balance sheet.
|
||||
"""
|
||||
if period.is_default:
|
||||
return url_for("accounting.report.balance-sheet-default",
|
||||
return url_for("accounting-report.balance-sheet-default",
|
||||
currency=currency)
|
||||
return url_for("accounting.report.balance-sheet",
|
||||
return url_for("accounting-report.balance-sheet",
|
||||
currency=currency, period=period)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/3
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
@ -30,7 +30,7 @@ from .reports import Journal, Ledger, IncomeExpenses, TrialBalance, \
|
||||
IncomeStatement, BalanceSheet, Search
|
||||
from .template_filters import format_amount
|
||||
|
||||
bp: Blueprint = Blueprint("report", __name__)
|
||||
bp: Blueprint = Blueprint("accounting-report", __name__)
|
||||
"""The view blueprint for the reports."""
|
||||
bp.add_app_template_filter(format_amount, "accounting_report_format_amount")
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* style.css: The style sheet for the accounting application.
|
||||
*/
|
||||
|
||||
@ -316,6 +316,10 @@ a.accounting-report-table-row {
|
||||
}
|
||||
|
||||
/* The description editor */
|
||||
.accounting-description-editor-buttons {
|
||||
max-height: 7rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.accounting-description-editor-buttons .btn {
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* account-form.js: The JavaScript for the account form
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* account-order.js: The JavaScript for the account order
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* currency-form.js: The JavaScript for the currency form
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* description-editor.js: The JavaScript for the description editor
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* drag-and-drop-reorder.js: The JavaScript for the reorder a list with drag-and-drop
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* journal-entry-account-selector.js: The JavaScript for the account selector of the journal entry form
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* journal-entry-form.js: The JavaScript for the journal entry form
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* journal-entry-line-item-editor.js: The JavaScript for the journal entry line item editor
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* journal-entry-order.js: The JavaScript for the journal entry order
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* material-fab-speed-dial.js: The JavaScript for the speed dial for the material floating buttons
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* account-form.js: The JavaScript for the account form
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* original-line-item-selector.js: The JavaScript for the original line item selector
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* The Mia! Accounting Flask Project
|
||||
/* The Mia! Accounting Project
|
||||
* period-chooser.js: The JavaScript for the period chooser
|
||||
*/
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/2/25
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# The Mia! Accounting Flask Project.
|
||||
# The Mia! Accounting Project.
|
||||
# Author: imacat@mail.imacat.idv.tw (imacat), 2023/3/3
|
||||
|
||||
# Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
create.html: The account creation form
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
detail.html: The account detail
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
edit.html: The account edit form
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
form.html: The account form
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
list.html: The account list
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
order.html: The order of the accounts under a same base account
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
detail.html: The base account detail
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
list.html: The base account list
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
base.html: The application-wide base template.
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{#
|
||||
The Mia! Accounting Flask Project
|
||||
The Mia! Accounting Project
|
||||
create.html: The currency creation form
|
||||
|
||||
Copyright (c) 2023 imacat.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user