Skip to content

Commit fb26c46

Browse files
authored
Merge pull request #138 from dtinit/fixing-server-error
Fixing Server Error - MultiValueDictKeyError
2 parents 8b720c8 + a16c6fa commit fb26c46

1 file changed

Lines changed: 22 additions & 12 deletions

File tree

portmap/core/views.py

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def display_article(request, article_name):
149149
def 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

Comments
 (0)