amsdal_crm 0.1.1__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/PKG-INFO +1 -1
  2. amsdal_crm-0.1.3/amsdal_crm/__about__.py +1 -0
  3. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/lifecycle/consumer.py +3 -1
  4. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/account.py +3 -3
  5. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/contact.py +3 -3
  6. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/deal.py +2 -2
  7. amsdal_crm-0.1.1/amsdal_crm/__about__.py +0 -1
  8. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/.amsdal/.environment +0 -0
  9. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/.amsdal-cli +0 -0
  10. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/.github/workflows/ci.yml +0 -0
  11. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/.github/workflows/release.yml +0 -0
  12. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/.github/workflows/tag_check.yml +0 -0
  13. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/.gitignore +0 -0
  14. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/CLAUDE.md +0 -0
  15. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/README.md +0 -0
  16. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/RELEASE.md +0 -0
  17. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/Third-Party Materials - AMSDAL Dependencies - License Notices.md +0 -0
  18. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/__init__.py +0 -0
  19. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/app.py +0 -0
  20. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/constants.py +0 -0
  21. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/errors.py +0 -0
  22. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/fixtures/__init__.py +0 -0
  23. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/fixtures/permissions.py +0 -0
  24. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/fixtures/pipelines.py +0 -0
  25. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/lifecycle/__init__.py +0 -0
  26. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/migrations/0000_initial.py +0 -0
  27. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/__init__.py +0 -0
  28. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/activity.py +0 -0
  29. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/attachment.py +0 -0
  30. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/custom_field_definition.py +0 -0
  31. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/pipeline.py +0 -0
  32. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/stage.py +0 -0
  33. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/models/workflow_rule.py +0 -0
  34. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/services/__init__.py +0 -0
  35. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/services/activity_service.py +0 -0
  36. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/services/custom_field_service.py +0 -0
  37. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/services/deal_service.py +0 -0
  38. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/services/email_service.py +0 -0
  39. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/services/workflow_service.py +0 -0
  40. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/amsdal_crm/settings.py +0 -0
  41. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/config.yml +0 -0
  42. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/license_check.py +0 -0
  43. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/pyproject.toml +0 -0
  44. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/scripts/release.sh +0 -0
  45. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/scripts/tag_check.sh +0 -0
  46. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/conftest.py +0 -0
  47. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/integration/__init__.py +0 -0
  48. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/integration/conftest.py +0 -0
  49. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/integration/services/__init__.py +0 -0
  50. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/integration/services/test_deal_service.py +0 -0
  51. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/integration/services/test_email_service.py +0 -0
  52. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/integration/services/test_workflow_service.py +0 -0
  53. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/__init__.py +0 -0
  54. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/conftest.py +0 -0
  55. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/lifecycle/__init__.py +0 -0
  56. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/lifecycle/test_consumer.py +0 -0
  57. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/__init__.py +0 -0
  58. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/test_account.py +0 -0
  59. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/test_activity.py +0 -0
  60. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/test_contact.py +0 -0
  61. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/test_deal.py +0 -0
  62. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/test_pipeline.py +0 -0
  63. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/test_remaining.py +0 -0
  64. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/models/test_stage.py +0 -0
  65. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/services/__init__.py +0 -0
  66. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/services/test_activity_service.py +0 -0
  67. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/services/test_custom_field_service.py +0 -0
  68. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/services/test_deal_service.py +0 -0
  69. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/services/test_email_service.py +0 -0
  70. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/services/test_workflow_service.py +0 -0
  71. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/test_app.py +0 -0
  72. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/test_constants.py +0 -0
  73. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/test_errors.py +0 -0
  74. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/tests/unit/test_settings.py +0 -0
  75. {amsdal_crm-0.1.1 → amsdal_crm-0.1.3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amsdal_crm
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: amsdal-crm plugin for AMSDAL Framework
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: aiohttp==3.12.15
@@ -0,0 +1 @@
1
+ __version__ = '0.1.3'
@@ -60,7 +60,7 @@ def _custom_field_def_to_control(field_def: Any) -> dict[str, Any]:
60
60
  A dictionary representing the frontend control configuration
61
61
  """
62
62
  control: dict[str, Any] = {
63
- 'name': f'custom_fields.{field_def.field_name}',
63
+ 'name': f'{field_def.field_name}',
64
64
  'label': field_def.field_label,
65
65
  'required': field_def.is_required,
66
66
  }
@@ -109,6 +109,8 @@ def _add_custom_fields_to_control(control: dict[str, Any], custom_field_controls
109
109
  # Update the custom_fields control to be a group with nested controls
110
110
  custom_fields_control['type'] = 'group'
111
111
  custom_fields_control['controls'] = custom_field_controls
112
+ if 'control' in custom_fields_control:
113
+ custom_fields_control.pop('control', None)
112
114
  else:
113
115
  # Add custom fields as a new group at the end
114
116
  control['controls'].append(
@@ -89,7 +89,7 @@ class Account(TimestampMixin, Model):
89
89
  if self.custom_fields:
90
90
  from amsdal_crm.services.custom_field_service import CustomFieldService
91
91
 
92
- self.custom_fields = CustomFieldService.validate_custom_fields('Account', self.custom_fields)
92
+ self.custom_fields = await CustomFieldService.avalidate_custom_fields('Account', self.custom_fields)
93
93
  await super().apre_create()
94
94
 
95
95
  def pre_update(self) -> None:
@@ -109,7 +109,7 @@ class Account(TimestampMixin, Model):
109
109
  if self.custom_fields:
110
110
  from amsdal_crm.services.custom_field_service import CustomFieldService
111
111
 
112
- self.custom_fields = CustomFieldService.validate_custom_fields('Account', self.custom_fields)
112
+ self.custom_fields = await CustomFieldService.avalidate_custom_fields('Account', self.custom_fields)
113
113
 
114
114
  # Call parent to handle timestamps
115
115
  await super().apre_update()
@@ -124,4 +124,4 @@ class Account(TimestampMixin, Model):
124
124
  """Async hook called after updating account."""
125
125
  from amsdal_crm.services.workflow_service import WorkflowService
126
126
 
127
- WorkflowService.execute_rules('Account', 'update', self)
127
+ await WorkflowService.aexecute_rules('Account', 'update', self)
@@ -89,7 +89,7 @@ class Contact(TimestampMixin, Model):
89
89
  if self.custom_fields:
90
90
  from amsdal_crm.services.custom_field_service import CustomFieldService
91
91
 
92
- self.custom_fields = CustomFieldService.validate_custom_fields('Contact', self.custom_fields)
92
+ self.custom_fields = await CustomFieldService.avalidate_custom_fields('Contact', self.custom_fields)
93
93
  await super().apre_create()
94
94
 
95
95
  def pre_update(self) -> None:
@@ -109,7 +109,7 @@ class Contact(TimestampMixin, Model):
109
109
  if self.custom_fields:
110
110
  from amsdal_crm.services.custom_field_service import CustomFieldService
111
111
 
112
- self.custom_fields = CustomFieldService.validate_custom_fields('Contact', self.custom_fields)
112
+ self.custom_fields = await CustomFieldService.avalidate_custom_fields('Contact', self.custom_fields)
113
113
 
114
114
  # Call parent to handle timestamps
115
115
  await super().apre_update()
@@ -124,7 +124,7 @@ class Contact(TimestampMixin, Model):
124
124
  """Async hook called after updating contact."""
125
125
  from amsdal_crm.services.workflow_service import WorkflowService
126
126
 
127
- WorkflowService.execute_rules('Contact', 'update', self)
127
+ await WorkflowService.aexecute_rules('Contact', 'update', self)
128
128
 
129
129
 
130
130
  from amsdal_crm.models.account import Account
@@ -99,7 +99,7 @@ class Deal(TimestampMixin, Model):
99
99
  if self.custom_fields:
100
100
  from amsdal_crm.services.custom_field_service import CustomFieldService
101
101
 
102
- self.custom_fields = CustomFieldService.validate_custom_fields('Deal', self.custom_fields)
102
+ self.custom_fields = await CustomFieldService.avalidate_custom_fields('Deal', self.custom_fields)
103
103
  await super().apre_create()
104
104
 
105
105
  def pre_update(self) -> None:
@@ -137,7 +137,7 @@ class Deal(TimestampMixin, Model):
137
137
  if self.custom_fields:
138
138
  from amsdal_crm.services.custom_field_service import CustomFieldService
139
139
 
140
- self.custom_fields = CustomFieldService.validate_custom_fields('Deal', self.custom_fields)
140
+ self.custom_fields = await CustomFieldService.avalidate_custom_fields('Deal', self.custom_fields)
141
141
 
142
142
  # Load stage if it's a reference and sync closed status
143
143
  from amsdal_models.classes.helpers.reference_loader import ReferenceLoader
@@ -1 +0,0 @@
1
- __version__ = '0.1.1'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes