diff --git a/ram/bookshelf/admin.py b/ram/bookshelf/admin.py index 011b6e0..5c297b8 100644 --- a/ram/bookshelf/admin.py +++ b/ram/bookshelf/admin.py @@ -139,4 +139,4 @@ class CatalogAdmin(SortableAdminBase, admin.ModelAdmin): @admin.display(description="Scales") def get_scales(self, obj): - return ", ".join(s.scale for s in obj.scales.all()) + return "/".join(s.scale for s in obj.scales.all()) diff --git a/ram/bookshelf/models.py b/ram/bookshelf/models.py index af0643e..83c32c9 100644 --- a/ram/bookshelf/models.py +++ b/ram/bookshelf/models.py @@ -54,9 +54,6 @@ class BaseBook(BaseModel): Tag, related_name="bookshelf", blank=True ) - def get_absolute_url(self): - return reverse("book", kwargs={"uuid": self.uuid}) - def delete(self, *args, **kwargs): shutil.rmtree( os.path.join( @@ -110,6 +107,9 @@ class Book(BaseBook): def publisher_name(self): return self.publisher.name + def get_absolute_url(self): + return reverse("book", kwargs={"uuid": self.uuid}) + class Catalog(BaseBook): manufacturer = models.ForeignKey( @@ -127,3 +127,6 @@ class Catalog(BaseBook): def __str__(self): scales = "/".join([s.scale for s in self.scales.all()]) return "%s %s %s" % (self.manufacturer.name, self.years, scales) + + def get_absolute_url(self): + return reverse("catalog", kwargs={"uuid": self.uuid}) diff --git a/ram/portal/templates/bookshelf/bookshelf_menu.html b/ram/portal/templates/bookshelf/bookshelf_menu.html index 2c6ab5f..52ce111 100644 --- a/ram/portal/templates/bookshelf/bookshelf_menu.html +++ b/ram/portal/templates/bookshelf/bookshelf_menu.html @@ -5,6 +5,7 @@
{% endif %} diff --git a/ram/portal/templatetags/show_menu.py b/ram/portal/templatetags/show_menu.py index 44cf520..951a7ba 100644 --- a/ram/portal/templatetags/show_menu.py +++ b/ram/portal/templatetags/show_menu.py @@ -1,13 +1,15 @@ from django import template from portal.models import Flatpage -from bookshelf.models import Book +from bookshelf.models import Book, Catalog register = template.Library() @register.inclusion_tag('bookshelf/bookshelf_menu.html') def show_bookshelf_menu(): - return {"bookshelf_menu": Book.objects.exists()} + return { + "bookshelf_menu": (Book.objects.exists() or Catalog.objects.exists()) + } @register.inclusion_tag('flatpages/flatpages_menu.html') diff --git a/ram/portal/urls.py b/ram/portal/urls.py index 0b27cf4..be996c1 100644 --- a/ram/portal/urls.py +++ b/ram/portal/urls.py @@ -15,6 +15,8 @@ from portal.views import ( Types, Books, GetBook, + Catalogs, + GetCatalog, SearchObjects, ) @@ -98,6 +100,21 @@ urlpatterns = [ name="books_pagination" ), path("bookshelf/book/