mirror of
https://github.com/chatwoot/chatwoot.git
synced 2026-06-04 21:02:35 +08:00
Standardizes the contact company import/filter/automation contract on `company_name`. Closes #14096 Revives #9907 ## Why Contact company is read across the current CRM/contact UI from `additional_attributes['company_name']`, but CSV import and a few backend filter/automation paths still used the older `company` key. That meant imported company values could be saved in a place the dashboard, sorting, filters, and automation conditions did not consistently read from. Based on the production data check, the legacy `company` automation configuration is effectively dead: the affected account did not have contacts populated with `additional_attributes['company']`. So this PR intentionally avoids adding long-term fallback behavior and uses `company_name` as the single key going forward. ## What changed - Contact CSV import now writes only `company_name` into `additional_attributes['company_name']`. - The example contact import CSV now uses the `company_name` header. - Contact company sorting/filter config now uses `company_name`. - Automation condition config now uses `company_name`. - Existing standard automation conditions with `attribute_key: 'company'` are migrated to `company_name`. - Existing saved contact filters with standard `attribute_key: 'company'` are migrated to `company_name`. - Custom attributes named `company` are preserved and are not rewritten by the migration. ## How to test - Import a contact CSV with a `company_name` column and confirm the Contact Company field is populated. - Sort contacts by Company and confirm imported contacts are ordered correctly. - Create/edit an automation with Company as a condition and confirm it saves with `company_name`. - Verify existing saved contact filters and automation rules using the old standard `company` key are migrated to `company_name`. --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Sojan Jose <sojan@pepalo.com> |
||
|---|---|---|
| .. | ||
| account | ||
| auto_assignment | ||
| automation_rules | ||
| base | ||
| contacts | ||
| conversations | ||
| crm | ||
| data_import | ||
| email_templates | ||
| filters | ||
| geocoder | ||
| imap | ||
| internal | ||
| labels | ||
| line | ||
| linear | ||
| liquid | ||
| llm_formatter | ||
| macros | ||
| mailbox | ||
| message_templates | ||
| messages | ||
| mfa | ||
| microsoft | ||
| notification | ||
| reporting_events | ||
| reports | ||
| sms | ||
| telegram | ||
| tiktok | ||
| twilio | ||
| widget | ||
| account_deletion_service.rb | ||
| action_service.rb | ||
| base_refresh_oauth_token_service.rb | ||
| base_token_service.rb | ||
| csat_survey_service.rb | ||
| csat_template_management_service.rb | ||
| csat_template_name_service.rb | ||
| csat_template_utility_analysis_service.rb | ||
| csat_template_utility_rubric.rb | ||
| filter_service.rb | ||
| ip_lookup_service.rb | ||
| search_service.rb | ||
| social_link_parser.rb | ||
| website_branding_service.rb | ||