brotherton-erpnext/erpnext/patches/v14_0/migrate_crm_settings.py
Ankush Menat a3ea985348
refactor: Use db.set_single_value (#35668)
I just applied semgrep autofix. Untested completed, review before merging.

```yaml
- id: frappe-set-value-semantics
  patterns:
    - pattern-either:
      - pattern: frappe.db.set_value($DOCTYPE, None, $...AFTER)
      - pattern: frappe.db.set_value($DOCTYPE, $DOCTYPE, $...AFTER)
  fix: frappe.db.set_single_value($DOCTYPE, $...AFTER)
  message: |
    If $DOCTYPE is a single doctype then using `frappe.db.set_value` is discouraged for setting values in DB. Use db.set_single_value for single doctype instead.
  languages: [python]
  severity: ERROR
```
2023-06-13 17:30:38 +05:30

22 lines
524 B
Python

import frappe
def execute():
settings = frappe.db.get_value(
"Selling Settings",
"Selling Settings",
["campaign_naming_by", "close_opportunity_after_days", "default_valid_till"],
as_dict=True,
)
frappe.reload_doc("crm", "doctype", "crm_settings")
if settings:
frappe.db.set_single_value(
"CRM Settings",
{
"campaign_naming_by": settings.campaign_naming_by,
"close_opportunity_after_days": settings.close_opportunity_after_days,
"default_valid_till": settings.default_valid_till,
},
)