From 10a216a37d5da4b83d034f29fe0775d9426b72b7 Mon Sep 17 00:00:00 2001 From: Tyrel Souza Date: Wed, 26 Jul 2023 11:58:01 -0400 Subject: [PATCH] vue --- benchtopdevices/benchtopdevices/settings.py | 1 - benchtopdevices/sheets/forms.py | 21 +++- .../sheets/templates/sheets/upload.html | 101 ++++++++++++++++-- requirements.txt | 2 +- 4 files changed, 114 insertions(+), 11 deletions(-) diff --git a/benchtopdevices/benchtopdevices/settings.py b/benchtopdevices/benchtopdevices/settings.py index b3b3a7a..5c959e3 100644 --- a/benchtopdevices/benchtopdevices/settings.py +++ b/benchtopdevices/benchtopdevices/settings.py @@ -131,4 +131,3 @@ INTERNAL_IPS = [ "127.0.0.1", # ... ] - diff --git a/benchtopdevices/sheets/forms.py b/benchtopdevices/sheets/forms.py index a650932..09abf08 100644 --- a/benchtopdevices/sheets/forms.py +++ b/benchtopdevices/sheets/forms.py @@ -1,4 +1,5 @@ from django import forms +from django.forms.widgets import ClearableFileInput from django.db import models from django.utils.translation import gettext_lazy as _ @@ -9,7 +10,7 @@ class UploadFileForm(forms.Form): customer_address = forms.CharField() control_number = forms.CharField() serial_number = forms.CharField() - accuracy = forms.FloatField(initial=0.05, widget=forms.NumberInput(attrs={'step': 0.01})) + accuracy = forms.FloatField(widget=forms.NumberInput(attrs={'step': 0.01})) barometric_pressure = forms.FloatField(widget=forms.NumberInput(attrs={'step': 0.01, 'max': 1100, 'min': 800})) temperature = forms.FloatField(widget=forms.NumberInput(attrs={'step': 0.01, 'max': 1000.0, 'min': -459.67})) humidity = forms.FloatField(widget=forms.NumberInput(attrs={'step': 0.01, 'max': 100.0, 'min': 0.0})) @@ -25,4 +26,20 @@ class UploadFileForm(forms.Form): choices=CHOICES, ) - file = forms.FileField() \ No newline at end of file + as_found = forms.FileField(required=False, widget=ClearableFileInput(attrs={'placeholder': ...})) + as_left = forms.FileField(required=False, widget=ClearableFileInput(attrs={'placeholder': ...})) + both = forms.FileField(required=False, widget=ClearableFileInput(attrs={'placeholder': ...})) + + def __init__(self, *args, **kwargs): + super(UploadFileForm, self).__init__(*args, **kwargs) + + for name, field in self.fields.items(): + # add v-model to each model field + if isinstance(field, forms.fields.FileField): + field.widget.attrs.update( + { + 'v-on:change': f"change_{name}", + 'v-if': f"show_{name}" + }) + else: + field.widget.attrs.update({'v-model': name}) \ No newline at end of file diff --git a/benchtopdevices/sheets/templates/sheets/upload.html b/benchtopdevices/sheets/templates/sheets/upload.html index 136a4f8..a7717c2 100644 --- a/benchtopdevices/sheets/templates/sheets/upload.html +++ b/benchtopdevices/sheets/templates/sheets/upload.html @@ -1,7 +1,94 @@ -
- {% csrf_token %} - - {{ form.as_table }} -
- -
+ + + + + +
+
+ {% csrf_token %} + + {{ form.as_p }} +
+ +
+
+ +{% verbatim %} + +{% endverbatim %} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index be7c6df..c17e71d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ django psycopg2-binary -django-debug-toolbar \ No newline at end of file +django-debug-toolbar