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

Added date filter for messages

parent 7f1d360c
No related branches found
No related tags found
No related merge requests found
from django import forms
class MessagePublishedDateFilterForm(forms.Form):
publishedFrom = forms.DateField(required=False)
publishedTo = forms.DateField(required=False)
\ No newline at end of file
...@@ -106,17 +106,21 @@ class Message: ...@@ -106,17 +106,21 @@ class Message:
return messages return messages
@staticmethod @staticmethod
def get_messages(current_language=settings.VIPSLOGIC_LANGUAGE_CODE): def get_messages(current_language=settings.VIPSLOGIC_LANGUAGE_CODE, publishedFrom=None, publishedTo=None):
messages = [] messages = []
for item in Message.get_messages_as_json(): for item in Message.get_messages_as_json(publishedFrom, publishedTo):
message = Message.get_instance_from_dict(item, current_language) message = Message.get_instance_from_dict(item, current_language)
messages.append(message) messages.append(message)
return messages return messages
@staticmethod @staticmethod
def get_messages_as_json(): def get_messages_as_json(publishedFrom=None, publishedTo=None):
request_result = requests.get("http://%s/rest/message/list/%s" % (settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID)) payload = {"publishedFrom":publishedFrom, "publishedTo":publishedTo}
request_result = requests.get(
"http://%s/rest/message/list/%s" % (settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID),
params=payload
)
return request_result.json() return request_result.json()
@staticmethod @staticmethod
......
...@@ -4,13 +4,27 @@ ...@@ -4,13 +4,27 @@
{% block content %} {% block content %}
<h1>{% trans "Messages" %}</h1> <h1>{% trans "Messages" %}</h1>
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-6">
<div class="input-group"> <div class="input-group">
<div class="input-group-addon"><img src="{% static "css/icons/ic_action_search.png" %}" alt="Search icon"/></div> <div class="input-group-addon"><img src="{% static "css/icons/ic_action_search.png" %}" alt="Search icon"/></div>
<input class="form-control" type="text" placeholder="{% trans "Search" %}" oninput="search(this);"/> <input class="form-control" type="text" placeholder="{% trans "Search" %}" oninput="search(this);"/>
</div> </div>
</div> </div>
<div class="col-xs-6">
<form class="form-inline" method="get" action="/messages">
<div class="form-group">
{{form.publishedFrom.errors}}
<input class="form-control" type="date" name="{{form.publishedFrom.html_name}}" value="{{form.publishedFrom.value}}" placeholder="{% trans "From" %}"/>
</div>
-
<div class="form-group">
{{form.publishedTo.errors}}
<input class="form-control" type="date" name="{{form.publishedTo.html_name}}" value="{{form.publishedTo.value}}" placeholder="{% trans "To" %}"/>
</div>
<button type="submit" class="btn btn-default">{% trans "Submit" %}</button>
</form>
</div>
</div> </div>
<div class="table-responsive"> <div class="table-responsive">
<table id="resultTable" class="table table-striped"> <table id="resultTable" class="table table-striped">
......
...@@ -20,10 +20,26 @@ from django.shortcuts import render ...@@ -20,10 +20,26 @@ from django.shortcuts import render
from django.utils import translation from django.utils import translation
from messages.models import Message from messages.models import Message
from messages.forms import MessagePublishedDateFilterForm
def index(request): def index(request):
messages = None
form = MessagePublishedDateFilterForm(request.GET)
if form == None:
form = MessagePublishedDateFilterForm()
elif form.is_valid():
messages = Message.get_messages(
translation.get_language(),
form.cleaned_data["publishedFrom"],
form.cleaned_data["publishedTo"]
)
else:
messages = Message.get_messages(translation.get_language())
context = { context = {
'messages' : Message.get_messages(translation.get_language()), 'messages' : messages,
'form' : form
} }
return render(request, 'messages/index.html', context) return render(request, 'messages/index.html', context)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment