39145-vm/core/views.py
2026-03-12 13:34:18 +00:00

45 lines
1.6 KiB
Python

from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login
from .models import Project, MindMapNode, MindMapConnection
def signup(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
login(request, user)
return redirect('project_list')
else:
form = UserCreationForm()
return render(request, 'registration/signup.html', {'form': form})
def home(request):
return render(request, 'core/index.html')
@login_required
def project_list(request):
projects = Project.objects.filter(user=request.user)
return render(request, 'core/project_list.html', {'projects': projects})
@login_required
def project_detail(request, pk):
project = get_object_or_404(Project, pk=pk, user=request.user)
nodes = project.nodes.all()
connections = project.connections.all()
return render(request, 'core/project_detail.html', {
'project': project,
'nodes': nodes,
'connections': connections
})
@login_required
def create_project(request):
if request.method == 'POST':
title = request.POST.get('title')
industry = request.POST.get('industry')
goal = request.POST.get('goal')
project = Project.objects.create(user=request.user, title=title, industry=industry, goal=goal)
return redirect('project_detail', pk=project.pk)
return render(request, 'core/create_project.html')