wbcrm 1.49.8__py2.py3-none-any.whl → 1.49.10__py2.py3-none-any.whl

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.

Potentially problematic release.


This version of wbcrm might be problematic. Click here for more details.

@@ -868,7 +868,7 @@ def m2m_changed_companies(sender, instance: Activity, action: str, pk_set: set[i
868
868
  pk_set.remove(main_company.id)
869
869
  if "post" in action:
870
870
  for company_id in pk_set:
871
- entry = Entry.objects.get(id=company_id)
871
+ entry = Entry.all_objects.get(id=company_id)
872
872
  if action == "post_add":
873
873
  instance.entities.add(entry)
874
874
  elif not instance.get_participants_for_employer(entry).exists():
@@ -916,7 +916,7 @@ def m2m_changed_groups(sender, instance: Activity, action, pk_set, **kwargs):
916
916
  @shared_task()
917
917
  def post_save_callback(activity_id: int, pre_save_activity_dto: ActivityDTO = None):
918
918
  with suppress(Activity.DoesNotExist):
919
- activity = Activity.objects.get(id=activity_id)
919
+ activity = Activity.all_objects.get(id=activity_id)
920
920
  # Set calendar item entities once all activity m2m relations are settled
921
921
  activity_dto = activity._build_dto()
922
922
 
@@ -960,7 +960,7 @@ def send_employee_notification(activity_id: int, participant_id):
960
960
  participant_id: id of the participant to send notification to
961
961
  """
962
962
  with suppress(Activity.DoesNotExist):
963
- activity = Activity.objects.get(id=activity_id)
963
+ activity = Activity.all_objects.get(id=activity_id)
964
964
  with suppress(Person.DoesNotExist):
965
965
  employee = Person.objects.filter_only_internal().get(id=participant_id)
966
966
  if activity.creator != employee:
@@ -1292,7 +1292,7 @@ def post_delete_participant_callback(activity_participant_id: int):
1292
1292
  def send_invitation_participant_as_task(activity_id: int):
1293
1293
  if controller := get_backend():
1294
1294
  with suppress(Activity.DoesNotExist):
1295
- activity_dto = Activity.objects.get(id=activity_id)._build_dto()
1295
+ activity_dto = Activity.all_objects.get(id=activity_id)._build_dto()
1296
1296
  participants_dto = [
1297
1297
  participant._build_dto()
1298
1298
  for participant in ActivityParticipant.objects.filter(
wbcrm/models/groups.py CHANGED
@@ -65,17 +65,17 @@ def add_changed_group_members(instance, pk_set):
65
65
  for activity in Activity.objects.filter(
66
66
  status=Activity.Status.PLANNED, start__gte=timezone.now(), groups=instance
67
67
  ):
68
- item = CalendarItem.objects.get(id=activity.id)
68
+ item = CalendarItem.all_objects.get(id=activity.id)
69
69
  for member in pk_set:
70
- entry = Entry.objects.get(id=member)
70
+ entry = Entry.all_objects.get(id=member)
71
71
  if entry not in item.entities.all():
72
72
  item.entities.add(entry)
73
73
  if entry.is_company:
74
- company = Company.objects.get(id=entry.id)
74
+ company = Company.all_objects.get(id=entry.id)
75
75
  if company not in activity.companies.all():
76
76
  activity.companies.add(company)
77
77
  else:
78
- person = Person.objects.get(id=entry.id)
78
+ person = Person.all_objects.get(id=entry.id)
79
79
  if person not in activity.participants.all():
80
80
  activity.participants.add(person)
81
81
 
@@ -85,17 +85,17 @@ def remove_changed_group_members(instance, pk_set):
85
85
  for activity in Activity.objects.filter(
86
86
  status=Activity.Status.PLANNED, start__gte=timezone.now(), groups=instance
87
87
  ):
88
- item = CalendarItem.objects.get(id=activity.id)
88
+ item = CalendarItem.all_objects.get(id=activity.id)
89
89
  for member in pk_set:
90
- entry = Entry.objects.get(id=member)
90
+ entry = Entry.all_objects.get(id=member)
91
91
  if entry in item.entities.all():
92
92
  item.entities.remove(entry)
93
93
  if entry.is_company:
94
- company = Company.objects.get(id=entry.id)
94
+ company = Company.all_objects.get(id=entry.id)
95
95
  if company in activity.companies.all():
96
96
  activity.companies.remove(company)
97
97
  else:
98
- person = Person.objects.get(id=entry.id)
98
+ person = Person.all_objects.get(id=entry.id)
99
99
  if person in activity.participants.all():
100
100
  activity.participants.remove(person)
101
101
 
@@ -105,15 +105,15 @@ def remove_deleted_groups_members(instance):
105
105
  for activity in Activity.objects.filter(
106
106
  status=Activity.Status.PLANNED, start__gte=timezone.now(), groups=instance
107
107
  ):
108
- item = CalendarItem.objects.get(id=activity.id)
108
+ item = CalendarItem.all_objects.get(id=activity.id)
109
109
  for member in instance.members.all():
110
110
  if member in item.entities.all():
111
111
  item.entities.remove(member)
112
112
  if member.is_company:
113
- company = Company.objects.get(id=member.id)
113
+ company = Company.all_objects.get(id=member.id)
114
114
  if company in activity.companies.all():
115
115
  activity.companies.remove(company)
116
116
  else:
117
- person = Person.objects.get(id=member.id)
117
+ person = Person.all_objects.get(id=member.id)
118
118
  if person in activity.participants.all():
119
119
  activity.participants.remove(person)
wbcrm/preferences.py CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  from datetime import date, timedelta
3
2
 
4
3
  from dynamic_preferences.registries import global_preferences_registry
@@ -25,8 +25,8 @@ def set_cell(worksheet, row, col, value, width_cols, base_format):
25
25
 
26
26
  @shared_task
27
27
  def create_report_and_send(profile_id, employee_id, start_date=None, end_date=None):
28
- employee = Person.objects.get(id=employee_id)
29
- profile = Person.objects.get(id=profile_id)
28
+ employee = Person.all_objects.get(id=employee_id)
29
+ profile = Person.all_objects.get(id=profile_id)
30
30
  if end_date is None:
31
31
  end_date = timezone.now()
32
32
  if start_date is None:
@@ -36,7 +36,7 @@ class GoogleSyncUtils:
36
36
  attendees_list = []
37
37
  event_attendees = cls.get_or_create_participants(event, activity.creator) if event else []
38
38
 
39
- event_attendees = [Person.objects.get(id=person_dict["person_id"]) for person_dict in event_attendees]
39
+ event_attendees = [Person.all_objects.get(id=person_dict["person_id"]) for person_dict in event_attendees]
40
40
  can_sync_external_participants: bool = global_preferences["wbactivity_sync__sync_external_participants"]
41
41
  allowed_participants: models.QuerySet["ActivityParticipant"] = activity.activity_participants.filter(
42
42
  participant__in=event_attendees,
@@ -111,7 +111,10 @@ class ActivityController:
111
111
  internal_participants = []
112
112
  for participant_dto in activity_dto.participants:
113
113
  # External person are removed of the list if global preference is True
114
- if Person.objects.get(id=participant_dto.person.id).is_internal or can_synchronize_external_participants():
114
+ if (
115
+ Person.all_objects.get(id=participant_dto.person.id).is_internal
116
+ or can_synchronize_external_participants()
117
+ ):
115
118
  internal_participants.append(participant_dto)
116
119
  if participant_dto.status != ActivityParticipant.ParticipationStatus.CANCELLED:
117
120
  valid_participants.append(participant_dto)
@@ -181,7 +184,7 @@ class ActivityController:
181
184
 
182
185
  # check if participant is internal or can sync external participant is allowed according to global preference
183
186
  if not (
184
- Person.objects.get(id=participant_dto.person.id).is_internal or can_synchronize_external_participants()
187
+ Person.all_objects.get(id=participant_dto.person.id).is_internal or can_synchronize_external_participants()
185
188
  ):
186
189
  return
187
190
 
@@ -156,7 +156,7 @@ class ActivityViewSet(RecurrenceModelViewSetMixin, CalendarItemViewSet):
156
156
  @cached_property
157
157
  def entry(self) -> Entry | None:
158
158
  try:
159
- return Entry.objects.get(id=self.kwargs.get("person_id", self.kwargs["company_id"]))
159
+ return Entry.all_objects.get(id=self.kwargs.get("person_id", self.kwargs["company_id"]))
160
160
  except (KeyError, Entry.DoesNotExist):
161
161
  return self.participants.first() or self.companies.first()
162
162
 
@@ -51,7 +51,7 @@ class ActivityParticipantButtonConfig(ButtonViewConfig):
51
51
  buttons = set()
52
52
  if not self.view.kwargs.get("pk"):
53
53
  base_url = reverse("wbcrm:activity-list", args=[], request=self.request)
54
- activity: Activity = Activity.objects.get(id=self.view.kwargs.get("activity_id"))
54
+ activity: Activity = Activity.all_objects.get(id=self.view.kwargs.get("activity_id"))
55
55
  if activity.period:
56
56
  participants_id_set: set[int] = set(activity.participants.values_list("id", flat=True))
57
57
  id_str = ",".join(str(id) for id in participants_id_set)
@@ -13,11 +13,11 @@ class AccountTitleConfig(TitleViewConfig):
13
13
 
14
14
  class ChildAccountAccountTitleConfig(TitleViewConfig):
15
15
  def get_list_title(self):
16
- account = Account.objects.get(id=self.view.kwargs["account_id"])
16
+ account = Account.all_objects.get(id=self.view.kwargs["account_id"])
17
17
  return f"{account.title}: Sub Accounts"
18
18
 
19
19
 
20
20
  class AccountRoleAccountTitleConfig(TitleViewConfig):
21
21
  def get_list_title(self):
22
- account = Account.objects.get(id=self.view.kwargs["account_id"])
22
+ account = Account.all_objects.get(id=self.view.kwargs["account_id"])
23
23
  return f"Roles for Account {str(account)}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wbcrm
3
- Version: 1.49.8
3
+ Version: 1.49.10
4
4
  Summary: A workbench module that contains all the functionality related to a customer relationship management.
5
5
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
6
6
  Requires-Dist: django-eventtools==1.*
@@ -1,7 +1,7 @@
1
1
  wbcrm/__init__.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
2
2
  wbcrm/apps.py,sha256=gT5ZryLzvq-ftpU48IzzQWM5XKn608lHwao7gCZW0Og,85
3
3
  wbcrm/dynamic_preferences_registry.py,sha256=Vy4VSfbHoZnQ71gdEMpZEz-mKWvmTGZfb1eO-UVBqo8,1490
4
- wbcrm/preferences.py,sha256=f_CR9Ng7R9VWqVbbuPwjNfZkxXLlr9OcwUfDb-ZnqO8,486
4
+ wbcrm/preferences.py,sha256=BhM_lWfFMZLhP3D1dE7Ja6ZXo-sF3q_YTyJtYkhPqxM,485
5
5
  wbcrm/tasks.py,sha256=nz8ng7i_JKDCLlxufPXCPx6ymPcGQfIPCKyDOfw9Q64,13020
6
6
  wbcrm/typings.py,sha256=jMX666cYItSYHN9Cb55HoffyPRG49S1dh6xB8AZpBtE,3312
7
7
  wbcrm/urls.py,sha256=5_b4mYUy76KOgSEJL2ggnEnxZpEK7jFzQAAckLNOcxE,2573
@@ -47,14 +47,14 @@ wbcrm/migrations/0017_event.py,sha256=PzhAVAa2z4itzctQBz-6i__aRDh3TDe029F8leE34W
47
47
  wbcrm/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  wbcrm/models/__init__.py,sha256=23U2eBeZStYgUKSGfi3q88JtfqfbNTk7MbnLEAGw1gk,287
49
49
  wbcrm/models/accounts.py,sha256=Wtr8QtHWSnkVmbdZqY64kQJaZ5UDqSfkIKSUaqxBirI,25435
50
- wbcrm/models/activities.py,sha256=8d7cVN2lrfJI5XFarfSTnqazTXjHKuh_XZ-PJZKX-q4,54280
50
+ wbcrm/models/activities.py,sha256=r7ADF_Z3WIL93uavNYurSzNGL1NSyB77j-QzMGZ2FK0,54296
51
51
  wbcrm/models/events.py,sha256=jUHArKuZlPzMXpzwrtxM0fI6POF2-ETybtphjPQxqqA,393
52
- wbcrm/models/groups.py,sha256=UFGQ1JXvVq_IMZ5nmEBha01wozilRTbPpjaqfjHvEw8,4301
52
+ wbcrm/models/groups.py,sha256=att5YADwTLoI5NmSoiMhOBJ8qyBbdKubPGMI2dXUCf0,4345
53
53
  wbcrm/models/products.py,sha256=q7BOU3hPGZwolVfOPkkAFhGYYBRDGHU8ldKui9FAMPQ,2472
54
54
  wbcrm/models/recurrence.py,sha256=ZleraEXTzYzJmpIpRRBdzfKoyZClLGOAxcIwL3bsh44,11999
55
55
  wbcrm/models/llm/activity_summaries.py,sha256=8dJP_aDVoakanbOnj_jYnSpeqX8b7JYtU1aXj7pj1-Y,1359
56
56
  wbcrm/models/llm/analyze_relationship.py,sha256=Po6nE9GrlwKZtL471fsWySJYDqRZGW20cLAQTdiqFGk,2346
57
- wbcrm/report/activity_report.py,sha256=AzSfiWne--CG4C4jpcODJtqegxcALCqxvOs9jeD4EB8,4835
57
+ wbcrm/report/activity_report.py,sha256=Y2NveP9u6CeXImXtxR4XfZK-2CFBa5CnUG-jx35Msnc,4843
58
58
  wbcrm/serializers/__init__.py,sha256=qKwo5e-Ix-Iow1RRdKFC0uZQmuSHzc8DIypIhi_E8HI,726
59
59
  wbcrm/serializers/accounts.py,sha256=db7jXPITOuE2e2zgIM1s__UMiTMnEBowY9y-S3HMGYA,4994
60
60
  wbcrm/serializers/activities.py,sha256=krziaCnOvDCvelteRiJp7LT1whDUQKopKKtXDEwxQm4,21847
@@ -76,7 +76,7 @@ wbcrm/synchronization/urls.py,sha256=3zhKivWitCw3BuaN6Ksi2e_WnHGRBL4DFqBx1LHWdmU
76
76
  wbcrm/synchronization/activity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
77
  wbcrm/synchronization/activity/admin.py,sha256=QFgm5f1fimNPLRO8a8U1E34yxbs1qbpygj7Pr_5pCHY,2686
78
78
  wbcrm/synchronization/activity/backend.py,sha256=DVj27wLv5D6YMG_9xlh9CPN7wfgCABa8g9fIjcVMVC0,8299
79
- wbcrm/synchronization/activity/controller.py,sha256=SbgXw8XSLshq08zPgFXa_GNspw4RfIm6bbVm92wgEIg,31347
79
+ wbcrm/synchronization/activity/controller.py,sha256=I2kT7eQffTNr_wxPFAKIfy9wfiQKD60BXW9ON7srff4,31403
80
80
  wbcrm/synchronization/activity/dynamic_preferences_registry.py,sha256=59K5Xq50IRg4yrBUevefi-0jDZtmT3JoVT3qbniJFDQ,4247
81
81
  wbcrm/synchronization/activity/preferences.py,sha256=7grSPy1oECqBK598UP8kO_t7sUNFCv6mRkEmz3LEYng,1009
82
82
  wbcrm/synchronization/activity/shortcuts.py,sha256=l8W9ySulTJ5PmSqAZ-HvQUb8uV3Mb_VMweMmhjm5C54,430
@@ -89,7 +89,7 @@ wbcrm/synchronization/activity/backends/google/__init__.py,sha256=jUjVGaW5aucqtC
89
89
  wbcrm/synchronization/activity/backends/google/google_calendar_backend.py,sha256=4tY9bUoSGlHpoai5KlLW59uuoLo4tjUZzawOZJAbEoQ,19639
90
90
  wbcrm/synchronization/activity/backends/google/tasks.py,sha256=vQ-_z6koyAQd6kjp3yCBwCWl5DCEc1iucw-BEobI908,805
91
91
  wbcrm/synchronization/activity/backends/google/typing_informations.py,sha256=7fDaQEok0kzm_5_vrRrMiakFAh2O3j4G09XWPwYSK1I,2655
92
- wbcrm/synchronization/activity/backends/google/utils.py,sha256=4svtYEAWXOFzTAi_Od_mzs_1h5lEXHikziINWJEyeQs,11573
92
+ wbcrm/synchronization/activity/backends/google/utils.py,sha256=CN2ooUHf37XPjyV2c_QgGDKmDGrLYlRxVxXqxIotAPw,11577
93
93
  wbcrm/synchronization/activity/backends/google/request_utils/__init__.py,sha256=FQ8XwEEPtUR-DKHBgiNJQXHPduUNcJM9YiTSEH5LXmQ,530
94
94
  wbcrm/synchronization/activity/backends/google/request_utils/external_to_internal/create.py,sha256=VyAg2iftSO_hyQthX6dtL299cogIFWsmrhE_xOwZQbs,3622
95
95
  wbcrm/synchronization/activity/backends/google/request_utils/external_to_internal/delete.py,sha256=AvhoJx-vzf2RlHtDPwXy4LXQtxSGaTWQXLiHlmlFCtE,3700
@@ -137,14 +137,14 @@ wbcrm/tests/e2e/e2e_wbcrm_utility.py,sha256=NB2pQXEzr8-S7cMGOs6w5IrT3gdcuzwz5x3a
137
137
  wbcrm/tests/e2e/test_e2e.py,sha256=p4elt_MWXWxBy6i8ayKdqTxHARiaozdd9xmi9_orQr4,16520
138
138
  wbcrm/viewsets/__init__.py,sha256=aoi2Hry7C6CixqV7ZIVrVPSjrcRcdRkE3zBmm1Va1Qo,668
139
139
  wbcrm/viewsets/accounts.py,sha256=gO7nb4cYtm4qZO5tpcQ2akoH54F6Uq01VFpshq5pdvQ,4458
140
- wbcrm/viewsets/activities.py,sha256=xVxQXUaQtAnkYYQca_2R5AJht4VMNkAH6-9pHbJNybA,12869
140
+ wbcrm/viewsets/activities.py,sha256=6fFuv8AqrFeh7rPOJyBdV0D2hlUq_8_FeRQtEhBVwyQ,12873
141
141
  wbcrm/viewsets/groups.py,sha256=2W529zW2m1DIRYTxn8nEDYjWjQAHzh6yV7Owvf3KZA4,1414
142
142
  wbcrm/viewsets/mixins.py,sha256=pqyP00VNA5jJL9LwvIw7Mfc-zN-z5yJ-cAblZY7o7c4,1113
143
143
  wbcrm/viewsets/products.py,sha256=aby4V6F-7WzosKIbYV_CEguXrNo2IN8ZjUTcUGGmX8w,2157
144
144
  wbcrm/viewsets/recurrence.py,sha256=uVUxKcaeFqEZbBtaB-VTVefgDBY2ILijqrLOnveo9EE,1093
145
145
  wbcrm/viewsets/buttons/__init__.py,sha256=r9mQteALBAmLez1ZFxYPnhFPvRd6DcaaFQ9WstYdmNQ,179
146
146
  wbcrm/viewsets/buttons/accounts.py,sha256=8r07RQ5l-MZQO3yY-NT5D18nJs_lMVweYi28lH8n2Zs,1027
147
- wbcrm/viewsets/buttons/activities.py,sha256=0H-p8NrlHqBOF0Xb2tKV_rBzUJquHuQg37At-EeLvFM,3876
147
+ wbcrm/viewsets/buttons/activities.py,sha256=jb-AHCTGmDgfObnboXcsqF8bqCZE2o4aTk0Le5qX1pI,3880
148
148
  wbcrm/viewsets/buttons/signals.py,sha256=DbY78n1T_zqs16DW5x_5gsFyd-GUN1KrExWLUvT5-YI,729
149
149
  wbcrm/viewsets/display/__init__.py,sha256=Ryjs6DW42eFHuh3_uW91blo0pgfR07dCDeZzOU12mNM,357
150
150
  wbcrm/viewsets/display/accounts.py,sha256=Ai1pUYqWmuT_55FpnFU5xTvXhmDc3CZqjqpxbMtozOA,4656
@@ -164,12 +164,12 @@ wbcrm/viewsets/menu/products.py,sha256=0YwZwTakoR92_l5kjX4I0pCAnx--OTIlTZ0HkB3lF
164
164
  wbcrm/viewsets/previews/__init__.py,sha256=EWvN0AiXSj7XzT48LfT6EH-ZkrzCQcM9zMKKDUsZ_Pc,46
165
165
  wbcrm/viewsets/previews/activities.py,sha256=w6_hgDqQ_c52lWOQ9Tbo0uqAYvkRZL0i3WmmclmVy4s,333
166
166
  wbcrm/viewsets/titles/__init__.py,sha256=dBNUDS05hqgYbR44jyIQki9nPSr1641AX9qFyatJRLk,337
167
- wbcrm/viewsets/titles/accounts.py,sha256=W_UZB8iTZtAIEjhZKQmHEKyGH0CptgV-E7WmcGTeec8,692
167
+ wbcrm/viewsets/titles/accounts.py,sha256=V9mgUbe3_J4uiHpXm8Um7kFNF1WyqGberL0jaHZJobg,700
168
168
  wbcrm/viewsets/titles/activities.py,sha256=4EIDCk1RD0BQxyW7frpO183YpIOHIfXPmXFNVYEVlDI,1976
169
169
  wbcrm/viewsets/titles/products.py,sha256=cFAK5zljjybabk2U0KzPT2PVfV5vmO_UlJd6QlI-zjs,341
170
170
  wbcrm/viewsets/titles/utils.py,sha256=IaHQTmEG2OwIHS1bRv7sjuT950wefUJNi3yvPdrpNEs,1144
171
171
  wbcrm/workflows/__init__.py,sha256=biwXXPkVJugT9Vc1cwbInAUY8EnVmOauxdPz7e_2w_A,32
172
172
  wbcrm/workflows/assignee_methods.py,sha256=L7ymErtcpFgXdTMTj_lDOVJqsLAGLNT6qMlrkHGuXWM,999
173
- wbcrm-1.49.8.dist-info/METADATA,sha256=Ckkb0nJzRMzVlsnr6K78zqi6DmP4qsR12y5C6-pYhrM,450
174
- wbcrm-1.49.8.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
175
- wbcrm-1.49.8.dist-info/RECORD,,
173
+ wbcrm-1.49.10.dist-info/METADATA,sha256=-xbqEQi7ZI6_zd0MCdwQl61197dUTvtwon6JdyoaN4w,451
174
+ wbcrm-1.49.10.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
175
+ wbcrm-1.49.10.dist-info/RECORD,,