amsdal_crm 0.1.7__tar.gz → 0.1.8__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.
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/PKG-INFO +1 -1
- amsdal_crm-0.1.8/amsdal_crm/__about__.py +1 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/deal.py +6 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/stage.py +8 -0
- amsdal_crm-0.1.7/amsdal_crm/__about__.py +0 -1
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/.amsdal/.environment +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/.amsdal-cli +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/.github/workflows/ci.yml +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/.github/workflows/release.yml +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/.github/workflows/tag_check.yml +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/.gitignore +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/CLAUDE.md +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/README.md +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/RELEASE.md +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/Third-Party Materials - AMSDAL Dependencies - License Notices.md +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/app.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/constants.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/errors.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/fixtures/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/fixtures/permissions.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/fixtures/pipelines.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/lifecycle/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/lifecycle/consumer.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/migrations/0000_initial.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/account.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/activity.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/attachment.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/contact.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/custom_field_definition.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/pipeline.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/models/workflow_rule.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/services/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/services/activity_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/services/custom_field_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/services/deal_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/services/email_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/services/workflow_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/amsdal_crm/settings.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/config.yml +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/license_check.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/pyproject.toml +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/scripts/release.sh +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/scripts/tag_check.sh +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/conftest.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/integration/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/integration/conftest.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/integration/services/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/integration/services/test_deal_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/integration/services/test_email_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/integration/services/test_workflow_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/conftest.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/lifecycle/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/lifecycle/test_consumer.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/test_account.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/test_activity.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/test_contact.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/test_deal.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/test_pipeline.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/test_remaining.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/models/test_stage.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/services/__init__.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/services/test_activity_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/services/test_custom_field_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/services/test_deal_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/services/test_email_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/services/test_workflow_service.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/test_app.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/test_constants.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/test_errors.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/tests/unit/test_settings.py +0 -0
- {amsdal_crm-0.1.7 → amsdal_crm-0.1.8}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.1.8'
|
|
@@ -9,11 +9,17 @@ from amsdal.contrib.auth.models.user import User
|
|
|
9
9
|
from amsdal.models.mixins import TimestampMixin
|
|
10
10
|
from amsdal_models.classes.data_models.indexes import IndexInfo
|
|
11
11
|
from amsdal_models.classes.model import Model
|
|
12
|
+
from amsdal_models.managers.model_manager import Manager
|
|
12
13
|
from amsdal_utils.models.data_models.reference import Reference
|
|
13
14
|
from amsdal_utils.models.enums import ModuleType
|
|
14
15
|
from pydantic.fields import Field
|
|
15
16
|
|
|
16
17
|
|
|
18
|
+
class DealManager(Manager):
|
|
19
|
+
def get_queryset(self) -> 'DealManager':
|
|
20
|
+
return super().get_queryset().select_related('stage')
|
|
21
|
+
|
|
22
|
+
|
|
17
23
|
class Deal(TimestampMixin, Model):
|
|
18
24
|
"""Deal (Sales Opportunity) model.
|
|
19
25
|
|
|
@@ -4,11 +4,17 @@ from typing import ClassVar
|
|
|
4
4
|
|
|
5
5
|
from amsdal_models.classes.data_models.indexes import IndexInfo
|
|
6
6
|
from amsdal_models.classes.model import Model
|
|
7
|
+
from amsdal_models.managers.model_manager import Manager
|
|
7
8
|
from amsdal_utils.models.enums import ModuleType
|
|
8
9
|
from pydantic import ConfigDict
|
|
9
10
|
from pydantic.fields import Field
|
|
10
11
|
|
|
11
12
|
|
|
13
|
+
class StageManager(Manager):
|
|
14
|
+
def get_queryset(self) -> 'StageManager':
|
|
15
|
+
return super().get_queryset().select_related('pipeline')
|
|
16
|
+
|
|
17
|
+
|
|
12
18
|
class Stage(Model):
|
|
13
19
|
"""Pipeline stage model.
|
|
14
20
|
|
|
@@ -18,6 +24,8 @@ class Stage(Model):
|
|
|
18
24
|
|
|
19
25
|
model_config: ClassVar[ConfigDict] = ConfigDict(arbitrary_types_allowed=True)
|
|
20
26
|
|
|
27
|
+
objects = StageManager()
|
|
28
|
+
|
|
21
29
|
__module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
|
|
22
30
|
__indexes__: ClassVar[list[IndexInfo]] = [
|
|
23
31
|
IndexInfo(name='idx_stage_order', field='order'),
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '0.1.7'
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|