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

Adding advertisement functionality to front page

parent 06882a3e
Branches
No related tags found
No related merge requests found
...@@ -817,3 +817,8 @@ ul.nav > li > ul.nav{ ...@@ -817,3 +817,8 @@ ul.nav > li > ul.nav{
display: block; display: block;
padding: 10px 15px; padding: 10px 15px;
} }
div.advertisement {
border: 3px solid #008136;
padding: 10px 20px 25px 25px;
}
...@@ -110,6 +110,19 @@ ...@@ -110,6 +110,19 @@
</div> </div>
</div><!-- End map container --> </div><!-- End map container -->
<div class="col-md-4" id="frontPageRightCol" style="height: {{settings.MAP_HEIGHT}}px;"> <div class="col-md-4" id="frontPageRightCol" style="height: {{settings.MAP_HEIGHT}}px;">
{% if advertisements|length > 0 %}
{% for advertisement in advertisements %}
<div class="row" id="advertisementContainer">
<div class="col-md-12 advertisement">
{% if advertisement.illustration %}
<div class="advertisementIllustration"><img src="{{settings.MEDIA_URL}}{{advertisement.illustration}}" class="img-responsive"/></div>
{% endif %}
<h3>{{advertisement.ad_heading}}</h3>
<p>{{advertisement.ad_text|safe}}</p>
</div>
</div>
{% endfor %}
{% endif %}
<div class="row" id="myForecastSummariesContainer"> <div class="row" id="myForecastSummariesContainer">
<div class="col-md-12 forecastSummaries"> <div class="col-md-12 forecastSummaries">
<h3 id="forecastsummariesHeading">{% trans "My forecasts" %}</h3> <h3 id="forecastsummariesHeading">{% trans "My forecasts" %}</h3>
......
...@@ -16,19 +16,24 @@ ...@@ -16,19 +16,24 @@
# along with VIPSWeb. If not, see <http://www.nibio.no/licenses/>. # along with VIPSWeb. If not, see <http://www.nibio.no/licenses/>.
# #
# @author: Tor-Einar Skog <tor-einar.skog@nibio.no> # @author: Tor-Einar Skog <tor-einar.skog@nibio.no>
import datetime
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse
from django.conf import settings from django.conf import settings
from django.utils import translation from django.utils import translation
from vips_messages.models import Message, MessageTag from vips_messages.models import Advertisement
from organisms.models import CropCategory from organisms.models import CropCategory
def index(request): def index(request):
# Get front page categories. This is defined in local_settings.py # Get front page categories. This is defined in local_settings.py
message_tags = MessageTag.get_message_tags(translation.get_language()) #message_tags = MessageTag.get_message_tags(translation.get_language())
# Get advertisements, if any
#advertisements = Advertisement.objects.exclude(pub_date__gte=datetime.date.today()).exclude(exp_date__lte=datetime.date.today()).order_by('-pub_date')[:1]
advertisements = Advertisement.objects.exclude(pub_date__gt=datetime.date.today()).exclude(exp_date__lt=datetime.date.today()).order_by('-pub_date')[:1]
# Last 10 messages # Last 10 messages
context = { context = {
'message_tags': message_tags,
'advertisements': advertisements,
'crop_categories': CropCategory.get_crop_categories(translation.get_language()) 'crop_categories': CropCategory.get_crop_categories(translation.get_language())
} }
return render(request, 'index.html', context) return render(request, 'index.html', context)
......
...@@ -16,14 +16,7 @@ ...@@ -16,14 +16,7 @@
# along with VIPSWeb. If not, see <http://www.nibio.no/licenses/>. # along with VIPSWeb. If not, see <http://www.nibio.no/licenses/>.
# #
"""
from django.contrib import admin from django.contrib import admin
from messages.models import Message#, MessageTag from vips_messages.models import Advertisement
class MessageAdmin(admin.ModelAdmin): admin.site.register(Advertisement)
list_display = ['pub_date','headline','created_by'] \ No newline at end of file
list_filter = ['message_tags']
admin.site.register(Message, MessageAdmin)
admin.site.register(MessageTag)
"""
\ No newline at end of file
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.CreateModel(
name='Advertisement',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('ad_heading', models.CharField(max_length=200, verbose_name='Overskrift')),
('ad_text', models.TextField()),
('pub_date', models.DateTimeField(verbose_name='Date published')),
('exp_date', models.DateField(verbose_name='Date expired')),
('illustration', models.ImageField(upload_to=b'images/advertisement', verbose_name='Hovedillustrasjon', blank=True)),
],
),
]
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('vips_messages', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='advertisement',
name='pub_date',
field=models.DateField(verbose_name='Date published'),
),
]
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
import requests import requests
from django.conf import settings from django.conf import settings
from django.db import models
from django.utils.translation import ugettext as _
from datetime import datetime from datetime import datetime
class MessageTag: class MessageTag:
...@@ -186,3 +188,11 @@ class Message: ...@@ -186,3 +188,11 @@ class Message:
message_illustration["caption"] = caption["caption"] message_illustration["caption"] = caption["caption"]
return message_illustration return message_illustration
class Advertisement(models.Model):
""" Represents an advertisement to be shown on the frontpage """
ad_heading = models.CharField(max_length=200, verbose_name=_("Headline"))
ad_text = models.TextField()
pub_date = models.DateField(verbose_name=_("Date published"))
exp_date = models.DateField(verbose_name=_("Date expired"))
illustration = models.ImageField(upload_to='images/advertisement', blank=True, verbose_name=_("Illustration"))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment