fix: proširi bilješke na članove tima i osvježi kalendar
Widget Bilješke sada omogućuje odabir više članova tima (ne samo servisera), a backend validacija i testovi su usklađeni. Dodatno, nakon realtime service_note notifikacije sada se osvježava service-notes store, te create flow više ne briše lokalne bilješke kada odgovor vrati praznu listu. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -155,12 +155,12 @@ class ServiceContextNoteCreateSerializer(serializers.Serializer):
|
||||
note_date = serializers.DateField(required=False, allow_null=True)
|
||||
audience = serializers.ChoiceField(choices=AUDIENCE_CHOICES, default='self')
|
||||
target_user = serializers.PrimaryKeyRelatedField(
|
||||
queryset=User.objects.filter(is_active=True),
|
||||
queryset=User.objects.filter(is_active=True, is_team_member=True),
|
||||
required=False,
|
||||
allow_null=True,
|
||||
)
|
||||
target_users = serializers.ListField(
|
||||
child=serializers.PrimaryKeyRelatedField(queryset=User.objects.filter(is_active=True)),
|
||||
child=serializers.PrimaryKeyRelatedField(queryset=User.objects.filter(is_active=True, is_team_member=True)),
|
||||
required=False,
|
||||
allow_empty=False,
|
||||
)
|
||||
@@ -203,12 +203,12 @@ class ServiceContextNoteCreateSerializer(serializers.Serializer):
|
||||
if audience in {'self', 'team'} and target_user:
|
||||
raise serializers.ValidationError({'target_user': 'Odabrani tip publike ne koristi ciljano polje člana tima.'})
|
||||
if audience in {'self', 'team'} and len(target_users) > 0:
|
||||
raise serializers.ValidationError({'target_users': 'Odabrani tip publike ne koristi listu servisera.'})
|
||||
if target_user and not getattr(target_user, 'is_serviser', False):
|
||||
raise serializers.ValidationError({'target_user': 'Bilješku je moguće poslati samo serviseru.'})
|
||||
raise serializers.ValidationError({'target_users': 'Odabrani tip publike ne koristi listu članova tima.'})
|
||||
if target_user and not getattr(target_user, 'is_team_member', False):
|
||||
raise serializers.ValidationError({'target_user': 'Bilješku je moguće poslati samo članu tima.'})
|
||||
for selected_user in target_users:
|
||||
if not getattr(selected_user, 'is_serviser', False):
|
||||
raise serializers.ValidationError({'target_users': 'Bilješku je moguće poslati samo serviserima.'})
|
||||
if not getattr(selected_user, 'is_team_member', False):
|
||||
raise serializers.ValidationError({'target_users': 'Bilješku je moguće poslati samo članovima tima.'})
|
||||
|
||||
if work_order:
|
||||
if not work_order.is_active or str(work_order.status or '').lower() != 'open':
|
||||
|
||||
Reference in New Issue
Block a user