~widelands-dev/widelands-website/django_staticfiles

« back to all changes in this revision

Viewing changes to wlprofile/models.py

  • Committer: franku
  • Date: 2016-12-13 18:28:51 UTC
  • mto: This revision was merged to the branch mainline in revision 443.
  • Revision ID: somal@arcor.de-20161213182851-bo5ebf8pdvw5beua
run the script

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
    (11.5, '+11.5'), (12, '+12'), (13, '+13'), (14, '+14'),
19
19
)]
20
20
 
 
21
 
21
22
class Profile(models.Model):
22
 
    user = AutoOneToOneField(User, related_name='wlprofile', verbose_name=_('User'))
 
23
    user = AutoOneToOneField(
 
24
        User, related_name='wlprofile', verbose_name=_('User'))
23
25
 
24
26
    # Web related fields.
25
27
    site = models.URLField(_('Website'), blank=True, default='')
26
 
    jabber = models.CharField(_('Jabber'), max_length=80, blank=True, default='')
 
28
    jabber = models.CharField(
 
29
        _('Jabber'), max_length=80, blank=True, default='')
27
30
    icq = models.CharField(_('ICQ'), max_length=12, blank=True, default='')
28
31
    msn = models.CharField(_('MSN'), max_length=80, blank=True, default='')
29
32
    aim = models.CharField(_('AIM'), max_length=80, blank=True, default='')
30
33
    yahoo = models.CharField(_('Yahoo'), max_length=80, blank=True, default='')
31
34
 
32
35
    # Personal Informations
33
 
    location = models.CharField(_('Location'), max_length=30, blank=True, default='')
 
36
    location = models.CharField(
 
37
        _('Location'), max_length=30, blank=True, default='')
34
38
 
35
39
    # Configuration for Forum/Site
36
 
    time_zone = models.FloatField(_('Time zone'), choices=TZ_CHOICES, default=float(settings.DEFAULT_TIME_ZONE))
37
 
    time_display = models.CharField(_('Time display'), max_length=80, default=settings.DEFAULT_TIME_DISPLAY)
38
 
    signature = models.TextField(_('Signature'), blank=True, default='', max_length=settings.SIGNATURE_MAX_LENGTH)
 
40
    time_zone = models.FloatField(
 
41
        _('Time zone'), choices=TZ_CHOICES, default=float(settings.DEFAULT_TIME_ZONE))
 
42
    time_display = models.CharField(
 
43
        _('Time display'), max_length=80, default=settings.DEFAULT_TIME_DISPLAY)
 
44
    signature = models.TextField(
 
45
        _('Signature'), blank=True, default='', max_length=settings.SIGNATURE_MAX_LENGTH)
39
46
 
40
 
    avatar = ExtendedImageField(_('Avatar'), blank=True, default="wlprofile/anonymous.png", upload_to="wlprofile/avatars/", width=settings.AVATAR_WIDTH, height=settings.AVATAR_HEIGHT)
41
 
    show_signatures = models.BooleanField(_('Show signatures'), blank=True, default=True)
 
47
    avatar = ExtendedImageField(_('Avatar'), blank=True, default='wlprofile/anonymous.png',
 
48
                                upload_to='wlprofile/avatars/', width=settings.AVATAR_WIDTH, height=settings.AVATAR_HEIGHT)
 
49
    show_signatures = models.BooleanField(
 
50
        _('Show signatures'), blank=True, default=True)
42
51
 
43
52
    class Meta:
44
53
        verbose_name = _('Profile')
45
54
        verbose_name_plural = _('Profiles')
46
55
 
47
 
 
48
56
    def unread_pm_count(self):
49
57
        return PrivateMessage.objects.filter(dst_user=self, read=False).count()
50
58
 
51
59
    def post_count(self):
52
 
        """
53
 
        Return the nr of posts the user has. This uses djangos filter feature
54
 
        will therefore hit the database. This should maybe be reworked when the
55
 
        database grows to not be always calculated.
 
60
        """Return the nr of posts the user has.
 
61
 
 
62
        This uses djangos filter feature will therefore hit the
 
63
        database. This should maybe be reworked when the database grows
 
64
        to not be always calculated.
 
65
 
56
66
        """
57
67
        return Post.objects.filter(user=self.user).count()
58
68
 
60
70
        nump = self.post_count()
61
71
 
62
72
        if nump < 6:
63
 
            return { "text":"Just found this site", "image":"rang_1.png" }
 
73
            return {'text': 'Just found this site', 'image': 'rang_1.png'}
64
74
        elif nump < 50:
65
 
            return { "text":"Pry about Widelands", "image":"rang_2.png" }
 
75
            return {'text': 'Pry about Widelands', 'image': 'rang_2.png'}
66
76
        elif nump < 120:
67
 
            return { "text":"Likes to be here", "image":"rang_3.png" }
 
77
            return {'text': 'Likes to be here', 'image': 'rang_3.png'}
68
78
        elif nump < 180:
69
 
            return { "text":"At home in WL-forums", "image":"rang_4.png" }
 
79
            return {'text': 'At home in WL-forums', 'image': 'rang_4.png'}
70
80
        elif nump < 250:
71
 
            return { "text":"Widelands-Forum-Junkie", "image":"rang_5.png" }
 
81
            return {'text': 'Widelands-Forum-Junkie', 'image': 'rang_5.png'}
72
82
        elif nump < 500:
73
 
            return { "text":"Tribe Member", "image":"rang_6.png" }
 
83
            return {'text': 'Tribe Member', 'image': 'rang_6.png'}
74
84
        else:
75
 
            return { "text":"One Elder of Players", "image":"rang_7.png" }
76
 
 
77
 
 
 
85
            return {'text': 'One Elder of Players', 'image': 'rang_7.png'}