SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 66ffed2f authored by Jorran de Wit's avatar Jorran de Wit
Browse files

Move Newsitems to separate app

Move and `state-migrate` news items away from
 the mighty `scipost` app.
parent 3104e066
No related branches found
No related tags found
No related merge requests found
from django.contrib import admin
from .models import NewsItem
class NewsItemAdmin(admin.ModelAdmin):
search_fields = ['blurb', 'followup_link_text']
admin.site.register(NewsItem, NewsItemAdmin)
from django.apps import AppConfig
class NewsConfig(AppConfig):
name = 'news'
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2017-03-06 07:04
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
('scipost', '0039_auto_20170306_0804'),
]
state_operations = [
migrations.CreateModel(
name='NewsItem',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date', models.DateField()),
('headline', models.CharField(max_length=300)),
('blurb', models.TextField()),
('followup_link', models.URLField(blank=True, null=True)),
('followup_link_text', models.CharField(blank=True, max_length=300, null=True)),
],
options={
'db_table': 'scipost_newsitem',
},
),
]
operations = [
migrations.SeparateDatabaseAndState(state_operations=state_operations)
]
from django.db import models
from django.template import Template, Context
class NewsItem(models.Model):
date = models.DateField()
headline = models.CharField(max_length=300)
blurb = models.TextField()
followup_link = models.URLField(blank=True, null=True)
followup_link_text = models.CharField(max_length=300, blank=True, null=True)
class Meta:
db_table = 'scipost_newsitem'
def __str__(self):
return self.date.strftime('%Y-%m-%d') + ', ' + self.headline
def descriptor_full(self):
""" For News page. """
descriptor = ('<div class="flex-greybox640">'
'<h3 class="NewsHeadline">{{ headline }}</h3>'
'<p>{{ date }}</p>'
'<p>{{ blurb }}</p>'
)
context = Context({'headline': self.headline,
'date': self.date.strftime('%Y-%m-%d'),
'blurb': self.blurb, })
if self.followup_link:
descriptor += '<p><a href="{{ followup_link }}">{{ followup_link_text }}</a></p>'
context['followup_link'] = self.followup_link
context['followup_link_text'] = self.followup_link_text
descriptor += '</div>'
template = Template(descriptor)
return template.render(context)
def descriptor_small(self):
""" For index page. """
descriptor = ('<h3 class="NewsHeadline">{{ headline }}</h3>'
'<div class="p-2">'
'<p>{{ date }}</p>'
'<p>{{ blurb }}</p>'
)
context = Context({'headline': self.headline,
'date': self.date.strftime('%Y-%m-%d'),
'blurb': self.blurb, })
if self.followup_link:
descriptor += '<p><a href="{{ followup_link }}">{{ followup_link_text }}</a></p>'
context['followup_link'] = self.followup_link
context['followup_link_text'] = self.followup_link_text
descriptor += '</div>'
template = Template(descriptor)
return template.render(context)
from django.test import TestCase
# Create your tests here.
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.news, name='news'),
]
from django.shortcuts import render
from .models import NewsItem
def news(request):
newsitems = NewsItem.objects.all().order_by('-date')
context = {'newsitems': newsitems}
return render(request, 'scipost/news.html', context)
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2017-03-06 07:04
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('scipost', '0038_nomination_webpage'),
]
state_operations = [
migrations.RemoveField(
model_name='feedback',
name='VGM',
),
migrations.RemoveField(
model_name='feedback',
name='by',
),
migrations.RemoveField(
model_name='motion',
name='VGM',
),
migrations.RemoveField(
model_name='motion',
name='in_agreement',
),
migrations.RemoveField(
model_name='motion',
name='in_disagreement',
),
migrations.RemoveField(
model_name='motion',
name='in_notsure',
),
migrations.RemoveField(
model_name='motion',
name='put_forward_by',
),
migrations.DeleteModel(
name='NewsItem',
),
migrations.RemoveField(
model_name='nomination',
name='VGM',
),
migrations.RemoveField(
model_name='nomination',
name='by',
),
migrations.RemoveField(
model_name='nomination',
name='in_agreement',
),
migrations.RemoveField(
model_name='nomination',
name='in_disagreement',
),
migrations.RemoveField(
model_name='nomination',
name='in_notsure',
),
migrations.AlterField(
model_name='remark',
name='feedback',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Feedback'),
),
migrations.AlterField(
model_name='remark',
name='motion',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Motion'),
),
migrations.AlterField(
model_name='remark',
name='nomination',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='virtualmeetings.Nomination'),
),
migrations.DeleteModel(
name='Feedback',
),
migrations.DeleteModel(
name='Motion',
),
migrations.DeleteModel(
name='Nomination',
),
migrations.DeleteModel(
name='VGM',
),
]
operations = [
migrations.SeparateDatabaseAndState(state_operations=state_operations)
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment