From 89e314c2a44e7140d38940d6fb8f2b4db22b32b2 Mon Sep 17 00:00:00 2001 From: Michael Olund Date: Thu, 17 Sep 2020 16:41:58 -0700 Subject: [PATCH] Back-end updates for saving file metadata --- .../poc/migrations/0003_auto_20200915_1645.py | 23 +++++++++++++++++++ .../poc/migrations/0004_auto_20200917_1008.py | 18 +++++++++++++++ edivorce/apps/poc/models.py | 2 ++ edivorce/apps/poc/views.py | 7 ++++-- vue/src/components/Uploader.vue | 13 ++++++++--- 5 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 edivorce/apps/poc/migrations/0003_auto_20200915_1645.py create mode 100644 edivorce/apps/poc/migrations/0004_auto_20200917_1008.py diff --git a/edivorce/apps/poc/migrations/0003_auto_20200915_1645.py b/edivorce/apps/poc/migrations/0003_auto_20200915_1645.py new file mode 100644 index 00000000..657970ab --- /dev/null +++ b/edivorce/apps/poc/migrations/0003_auto_20200915_1645.py @@ -0,0 +1,23 @@ +# Generated by Django 2.2.15 on 2020-09-15 23:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('poc', '0002_auto_20200823_0606'), + ] + + operations = [ + migrations.AddField( + model_name='document', + name='docType', + field=models.CharField(max_length=4, null=True), + ), + migrations.AddField( + model_name='document', + name='partyId', + field=models.IntegerField(default=0), + ), + ] diff --git a/edivorce/apps/poc/migrations/0004_auto_20200917_1008.py b/edivorce/apps/poc/migrations/0004_auto_20200917_1008.py new file mode 100644 index 00000000..216eea64 --- /dev/null +++ b/edivorce/apps/poc/migrations/0004_auto_20200917_1008.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.15 on 2020-09-17 17:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('poc', '0003_auto_20200915_1645'), + ] + + operations = [ + migrations.AlterField( + model_name='document', + name='docType', + field=models.CharField(blank=True, max_length=4, null=True), + ), + ] diff --git a/edivorce/apps/poc/models.py b/edivorce/apps/poc/models.py index dbfc7980..d3dd4677 100644 --- a/edivorce/apps/poc/models.py +++ b/edivorce/apps/poc/models.py @@ -10,6 +10,8 @@ class Document(models.Model): """ filename = models.CharField(max_length=128, null=True) # saving the original filename separately file = models.FileField(upload_to=redis.generate_unique_filename, storage=redis.RedisStorage()) + docType = models.CharField(max_length=4, null=True, blank=True) + partyId = models.IntegerField(default=0) def save(self, *args, **kwargs): self.filename = self.file.name diff --git a/edivorce/apps/poc/views.py b/edivorce/apps/poc/views.py index 7a8243da..92289e6b 100644 --- a/edivorce/apps/poc/views.py +++ b/edivorce/apps/poc/views.py @@ -39,13 +39,16 @@ class UploadScan(FormView): class UploadStorage(CreateView): model = Document - fields = ['file'] + fields = ['file', 'docType', 'partyId'] template_name = "storage.html" success_url = settings.FORCE_SCRIPT_NAME + 'poc/storage' @method_decorator(csrf_exempt) def dispatch(self, request, *args, **kwargs): - return super(UploadStorage, self).dispatch(request, *args, **kwargs) + response = super(UploadStorage, self).dispatch(request, *args, **kwargs) + if response.status_code == 200: + return HttpResponse(status=204) + return response def get_context_data(self, **kwargs): kwargs['documents'] = Document.objects.all() diff --git a/vue/src/components/Uploader.vue b/vue/src/components/Uploader.vue index 34274023..4e208138 100644 --- a/vue/src/components/Uploader.vue +++ b/vue/src/components/Uploader.vue @@ -22,11 +22,12 @@ :drop="true" :drop-directory="false" :post-action="postAction" - @input-file="inputFile" - @input-filter="inputFilter" :input-id="inputId" name="file" - :class="['drop-zone', dragging ? 'dragging' : '']"> + :class="['drop-zone', dragging ? 'dragging' : '']" + :data="data" + @input-file="inputFile" + @input-filter="inputFilter">

Drag and Drop the PDF document or JPG pages here,
or click here to Browse for files.
@@ -91,6 +92,12 @@ export default { }, postAction() { return this.$parent.proxyRootPath + "poc/storage" + }, + data() { + return { + docType: this.docType, + partyId: this.party + }; } }, methods: {