Skip to content
Snippets Groups Projects
Commit 149e8689 authored by a272-jones's avatar a272-jones
Browse files

AI Engineer bug when viewing / deleting records fixed. new container!!!

parent d64ff3ed
No related branches found
No related tags found
No related merge requests found
Showing
with 80 additions and 24 deletions
......@@ -5,12 +5,11 @@ from core import models
from django.contrib import admin
from django.contrib.auth.models import User
from .models import Profile, mlModel, Interaction, Billing, Record
from .models import Profile, mlModel, Billing, Record
# Register the Profile model in the admin
admin.site.register(Profile)
admin.site.register(mlModel)
admin.site.register(Interaction)
admin.site.register(Billing)
admin.site.register(Record)
......
......@@ -11,7 +11,7 @@ class UserUploadForm(forms.ModelForm):
username = forms.CharField(max_length=100, widget=forms.HiddenInput)
class Meta:
model = models.Record
fields = ['username', 'uploadedFile','chosenML']
fields = ['username','uploadedFile','chosenML']
class UploadModelForm(forms.ModelForm):
username = forms.CharField(max_length=100, widget=forms.HiddenInput)
......
......@@ -16,15 +16,6 @@ class mlModel(models.Model):
def __str__(self):
return f"{self.username} NEW MODEL ID: {self.modelID} Path: {self.modelName}"
class Interaction(models.Model):
interactionID = models.AutoField(primary_key=True)
username = models.CharField(max_length=100, default="default")
date = models.DateTimeField()
interaction = models.CharField(max_length=1000)
def __str__(self):
return self.interactionID
class Billing(models.Model):
billingID = models.AutoField(primary_key=True)
amount = models.FloatField()
......@@ -40,6 +31,5 @@ class Record(models.Model):
chosenML = models.CharField(max_length=100, default="baseML")
responseByML = models.CharField(max_length=100, default="PLACEHOLDER RESPONSE") # change to actual response by ML
def __str__(self):
return f"{self.chosenML} Response to {self.username}"
\ No newline at end of file
......@@ -4,7 +4,8 @@ from django.contrib.auth.models import User
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
from .models import Profile, mlModel, Billing, Interaction, Record
import os
from .models import Profile, mlModel, Billing, Record
from .forms import UserLoginForm, UserUploadForm, UploadModelForm, GenerateBillingsForm, UpdateUser
......@@ -94,6 +95,24 @@ def updateUsers(request, id):
context = {'form': form}
return render(request, 'modelForms/updateUsers.html', context)
def interactionView(request):
interactions = Record.objects.all().values()
context = {}
context = {'interactions': interactions}
return render(request, 'modelForms/interactionView.html', context)
##### DELETION SECTIONS
def deleteRecord(request, id):
record = Record.objects.get(id=id)
if request.method == 'POST':
record.delete()
# figure out how to delete file in records directory at same time.
return redirect('interactionView')
context = {'record': record}
return render(request, 'modelForms/deleteRecord.html', context)
def deleteUsers(request, id):
user = Profile.objects.get(user_id=id)
user2 = User.objects.get(id=id)
......@@ -106,6 +125,8 @@ def deleteUsers(request, id):
context = {'user': user}
return render(request, 'modelForms/deleteUsers.html', context)
##### LOGOUT LOGIN STUFF
def logout_view(request):
logout(request)
return redirect('home') # Replace 'home' with the URL name for your homepage
......
......@@ -34,9 +34,12 @@ services:
# working on mlservice external container - idk how.
# mlService:
# image: mlService
mlService:
build:
context: .
image: mlservice
command: >
sh -c 'python main.py'
volumes:
......
......@@ -4,6 +4,7 @@
#
print("Hello!")
# receive form from main website
......
......@@ -41,5 +41,7 @@ urlpatterns = [
path('modelForms/manageUsers/', views.manageUsers, name="manageUsers"),
path('modelForms/updateUsers/<str:id>/', views.updateUsers, name="updateUsers"),
path('modelForms/deleteUsers/<str:id>/', views.deleteUsers, name="deleteUsers"),
path('modelForms/deleteRecord/<str:id>/', views.deleteRecord, name="deleteRecord"),
path('modelForms/interactionView/', views.interactionView, name="interactionView"),
]
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p> Are you sure you want to delete this record? </p>
<form action="{% url 'deleteRecord' record.id %}" method="POST">
{% csrf_token %}
<p><a href="{% url 'interactionView' %}">Go Back</a></p>
<input type="submit" name="confirm">
</form>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p><a href="{% url 'profile' %}">Return to profile</a></p>
<br>
<!-- for i in Records -->
{% for record in interactions %}
<p> Record ID: {{ record.id }}</p>
<p> Name: {{ record.username }} </p>
<p> File Path: {{ record.uploadedFile }} </p>
<p> ML Model Selected: {{ record.chosenML }} </p>
<p> Response: {{ record.responseByML }} </p>
<p><a href="{% url 'deleteRecord' record.id %}">Delete Record</a></p>
<h1>------------------------------------</h1>
{% endfor %}
</body>
</html>
\ No newline at end of file
......@@ -5,7 +5,7 @@
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<form action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
......
......@@ -17,8 +17,8 @@
<h1>Upload new ML Model</h1>
<h2><a href="{% url 'mlUpload' %}">Upload</a></h2>
<br>
<h1>Access Records</h1>
<h2><a href="">All Records</a></h2> <!-- TO DO -->
<h1>Access ML Interactions</h1>
<h2><a href="{% url 'interactionView' %}">All Interactions</a></h2> <!-- TO DO -->
......@@ -35,12 +35,9 @@
{% elif user.profile.role == 'admin' %} <!-- Admin Dashboard -->
<h2>Admin Page</h2>
<p>View all Activity</p>
<!-- for each record in record db -->
<!-- display -->
<p><a href="{% url 'manageUsers' %}">Manage Users<a></a></p>
<!-- for each user in profile db: -->
<p><a href=""> View all Activity </a></p>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment