Compare commits

..

2 Commits

3 changed files with 9 additions and 7 deletions

View File

@ -54,9 +54,9 @@ class AdminWeeklyAvailabilityAdmin(admin.ModelAdmin):
@admin.register(AppointmentRequest) @admin.register(AppointmentRequest)
class AppointmentRequestAdmin(admin.ModelAdmin): class AppointmentRequestAdmin(admin.ModelAdmin):
list_display = ['id','full_name', 'email', 'status', 'formatted_created_at', 'formatted_scheduled_datetime'] list_display = ['id','full_name', 'email', 'status', 'formatted_created_at', 'formatted_scheduled_datetime', 'user_timezone']
list_filter = ['status', 'created_at', 'scheduled_datetime'] list_filter = ['status', 'created_at', 'scheduled_datetime', 'user_timezone']
search_fields = ['first_name', 'last_name', 'email'] search_fields = ['first_name', 'last_name', 'email', 'phone', 'reason']
readonly_fields = ['id', 'created_at', 'updated_at', 'formatted_created_at', 'formatted_scheduled_datetime'] readonly_fields = ['id', 'created_at', 'updated_at', 'formatted_created_at', 'formatted_scheduled_datetime']
fieldsets = ( fieldsets = (

View File

@ -342,6 +342,7 @@ class AppointmentScheduleSerializer(serializers.Serializer):
time_slot = serializers.CharField(required=False, write_only=True) time_slot = serializers.CharField(required=False, write_only=True)
create_jitsi_meeting = serializers.BooleanField(default=True) create_jitsi_meeting = serializers.BooleanField(default=True)
jitsi_custom_config = serializers.JSONField(required=False, default=dict) jitsi_custom_config = serializers.JSONField(required=False, default=dict)
timezone = serializers.CharField(required=False, default='UTC')
def validate(self, data): def validate(self, data):
scheduled_datetime = data.get('scheduled_datetime') scheduled_datetime = data.get('scheduled_datetime')
@ -428,7 +429,6 @@ class AppointmentScheduleSerializer(serializers.Serializer):
'scheduled_datetime': instance.scheduled_datetime, 'scheduled_datetime': instance.scheduled_datetime,
'scheduled_duration': instance.scheduled_duration, 'scheduled_duration': instance.scheduled_duration,
'jitsi_meeting_created': instance.jitsi_meeting_created, 'jitsi_meeting_created': instance.jitsi_meeting_created,
'user_timezone': instance.user_timezone,
} }
if instance.has_jitsi_meeting: if instance.has_jitsi_meeting:

View File

@ -76,7 +76,6 @@ class AppointmentRequestCreateView(generics.CreateAPIView):
EmailService.send_admin_notification(appointment, availability_mismatch=True) EmailService.send_admin_notification(appointment, availability_mismatch=True)
class AppointmentRequestDetailView(generics.RetrieveAPIView): class AppointmentRequestDetailView(generics.RetrieveAPIView):
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
queryset = AppointmentRequest.objects.all() queryset = AppointmentRequest.objects.all()
@ -104,6 +103,9 @@ class ScheduleAppointmentView(generics.GenericAPIView):
create_jitsi_meeting = serializer.validated_data.get('create_jitsi_meeting', True) create_jitsi_meeting = serializer.validated_data.get('create_jitsi_meeting', True)
jitsi_custom_config = serializer.validated_data.get('jitsi_custom_config', {}) jitsi_custom_config = serializer.validated_data.get('jitsi_custom_config', {})
user_timezone = serializer.validated_data.get('timezone', 'UTC')
appointment.user_timezone = user_timezone
admin_user = request.user admin_user = request.user