diff options
| -rw-r--r-- | ishtar_common/admin.py | 25 | ||||
| -rw-r--r-- | ishtar_common/models.py | 3 | 
2 files changed, 26 insertions, 2 deletions
| diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index cec61a51e..fbd9f4d29 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -20,6 +20,8 @@  import csv  from ajax_select import make_ajax_form +from ajax_select.fields import AutoCompleteSelectField, \ +    AutoCompleteSelectMultipleField  from django.conf import settings  from django.contrib import admin @@ -171,12 +173,31 @@ class PersonAdmin(HistorizedObjectAdmin):  admin_site.register(models.Person, PersonAdmin) +class AdminRelatedTownForm(forms.ModelForm): +    class Meta: +        model = models.Town.children.through +        exclude = [] +    from_town = AutoCompleteSelectField( +        'town', required=True, label=_(u"Parent")) + +  class AdminTownForm(forms.ModelForm):      class Meta:          model = models.Town          exclude = []      center = PointField(label=_(u"center"), required=False,                          widget=OSMWidget) +    children = AutoCompleteSelectMultipleField('town', required=False, +                                               label=_(u"Town children")) + + +class TownParentInline(admin.TabularInline): +    model = models.Town.children.through +    fk_name = 'to_town' +    form = AdminRelatedTownForm +    verbose_name = _(u"Parent") +    verbose_name_plural = _(u"Parents") +    extra = 1  class TownAdmin(admin.ModelAdmin): @@ -186,9 +207,11 @@ class TownAdmin(admin.ModelAdmin):          list_display += ['numero_insee', 'departement', ]          search_fields += ['numero_insee', 'departement__label', ]          list_filter = ("departement",) -    readonly_fields = ['imports'] +    readonly_fields = ['cached_label', 'imports']      model = models.Town      form = AdminTownForm +    inlines = [TownParentInline] +  admin_site.register(models.Town, TownAdmin) diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 3c2972cab..9629ae4dd 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2577,7 +2577,8 @@ class Town(Imported, models.Model):                                     blank=True)      year = models.IntegerField(          _("Year of creation"), null=True, blank=True, -        help_text=_("If not filled considered as the older town known.")) +        help_text=_(u"Filling this field is relevant to distinguish old towns " +                    u"to new towns."))      children = models.ManyToManyField(          'Town', verbose_name=_(u"Town children"), blank=True,          related_name='parents') | 
