~widelands-dev/widelands-website/update_beautifulsoup4

« back to all changes in this revision

Viewing changes to wlmaps/models.py

  • Committer: Shevonar
  • Date: 2012-04-24 21:14:22 UTC
  • mto: This revision was merged to the branch mainline in revision 330.
  • Revision ID: infomh@anmaruco.de-20120424211422-d80y5yd8x9q9gzpx
Maps modul reworked and adjusted to new style.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
 
13
13
from djangoratings.fields import AnonymousRatingField
14
14
 
15
 
class MapManager(models.Manager):
16
 
    def create(self,**kwargs):
17
 
        if 'slug' not in kwargs:
18
 
            name = kwargs['name']
19
 
            slug = slugify(name)
20
 
            m = super(MapManager,self).create(slug=slug, **kwargs)
21
 
        else:
22
 
            m = super(MapManager,self).create(**kwargs)
23
 
 
24
 
        return m
25
 
 
26
15
 
27
16
class Map(models.Model):
28
17
    name = models.CharField( max_length = 255, unique = True )
33
22
    nr_players = models.PositiveIntegerField( verbose_name = 'Max Players')
34
23
 
35
24
    descr = models.TextField( verbose_name = "Description" )
36
 
    minimap = models.ImageField( upload_to ="/wlmaps/minimaps/" )
37
 
    file = models.FileField( upload_to ="/wlmaps/maps/" )
 
25
    minimap = models.ImageField( verbose_name = "Minimap", upload_to = settings.MEDIA_ROOT + "/wlmaps/minimaps/" )
 
26
    file = models.FileField( verbose_name = "Mapfile", upload_to = settings.MEDIA_ROOT + "/wlmaps/maps/" )
38
27
 
39
28
    world_name = models.CharField( max_length = 50  )
40
29
 
41
30
    pub_date = models.DateTimeField( default = datetime.datetime.now )
42
 
    uploader_comment = models.TextField( )
 
31
    uploader_comment = models.TextField( verbose_name = "Uploader comment", blank = True )
43
32
    uploader = models.ForeignKey(User)
44
 
    nr_downloads = models.PositiveIntegerField( verbose_name ="Download count", default = 0)
 
33
    nr_downloads = models.PositiveIntegerField( verbose_name = "Download count", default = 0)
45
34
 
46
35
    rating = AnonymousRatingField(range=10, can_change_vote = True)
47
36
 
50
39
            weights = {
51
40
                'name': 100,
52
41
                'author': 60,
 
42
                'uploader_comment': 40,
53
43
                }
54
44
        )
55
45
 
57
47
        ordering  = ('-pub_date',)
58
48
        get_latest_by = 'pub_date'
59
49
 
60
 
    objects = MapManager()
61
 
 
62
50
    @models.permalink
63
51
    def get_absolute_url( self ):
64
52
        return ("wlmaps_view", None, {"map_slug": self.slug } )
65
53
 
66
54
    def __unicode__(self):
67
55
        return u'%s by %s' % (self.name, self.author)
 
56
 
 
57
    def save(self, *args, **kwargs):
 
58
        if not self.slug:
 
59
            self.slug = slugify(self.name)
 
60
 
 
61
        map = super(Map, self).save(*args, **kwargs)
 
62
        return map