Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
1b457e0
fix: refactor code structure for improved readability and maintainabi…
trufurs Jul 28, 2026
fb3b61c
feat: add design-token aliases for improved compatibility with CRM ve…
trufurs Aug 4, 2026
13b32b9
fix(deps): sync yarn.lock with the frappe-ui pin and patch 6 advisories
trufurs Aug 4, 2026
c62e338
fix(frontend): follow the CRM's own sidebar/list markup across versions
trufurs Aug 4, 2026
9d32fad
fix(frontend): correct the design-token aliases for both frappe-ui ge…
trufurs Aug 4, 2026
4af02f6
chore: drop superseded assets and a stale platform pin
trufurs Aug 4, 2026
253041d
fix: bound the frappe-dependencies version ranges
trufurs Aug 5, 2026
7e9a02f
Merge remote-tracking branch 'rtcamp/version-16' into ui-fixes
trufurs Aug 18, 2026
b2b3690
fix: Remove unnecessary descriptions from custom fields in JSON
trufurs Aug 18, 2026
ef89070
fix: update version to 1.1.0
trufurs Aug 20, 2026
76f3552
Merge branch 'version-16-hotfix' into ui-fixes
trufurs Aug 20, 2026
954d985
refactor: streamline sidebar row handling and improve sidebar collaps…
trufurs Aug 20, 2026
c03dfea
refactor: improve sidebar functionality and clean up event handling
trufurs Aug 21, 2026
8a89b81
fix: update dependencies for frappe and crm in pyproject.toml; enhanc…
trufurs Aug 24, 2026
eb1ac8e
fix: update frappe dependency version to ensure compatibility
trufurs Aug 24, 2026
f9b04e9
fix: security changes
trufurs Aug 24, 2026
d150abf
refactor: enhance sidebar row handling with utility functions for ele…
trufurs Aug 24, 2026
21930fb
feat: add modern sidebar support and create section label utility
trufurs Aug 24, 2026
06a0fd0
fix: update frappe-ui dependency version to 1.0.0-beta.29 for compati…
trufurs Aug 24, 2026
2f7b536
feat: enhance sidebar functionality with active row synchronization a…
trufurs Aug 24, 2026
9ee0c78
fix: Relink Gmail threads from leads to converted deals
trufurs Aug 24, 2026
0202eb0
Merge branch 'version-16-hotfix' into ui-fixes
trufurs Aug 25, 2026
508bb21
Merge branch 'version-16-hotfix' into ui-fixes
trufurs Sep 4, 2026
849831d
chore: version bump to 1.2.0
trufurs Sep 4, 2026
74c3895
fix: update dependencies and styles
trufurs Sep 7, 2026
dbc2062
feat: add patch to clear descriptions of specific calendar fields in …
trufurs Sep 7, 2026
d6d90db
fix: remove unsupported icon attribute for group types in sidebar con…
trufurs Sep 7, 2026
651fe27
fix: update fields in CRM Lead sidebar list view
trufurs Sep 7, 2026
279ad96
Merge pull request #83 from rtCamp/ui-fixes
trufurs Sep 8, 2026
1a1a325
fix: update filters and add new field names in clear_calendar_field_d…
trufurs Sep 8, 2026
d9bd363
Merge branch 'version-16' into ui-fixes
trufurs Sep 8, 2026
d073778
Merge pull request #99 from rtCamp/ui-fixes
trufurs Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
*.egg-info
*.swp
__pycache__
.ruff_cache
dev-dist
tags
node_modules
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,6 @@ crm_sidebar = [
{
"label": "Procurement",
"type": "group",
"icon": "package",
"items": [
{
"label": "Suppliers",
Expand All @@ -335,7 +334,7 @@ crm_sidebar = [
| `type` | `str` | ✅ | `"list_view"`, `"route"`, `"separator"`, or `"group"` |
| `doctype` | `str` | `list_view` only | Frappe DocType to display |
| `url` | `str` | `route` only | Destination URL |
| `icon` | `str` | — | [Lucide](https://lucide.dev/icons/) icon name (default: `"list"`) |
| `icon` | `str` | — | [Lucide](https://lucide.dev/icons/) icon name (default: `"list"`). Not supported on `group` — FCRM section headers are chevron + text only |
| `default_filters` | `dict` | — | Pre-applied filters; users can see and clear them |
| `hidden_filters` | `dict` | — | Always-applied filters; never shown in the UI |
| `fields` | `list[str]` | — | Column order override; title and Modified are always included |
Expand Down
2 changes: 1 addition & 1 deletion frappe_crm_xt/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.1.1"
__version__ = "1.2.0"
6 changes: 3 additions & 3 deletions frappe_crm_xt/fixtures/crm_form_script.json

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions frappe_crm_xt/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@
# Destination URL, e.g. "/app/purchase-order" or "https://example.com"
#
# icon (str, optional) Lucide icon name (default: "list")
# Not supported on type == "group": FCRM section headers are chevron +
# text only (frappe-ui SidebarLabel has no icon slot), so a group icon
# would be the one header in the sidebar that looks different.
# Any of the 1600+ Lucide icon names work — see https://lucide.dev/icons/
# Common examples: users, user, briefcase, file-text, package,
# shopping-cart, tag, inbox, phone, calendar, square-check,
Expand Down Expand Up @@ -174,7 +177,6 @@
# {
# "label": "Procurement", # ── collapsible group ───────────────────
# "type": "group",
# "icon": "package",
# "items": [
# {
# "label": "Suppliers",
Expand All @@ -198,7 +200,6 @@
{
"label": "List Views",
"type": "group",
"icon": "layout-grid",
"items": [
{
"label": "Reports",
Expand All @@ -214,7 +215,7 @@
"type": "list_view",
"doctype": "CRM Lead",
"icon": "users",
"fields": ["name", "lead_name", "organization", "status", "creation"],
"fields": ["name", "title", "organization", "status", "creation"],
"default_filters": {"converted": ["=", "1"]},
"row_url": "/crm/leads/{name}",
},
Expand Down
1 change: 1 addition & 0 deletions frappe_crm_xt/patches.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ frappe_crm_xt.patches.v1_0.reset_fcrm_note_modified_to_creation
frappe_crm_xt.patches.v1_0.setup_global_search_for_crm_doctypes #rerun to add CRM Organization
frappe_crm_xt.patches.v1_0.create_crm_slack_notifications
frappe_crm_xt.patches.v1_0.relink_gmail_threads_to_converted_deals
frappe_crm_xt.patches.v1_0.clear_calendar_field_descriptions
27 changes: 27 additions & 0 deletions frappe_crm_xt/patches/v1_0/clear_calendar_field_descriptions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import frappe

FIELDNAMES = (
"custom_start_datetime",
"custom_sync_with_calendar",
"custom_google_calendar_link",
"custom_slack_channel_link",
"custom_original_hourly_rate_exchange_rate",
"custom_effective_hourly_rate_exchange_rate",
)


def execute():
names = frappe.get_all(
"Custom Field",
filters={
"dt": ["in", ("CRM Task", "CRM Deal")],
"fieldname": ["in", FIELDNAMES],
"description": ["is", "set"],
},
pluck="name",
)
if not names:
return

for name in names:
frappe.db.set_value("Custom Field", name, "description", "", update_modified=False)
252 changes: 0 additions & 252 deletions frappe_crm_xt/public/js/search_bar.js

This file was deleted.

1 change: 0 additions & 1 deletion frappe_crm_xt/public/js/style.css

This file was deleted.

7 changes: 2 additions & 5 deletions frappe_crm_xt/setup/custom_fields.json
Original file line number Diff line number Diff line change
Expand Up @@ -422,8 +422,7 @@
"fieldname": "custom_start_datetime",
"fieldtype": "Datetime",
"label": "Start Date & Time",
"insert_after": "due_date",
"description": "Start of the calendar event. Stored in the system timezone; shown in each user's own timezone."
"insert_after": "due_date"
},
{
"fieldname": "custom_calendar_sync_section",
Expand All @@ -436,7 +435,6 @@
"fieldname": "custom_sync_with_calendar",
"fieldtype": "Check",
"label": "Sync with Calendar",
"description": "When checked, a Frappe Event is created on this task and linked to your calendar.",
"insert_after": "custom_calendar_sync_section"
},
{
Expand All @@ -453,8 +451,7 @@
"label": "Google Calendar",
"options": "Google Calendar",
"insert_after": "custom_event_participants",
"depends_on": "eval:doc.custom_sync_with_calendar",
"description": "The connected Google Calendar to push this event to. The calendar must be authorized with Push enabled."
"depends_on": "eval:doc.custom_sync_with_calendar"
}
],
"CRM Deal Status": [
Expand Down
Loading
Loading