#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (C) 2012 Étienne Loks # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # See the file COPYING for details. from django.contrib import admin from ishtar_common.apps import admin_site from ishtar_common.admin import HistorizedObjectAdmin, GeneralTypeAdmin from . import models class DivisionInline(admin.TabularInline): model = models.Warehouse.associated_divisions.through exclude = ("division",) extra = 1 class WarehouseAdmin(HistorizedObjectAdmin): list_display = ("name", "warehouse_type", "town") list_filter = ("warehouse_type",) search_fields = ("name", "town", "warehouse_type") model = models.Warehouse autocomplete_fields = HistorizedObjectAdmin.autocomplete_fields + [ "precise_town", "person_in_charge", "organization" ] inlines = [DivisionInline] exclude = ["documents", "main_image"] admin_site.register(models.Warehouse, WarehouseAdmin) class ContainerTypeAdmin(GeneralTypeAdmin): LIST_DISPLAY = ( "label", "reference", "stationary", "length", "width", "height", "volume", ) model = models.ContainerType list_filter = ("available", "stationary") admin_site.register(models.ContainerType, ContainerTypeAdmin) class ContainerAdmin(HistorizedObjectAdmin): list_display = ( "reference", "location", "container_type", ) list_filter = ("container_type",) search_fields = ("reference", "container_type", "cached_label", "responsible") model = models.Container readonly_fields = HistorizedObjectAdmin.readonly_fields + ["history_date"] autocomplete_fields = HistorizedObjectAdmin.autocomplete_fields + [ "location", "responsible" ] exclude = ["documents", "main_image"] admin_site.register(models.Container, ContainerAdmin) general_models = [models.WarehouseType] for model in general_models: admin_site.register(model, GeneralTypeAdmin)