Auto commit: 2026-03-13T12:26:02.181Z
This commit is contained in:
parent
ba1bd529a8
commit
ef8a8d4c27
Binary file not shown.
Binary file not shown.
22
core/templates/core/delete_project_confirm.html
Normal file
22
core/templates/core/delete_project_confirm.html
Normal file
@ -0,0 +1,22 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block content %}
|
||||
<div class="container mt-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6">
|
||||
<div class="card shadow-sm border-danger">
|
||||
<div class="card-body text-center">
|
||||
<h2 class="card-title text-danger mb-4">Delete Project?</h2>
|
||||
<p class="lead mb-4">Are you sure you want to delete the project <strong>{{ project.title }}</strong>? This action cannot be undone.</p>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<div class="d-flex justify-content-center gap-3">
|
||||
<a href="{% url 'project_list' %}" class="btn btn-secondary px-4">Cancel</a>
|
||||
<button type="submit" class="btn btn-danger px-4">Yes, Delete</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -10,7 +10,10 @@
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{ project.title }}</h5>
|
||||
<p class="card-text">{{ project.industry }}</p>
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<a href="{% url 'project_detail' project.pk %}" class="btn btn-secondary">Open</a>
|
||||
<a href="{% url 'delete_project' project.pk %}" class="btn btn-outline-danger btn-sm">Delete</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -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/<int:pk>/regenerate/", regenerate_mindmap, name="regenerate_mindmap"),
|
||||
path("projects/<int:pk>/ai/", ai_chat, name="ai_chat"),
|
||||
path('projects/<int:pk>/node/<int:node_id>/edit/', edit_node, name='edit_node'),
|
||||
path('projects/<int:pk>/delete/', delete_project, name='delete_project'),
|
||||
|
||||
path("signup/", signup, name="signup"),
|
||||
]
|
||||
@ -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})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user