~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to wlmaps/models.py

  • Committer: Holger Rapp
  • Date: 2009-04-04 14:32:27 UTC
  • Revision ID: sirver@kallisto.local-20090404143227-mf49s08keq3nv08c
Initital (unusable) version of wlmaps application

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python -tt
 
2
# encoding: utf-8
 
3
 
 
4
from django.db import models
 
5
from django.contrib.auth.models import User
 
6
from django.template.defaultfilters import slugify
 
7
import datetime
 
8
 
 
9
class MapManager(models.Manager):
 
10
    def create(self,**kwargs):
 
11
        if 'slug' not in kwargs:
 
12
            name = kwargs['name']
 
13
            slug = slugify(name)
 
14
            m = super(MapManager,self).create(slug=slug, **kwargs)
 
15
        else:
 
16
            m = super(MapManager,self).create(**kwargs)
 
17
 
 
18
        return m
 
19
        
 
20
 
 
21
class Map(models.Model):
 
22
    name = models.CharField( max_length = 255, unique = True )
 
23
    slug = models.SlugField(unique=True)
 
24
    author = models.CharField( max_length = 255 )
 
25
    w = models.PositiveIntegerField( verbose_name = 'Width')
 
26
    h = models.PositiveIntegerField( verbose_name = 'Height')
 
27
    
 
28
    descr = models.TextField( verbose_name = "Description" )
 
29
    minimap = models.ImageField( upload_to ="/wlmaps/minimaps/" )
 
30
    
 
31
    world_name = models.CharField( max_length = 50  )
 
32
 
 
33
    pub_date = models.DateField( default = datetime.datetime.now )
 
34
    uploader_comment = models.TextField( )
 
35
    uploader = models.ForeignKey(User)
 
36
    nr_downloads = models.PositiveIntegerField( verbose_name ="Download count", default = 0)
 
37
    
 
38
    objects = MapManager()
 
39
    
 
40
    @models.permalink
 
41
    def get_absolute_url( self ):
 
42
        return ("wlmaps_view", None, {"map_slug": self.slug } )
 
43
 
 
44
    def __unicode__(self):
 
45
        return u'%s by %s' % (self.name, self.author)