def new_project(request, template='new_project.html'): if request.method == 'POST': p = Project() form = ProjectForm(request.POST, instance=p) if form.is_valid(): # Create project and set owner p.owner = request.user p.save() # Create an administrative privilege and assign it perm = UserProjectPermission() perm.creation_date = datetime.now() perm.modified_date = datetime.now() perm.user = p.owner perm.project = p perm.permissions = 'a' # admin perm.save() return redirect('browse_projects') else: form = ProjectForm() form_action = reverse('new_project') return render(request, template, {'project_form': form, 'form_action': form_action, 'back_url': reverse('browse_projects')})
def copy_project(request, pid, template='copy_project.html'): p = get_object_or_404(Project, pk=pid) if request.method == 'POST': form = ProjectForm(request.POST, instance=p) if form.is_valid(): p.owner = request.user p.pk = None p.save() return redirect('browse_projects') else: form = ProjectForm() form_action = reverse('copy_project', args=(pid,)) return render(request, template, {'project_form': form, 'form_action': form_action, 'back_url': reverse('browse_projects')})