diff --git a/inventory/models/distributor.py b/inventory/models/distributor.py
index c560d7a..554d15c 100644
--- a/inventory/models/distributor.py
+++ b/inventory/models/distributor.py
@@ -17,3 +17,6 @@ class Distributor(models.Model):
def __str__(self):
return self.name
+
+ class Meta:
+ ordering = ("name", )
\ No newline at end of file
diff --git a/inventory/templates/inventory/distributor_detail.html b/inventory/templates/inventory/distributor_detail.html
new file mode 100644
index 0000000..6c0f821
--- /dev/null
+++ b/inventory/templates/inventory/distributor_detail.html
@@ -0,0 +1,164 @@
+{% extends "base.html" %}
+{% load static %}
+{% load formatstring %}
+
+{% block title %}Distributor: {{ distributor }}{% endblock %}
+
+{% block header_bar %}
+
+ Distributor: {{ distributor.name }}
+ {{ distributor.description }}
+{% endblock %}
+
+{% block header_icons %}
+ {% if user.is_staff %}
+
+
+
+ {% endif %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ Name |
+ {{ distributor.name }} |
+
+
+ Description |
+ {{ distributor.description }} |
+
+ {% if distributor.icon %}
+
+ Icon |
+  |
+
+ {% endif %}
+
+ Link |
+ {% if distributor.web_link %}{{ distributor.web_link }}{% else %}-{% endif %} |
+
+ {% if distributor.search_link %}
+
+ Search |
+
+
+
+ |
+
+ {% endif %}
+ {% if distributor.phone %}
+
+ Phone |
+ {{ distributor.phone }} |
+
+ {% endif %}
+ {% if distributor.email %}
+
+ Email |
+ {{ distributor.email }} |
+
+ {% endif %}
+
+
+ Tags |
+
+
+ {% for tag in distributor.tags.all %}
+ - {{ tag.name }}
+ {% empty %}
+ No tags
+ {% endfor %}
+
+ |
+
+
+ Created at | {{ distributor.created_at }} |
+ {% if distributor.created_at != distributor.changed_at %}
+ Last change | {{ distributor.changed_at }} |
+ {% endif %}
+
+
+
+ Items
+
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/inventory/views/distributor.py b/inventory/views/distributor.py
index 08e01d0..3e049eb 100644
--- a/inventory/views/distributor.py
+++ b/inventory/views/distributor.py
@@ -1,14 +1,23 @@
-from django.views import View
+from django.core.paginator import Paginator
from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
from django.views.generic import ListView, DetailView
-from inventory.models import Distributor
+from inventory.models import Distributor, Item
+@method_decorator(login_required, name='dispatch')
+class DistributorView(DetailView):
+ context_object_name = 'distributor'
+ queryset = Distributor.objects.all().prefetch_related('tags')
-class DistributorView(View):
- pass
-
+ def get_context_data(self, *args, object_list=None, **kwargs):
+ result = super().get_context_data(*args, object_list=object_list, **kwargs)
+ p = self.request.GET.get("item_page", 1)
+ paginator = Paginator(Item.objects.filter(distributor=self.get_object()).select_related('container', 'manufacturer').order_by('name'), 50)
+ result.update({
+ "items": paginator.get_page(p)
+ })
+ return result
@method_decorator(login_required, name='dispatch')
class DistributorListView(ListView):