richleland / django-happening

a collection of news and events focused django apps.

Changed (Δ2.9 KB):

raw changeset »

happening/news/admin.py (1 lines added, 1 lines removed)

happening/news/fixtures/test-data-news.yaml (5 lines added, 0 lines removed)

happening/news/migrations/0005_make_long_text_optional.py (47 lines added, 0 lines removed)

happening/news/models.py (5 lines added, 1 lines removed)

happening/news/tests.py (6 lines added, 0 lines removed)

Up to file-list happening/news/admin.py:

@@ -9,7 +9,7 @@ except:
9
9
10
10
if TinyMCE:
11
11
    class NewsItemForm(forms.ModelForm):
12
        long_text = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
12
        long_text = forms.CharField(required=False, widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
13
13
        
14
14
        class Meta:
15
15
            model = NewsItem

Up to file-list happening/news/fixtures/test-data-news.yaml:

9
9
            News Item, visible: true}
10
10
    model: news.newsitem
11
11
    pk: 1
12
-   fields: {end_date: null, long_text: '', pub_date: !!timestamp '2010-01-20 11:19:43',
13
        short_text: '', slug: another-news-item, subhead: '', title: Another
14
            News Item, visible: true}
15
    model: news.newsitem
16
    pk: 2
12
17

Up to file-list happening/news/migrations/0005_make_long_text_optional.py:

1
2
from south.db import db
3
from django.db import models
4
from happening.news.models import *
5
6
class Migration:
7
    
8
    def forwards(self, orm):
9
        
10
        # Changing field 'NewsItem.long_text'
11
        # (to signature: django.db.models.fields.TextField(blank=True))
12
        db.alter_column('news_newsitem', 'long_text', orm['news.newsitem:long_text'])
13
        
14
    
15
    
16
    def backwards(self, orm):
17
        
18
        # Changing field 'NewsItem.long_text'
19
        # (to signature: django.db.models.fields.TextField())
20
        db.alter_column('news_newsitem', 'long_text', orm['news.newsitem:long_text'])
21
        
22
    
23
    
24
    models = {
25
        'news.category': {
26
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
27
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
28
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'unique': 'True', 'db_index': 'True'})
29
        },
30
        'news.newsitem': {
31
            'Meta': {'unique_together': "(('pub_date', 'slug'),)"},
32
            'breaking': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
33
            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['news.Category']", 'null': 'True', 'blank': 'True'}),
34
            'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
35
            'external_url': ('django.db.models.fields.URLField', [], {'default': "''", 'max_length': '200', 'blank': 'True'}),
36
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
37
            'long_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
38
            'pub_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
39
            'short_text': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
40
            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
41
            'subhead': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
42
            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
43
            'visible': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'})
44
        }
45
    }
46
    
47
    complete_apps = ['news']

Up to file-list happening/news/models.py:

@@ -27,7 +27,7 @@ class NewsItem(models.Model):
27
27
    slug = models.SlugField()
28
28
    subhead = models.CharField(max_length=255, blank=True)
29
29
    short_text = models.CharField(max_length=50, blank=True)
30
    long_text = models.TextField()
30
    long_text = models.TextField(blank=True)
31
31
    external_url = models.URLField(verify_exists=False, default="", blank=True)
32
32
    
33
33
    objects = NewsItemManager()
@@ -49,3 +49,7 @@ class NewsItem(models.Model):
49
49
            'day': self.pub_date.strftime('%d'),
50
50
            'slug': self.slug
51
51
        })
52
    
53
    @property
54
    def has_detail(self):
55
        return True if self.long_text else False

Up to file-list happening/news/tests.py:

@@ -48,3 +48,9 @@ class NewsTests(MainTests):
48
48
        })
49
49
        response = self.client.get(url)
50
50
        self.assertEquals(response.status_code, 200)
51
    
52
    def test_news_has_detail(self):
53
        news_item = NewsItem.objects.get(pk=1)
54
        self.assertEquals(news_item.has_detail, True)
55
        news_item = NewsItem.objects.get(pk=2)
56
        self.assertEquals(news_item.has_detail, False)