Commit Graph

29 Commits

Author SHA1 Message Date
Mihir Kandoi
1887825ce5 fix: clear linked comments, versions and attachments with old logs
Repost Item Valuation and BOM Update Log cleared old logs with a raw
delete on the parent table, orphaning timeline comments, versions,
attachments and other reference records.

Fixes #57237
2026-07-17 21:24:08 +05:30
Mihir Kandoi
10744d1332 chore: rewrite user-facing messages in Utilities module
Conservative cleanup of frappe.throw/msgprint messages per the message style
guide; meaning, severity, and .format() arguments are unchanged:

- index bare {} placeholders as {0}/{1}/... so translators can reorder
- move f-strings / .format() / concatenation out of _() (they break gettext
  extraction and never translate)
- wrap translatable dynamic values (DocType/Select labels) in _()
- fix grammar and colloquialisms
- drop no-op _() wrapping runtime-built strings

Part of #53976.
2026-06-25 17:37:24 +05:30
Mihir Kandoi
96d4c48357 refactor(postgres): port Setup/Utilities/Templates/Regional queries to the query builder
Convert raw `frappe.db.sql` in the Setup, Utilities, Templates and Regional
areas to `frappe.qb` / the ORM so the same code runs on MariaDB and Postgres.
Behaviour is preserved on MariaDB; the conversions also make these paths valid
under Postgres' stricter SQL (GROUP BY, case-sensitivity, reserved words).

Conversions of note (behaviour kept identical to the MariaDB original):
- email_digest: ToDo ordering replicated with a CASE that mirrors MySQL
  `field(priority,'High','Medium','Low')` (unknown/NULL -> 0, sorts first),
  NULL-date-first and a `name` tie-break for a deterministic LIMIT.
- company.get_all_transactions_annual_history: the cross-DocType UNION + GROUP BY
  is replaced by one grouped query per DocType merged with a Counter, so two
  different DocTypes sharing a transaction_date still collapse into one bucket.
- templates/utils.send_message: contact lookup wraps both sides in LOWER() to
  keep MariaDB's case-insensitive email match on case-sensitive Postgres.
- regional/irs_1099 & uae_vat_201: address ranking and emirate aggregation
  rebuilt with CASE/aggregate selects that satisfy Postgres GROUP BY, with a
  deterministic tie-break on the LIMIT-1 address lookups.
- utilities/product.get_item_codes_by_attributes: numeric attribute values are
  cast with cstr() so Postgres doesn't reject `varchar = numeric`.

Tests (run on both MariaDB and Postgres, --lightmode):
- New: company merge test, authorization_rule duplicate-check, youtube report,
  templates/utils, and utilities/templates page reports (partners, rfq,
  material_request_info, product, utilities __init__).
- Existing suites kept green: company, email_digest, transaction_deletion_record,
  irs_1099, uae_vat_201.

Deferred (tracked separately):
- setup/doctype/authorization_control.py still has raw `.format()` SELECTs;
  left for its own PR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 14:37:50 +05:30
Jannat Patel
866b252309 chore: update sales_data from site_info 2025-09-23 13:09:59 +05:30
Ankush Menat
0b86b1baca refactor: make payments app a soft dependency (#33245)
refactor: make payment app a soft dependency
2022-12-08 16:40:13 +05:30
Ankush Menat
494bd9ef78 style: format code with black 2022-03-28 18:52:46 +05:30
Ankush Menat
6098e92ba9 chore: remove utf-8 compat code 2021-11-05 11:16:29 +05:30
Chillar Anand
915b34391c chore: Clean up imports (#27302)
* chore: Added isort to pre-commit config

* chore: Sort imports with isort

* chore: Clean up imports with pycln

* chore: Sort imports with isort

* chore: Fix import issues

* chore: Clean up sider issues

* chore: Remove import errors from flake8 ignore list

* chore: Clean up lint issues
2021-09-02 16:44:59 +05:30
Suraj Shetty
c702408f99 chore: Remove unnecessary print statements 2021-05-06 18:37:45 +05:30
Aditya Hase
f3c22f342c fix(unicode): Import unicode_literals in every file 2019-01-22 18:36:10 +05:30
Rushabh Mehta
708e47aadf optimize(various) 2018-08-08 16:37:31 +05:30
Aditya Hase
6ccb6562f1 Python 3 compatibility syntax error fixes (#10519)
* Use Python 3 style print function

* Use 'Exception as e' instead of 'Exception, e'

* Unpack tuple arguments explicitly in instead of relying on auto unpacking

* Use consistent indentation

* Use 0 if stock_frozen_upto_days is None
2017-08-28 18:17:36 +05:30
Saurabh
f4ee682400 [fix] pass company filter as string in get_value (#8823) 2017-05-16 08:30:27 +05:30
Rushabh Mehta
6dd461fec4 [add] site activation level 2017-02-16 14:53:21 +05:30
Anand Doshi
f576f3b17b implemented get_site_info for erpnext and patch to move setup complete to system settings 2016-06-25 19:52:26 +05:30
Rushabh Mehta
81e9d4e8f5 [fix] changed text > text editor for description fields in tables 2015-08-19 13:00:03 +05:30
Rushabh Mehta
9dd8aab211 [fix] status updater 2015-05-18 11:19:10 +05:30
Anand Doshi
885e074697 Changed company name from Web Notes to Frappe Technologies 2015-03-03 14:56:43 +05:30
Nabin Hait
62ec60188b use build_filter_conditions from db_query. Fixes #1679 2014-05-30 11:22:10 +05:30
Rushabh Mehta
2c45899a02 fixed strings for translation 2014-04-15 14:41:56 +05:30
Rushabh Mehta
793ba6bd37 -webnotes +frappe 💥 2014-02-14 15:47:51 +05:30
Rushabh Mehta
afea58b7a1 moved modules inside erpnext folder 2013-12-11 10:43:52 +05:30
Rushabh Mehta
2fa2f7178d moved directory structure 2012-09-24 19:13:42 +05:30
Anand Doshi
486f9dfcec added unicode_literals import at start of each file 2012-07-19 13:40:31 +05:30
Rushabh Mehta
16aea34a37 show new reports as well as old 2012-05-29 10:53:37 +05:30
Rushabh Mehta
12852e73ab added activity page 2012-02-29 15:11:06 +05:30
Rushabh Mehta
3966f1dc5d added license files 2012-02-23 12:35:32 +05:30
Rushabh Mehta
d025133b39 added module pages and other css updates 2012-02-21 17:26:50 +05:30
Rushabh Mehta
66ac2b018a first cut for lazy loading framework 2011-09-05 18:43:09 +05:30