summaryrefslogtreecommitdiff
path: root/procurement/admin.py
blob: 993b1b5a457c8b9bb74d4f4062a92751aff9536e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from django.contrib import admin
from django.shortcuts import render_to_response, get_object_or_404

from procurement.admin_forms import ComponentAdminForm
from procurement.models import Supplier, Component


class SupplierAdmin(admin.ModelAdmin):
    list_display = ('name', 'representative_name', 'representative_email', 'is_authorized', 'updated')
    filter_horizonal = ('components',)


class ComponentAdmin(admin.ModelAdmin):
    list_display = ('name', 'sku', 'updated')
    form = ComponentAdminForm
    source_components_template = 'procurement/admin_templates/source_components.html'

    def source_components(self, request, pk):
        component = get_object_or_404(Component, pk=pk)

        return render_to_response(self.source_components_template, {
            'title': 'Source Suppliers for: %s' % component,
            'opts': self.model._meta,
            'component': component,
            'supplier_results': component.suppliers.filter(is_authorized=True),

        })


admin.site.register(Supplier, SupplierAdmin)
admin.site.register(Component, ComponentAdmin)