diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index f47932c..28cdac2 100644 Binary files a/core/__pycache__/urls.cpython-311.pyc and b/core/__pycache__/urls.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 686e6cd..c28f7f2 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/templates/core/delete_project_confirm.html b/core/templates/core/delete_project_confirm.html new file mode 100644 index 0000000..768e387 --- /dev/null +++ b/core/templates/core/delete_project_confirm.html @@ -0,0 +1,22 @@ +{% extends 'base.html' %} +{% block content %} +
+
+
+
+
+

Delete Project?

+

Are you sure you want to delete the project {{ project.title }}? This action cannot be undone.

+
+ {% csrf_token %} +
+ Cancel + +
+
+
+
+
+
+
+{% endblock %} diff --git a/core/templates/core/project_list.html b/core/templates/core/project_list.html index a2652d4..4914237 100644 --- a/core/templates/core/project_list.html +++ b/core/templates/core/project_list.html @@ -10,7 +10,10 @@
{{ project.title }}

{{ project.industry }}

- Open +
+ Open + Delete +
diff --git a/core/urls.py b/core/urls.py index 3379124..176d877 100644 --- a/core/urls.py +++ b/core/urls.py @@ -1,5 +1,5 @@ from django.urls import path -from .views import home, project_list, project_detail, create_project, signup, regenerate_mindmap, edit_node +from .views import home, project_list, project_detail, create_project, signup, regenerate_mindmap, edit_node, delete_project from .ai_views import ai_chat urlpatterns = [ @@ -10,6 +10,7 @@ urlpatterns = [ path("projects//regenerate/", regenerate_mindmap, name="regenerate_mindmap"), path("projects//ai/", ai_chat, name="ai_chat"), path('projects//node//edit/', edit_node, name='edit_node'), + path('projects//delete/', delete_project, name='delete_project'), path("signup/", signup, name="signup"), ] \ No newline at end of file diff --git a/core/views.py b/core/views.py index 5ae6070..215dce9 100644 --- a/core/views.py +++ b/core/views.py @@ -86,3 +86,12 @@ def edit_node(request, pk, node_id): }}) except Exception as e: return JsonResponse({'status': 'error', 'message': str(e)}, status=400) + + +@login_required +def delete_project(request, pk): + project = get_object_or_404(Project, pk=pk, user=request.user) + if request.method == 'POST': + project.delete() + return redirect('project_list') + return render(request, 'core/delete_project_confirm.html', {'project': project})