lambda-erp 0.6.20__tar.gz → 0.6.21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/PKG-INFO +1 -1
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/masters.py +4 -1
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/pyproject.toml +1 -1
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/.gitignore +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/LICENSE +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/README.md +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/attachments.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/auth.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/bootstrap.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/chat.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/demo_limits.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/deps.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/errors.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/main.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/oauth.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/pdf.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/providers.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/remarks_md.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/accounting.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/admin.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/analytics.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/bank_reconciliation.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/chat_api.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/documents.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/mcp.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/proposals.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/reports.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/routers/setup.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/services.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/templates/document.html +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/api/templates/proposal.html +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/docs/agents/README.md +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/frontend/LICENSE +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/frontend/README.md +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/frontend/src/api/client.ts +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/bank_transaction.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/budget.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/chart_of_accounts.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/general_ledger.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/journal_entry.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/payment_entry.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/pos_invoice.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/purchase_invoice.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/revaluation.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/sales_invoice.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/engine.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/pack.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/packs/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/packs/ch.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/packs/de_common.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/packs/de_skr03.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/packs/de_skr04.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/packs/generic.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/profiles.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/setup/spine.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/accounting/subscription.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/buying/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/buying/purchase_order.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/controllers/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/controllers/currency.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/controllers/defaults.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/controllers/pricing_rule.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/controllers/taxes_and_totals.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/database.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/exceptions.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/hooks.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/model.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/selling/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/selling/proposal.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/selling/quotation.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/selling/sales_order.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/simulation.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/stock/__init__.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/stock/delivery_note.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/stock/purchase_receipt.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/stock/stock_entry.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/stock/stock_ledger.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/lambda_erp/utils.py +0 -0
- {lambda_erp-0.6.20 → lambda_erp-0.6.21}/terraform/README.md +0 -0
|
@@ -319,9 +319,12 @@ def search_masters(master_type: str, q: str = "", _user: dict = _viewer):
|
|
|
319
319
|
if not q:
|
|
320
320
|
return db.get_all(doctype, filters=_with_active_filter(db, doctype), fields=["name", name_field], limit=10)
|
|
321
321
|
|
|
322
|
+
# Case-INSENSITIVE: on Postgres plain LIKE is case-sensitive, so "plus medica"
|
|
323
|
+
# would miss "Plus Medica AG". LOWER(...) LIKE LOWER(...) is portable (SQLite
|
|
324
|
+
# + Postgres) and matches how the document search (_search_clause) works.
|
|
322
325
|
rows = db.sql(
|
|
323
326
|
f'SELECT name, "{name_field}" FROM "{doctype}" '
|
|
324
|
-
f'WHERE {active_prefix}(name LIKE ? OR "{name_field}" LIKE ?) LIMIT 10',
|
|
327
|
+
f'WHERE {active_prefix}(LOWER(name) LIKE LOWER(?) OR LOWER("{name_field}") LIKE LOWER(?)) LIMIT 10',
|
|
325
328
|
[f"%{q}%", f"%{q}%"],
|
|
326
329
|
)
|
|
327
330
|
return rows
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|