Commit graph

1807 commits

Author SHA1 Message Date
s-aga-r
2c600ddcd8
feat(Email Account): make X-Original-From header configurable (#36686)
* feat(Email Account): make `X-Original-From` header configurable

* chore: set `add_x_original_from` to `1`
2026-02-09 10:46:10 +05:30
s-aga-r
786adfd341
fix(Communication): set In-Reply-To (#36746) 2026-02-09 10:42:19 +05:30
Kaushal Shriwas
b39800e5aa
fix: replace bare raise statement with AuthenticationError in oauth.py (#36729)
* fix: replace bare raise statement with AuthenticationError in oauth.py

* fix: add error log
2026-02-06 12:09:51 +05:30
Shrihari Mahabal
612e02da02 fix: modify email header test and email header html to support indicators 2026-02-05 19:12:25 +05:30
Smit Vora
135748475a fix: remove indicator; make templates consistent 2026-02-02 14:54:13 +05:30
Smit Vora
bf93eae041 feat: create base notification templates 2026-02-01 16:54:56 +05:30
ALB.Leach
e4376fc067
Merge branch 'develop' into bleach-to-nh3 2026-01-23 15:29:44 +07:00
Akhil Narang
93e2b64c0b
Merge pull request #34801 from alexleach/html_emails
feat: Raw Html Emails
2026-01-06 12:21:03 +05:30
Alex Leach
f4c07a1c5a
docs: Add description to Email Queue Raw HTML field 2026-01-06 06:01:33 +00:00
ALB.Leach
b9e6ba7f52
refactor: use cached Email Templates
Co-authored-by: Akhil Narang <me@akhilnarang.dev>
2026-01-06 06:01:33 +00:00
Alex Leach
e8d1d40ff1
feat(email): add option to exclude default CSS 2026-01-06 06:01:31 +00:00
Alex Leach
84bf12711b
refactor: share params between render email template calls 2026-01-06 06:01:26 +00:00
Ejaaz Khan
6861d34e20 fix: run after commit only if queue available 2026-01-05 15:31:17 +05:30
Alex Leach
e835f1c7c9
feat: Add raw_html parameter to all relevant doctypes 2026-01-04 01:56:24 +00:00
Alex Leach
75b481a4f9
feat: Inject footer and header within an HTML Email Template 2026-01-04 01:55:45 +00:00
Alex Leach
a5ef0104f1
fix: Update failing email_account unit tests that don't play with nh3 2026-01-04 00:52:14 +00:00
Corentin Forler
ad443013ea
fix: Remove newlines from filename in email attachment (#35151) 2025-12-29 16:18:13 +05:30
Akhil Narang
473d385942
fix(sendmail): fix invalid type annotation (#35417)
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-12-23 11:16:31 +00:00
Akhil Narang
8723a2b6ee
fix: ruff fixes
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-12-22 21:06:48 +05:30
sokumon
dd2dc053ca chore: more renames to /desk 2025-12-18 20:45:04 +05:30
Ankush Menat
c944981a3e
fix: Lock email queue before sending (#35334)
Avoids duplicate flushes.
2025-12-18 10:36:24 +00:00
Ankush Menat
9979314b32 test: commit to trigger sendmail 2025-12-17 16:36:06 +05:30
Ankush Menat
71692b487b fix!: sendmail now=True after current transaction is commited
Sendmail implicitly commits transaction to update status.

Do it after the parent transaction is commited.

closes https://github.com/frappe/frappe/issues/33343
2025-12-17 15:53:16 +05:30
Abdeali Chharchhodawala
4647986aeb
fix!: Always Bold report header row (#34703)
* fix: Always bold report header row

* fix: update test cases

* refactor: add option to bold filter rows in XLSX output

* chore: minor changes

* chore: rename index variable

* revert: undo bold filters param use

* refactor: remove duplication for building xlsx data

* revert: add has_filters parameter to check for filter row bold

* refactor: add type hints and docstrings for XLSX data handling functions
2025-12-11 15:55:51 +05:30
s-aga-r
30156b8756
fix (FrappeMail): use custom raise_for_status (#35171) 2025-12-11 06:33:38 +00:00
Hussain Nagaria
046b4fa307
fix(ux): show email account name in error title if available (#35088) 2025-12-05 13:13:50 +00:00
Aarol D'Souza
cf69e4bed1
fix(postgres): misc query building fixes + CI (#34831)
* fix(query): check standard field definitions

Signed-off-by: Akhil Narang <me@akhilnarang.dev>

* fix(postgres): fix order_by problem in pg

* fix(postgres): fix order_by in get_all for _test_connection_query

* fix: add check to a proper numeric fallback in _get_ifnull_fallback

* test(postgres): fix pg query used in assertion in test_permission_query

* fix(postgres): fix order_by in get_all for possible_link

* fix(postgres): fix order_by in get_all for set_modules

* fix(postgres): fix pg query count *

* fix(postgres): fix order_by in get_all for ask_pass_update

* fix(postgres): fix order_by statement in search_widget

* fix(postgres): fix order_by in get_list for get_stats

* test(postgres): normalize_sql for pg queries in test_arithmetic_operators_in_fields

* test(postgres): normalize_sql for pg queries in test_field_alias_in_group_by

* test(postgres): normalize_sql for pg queries in test_field_alias_permission_check

* test(postgres): fix order_by statement in get_all for test_db_keywords_as_fields

* test(postgres): fix order_by statement in get_all for test_prepare_select_args

* fix(treeview): use 0 instead of false to check since check field is an integer

* fix(postgres): fix order_by in get_all for sync_communication

* fix(postgres): fix order_by in get_all for get_references_across_doctypes_by_dynamic_link_field

* test(postgres): fix order_by in get_all for test_list_summary

* fix(postgres): fix order_by in get_all for email queries

* test(postgres): use order_by none and update assertion for postgres

* fix(postgres): use ILIKE to support case insensitive search in postgres

* test(test_query): update pg specific query assert to use ILIKE

* test(test_query): update test_nested_filters to use ilike instead for PG

* test(postgres): update pg query in assert to test updated qb query

* fix(search): update query to be db-agnostic

* test(postgres): normalize query for pg in test_build_match_conditions

* fix(postgres): suppress ORDER BY when SELECT DISTINCT in query for postgres specific behavior

* fix(postgres): suppress ORDER BY when GROUP BY is explicitly asked for pg specific behavior

* test(postgres): fix test behavior for pg ORDER BY drop when used with GROUP BY

* refactor: reducing noise in code by formatting code

* fix(query): use Star() to handle SQL wildcard character * correctly

* fix(postgres): display warning for ORDER BY fields that will be dropped

---------

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Co-authored-by: Akhil Narang <me@akhilnarang.dev>
2025-12-05 10:30:49 +05:30
diptanilsaha
39caf442e9 fix: permit email sending when recipients, cc are empty but bcc has value 2025-11-28 16:57:52 +05:30
Sagar Vora
370efbd3e8
fix!: use IIFE for dynamic JS evaluation (#33973)
Co-authored-by: Ankush Menat <ankush@frappe.io>
2025-11-22 11:18:50 +05:30
Raffael Meyer
d508948a93
fix(Notification): include "Attach Image" fieldtype in attachment options (#34803) 2025-11-21 02:52:11 +00:00
Raffael Meyer
9f04636736
fix(Notification): create system notification when explicitly enabled (#34454) 2025-11-20 12:43:28 +01:00
Akhil Narang
90ed0502fa
refactor: support new function style
- Migrate all SQL function usage from string format to dict format
- Old: fields=['count(*) as count']
- New: fields=[{'COUNT': '*', 'as': 'count'}]
- Add `NULLIF`

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-11-19 21:15:57 +05:30
Raffael Meyer
6c9c76a63c
feat(Email Queue): add banner if sending is disabled (#34683) 2025-11-14 12:38:06 +01:00
mergify[bot]
4e50fc2dcf
Merge branch 'develop' into setup-postgres-ci 2025-11-14 05:36:48 +00:00
Hussain Nagaria
fccaab4d5b
fix(AutoEmailReport): ignore mandatory field if hidden (#34640)
* fix: ignore hidden field for mandatory

Closes #34499

* chore: accurate comment
2025-11-08 12:49:46 +00:00
AarDG10
c52238087d test(postgres): fix test_smtp for Postgres 2025-11-05 13:06:07 +05:30
Henning Wendtland
93bff464bd
feat: add attachments to notification (#34197)
* feat: add attachments to notification

* chore: remove unneeded comment

* fix: revert change of function name

* fix: simplify if statement

* fix: use doc language with highest prio in print

* fix: prevent empty list in attached_file

For empty list []:
  - attachments and json.dumps(attachments) → returns [] (the empty list, because and short-circuits on falsy left side)
  - json.dumps(attachments) if attachments else None → returns None (because empty list is falsy in if condition)

* fix(Notification): improve print letterhead handling in email attachments

Fix the logic for determining the print letterhead attachment to handle cases with multiple attachments, and only one of them printed.

* refactor: get_attachment to improve clarity

* fix(Notification): better fieldnames

* fix(Notification): condition & validation for From Attach Field

* test(Notification): attach files

---------

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
2025-11-04 16:36:47 +01:00
Hussain Nagaria
0b6ba2c709
Merge pull request #34439 from frappe/fix/internal-communication
fix: consider sent or received for duplicate check
2025-10-27 23:02:32 +05:30
Akhil Narang
4119ef7203
fix: don't show stray , in communication relink dialog for some doctypes
Some doctypes like `Payment Entry`, `Bank Account`, `Pricing Rule` were present in 2 dashboards (customer and supplier dashboard), both of which were included in ERPNext communucation_doctype hooks

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-10-24 17:02:30 +05:30
Raffael Meyer
f2cf1652dd
fix(Notification): code samples (#34467) 2025-10-21 23:13:21 +02:00
Hussain Nagaria
ab9635d387 fix: get the latest communication for reply-to first 2025-10-17 18:22:29 +05:30
Hussain Nagaria
a164ebf583 test: mark inbound email as received 2025-10-17 15:06:13 +05:30
Hussain Nagaria
bf70022859 fix: consider sent or received for duplicate check 2025-10-17 13:49:39 +05:30
Akhil Narang
6ca4d4d167
refactor(treewide): ruff format
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2025-09-26 13:16:43 +05:30
Hussain Nagaria
6644159440
fix: gracefully handle missing from header in email (#33996) 2025-09-16 05:36:26 +00:00
Raffael Meyer
cc82ab19ab
feat: syntax highlighting in field description (#33791) 2025-09-03 03:21:34 +02:00
s-aga-r
41dbeb663d
fix(FrappeMail): chunk upload raw_message (#33860) 2025-09-01 06:29:31 +00:00
s-aga-r
a4f9f8fb28
fix(FrappeMail API): raise HTTP errors explicitly (#33835) 2025-08-29 10:08:41 +00:00
Raizaaa
aa3bb0e4d7 fix: remove trailing spaces in translatable strings 2025-08-27 13:23:17 +03:00
s-aga-r
1be699100e
refactor(FrappeMail): inbound API (#33714) 2025-08-20 08:23:52 +00:00