#!/usr/bin/env python # -*- 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 ajax_select import make_ajax_form 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 extra = 1 class WarehouseAdmin(HistorizedObjectAdmin): list_display = ('name', 'warehouse_type', 'town') list_filter = ('warehouse_type',) search_fields = ('name', 'town') model = models.Warehouse ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy() ajax_form_dict.update({ 'town': 'town', 'precise_town': 'town', 'person_in_charge': 'person', 'organization': 'organization' }) form = make_ajax_form(model, ajax_form_dict) inlines = [DivisionInline] exclude = ["documents", "main_image"] admin_site.register(models.Warehouse, WarehouseAdmin) class ContainerTypeAdmin(GeneralTypeAdmin): list_display = ('label', 'reference', 'length', 'width', 'height', 'volume') model = models.ContainerType admin_site.register(models.ContainerType, ContainerTypeAdmin) class ContainerAdmin(HistorizedObjectAdmin): list_display = ('reference', 'location', 'container_type',) list_filter = ("container_type",) model = models.Container readonly_fields = HistorizedObjectAdmin.readonly_fields + [ 'history_date' ] ajax_form_dict = HistorizedObjectAdmin.AJAX_FORM_DICT.copy() ajax_form_dict.update({ 'location': 'warehouse', 'responsible': 'warehouse' }) form = make_ajax_form(model, ajax_form_dict) exclude = ["documents", "main_image"] admin_site.register(models.Container, ContainerAdmin) general_models = [models.WarehouseType, models.WarehouseDivision] for model in general_models: admin_site.register(model, GeneralTypeAdmin)