diff --git a/heal-diapp/healdi_main/settings.py b/heal-diapp/healdi_main/settings.py index 63fef09..930e74b 100644 --- a/heal-diapp/healdi_main/settings.py +++ b/heal-diapp/healdi_main/settings.py @@ -148,6 +148,8 @@ MEDIA_ROOT = os.path.join(BASE_DIR, "media") MEDIA_URL = "/media/" + + STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' diff --git a/heal-diapp/healdi_main/urls.py b/heal-diapp/healdi_main/urls.py index e96eb41..951187f 100644 --- a/heal-diapp/healdi_main/urls.py +++ b/heal-diapp/healdi_main/urls.py @@ -29,3 +29,5 @@ if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + +urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) \ No newline at end of file diff --git a/heal-diapp/medrecords/forms.py b/heal-diapp/medrecords/forms.py new file mode 100644 index 0000000..0ecf9fb --- /dev/null +++ b/heal-diapp/medrecords/forms.py @@ -0,0 +1,16 @@ +# myapp/forms.py +# myapp/forms.py +from django import forms +from .models import Documents + +class DocumentUploadForm(forms.ModelForm): + class Meta: + model = Documents + fields = ['title', 'file'] + + def save(self, commit=True): + instance = super().save(commit=False) + instance.owner = self.instance.uploaded_by # Set owner to the user who uploaded the document + if commit: + instance.save() + return instance \ No newline at end of file diff --git a/heal-diapp/medrecords/migrations/0001_initial.py b/heal-diapp/medrecords/migrations/0001_initial.py new file mode 100644 index 0000000..8887ed6 --- /dev/null +++ b/heal-diapp/medrecords/migrations/0001_initial.py @@ -0,0 +1,29 @@ +# Generated by Django 3.2.23 on 2023-12-29 18:33 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Documents', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255)), + ('file', models.FileField(upload_to='documents/')), + ('creation_time', models.DateTimeField(default=django.utils.timezone.now)), + ('patient_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='uploaded_by', to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/heal-diapp/medrecords/migrations/0002_alter_documents_patient_name.py b/heal-diapp/medrecords/migrations/0002_alter_documents_patient_name.py new file mode 100644 index 0000000..a4cc242 --- /dev/null +++ b/heal-diapp/medrecords/migrations/0002_alter_documents_patient_name.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.23 on 2023-12-29 19:03 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('medrecords', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='documents', + name='patient_name', + field=models.CharField(max_length=255), + ), + ] diff --git a/heal-diapp/medrecords/migrations/0003_alter_documents_file.py b/heal-diapp/medrecords/migrations/0003_alter_documents_file.py new file mode 100644 index 0000000..950edc0 --- /dev/null +++ b/heal-diapp/medrecords/migrations/0003_alter_documents_file.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.23 on 2023-12-29 19:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('medrecords', '0002_alter_documents_patient_name'), + ] + + operations = [ + migrations.AlterField( + model_name='documents', + name='file', + field=models.FileField(upload_to=''), + ), + ] diff --git a/heal-diapp/medrecords/models.py b/heal-diapp/medrecords/models.py index 71a8362..9626c81 100644 --- a/heal-diapp/medrecords/models.py +++ b/heal-diapp/medrecords/models.py @@ -1,3 +1,16 @@ from django.db import models +from django.utils import timezone +from accounts.models import User # Create your models here. + +class Documents(models.Model): + title = models.CharField(max_length=255) + file = models.FileField(upload_to='') + patient_name = models.ForeignKey(User, on_delete=models.CASCADE) + creation_time = models.DateTimeField(default=timezone.now) + uploaded_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='uploaded_by') + patient_name = models.CharField(max_length=255) # Adjust this field based on your requirements + + def __str__(self): + return self.title \ No newline at end of file diff --git a/heal-diapp/medrecords/templates/medrecords.html b/heal-diapp/medrecords/templates/medrecords.html index bab8e8a..577c5c0 100644 --- a/heal-diapp/medrecords/templates/medrecords.html +++ b/heal-diapp/medrecords/templates/medrecords.html @@ -3,5 +3,24 @@ {% block content %}

Medrecords

+ Upload Document + +
+

Document List

+ + {% endblock %} diff --git a/heal-diapp/medrecords/templates/upload_document.html b/heal-diapp/medrecords/templates/upload_document.html new file mode 100644 index 0000000..c0628a2 --- /dev/null +++ b/heal-diapp/medrecords/templates/upload_document.html @@ -0,0 +1,11 @@ + +{% extends 'base.html' %} + +{% block content %} +

Upload Document

+
+ {% csrf_token %} + {{ form.as_p }} + +
+{% endblock %} diff --git a/heal-diapp/medrecords/urls.py b/heal-diapp/medrecords/urls.py index 6de6fc9..8dedc7b 100644 --- a/heal-diapp/medrecords/urls.py +++ b/heal-diapp/medrecords/urls.py @@ -2,9 +2,10 @@ # appointments/urls.py from django.urls import path -from .views import medrecords +from .views import medrecords,upload_document urlpatterns = [ path('medrecords/', medrecords, name='medrecords'), # Add other URL patterns as needed + path('medrecords/upload/', upload_document, name='upload_document'), ] diff --git a/heal-diapp/medrecords/views.py b/heal-diapp/medrecords/views.py index 76f629f..eb79ed8 100644 --- a/heal-diapp/medrecords/views.py +++ b/heal-diapp/medrecords/views.py @@ -1,5 +1,23 @@ -# appointments/views.py -from django.shortcuts import render +# myapp/views.py +from django.shortcuts import render, redirect +from .forms import DocumentUploadForm +from .models import Documents +from django.contrib.auth.decorators import login_required + +#@login_required +def upload_document(request): + if request.method == 'POST': + form = DocumentUploadForm(request.POST, request.FILES) + if form.is_valid(): + form.instance.uploaded_by = request.user # Set the uploaded_by field to the current user + form.instance.patient_name = request.user + form.save() + return redirect('medrecords') # Redirect to the document list view + else: + form = DocumentUploadForm() + + return render(request, 'upload_document.html', {'form': form}) def medrecords(request): - return render(request, 'medrecords.html') + documents = Documents.objects.all() + return render(request, 'medrecords.html', {'documents': documents}) \ No newline at end of file