diff --git a/ml_models/resnet_model4_16JF2qy.h5 b/ml_models/resnet_model4_16JF2qy.h5 new file mode 100644 index 0000000000000000000000000000000000000000..9249b0bbe74ef06fa4cc694c0a8fad9883d1bcf3 Binary files /dev/null and b/ml_models/resnet_model4_16JF2qy.h5 differ diff --git a/ml_models/resnet_model4_R4ZC5zZ.h5 b/ml_models/resnet_model4_R4ZC5zZ.h5 new file mode 100644 index 0000000000000000000000000000000000000000..9249b0bbe74ef06fa4cc694c0a8fad9883d1bcf3 Binary files /dev/null and b/ml_models/resnet_model4_R4ZC5zZ.h5 differ diff --git a/ml_models/resnet_model4_frBQT2M.h5 b/ml_models/resnet_model4_frBQT2M.h5 new file mode 100644 index 0000000000000000000000000000000000000000..9249b0bbe74ef06fa4cc694c0a8fad9883d1bcf3 Binary files /dev/null and b/ml_models/resnet_model4_frBQT2M.h5 differ diff --git a/prediction_service/__pycache__/forms.cpython-310.pyc b/prediction_service/__pycache__/forms.cpython-310.pyc index a91838fec4117f1cf1667ac32f82d2d676f5b815..dd6831cb0e9873062a68a03b76e417bc86c38cb7 100644 Binary files a/prediction_service/__pycache__/forms.cpython-310.pyc and b/prediction_service/__pycache__/forms.cpython-310.pyc differ diff --git a/prediction_service/__pycache__/views.cpython-310.pyc b/prediction_service/__pycache__/views.cpython-310.pyc index a59d4a33650aca415369ff44c92e66eea6b3159d..ee22d9062afba212e4083f24fe755a86f57a26f4 100644 Binary files a/prediction_service/__pycache__/views.cpython-310.pyc and b/prediction_service/__pycache__/views.cpython-310.pyc differ diff --git a/prediction_service/templates/prediction_service/create_post.html b/prediction_service/templates/prediction_service/create_post.html index e7968f397dfb1b9c76213100012b0b5895dde54b..6bb7466763afd8d7a1834771e302bd022fedf5ef 100644 --- a/prediction_service/templates/prediction_service/create_post.html +++ b/prediction_service/templates/prediction_service/create_post.html @@ -1,12 +1,27 @@ {% extends "prediction_service/base.html" %} {% block content %} - <div class="container"> - <h2>Create a New Post</h2> - <form method="post" enctype="multipart/form-data"> +<div class="container"> + <h2>Create a New Post</h2> + <form method="post" enctype="multipart/form-data"> {% csrf_token %} - {{ form.as_p }} + + <div> + <label for="title">Title:</label> + <input type="text" name="title" id="title"> + </div> + + <div> + <label for="content">Content:</label> + <input type="text" name="content" id="content"> + </div> + + <div> + <label for="modelFile">Model File:</label> + <input type="file" name="modelFile" id="modelFile" accept=""> + </div> + <button type="submit" class="btn btn-primary">Submit</button> - </form> - </div> + </form> +</div> {% endblock %} diff --git a/prediction_service/views.py b/prediction_service/views.py index c16ca76076a5eb9926349af84fd66cae912f42cb..462bb58e546bce951593814622db49fc35026816 100644 --- a/prediction_service/views.py +++ b/prediction_service/views.py @@ -123,6 +123,7 @@ def MLAAS_login(request): from .forms import PostForm from .models import Post +from .models import MLModel @login_required def create_post(request): @@ -130,29 +131,41 @@ def create_post(request): return HttpResponseForbidden("You do not have permission to access this page.") if request.method == 'POST': - form = PostForm(request.POST, request.FILES) - if form.is_valid(): - post = form.save(commit=False) - post.author = request.user - - # Assign the selected MLModel instance to the post - #mlmodel_id = form.cleaned_data.get('mlmodel') - #post.mlmodel_id = mlmodel_id - - # Check if the user is an AI engineer or an admin - if request.user.userprofile.role == 'AI Engineer' or request.user.is_superuser: - post.save() - messages.success(request, 'Your post has been created successfully.') - return redirect('MLAAS-home') # Redirect to the home page - - else: - messages.error(request, 'You are not authorized to create posts.') - return redirect('MLAAS-home') # Redirect to home or another appropriate page + post_title = request.POST.get('title') + post_slug = request.POST.get('title') + post_content = request.POST.get('content') + post_author = request.user + post_model_file = request.FILES.get('modelFile') + + layers = 6000000 # temporary + + + # Create a new MLModel instance + new_model = MLModel(layers=layers, model_file=post_model_file) + + # Save the new model instance + new_model.save() + + new_post = Post( + title = post_title, + slug = post_slug, + content = post_content, + author = post_author, + mlmodel = new_model + ) + + new_post.save() + + # Check if the user is an AI engineer or an admin + if request.user.userprofile.role == 'AI Engineer' or request.user.is_superuser: + + messages.success(request, 'Your post has been created successfully.') + return redirect('MLAAS-home') # Redirect to the home page + else: - messages.error(request, 'Failed to create the post. Please check the form data.') - else: - form = PostForm() - return render(request, 'prediction_service/create_post.html', {'form': form}) + messages.error(request, 'You are not authorized to create posts.') + return redirect('MLAAS-home') # Redirect to home or another appropriate page + return render(request, 'prediction_service/create_post.html') import os import io