summaryrefslogtreecommitdiff
path: root/apps/projects/models/natparks.py
blob: f4a739d60f58d6f81edf80523314e3803d4328ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from django.contrib.gis.db import models
from PIL import Image
from blog.models import Entry
from photos.models import PhotoGallery
from locations.models import State


PUB_STATUS = (
        (0, 'Draft'),
        (1, 'Published'),
    )


import datetime
def get_upload_path(self, filename):
    return "images/projects/np/%s/%s" %(datetime.datetime.today().strftime("%Y"), filename)


class NationalParks(models.Model):
    type = models.CharField(max_length=50)
    name = models.CharField(max_length=254)
    state = models.ForeignKey(State, null=True)
    size = models.CharField(max_length=10, null=True)
    fee = models.CharField(max_length=5, null=True)
    camping_fee = models.CharField(max_length=10, null=True)
    url = models.CharField(max_length=250, null=True)
    code= models.CharField(max_length=16)
    unit_name= models.CharField(max_length=254)
    date_visited_begin = models.DateField('Date Visited',null=True)
    date_visited_end = models.DateField('Date Visited',null=True)
    date_park_created = models.DateField('Date Park Created',null=True)
    zoom= models.IntegerField(null=True)
    mpoly = models.MultiPolygonField(null=True)
    visited = models.BooleanField(default=False)
    dek = models.TextField(null=True, blank=True)
    tag_line = models.CharField(max_length=254, null=True)
    post = models.ForeignKey(Entry, null=True)
    gallery = models.ForeignKey(PhotoGallery, blank=True, null=True, verbose_name='photo set')
    image = models.FileField(upload_to=get_upload_path, null=True,blank=True,help_text="width: 980px, height: > 450px")
    image_height = models.CharField(max_length=20, null=True,blank=True)
    image_width = models.CharField(max_length=20, null=True,blank=True)
    objects = models.GeoManager()

    class Meta:
        verbose_name_plural = "National Parks"
        app_label = 'projects'
        ordering = ('-visited','unit_name',)
    # Returns the string representation of the model.
    def __unicode__(self):
        return self.unit_name

    def save(self): 
        #get image dimensions
        img = Image.open(self.image)
        self.image_width, self.image_height = img.size 
        super(NationalParks, self).save()