feature/#26_enhance_storage_stock_display #37

Merged
sst merged 18 commits from feature/#26_enhance_storage_stock_display into develop 2025-02-03 22:20:05 +01:00
2 changed files with 7 additions and 9 deletions
Showing only changes of commit f6a878460d - Show all commits

View File

@ -316,7 +316,7 @@ class Stock(models.Model):
return True return True
def get_qr_code(self): def get_qr_code(self):
qr_data = '[stock]'+str(self.id) qr_data = '[stck_uuid]'+str(self.id)
return qr_data return qr_data
def __str__(self): def __str__(self):

View File

@ -2,7 +2,7 @@ from django.core.exceptions import ValidationError, ObjectDoesNotExist
from django.urls import reverse as url_reverse from django.urls import reverse as url_reverse
import re import re
from .models import Storage, Component from .models import Storage, Component, Stock
class QrCode: class QrCode:
prefix = '' prefix = ''
@ -19,6 +19,7 @@ class QrCodeValidator:
qr_patterns = { qr_patterns = {
'stor_uuid': QrCode('stor_uuid', 'parts-stocks-detail', Storage), 'stor_uuid': QrCode('stor_uuid', 'parts-stocks-detail', Storage),
'comp_uuid': QrCode('comp_uuid', 'parts-components-detail', Component), 'comp_uuid': QrCode('comp_uuid', 'parts-components-detail', Component),
'stck_uuid': QrCode('stck_uuid', 'parts-stock-detail', Stock),
} }
def __init__(self): def __init__(self):
@ -32,16 +33,13 @@ class QrCodeValidator:
qr_type = matches.group('prefix') qr_type = matches.group('prefix')
qr_uuid = matches.group('uuid') qr_uuid = matches.group('uuid')
url_name = self.qr_patterns[qr_type].detail_view
model = None
try: try:
url_name = self.qr_patterns[qr_type].detail_view
model = self.qr_patterns[qr_type].model model = self.qr_patterns[qr_type].model
except: except KeyError as ex:
model = None raise ValidationError('QR Pattern not registered') from ex
if model is None: return (model, qr_uuid, url_name)
raise ValidationError('QR Pattern not registered')
return (model,qr_uuid, url_name)
def get_redirect_url(self, data): def get_redirect_url(self, data):
model, uuid, url_name = self._get_model_from_qr(data) model, uuid, url_name = self._get_model_from_qr(data)