Skip to content
Snippets Groups Projects
Commit bd0c1dd1 authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Handle 404 when requesting trying to display a message that doesn't exist in VIPSLogic

parent 2be33d5d
No related branches found
No related tags found
No related merge requests found
......@@ -102,7 +102,9 @@ class Message:
@staticmethod
def get_message(message_id, current_language=settings.VIPSLOGIC_LANGUAGE_CODE):
message_json = Message.get_message_as_json(message_id)
return Message.get_instance_from_dict(message_json, current_language)
if message_json is not None:
return Message.get_instance_from_dict(message_json, current_language)
return None
@staticmethod
def get_messages_by_tag(tag_id, current_language=settings.VIPSLOGIC_LANGUAGE_CODE):
......@@ -138,7 +140,10 @@ class Message:
@staticmethod
def get_message_as_json(message_id):
request_result = requests.get("%s://%s/rest/message/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,message_id))
return request_result.json()
if request_result.status_code == 200:
return request_result.json()
return None
@staticmethod
def get_instance_from_dict(the_dict,current_language=settings.VIPSLOGIC_LANGUAGE_CODE):
......
......@@ -23,7 +23,7 @@ import json
from django.shortcuts import render
from django.utils import translation
from django.http import HttpResponse
from django.http import HttpResponse, Http404
from vips_messages.models import Message
from vips_messages.forms import MessagePublishedDateFilterForm
......@@ -57,11 +57,14 @@ def index(request):
return render(request, 'messages/index.html', context)
def detail(request, message_id):
context = {
#'message' : get_object_or_404(Message, pk=message_id)
'message': Message.get_message(message_id, translation.get_language())
}
return render(request, 'messages/detail.html', context)
message = Message.get_message(message_id, translation.get_language())
if message is not None:
context = {
#'message' : get_object_or_404(Message, pk=message_id)
'message': Message.get_message(message_id, translation.get_language())
}
return render(request, 'messages/detail.html', context)
raise Http404("This page does not exist")
# Send messages as JSON
# TODO: Skip intermediary Python object, get json directly from VIPSLogic
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment