def project_create(request): """ The view for creating a new project where the docs will be hosted as objects and edited through the site """ form = CreateProjectForm(request.POST or None) if request.method == "POST" and form.is_valid(): project = form.save() form.instance.users.add(request.user) project_manage = reverse("projects_detail", args=[project.slug]) return HttpResponseRedirect(project_manage) return render_to_response("projects/project_create.html", {"form": form}, context_instance=RequestContext(request))
def project_create(request): """ The view for creating a new project where the docs will be hosted as objects and edited through the site """ form = CreateProjectForm(request.POST or None) if request.method == 'POST' and form.is_valid(): form.instance.user = request.user project = form.save() project_manage = reverse('projects_manage', args=[project.slug]) return HttpResponseRedirect(project_manage) return render_to_response('projects/project_create.html', {'form': form}, context_instance=RequestContext(request))
def create_project(request): context = {'form': CreateProjectForm()} if request.method == 'GET': return render(request, 'projects/create-project.html', context) else: project_pk = request.POST.get('project_pk') try: project = Project.objects.get(pk=project_pk) form = CreateProjectForm(request.POST, instance=project) context['form'] = form if form.is_valid(): project = form.save(commit=False) project.save() return JsonResponse({'pk': project.pk}) else: return HttpResponse('error') except Project.DoesNotExist: project = Project.objects.create() return JsonResponse({'pk': project.pk})
def create_project(request): """ Renders a form for managerial members to create a new project. Only managerial members can access this functionality. """ # Check if the user is a managerial member or not user = request.user if not user.get_profile().is_managerial(): raise Http404 # Permission denied form = CreateProjectForm() # If post data has been submitted, perform validation and save if request.method == 'POST': form = CreateProjectForm(request.POST) if form.is_valid(): project = form.save() return HttpResponseRedirect(project.get_absolute_url()) # Render the form if post data was not submitted, or if validation failed context = {'form': form, } return render_to_response('projects/create_project.html', context, context_instance = RequestContext(request))
def create(request): # if this is a POST request we need to process the form data if request.method == 'POST': # create a form instance and populate it with data from the request: form = CreateProjectForm(request.user, request.POST) # check whether it's valid: if form.is_valid(): project = form.save(commit=False) project.user = request.user project.save() branch = Branch() branch.project = project branch.code = 'master' branch.name = 'Master' branch.save() project.active_branch = branch project.save() revision = Revision() revision.branch = branch revision.save() branch.head = revision branch.save() readme_file = File() readme_file.filename = 'README.md' readme_file.file = '# %s\n' % project.name readme_file.mime = 'text/markdown' readme_file.save() revision.files.add(readme_file) side_config_file = File() side_config_file.filename = '%s.side' % project.code side_config_file.file = '%s.c\n' % project.code side_config_file.mime = 'text/plain' side_config_file.save() revision.files.add(side_config_file) main_source_file = File() main_source_file.filename = '%s.c' % project.code main_source_file.file = """// ------ Libraries and Definitions ------ #include "simpletools.h" // ------ Main Program ------ int main() { } """ main_source_file.mime = 'text/x-c' main_source_file.save() revision.files.add(main_source_file) revision.save() return redirect('projects:project', project.user.username, project.code, 'master') # if a GET (or any other method) we'll create a blank form else: form = CreateProjectForm(request.user) logger.error("Project already exists") return render(request, 'create.html', {'form': form})