diff --git a/mlaas/__pycache__/settings.cpython-310.pyc b/mlaas/__pycache__/settings.cpython-310.pyc index b40f363086c9c9309b27a33e6a79f41a8a3dc175..471722be635a3fcca561a3256b3fb155806e55a1 100644 Binary files a/mlaas/__pycache__/settings.cpython-310.pyc and b/mlaas/__pycache__/settings.cpython-310.pyc differ diff --git a/mlaas/settings.py b/mlaas/settings.py index a74d4faaeee09df263b5ec89532641e2119df922..6c649aba2078736346e2e885608b190cea21c336 100644 --- a/mlaas/settings.py +++ b/mlaas/settings.py @@ -55,10 +55,12 @@ MIDDLEWARE = [ ROOT_URLCONF = 'mlaas.urls' +# TEMPLATES_DIR = BASE_DIR / 'prediction_service/templates/prediction_service' + TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': [], # [TEMPLATES_DIR] 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ diff --git a/prediction_service/__pycache__/forms.cpython-310.pyc b/prediction_service/__pycache__/forms.cpython-310.pyc index 799a389ced0edd5b3172d0368cacc42516d299b5..15338057eaeb98dba0f97dd1b7e399d6fedff4f2 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__/urls.cpython-310.pyc b/prediction_service/__pycache__/urls.cpython-310.pyc index 3994335e1991fecedc1724a0dad612742ac43c45..11ce276c42a965cebd7cffe1cd942b37a7a4da03 100644 Binary files a/prediction_service/__pycache__/urls.cpython-310.pyc and b/prediction_service/__pycache__/urls.cpython-310.pyc differ diff --git a/prediction_service/__pycache__/views.cpython-310.pyc b/prediction_service/__pycache__/views.cpython-310.pyc index 3bf7b8c4c54e6585584a01ac3e09da23a139bd58..3dd69d56693576b8116aa70649eb826694a830d7 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/forms.py b/prediction_service/forms.py index c8a56a55a14cf8ed9643be79070beb774df3ec68..c37aa3d43e0033bb044d015fed62dfe736cca96b 100644 --- a/prediction_service/forms.py +++ b/prediction_service/forms.py @@ -9,3 +9,11 @@ class UserRegisterForm(UserCreationForm): class Meta: model = User fields = ['username', 'email', 'password1', 'password2', 'role'] + +from django import forms +from .models import Post + +class PostForm(forms.ModelForm): + class Meta: + model = Post + fields = ['title', 'content', 'mlmodel'] diff --git a/prediction_service/templates/prediction_service/create_post.html b/prediction_service/templates/prediction_service/create_post.html new file mode 100644 index 0000000000000000000000000000000000000000..bbeaf38be2165d53b0d76cf6665611153eeeeafd --- /dev/null +++ b/prediction_service/templates/prediction_service/create_post.html @@ -0,0 +1,12 @@ +{% extends "prediction_service/base.html" %} + +{% block content %} + <div class="container"> + <h2>Create a New Post</h2> + <form method="post"> + {% csrf_token %} + {{ form.as_p }} + <button type="submit" class="btn btn-primary">Submit</button> + </form> + </div> +{% endblock %} diff --git a/prediction_service/urls.py b/prediction_service/urls.py index e537584696ca2c5bf0ab1d9685de0c64782ee74f..85f499e7e99f687a797f3919ea28aff2938bf614 100644 --- a/prediction_service/urls.py +++ b/prediction_service/urls.py @@ -15,4 +15,5 @@ urlpatterns = [ path('about/', views.about, name='MLAAS-about'), path('home/', views.home, name='MLAAS-home'), path('mlmodel/<str:pk>/', views.mlmodel, name='MLAAS-model'), + path('create_post/', views.create_post, name='MLAAS-create_post'), ] diff --git a/prediction_service/views.py b/prediction_service/views.py index cfeffc6eb739deb9380100a5cd449e33a39d5756..54f7e6ab521a5f05f5a75cb065ef6bf599c9195d 100644 --- a/prediction_service/views.py +++ b/prediction_service/views.py @@ -85,7 +85,28 @@ def MLAAS_login(request): return render(request, 'prediction_service/login.html') +from .forms import PostForm +from .models import Post +@login_required +def create_post(request): + if request.method == 'POST': + form = PostForm(request.POST) + if form.is_valid(): + post = form.save(commit=False) + post.author = request.user + + # 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', pk=post.pk) # Redirect to the post detail page + else: + messages.error(request, 'You are not authorized to create posts.') + return redirect('MLAAS-home') # Redirect to home or another appropriate page + else: + form = PostForm() + return render(request, 'MLAAS-create_post', {'form': form}) import os import io