From bd16c7eee7632434d300bbe6d1cc86f9359394ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniele=20Vigan=C3=B2?= Date: Tue, 27 May 2025 23:49:22 +0200 Subject: [PATCH] Still improve the DCC section --- ram/portal/templates/cards/roster.html | 4 ++- ram/portal/templates/rollingstock.html | 50 ++++++++++++++++++-------- ram/portal/templatetags/dcc.py | 36 +++++++++++++++++++ ram/ram/__init__.py | 2 +- 4 files changed, 76 insertions(+), 16 deletions(-) create mode 100644 ram/portal/templatetags/dcc.py diff --git a/ram/portal/templates/cards/roster.html b/ram/portal/templates/cards/roster.html index b30456f..4915334 100644 --- a/ram/portal/templates/cards/roster.html +++ b/ram/portal/templates/cards/roster.html @@ -1,4 +1,6 @@ {% load static %} +{% load dcc %} +
{% if d.item.image.exists %} @@ -75,7 +77,7 @@ DCC - {{ d.item.dcc|safe }} + {% dcc d.item %} diff --git a/ram/portal/templates/rollingstock.html b/ram/portal/templates/rollingstock.html index 3bfc32f..0b63f37 100644 --- a/ram/portal/templates/rollingstock.html +++ b/ram/portal/templates/rollingstock.html @@ -1,4 +1,5 @@ {% extends 'base.html' %} +{% load dcc %} {% block header %} {% if rolling_stock.tags.all %} @@ -142,7 +143,9 @@ - + @@ -153,11 +156,15 @@ {% if rolling_stock.decoder %} - + + + + @@ -345,12 +352,14 @@
DCC dataDCC data + {% dcc rolling_stock %} +
Decoder{{ rolling_stock.decoder }} + {{ rolling_stock.decoder }}
Sound {% if rolling_stock.decoder.sound %} - | - - + + {% else %} + {% endif %}
- + - + @@ -359,18 +368,31 @@ - + + + + + + +
Decoder dataDecoder data + {% dcc rolling_stock %} +
InterfaceInterface {{ rolling_stock.get_decoder_interface }}
Name{{ rolling_stock.decoder.name }} - {% if rolling_stock.decoder.sound %} - | - - - {% endif %} - {{ rolling_stock.decoder.name }}
Version {{ rolling_stock.decoder.version | default:"-"}}
Sound + {% if rolling_stock.decoder.sound %} + + {% else %} + + {% endif %} +
+ + + + + + + diff --git a/ram/portal/templatetags/dcc.py b/ram/portal/templatetags/dcc.py new file mode 100644 index 0000000..d8996b0 --- /dev/null +++ b/ram/portal/templatetags/dcc.py @@ -0,0 +1,36 @@ +from django import template +from django.utils.html import format_html + +register = template.Library() + + +@register.simple_tag +def dcc(object): + socket = ( + '' + ) + decoder = '' + if object.decoder_interface is not None: + socket = ( + f'' + f'' + ) + if object.decoder: + if object.decoder.sound: + decoder = ( + f'' + '' + ) + else: + decoder = ( + f'' + '' + ) + + if decoder: + return format_html( + f'{socket} {decoder}' + ) + + return format_html(socket) diff --git a/ram/ram/__init__.py b/ram/ram/__init__.py index 7e21cdd..684a865 100644 --- a/ram/ram/__init__.py +++ b/ram/ram/__init__.py @@ -1,4 +1,4 @@ from ram.utils import git_suffix -__version__ = "0.17.11" +__version__ = "0.17.12" __version__ += git_suffix(__file__)
Decoder configuration
Address {{ rolling_stock.address }}