Skip to content

Backend and frontend improvements to CRM activities, filtering, SMS functionality and more#10

Merged
vladiacob merged 39 commits intohackajob:hackajob-developmentfrom
nidh-eesh:nidheesh-milestone-1
Oct 21, 2025
Merged

Backend and frontend improvements to CRM activities, filtering, SMS functionality and more#10
vladiacob merged 39 commits intohackajob:hackajob-developmentfrom
nidh-eesh:nidheesh-milestone-1

Conversation

@nidh-eesh
Copy link

@nidh-eesh nidh-eesh commented Sep 25, 2025

This pull request introduces several backend and frontend improvements to CRM activities, filtering, and SMS functionality. The main highlights are the addition of SMS support (including sending, receiving, and displaying SMS as activities), enhanced filtering for Table MultiSelect child table fields, optimized fetching of communication metadata, and improvements to email content rendering.

SMS Functionality:

  • Added new backend endpoints in crm/api/sms.py to send, receive, and fetch SMS messages, including logging SMS as Communication records and linking them to leads where possible.
  • Updated the frontend (ActivityHeader.vue) to add a "New SMS" button and action, enabling users to initiate SMS messages from the UI. [1] [2] [3] [4]

Filtering and Data Retrieval Enhancements:

  • Improved get_filterable_fields in crm/api/doc.py to include filterable fields for Table MultiSelect child tables, allowing advanced filtering similar to Frappe Desk.
  • Enhanced get_data in crm/api/doc.py to support complex filters on Table MultiSelect fields (including "in"/"is" logic for union/intersection), and to normalize phone-like fields for LIKE queries server-side.

Activity Data Optimization:

  • Optimized fetching of the sent_or_received field for communications in both deal and lead activities, reducing database queries by bulk-fetching missing values. [1] [2] [3] [4]

Email Content Rendering Improvements:

  • Improved the rendering of email content in EmailContent.vue and EmailArea.vue by adjusting iframe sizing dynamically, handling images and fonts loading, and notifying the parent when content is loaded. Added support for hiding the subject and controlling visibility. [1] [2] [3] [4] [5] [6] [7]

Other Changes:

  • Added a patch (crm/patches/v1_0/change_user_email_signature.py) and registered it in patches.txt to update the email_signature field type for users to "Text Editor". [1] [2]

These changes collectively improve CRM activity tracking, filtering capabilities, and user experience for both SMS and email communications.

Edit:
SMS Settings doctype config

sms_gateway:
provider: twilio
url: https://api.twilio.com/2010-04-01/Accounts/${TWILIO_ACCOUNT_SID}/Messages.json
method: POST
Body: "{{message}}"
To: "{{recipient}}"
parameters:
static:
From: "${TWILIO_FROM_NUMBER}"
headers:
Authorization: "Basic ${TWILIO_AUTH_BASE64}"
Content-Type: "application/x-www-form-urlencoded"

🔐 Required Environment Variables
Variable | Description | Example Format
TWILIO_ACCOUNT_SID | Your Twilio Account SID | ACxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_BASE64 | Base64-encoded SID:AUTH_TOKEN string | Basic xxxxxxxxxxxxxxxx==
TWILIO_FROM_NUMBER | Sender phone number (Twilio-managed) | +447XXXXXXXXX

… components to have blank subject by default
… threads, SMS threads, and other activities chronologically
@nidh-eesh nidh-eesh changed the title Nidheesh CRM changes milestone-1 Backend and frontend improvements to CRM activities, filtering, SMS functionality and more Sep 27, 2025
@nidh-eesh nidh-eesh closed this Sep 27, 2025
@nidh-eesh nidh-eesh deleted the nidheesh-milestone-1 branch September 27, 2025 06:41
@nidh-eesh nidh-eesh restored the nidheesh-milestone-1 branch September 27, 2025 06:41
@nidh-eesh nidh-eesh reopened this Sep 27, 2025
@nidh-eesh nidh-eesh force-pushed the nidheesh-milestone-1 branch from 76ccc73 to 5651b3d Compare October 10, 2025 01:13
@vladiacob vladiacob merged commit 6e6fa48 into hackajob:hackajob-development Oct 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants