Skip to content

Commit 5008abd

Browse files
authored
All changes of Complaint Management (#1704)
1 parent 13e33f2 commit 5008abd

File tree

5 files changed

+986
-1837
lines changed

5 files changed

+986
-1837
lines changed

FusionIIIT/applications/complaint_system/api/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@
2626
url(r'^removesupervisor/(?P<s_id>[0-9]+)',views.edit_supervisor_api,name='supervisor-delete-api'),
2727
url(r'^updatesupervisor/(?P<s_id>[0-9]+)',views.edit_supervisor_api,name='supervisor-put-api'),
2828

29-
]
29+
]

FusionIIIT/applications/complaint_system/api/views.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def complaint_details_api(request,detailcomp_id1):
2323
if complaint_detail.worker_id is None:
2424
worker_detail_serialized = {}
2525
else :
26-
worker_detail = Workers.objects.get(id=complaint_detail.worker_id.id)
26+
worker_detail = worker_detail.objects.get(id=complaint_detail.worker_id)
2727
worker_detail_serialized = serializers.WorkersSerializers(instance=worker_detail).data
2828
complainer = User.objects.get(username=complaint_detail.complainer.user.username)
2929
complainer_serialized = serializers.UserSerializers(instance=complainer).data
@@ -154,7 +154,7 @@ def caretaker_api(request):
154154
user = get_object_or_404(User ,username=request.user.username)
155155
user = ExtraInfo.objects.all().filter(user = user).first()
156156
try :
157-
supervisor = Supervisor.objects.get(sup_id=user)
157+
supervisor = Supervisor.objects.get(staff_id=user)
158158
except Supervisor.DoesNotExist:
159159
return Response({'message':'Logged in user does not have the permissions'},status=status.HTTP_203_NON_AUTHORITATIVE_INFORMATION)
160160
serializer = serializers.CaretakerSerializers(data=request.data)
@@ -170,7 +170,7 @@ def edit_caretaker_api(request,c_id):
170170
user = get_object_or_404(User ,username=request.user.username)
171171
user = ExtraInfo.objects.all().filter(user = user).first()
172172
try :
173-
supervisor = Supervisor.objects.get(sup_id=user)
173+
supervisor = Supervisor.objects.get(staff_id=user)
174174
except Supervisor.DoesNotExist:
175175
return Response({'message':'Logged in user does not have the permissions'},status=status.HTTP_203_NON_AUTHORITATIVE_INFORMATION)
176176
try:
@@ -230,4 +230,3 @@ def edit_supervisor_api(request,s_id):
230230
serializer.save()
231231
return Response(serializer.data,status=status.HTTP_200_OK)
232232
return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)
233-
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
from rest_framework import serializers
2+
from .models import StudentComplain, Caretaker
3+
from applications.globals.models import ExtraInfo
4+
5+
# Added StudentComplainSerializer
6+
class StudentComplainSerializer(serializers.ModelSerializer):
7+
class Meta:
8+
model = StudentComplain
9+
fields = "__all__"
10+
11+
# Added CaretakerSerializer
12+
class CaretakerSerializer(serializers.ModelSerializer):
13+
class Meta:
14+
model = Caretaker
15+
fields = "__all__"
16+
17+
# Optionally, add ExtraInfoSerializer if needed
18+
class ExtraInfoSerializer(serializers.ModelSerializer):
19+
class Meta:
20+
model = ExtraInfo
21+
fields = "__all__"
22+
from rest_framework import serializers
23+
from .models import StudentComplain, Caretaker
24+
from applications.globals.models import ExtraInfo
25+
26+
# Serializer for StudentComplain (already added previously)
27+
class StudentComplainSerializer(serializers.ModelSerializer):
28+
class Meta:
29+
model = StudentComplain
30+
fields = '__all__'
31+
32+
# Serializer for Caretaker (already added previously)
33+
class CaretakerSerializer(serializers.ModelSerializer):
34+
class Meta:
35+
model = Caretaker
36+
fields = '__all__'
37+
38+
# Serializer for Feedback submission
39+
class FeedbackSerializer(serializers.Serializer):
40+
feedback = serializers.CharField()
41+
rating = serializers.IntegerField()
42+
43+
# Serializer for Resolve Pending complaints
44+
class ResolvePendingSerializer(serializers.Serializer):
45+
yesorno = serializers.ChoiceField(choices=[('Yes', 'Yes'), ('No', 'No')])
46+
comment = serializers.CharField(required=False)
47+
# serializers.py
48+
49+
from rest_framework import serializers
50+
from .models import StudentComplain, Caretaker
51+
from applications.globals.models import ExtraInfo
52+
53+
# Serializer for StudentComplain (already added previously)
54+
class StudentComplainSerializer(serializers.ModelSerializer):
55+
class Meta:
56+
model = StudentComplain
57+
fields = '__all__'
58+
59+
# Serializer for Caretaker (already added previously)
60+
class CaretakerSerializer(serializers.ModelSerializer):
61+
class Meta:
62+
model = Caretaker
63+
fields = '__all__'
64+
65+
# Serializer for Feedback submission
66+
class FeedbackSerializer(serializers.Serializer):
67+
feedback = serializers.CharField()
68+
rating = serializers.IntegerField()
69+
70+
# Serializer for Resolve Pending complaints
71+
class ResolvePendingSerializer(serializers.Serializer):
72+
yesorno = serializers.ChoiceField(choices=[('Yes', 'Yes'), ('No', 'No')])
73+
comment = serializers.CharField(required=False, allow_blank=True)
74+
# serializers.py
75+
76+
from rest_framework import serializers
77+
from .models import StudentComplain, Caretaker, Workers
78+
from applications.globals.models import ExtraInfo
79+
80+
# Serializer for StudentComplain (already added previously)
81+
class StudentComplainSerializer(serializers.ModelSerializer):
82+
class Meta:
83+
model = StudentComplain
84+
fields = '__all__'
85+
86+
# Serializer for Workers (added to handle Workers model)
87+
class WorkersSerializer(serializers.ModelSerializer):
88+
class Meta:
89+
model = Workers
90+
fields = '__all__'
Lines changed: 71 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,78 @@
1-
from django.conf.urls import url,include
1+
#urls.py
22

3-
from . import views
3+
# complaint/urls.py
4+
from django.urls import path
5+
from .views import (
6+
CheckUser,
7+
UserComplaintView,
8+
CaretakerFeedbackView,
9+
SubmitFeedbackView,
10+
ComplaintDetailView,
11+
)
12+
from .views import (
13+
CaretakerLodgeView,
14+
CaretakerView,
15+
FeedbackCareView,
16+
ResolvePendingView,
17+
ComplaintDetailView,
18+
SearchComplaintView,
19+
SubmitFeedbackCaretakerView,
20+
)
21+
from .views import (
22+
SupervisorLodgeView,
23+
SupervisorView,
24+
FeedbackSuperView,
25+
CaretakerIdKnowMoreView,
26+
SupervisorComplaintDetailView,
27+
SupervisorResolvePendingView,
28+
SupervisorSubmitFeedbackView,
29+
)
30+
31+
from django.urls import path
32+
from .views import (
33+
RemoveWorkerView,
34+
ForwardCompaintView,
35+
DeleteComplaintView,
36+
ChangeStatusView,
37+
ChangeStatusSuperView,
38+
GenerateReportView,
39+
# Other imported views
40+
)
441

5-
app_name = 'complaint'
642

7-
urlpatterns = [
843

9-
url(r'^$', views.check, name='complaint'),
10-
# url(r'^login/$', views.login1, name='complaint'),
11-
url(r'^user/$', views.user),
12-
url(r'^user/caretakerfb/$' , views.caretaker_feedback),
13-
url(r'^user/(?P<complaint_id>[0-9]+)/$', views.submitfeedback),
14-
url(r'^user/detail/(?P<detailcomp_id1>[0-9]+)/$', views.detail,name='detail'),
15-
# url(r'^user/check_complaint/$', views.save_comp),
16-
17-
# caretaker
18-
url(r'^caretaker/lodge/$', views.caretakerlodge),
19-
url(r'^caretaker/$', views.caretaker, name='caretaker'),
20-
url(r'^caretaker/feedback/(?P<feedcomp_id>[0-9]+)/$', views.feedback_care),
21-
url(r'^caretaker/pending/(?P<cid>[0-9]+)/$', views.resolvepending),
22-
url(r'^caretaker/detail2/(?P<detailcomp_id1>[0-9]+)/$', views.detail),
23-
url(r'^caretaker/search_complaint$', views.search_complaint),
24-
url(r'^caretaker/(?P<complaint_id>[0-9]+)/feedback/$', views.submitfeedbackcaretaker),
25-
26-
27-
# supervisor
28-
url(r'^supervisor/lodge/$', views.supervisorlodge),
29-
url(r'^supervisor/$', views.supervisor),
30-
url(r'^supervisor/feedback/(?P<feedcomp_id>[0-9]+)/$', views.feedback_super),
31-
url(r'^supervisor/caretaker_id_know_more/(?P<caretaker_id>[0-9]+)/$', views.caretaker_id_know_more),
32-
# url(r'^supervisor/caretaker_id_know_more/(?P<caretaker_id>[0-9]+)/complaint_reassign_super/(?P<iid>[0-9]+)/$', views.complaint_reassign_super, name = 'complaint_reassign_super'),
33-
url(r'^supervisor/detail/(?P<detailcomp_id1>[0-9]+)/$', views.detail3, name = 'detail3'),
34-
url(r'^supervisor/pending/(?P<cid>[0-9]+)/$', views.resolvependingsuper),
35-
url(r'^supervisor/(?P<complaint_id>[0-9]+)/$', views.submitfeedbacksuper),
36-
37-
38-
39-
# CRUD task
40-
url(r'^caretaker/worker_id_know_more/(?P<work_id>[0-9]+)/removew/$', views.removew),
41-
url(r'^caretaker/(?P<comp_id1>[0-9]+)/$', views.assign_worker,name='assign_worker'),
42-
url(r'^caretaker/deletecomplaint/(?P<comp_id1>[0-9]+)/$', views.deletecomplaint),
43-
# url(r'^caretaker/(?P<comp_id>[0-9]+)/$', views.assign_worker),
44-
url(r'^caretaker/(?P<complaint_id>[0-9]+)/(?P<status>[0-9]+)/$', views.changestatus),
45-
url(r'^supervisor/(?P<complaint_id>[0-9]+)/(?P<status>[0-9]+)/$', views.changestatussuper),
44+
app_name = "complaint"
4645

47-
url(r'^api/',include('applications.complaint_system.api.urls'))
46+
urlpatterns = [
47+
path("", CheckUser.as_view(), name="complaint"),
48+
path("user/", UserComplaintView.as_view(), name="user-complaints"),
49+
path("user/caretakerfb/", CaretakerFeedbackView.as_view(), name="caretaker-feedback"),
50+
path("user/<int:complaint_id>/", SubmitFeedbackView.as_view(), name="submit-feedback"),
51+
path("user/detail/<int:detailcomp_id1>/", ComplaintDetailView.as_view(), name="detail"),
52+
# Other URL patterns
53+
path('caretaker/lodge/', CaretakerLodgeView.as_view()), # Converted to DRF
54+
path('caretaker/', CaretakerView.as_view(), name='caretaker'), # Converted to DRF
55+
path('caretaker/feedback/<int:feedcomp_id>/', FeedbackCareView.as_view()), # Converted to DRF
56+
path('caretaker/pending/<int:cid>/', ResolvePendingView.as_view()), # Converted to DRF
57+
path('caretaker/detail2/<int:detailcomp_id1>/', ComplaintDetailView.as_view()), # Converted to DRF
58+
path('caretaker/search_complaint', SearchComplaintView.as_view()), # Converted to DRF
59+
path('caretaker/<int:complaint_id>/feedback/', SubmitFeedbackCaretakerView.as_view()), # Converted to DRF
60+
# Supervisor URLs
61+
path('supervisor/lodge/', SupervisorLodgeView.as_view()),
62+
path('supervisor/', SupervisorView.as_view()),
63+
path('supervisor/feedback/<int:feedcomp_id>/', FeedbackSuperView.as_view()),
64+
path('supervisor/caretaker_id_know_more/<int:caretaker_id>/', CaretakerIdKnowMoreView.as_view()),
65+
# The following URL is commented out as per the original code
66+
# path('supervisor/caretaker_id_know_more/<int:caretaker_id>/complaint_reassign_super/<int:iid>/', views.complaint_reassign_super, name='complaint_reassign_super'),
67+
path('supervisor/detail/<int:detailcomp_id1>/', SupervisorComplaintDetailView.as_view(), name='detail3'),
68+
path('supervisor/pending/<int:cid>/', SupervisorResolvePendingView.as_view()),
69+
path('supervisor/<int:complaint_id>/', SupervisorSubmitFeedbackView.as_view()),
70+
# CRUD task URLs
71+
path('caretaker/worker_id_know_more/<int:work_id>/removew/', RemoveWorkerView.as_view()),
72+
path('caretaker/<int:comp_id1>/', ForwardCompaintView.as_view(), name='assign_worker'),
73+
path('caretaker/deletecomplaint/<int:comp_id1>/', DeleteComplaintView.as_view()),
74+
path('caretaker/<int:complaint_id>/<str:status>/', ChangeStatusView.as_view()),
75+
path('supervisor/<int:complaint_id>/<str:status>/', ChangeStatusSuperView.as_view()),
4876

77+
path('generate-report/', GenerateReportView.as_view(), name='generate-report-api'),
4978
]

0 commit comments

Comments
 (0)