Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: conditionally apply is_group filter in accounting dimension query #40414

Merged
merged 1 commit into from
Mar 12, 2024

Conversation

ruchamahabal
Copy link
Member

Employee is a treeview doctype (has is_tree enabled from #39126) but it does not have the is_group field. Depends on reports_to for linking. Handle the error
Query filter for accounting dimension fails due to this

Traceback (most recent call last):
  File "apps/frappe/frappe/app.py", line 110, in application
    response = frappe.api.handle(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api/__init__.py", line 49, in handle
    data = endpoint(**arguments)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/api/v1.py", line 36, in handle_rpc_call
    return frappe.handler.handle()
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/handler.py", line 49, in handle
    data = execute_cmd(cmd)
           ^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/handler.py", line 85, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1716, in call
    return fn(*args, **newargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/desk/search.py", line 47, in search_link
    results = search_widget(
              ^^^^^^^^^^^^^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/desk/search.py", line 94, in search_widget
    return frappe.call(
           ^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1716, in call
    return fn(*args, **newargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 2458, in wrapper
    return fn(**kwargs)
           ^^^^^^^^^^^^
  File "apps/erpnext/erpnext/controllers/queries.py", line 692, in get_filtered_dimensions
    output = frappe.get_list(
             ^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1980, in get_list
    return frappe.model.db_query.DatabaseQuery(doctype).execute(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/db_query.py", line 192, in execute
    result = self.build_and_run()
             ^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/db_query.py", line 233, in build_and_run
    return frappe.db.sql(
           ^^^^^^^^^^^^^^
  File "apps/frappe/frappe/database/database.py", line 234, in sql
    self._cursor.execute(query, values)
  File "env/lib/python3.11/site-packages/pymysql/cursors.py", line 153, in execute
    result = self._query(query)
             ^^^^^^^^^^^^^^^^^^
  File "env/lib/python3.11/site-packages/pymysql/cursors.py", line 322, in _query
    conn.query(q)
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 558, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 822, in _read_query_result
    result.read()
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 1200, in read
    first_packet = self.connection._read_packet()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "env/lib/python3.11/site-packages/pymysql/connections.py", line 772, in _read_packet
    packet.raise_for_error()
  File "env/lib/python3.11/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "env/lib/python3.11/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1054, "Unknown column 'tabEmployee.is_group' in 'where clause'")

@github-actions github-actions bot added the needs-tests This PR needs automated unit-tests. label Mar 12, 2024
@ruchamahabal ruchamahabal added backport version-14-hotfix backport to version 14 backport version-15-hotfix and removed needs-tests This PR needs automated unit-tests. labels Mar 12, 2024
@ruchamahabal ruchamahabal enabled auto-merge (squash) March 12, 2024 14:39
@ruchamahabal ruchamahabal merged commit daf4ae2 into frappe:develop Mar 12, 2024
14 checks passed
mergify bot pushed a commit that referenced this pull request Mar 12, 2024
mergify bot pushed a commit that referenced this pull request Mar 12, 2024
ruchamahabal added a commit that referenced this pull request Mar 12, 2024
…ery (backport #40414) (#40416)

fix: conditionally apply `is_group` filter in accounting dimension query (#40414)

(cherry picked from commit daf4ae2)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
ruchamahabal added a commit that referenced this pull request Mar 12, 2024
…ery (backport #40414) (#40415)

fix: conditionally apply `is_group` filter in accounting dimension query (#40414)

(cherry picked from commit daf4ae2)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
frappe-pr-bot pushed a commit that referenced this pull request Mar 12, 2024
## [14.65.1](v14.65.0...v14.65.1) (2024-03-12)

### Bug Fixes

* barcode field on line item not working (backport [#40381](#40381)) ([#40383](#40383)) ([80df609](80df609))
* conditionally apply `is_group` filter in accounting dimension query (backport [#40414](#40414)) ([#40415](#40415)) ([cd40038](cd40038))
* error message wording ([#40403](#40403)) ([7402303](7402303))
* Filter for projects in Sales Cycle ([8d63d19](8d63d19))
* get_user_default_as_list args order ([e0d1b4b](e0d1b4b))
* incorrect work order status (backport [#40407](#40407)) ([#40410](#40410)) ([c413b04](c413b04))
* load ignored doctype and include Mode of Payment Account ([#40334](#40334)) ([411157c](411157c))
* message for subscription when no current inv ([e9c2f6d](e9c2f6d))
* MR Default Supplier search query (backport [#40273](#40273)) ([#40350](#40350)) ([c6fe409](c6fe409))
* qc created for raw materials during manufacture entry (backport [#40408](#40408)) ([#40412](#40412)) ([21b57d9](21b57d9))
* recursion issue while submitting work order (backport [#40400](#40400)) ([#40401](#40401)) ([06e3874](06e3874))
* Sender email in process statements of accounts ([ea605e7](ea605e7))
* **Shipment Parcel:** make length, width and height non-mandatory ([911a582](911a582))
* subcontracting receipt -> alllow to change Batch / Serial Nos (v14) ([#40371](#40371)) ([ffd04b3](ffd04b3))
* UAE tax computation fix ([02cd8c4](02cd8c4))
frappe-pr-bot pushed a commit that referenced this pull request Mar 13, 2024
# [15.17.0](v15.16.2...v15.17.0) (2024-03-13)

### Bug Fixes

* **accounts:** Allow setting Number of new Cost Center (backport [#40212](#40212)) ([#40314](#40314)) ([7001e0a](7001e0a))
* advance paid amount and ledger entries against SO/PO ([6a5a941](6a5a941))
* barcode field on line item not working (backport [#40381](#40381)) ([#40384](#40384)) ([9ce68de](9ce68de))
* batch no not copied while making Material Consumption entry (backport [#40290](#40290)) ([#40300](#40300)) ([6d1c144](6d1c144))
* Blanket order rate getting changed on converting to order ([d8c6eb0](d8c6eb0))
* conditionally apply `is_group` filter in accounting dimension query (backport [#40414](#40414)) ([#40416](#40416)) ([40752c1](40752c1))
* decimal issue while making the stock entry (backport [#40394](#40394)) ([#40397](#40397)) ([91af7c0](91af7c0))
* error message wording ([#40403](#40403)) ([2a40808](2a40808))
* Filter for projects in Sales Cycle ([173b3b8](173b3b8))
* get_user_default_as_list args order ([44ff607](44ff607))
* if input manualy material request on WO the material_request_item is not set so validate WO give error (backport [#40180](#40180)) ([#40421](#40421)) ([a5e6763](a5e6763))
* incorrect advance paid in Sales/Purchase Order ([6832908](6832908))
* incorrect work order status (backport [#40407](#40407)) ([#40411](#40411)) ([605132a](605132a))
* load ignored doctype and include Mode of Payment Account ([#40334](#40334)) ([5fac500](5fac500))
* MR Default Supplier search query (backport [#40273](#40273)) ([#40351](#40351)) ([a195dd3](a195dd3))
* negative stock error for the batch (backport [#40389](#40389)) ([#40391](#40391)) ([478b988](478b988))
* not able to cancel purchase receipt for old subcontracting flow (backport [#40298](#40298)) ([#40302](#40302)) ([e0e80f7](e0e80f7))
* qc created for raw materials during manufacture entry (backport [#40408](#40408)) ([#40413](#40413)) ([f932265](f932265))
* recursion issue while submitting work order (backport [#40400](#40400)) ([#40402](#40402)) ([d6e87f3](d6e87f3))
* Sender email in process statements of accounts ([953f640](953f640))
* **Shipment Parcel:** make length, width and height non-mandatory ([1476196](1476196))
* stock ledger balance qty for the batch (backport [#40274](#40274)) ([#40301](#40301)) ([62aefce](62aefce))
* use serial batch fields for subcontracting receipt (backport [#40311](#40311)) ([#40315](#40315)) ([4b15c00](4b15c00))
* use serial/batch field for rejected items (backport [#40327](#40327)) ([#40329](#40329)) ([7ca7242](7ca7242))
* Use serial/batch fields for delivery note return (backport [#40374](#40374)) ([#40376](#40376)) ([32660ab](32660ab))

### Features

* add recursion qty field in promotional scheme ([5f4b23d](5f4b23d))
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant