X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/e76fdcf2a2488b1787c74fe8dccfa38d7ac04c84..07096ee18c78a330205e0f0a656dee1378ceb8c2:/curriculum/models.py diff --git a/curriculum/models.py b/curriculum/models.py index 399536b..8b99f61 100644 --- a/curriculum/models.py +++ b/curriculum/models.py @@ -1,3 +1,4 @@ +from django.core.urlresolvers import reverse from django.db import models from django.utils.translation import ugettext_lazy as _ @@ -28,9 +29,21 @@ class Competence(models.Model): def __unicode__(self): return self.name + def get_absolute_url(self): + return "%s?c=%d" % (reverse("curriculum"), self.pk) + + def for_level(self, level): + return self.competencelevel_set.get(level=level) + + @classmethod + def from_text(cls, text): + name = text.rsplit(u'\u2013', 1)[-1].strip() + return cls.objects.get(name__iexact=name) + class Level(models.Model): + group = models.CharField(_('group'), max_length=255) name = models.CharField(_('name'), max_length=255) - slug = models.SlugField(_('slug')) + slug = models.CharField(_('slug'), max_length=255) order = models.IntegerField(_('order')) class Meta: @@ -52,4 +65,7 @@ class CompetenceLevel(models.Model): verbose_name_plural = _('competences on levels') def __unicode__(self): - return "%s/%s" % (self.competence, self.level) + return u"%s/%s" % (self.competence, self.level) + + def get_absolute_url(self): + return "%s?c=%d&level=%s&d=1" % (reverse("curriculum"), self.competence.pk, self.level.slug)