1- import json
1+ from importlib .metadata import requires
2+ import json
23
34from django .shortcuts import render , redirect
4- from django .db .models import Count , Q
5+ from django .db .models import Count
56from django .http import JsonResponse
67from django .contrib .auth .models import User
78from django .contrib .auth .decorators import login_required
89from applications .alumniprofile .models import Profile
10+ from django .contrib import messages
911
1012
1113# Create your views here.
1214
1315def index (request ):
1416 counts = Profile .objects .filter (verify = True ).values ('batch' ).order_by ('-batch' ).annotate (count = Count ('batch' ))
15- # print(len(counts))
1617 total = 0
18+
1719 for batch , count in counts .values_list ('batch' , 'count' ):
1820 total += count
19- return render (request , "members/index.html" , {'data' : counts .values_list ('batch' , 'count' ), 'total' : total })
21+
22+ data = counts .values_list ('batch' , 'count' )
23+
24+ context = {
25+ 'data' : data ,
26+ 'total' : total ,
27+ }
28+
29+ return render (request , "members/index.html" ,context )
2030
2131
2232def batch (request , year ):
33+
2334 programmes = Profile .objects .values_list ('programme' , flat = True ).distinct ()
2435 data = {}
2536 for row in programmes :
@@ -29,65 +40,77 @@ def batch(request, year):
2940 for item in result :
3041 data [row ][item ['branch' ]] = item ['count' ]
3142
32- # print(data) #prints {'B.Des': {'CSE': 1}, 'B.Tech': {'CSE': 1, 'ME': 1}}
3343 return render (request , "members/year.html" , {'data' : data , 'year' : year })
3444
3545
3646def branch (request , programme , year , branch ):
3747 # todo: change mail_sent to verify
3848 alumni = Profile .objects .filter (programme = programme , batch = year , branch = branch , verify = True )
39- # print(alumni)
4049 return render (request , "members/branch.html" , {'data' : alumni , 'batch' : year , 'branch' : branch })
4150
42- def sacbody (request ):
43- return redirect ('members:alumnibody' )
51+ # def sacbody(request):
52+ # return redirect('members:alumnibody')
4453
4554def alumnibody (request ):
4655 return render (request , "members/alumnibody.html" )
4756
4857
4958@login_required
5059def search (request ):
51- key = request .GET ['search' ]
52- profiles = Profile .objects .filter (name__icontains = key ) | Profile .objects .filter (
53- roll_no__icontains = key ) | Profile .objects .filter (reg_no__icontains = key )
54- if len (request .GET ) > 1 :
55- if request .GET ['batch' ] != '' :
56- batch = request .GET ['batch' ]
57- print (batch )
60+ profiles = Profile .objects .all ()
61+ if len (request .POST ) > 1 :
62+ if request .POST ['search' ] != '' :
63+ key = request .POST ['search' ]
64+ profiles = profiles .filter (name__icontains = key ) | Profile .objects .filter (
65+ roll_no__icontains = key ) | Profile .objects .filter (reg_no__icontains = key )
66+
67+ if request .POST ['batch' ] != '' :
68+ batch = request .POST ['batch' ]
5869 profiles = profiles .filter (batch = batch )
59- print ( profiles )
60- if request .GET ['city' ] != '' :
61- city = request .GET ['city' ]
70+
71+ if request .POST ['city' ] != '' :
72+ city = request .POST ['city' ]
6273 profiles = profiles .filter (city__icontains = city )
63- if request .GET ['programme' ] != 'Programme' :
64- programme = request .GET ['programme' ]
74+
75+ if request .POST ['programme' ] != '' :
76+ programme = request .POST ['programme' ]
6577 profiles = profiles .filter (programme__icontains = programme )
66- if request .GET ['branch' ] != '' :
67- branch = request .GET ['branch' ]
78+
79+ if request .POST ['branch' ] != '' :
80+ branch = request .POST ['branch' ]
6881 profiles = profiles .filter (branch__icontains = branch )
69- if request .GET ['org' ] != '' :
70- org = request .GET ['org' ]
82+
83+ if request .POST ['org' ] != '' :
84+ org = request .POST ['org' ]
7185 profiles1 = profiles .filter (current_organisation__icontains = org )
7286 profiles2 = profiles .filter (current_university__icontains = org )
7387 profiles = profiles1 | profiles2
88+
7489 profiles = profiles .order_by ('name' )
90+
7591 context = {'profiles' : profiles ,
76- 'keyy' : key ,
92+ 'keyy' : 1 ,
7793 'zero' : len (profiles ),
78- 'request' : request .GET
94+ 'request' : request .POST
7995 }
80- return render (request , "members/index.html" , context )
96+
97+ if len (profiles ):
98+ messages .success (request ,"Total " + str (len (profiles ))+ " Alumni Found" )
99+ else :
100+ messages .error (request , "No Result Found " )
101+
102+
81103
104+ return render (request , "members/index.html" , context )
82105
83106def autoSearch (request ):
84107 if request .is_ajax ():
108+ # print(request.POST['term'], request.GET['te'])
85109 key = request .GET ['term' ]
86110 search_qs = Profile .objects .filter (name__icontains = key ) | Profile .objects .filter (
87111 roll_no__icontains = key ) | Profile .objects .filter (reg_no__icontains = key )
88112 data = []
89113 for r in search_qs :
90- print (r .name )
91114 data .append (r .name )
92115 else :
93116 data = 'fail'
@@ -104,5 +127,5 @@ def mapSearch(request):
104127 'keyy' : key ,
105128 'zero' : len (profiles ),
106129 'map' : True
107- }
130+ }
108131 return render (request , "members/index.html" , context )
0 commit comments