SupplierForm, LocationForm_view

from common.views import ExtraListView, ExtraDetailView, ExtraCreateView, ExtraUpdateView, ExtraDeleteView
from inventory.views import TemplateItemsView

from conf import settings as inventory_settings
                                

urlpatterns = patterns('inventory.views',
    url(r'^template/list/$', ExtraListView.as_view(queryset=ItemTemplate.objects.all(), extra_context=dict(title=_(u'item template'))), name='template_list'),
    url(r'^template/create/$', ExtraCreateView.as_view(form_class=ItemTemplateForm, template_name='generic_form.html', extra_context={'object_name':_(u'item template')}), name='template_create'),
    url(r'^template/(?P<pk>\d+)/update/$', ExtraUpdateView.as_view(form_class=ItemTemplateForm, queryset=ItemTemplate.objects.all(), template_name='generic_form.html', extra_context={'object_name':_(u'item template')}), name='template_update' ),
    url(r'^template/(?P<pk>\d+)/delete/$', ExtraDeleteView.as_view(), dict({'model':ItemTemplate}, success_url=reverse_lazy("template_list"), extra_context=dict(object_name=_(u'item template'), _message=_(u"Will be deleted from any user that may have it assigned and from any item group."))), name='template_delete' ),
    url(r'^template/orphans/$', ExtraListView.as_view(queryset=ItemTemplate.objects.filter(item=None), extra_context=dict(title=_('orphan templates'))), name='template_orphans_list'),
    url(r'^template/(?P<object_id>\d+)/photos/$', generic_photos, {'model':ItemTemplate, 'max_photos':inventory_settings.MAX_TEMPLATE_PHOTOS, 'extra_context':{'object_name':_(u'item template')}}, name='template_photos'), 
    url(r'^template/(?P<pk>\d+)/$', ExtraDetailView.as_view(form_class=ItemTemplateForm_view, queryset=ItemTemplate.objects.all(), extra_context={'object_name':_(u'item template'), 'sidebar_subtemplates':['generic_photos_subtemplate.html']}), name='template_view'),
    #url(r'^template/(?P<object_id>\d+)/items/$', 'template_items', name='template_items_list'),
    url(r'^template/(?P<pk>\d+)/items/$', TemplateItemsView.as_view(), name='template_items_list'),
    url(r'^template/(?P<object_id>\d+)/assign/supplies$', 'template_assign_remove_supply', name='template_assign_supply'),
    url(r'^template/(?P<object_id>\d+)/assign/suppliers/$', 'template_assign_remove_suppliers', name='template_assign_suppliers'),

    url(r'^inventory/list/$', ExtraListView.as_view(queryset=Inventory.objects.all(), extra_context=dict(title=_(u'inventories'), extra_columns=[{'name':_(u'location'), 'attribute':'location'}])), name='inventory_list'),
    url(r'^inventory/create/$', ExtraCreateView.as_view(model=Inventory, template_name='generic_form.html', extra_context={'object_name':_(u'inventory')}), name='inventory_create'),
    url(r'^inventory/(?P<object_id>\d+)/$', 'inventory_view', name='inventory_view'),
    url(r'^inventory/(?P<pk>\d+)/update/$', ExtraUpdateView.as_view(form_class=InventoryForm, queryset=Inventory.objects.all(), template_name='generic_form.html', extra_context={'object_name':_(u'inventory')}), name='inventory_update'),
    url(r'^inventory/(?P<pk>\d+)/delete/$', ExtraDeleteView.as_view(model=Inventory, success_url=reverse_lazy("inventory_list"), extra_context=dict(object_name=_(u'inventory'))), name='inventory_delete'),
    #url(r'^inventory/(?P<pk>\d+)/current/$', 'inventory_current', (), 'inventory_current'),
    url(r'^inventory/(?P<object_id>\d+)/transaction/create/$', 'inventory_create_transaction', name='inventory_create_transaction'),
    url(r'^inventory/(?P<object_id>\d+)/transaction/list/$', 'inventory_list_transactions', name='inventory_list_transactions'),

    url(r'^transaction/list/$', ExtraListView.as_view(queryset=InventoryTransaction.objects.all(), extra_context=dict(title=_(u'transactions'))), name='inventory_transaction_list'),
from common.views import ExtraListView, ExtraDetailView, ExtraCreateView, ExtraUpdateView, ExtraDeleteView
from generic_views.views import generic_assign_remove

from photos.views import generic_photos

from inventory import location_filter

from assets import state_filter
from models import Item, ItemGroup, Person, State
from forms import ItemForm, ItemForm_view, ItemGroupForm, ItemGroupForm_view, PersonForm, PersonForm_view
from conf import settings as asset_settings                             

                                
urlpatterns = patterns('assets.views',
    url(r'^person/(?P<object_id>\d+)/photos/$', generic_photos, {'model':Person, 'max_photos':asset_settings.MAX_PERSON_PHOTOS, 'extra_context':{'object_name':_(u'person')}}, 'person_photos'), 
    url(r'^person/(?P<pk>\d+)/$', ExtraDetailView.as_view(form_class=PersonForm_view, queryset=Person.objects.all(), extra_context={'sidebar_subtemplates':['generic_photos_subtemplate.html']}), name='person_view'),
    url(r'^person/list/$', ExtraListView.as_view(queryset=Person.objects.all(), list_filters=[location_filter], extra_context={'title':_(u'people')}), name='person_list'),
    url(r'^person/create/$', ExtraCreateView.as_view(form_class=PersonForm, template_name='generic_form.html'), name='person_create'),
    url(r'^person/(?P<pk>\d+)/update/$', ExtraUpdateView.as_view(form_class=PersonForm, queryset=Person.objects.all(), template_name='generic_form.html'), name='person_update'),
    url(r'^person/(?P<pk>\d+)/delete/$', ExtraDeleteView.as_view(model=Person, post_delete_redirect='person_list', extra_context={'object_name':_(u'person')}), name='person_delete'),
    url(r'^person/(?P<pk>\d+)/assign/$', 'person_assign_remove_item', (), 'person_assign_item'),

    url(r'^asset/create/$', ExtraCreateView.as_view(form_class=ItemForm, template_name='generic_form.html'), name='item_create'),
    url(r'^asset/(?P<pk>\d+)/update/$', ExtraUpdateView.as_view(form_class=ItemForm, queryset=Item.objects.all(), template_name='generic_form.html', extra_context={'object_name':_(u'asset')}), name='item_update'),
    url(r'^asset/(?P<pk>\d+)/delete/$', ExtraDeleteView.as_view(model=Item, success_url=reverse_lazy("item_list"), extra_context={'object_name':_(u'asset')}), name='item_delete'),
    url(r'^asset/(?P<object_id>\d+)/assign/$', 'item_assign_remove_person', (), name='item_assign_person'),
    url(r'^asset/orphans/$', ExtraListView.as_view(queryset=Item.objects.filter(person=None), list_filters=[location_filter], extra_context=dict(title=_(u'orphan assets'))), name='item_orphans_list'),
    url(r'^asset/list/$', ExtraListView.as_view(queryset=Item.objects.all(), list_filters=[location_filter, state_filter], extra_context=dict(title=_(u'assets'))), name='item_list'),
    url(r'^asset/(?P<pk>\d+)/$', ExtraDetailView.as_view(form_class=ItemForm_view, queryset=Item.objects.all(), extra_context={'object_name':_(u'asset'), 'sidebar_subtemplates':['generic_photos_subtemplate.html', 'state_subtemplate.html']}, extra_fields=[{'field':'get_owners', 'label':_(u'Assigned to:')}]), name='item_view'),
    url(r'^asset/(?P<object_id>\d+)/photos/$', generic_photos, {'model':Item, 'max_photos':asset_settings.MAX_ASSET_PHOTOS, 'extra_context':{'object_name':_(u'asset')}}, 'item_photos'), 
    url(r'^asset/(?P<object_id>\d+)/state/(?P<state_id>\d+)/set/$', 'item_setstate', name='item_setstate'),