diff options
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/chimere/models.py b/chimere/models.py index 3196ae6..5727098 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -348,10 +348,9 @@ class Importer(models.Model): blank=True, null=True) license = models.CharField(_(u"License"), max_length=100, blank=True, null=True) - categories = SelectMultipleField(SubCategory, + categories = SelectMultipleField(SubCategory, blank=True, null=True, verbose_name=_(u"Associated subcategories")) - state = models.CharField(_(u"State"), max_length=200, - blank=True, null=True) + state = models.TextField(_(u"State"), blank=True, null=True) associate_marker_to_way = models.BooleanField(_(u"Automatically associate "\ u"a marker to a way"), default=False) automatic_update = models.BooleanField(_(u"Automatically updated"), @@ -379,6 +378,31 @@ class Importer(models.Model): def display_categories(self): return u"\n".join([cat.name for cat in self.categories.all()]) + def get_key_category_dict(self): + dct = {} + # if no category provided: all category are considered + q = SubCategory.objects.all() + if self.categories.count(): + q = self.categories.all() + for cat in q.all(): + dct[defaultfilters.slugify(cat.name)] = cat + + for key_cat in self.key_categories.all(): + dct[key_cat.key] = key_cat.category + return dct + +class ImporterKeyCategories(models.Model): + """ + Association between key and categories + """ + importer = models.ForeignKey(Importer, verbose_name=_(u"Importer"), + related_name='key_categories') + category = models.ForeignKey(SubCategory, verbose_name=_(u"Category")) + key = models.CharField(_(u"Import key"), max_length=200) + + class Meta: + verbose_name = _(u"Importer - Key categories") + STATUS = (('S', _(u'Submited')), ('A', _(u'Available')), ('M', _(u'Modified')), |