@@ -149,7 +149,7 @@ def display_article(request, article_name):
149149def find_articles (request ):
150150 datatypes = Article .datatypes ()
151151 if request .method == "GET" :
152- # create a form instance and populate it with data from the request:
152+ # Create a form instance and populate it with data from the request:
153153 form = QueryIndexForm (data = request .GET , datatypes = datatypes )
154154
155155 if form ['datatype' ]:
@@ -162,22 +162,32 @@ def find_articles(request):
162162 'use_case_form' : UseCaseFeedbackForm (data = None , datatype = 'None' , source = '' , destination = '' )
163163 }
164164 return TemplateResponse (request , "core/article_list.html" , context , headers = {'cache-control' :'no-store' })
165- datatype_joined = " " .join (form .data ['datatype' ].split ("_" ))
166- possible_articles = Article .objects .filter (datatype__contains = datatype_joined ,
167- sources__contains = form .data ['datasource' ],
168- destinations__contains = form .data ['datadest' ])
169165
170- QueryLog .objects .create (datatype = form .data ['datatype' ],
171- source = form .data ['datasource' ],
172- destination = form .data ['datadest' ])
166+ datatype_joined = " " .join (form .data .get ('datatype' , '' ).split ("_" ))
167+ datasource = form .data .get ('datasource' , '' )
168+ datadest = form .data .get ('datadest' , '' )
169+
170+ possible_articles = Article .objects .filter (
171+ datatype__contains = datatype_joined ,
172+ sources__contains = datasource ,
173+ destinations__contains = datadest
174+ )
175+
176+ QueryLog .objects .create (
177+ datatype = form .data .get ('datatype' , '' ),
178+ source = datasource ,
179+ destination = datadest
180+ )
173181
174182 if possible_articles .count () == 1 :
175183 return redirect (f"/articles/{ possible_articles [0 ].name } " )
176184 else :
177- use_case_feedback = UseCaseFeedbackForm (data = None ,
178- datatype = form .data ['datatype' ],
179- source = form .data ['datasource' ],
180- destination = form .data ['datadest' ])
185+ use_case_feedback = UseCaseFeedbackForm (
186+ data = None ,
187+ datatype = form .data .get ('datatype' , '' ),
188+ source = datasource ,
189+ destination = datadest
190+ )
181191 context = {'articles' : possible_articles , 'use_case_form' : use_case_feedback }
182192 return TemplateResponse (request , "core/article_list.html" , context , headers = {'cache-control' :'no-store' })
183193
0 commit comments