コード例 #1
0
ファイル: views.py プロジェクト: acrognale/aarhus
def create_new_project(request):
	if request.method == 'POST':
		form = CreateProjectForm(request.POST)
		if form.is_valid():
			form.save()
			messages.success(request, 'New project created successfully!')
			return HttpResponseRedirect('project_view_all_projects')
		else:
			messages.error(request, 'New project information contains errors!')
			return HttpResponse("Sorry, project could not be created")
	else:
		form = CreateProjectForm(initial={
			'created_by' : request.user.username,
			'created_on' : time.strftime("%Y-%m-%d", time.gmtime())
		})
		user = request.user.username
		return TemplateResponse(request, 'project/create_new_project.html', {
			'form': form,
		})
コード例 #2
0
def create_project(request):
    """View to create a new project.
    In the past I just linked to the page in the admin, but that
    doesn't automatically create users and admins for you.
    And it may be a pain to create project memberships manually.
    
    Perhaps the Django admin is customizable enough to fix this,  
    but for now I'll just code it myself. At least this way I can make sure 
    no one (but me) makes any major errors and destroys the site
    
    First check if the user is a superuser..."""

    if not request.user.is_superuser:
        return handle_privilege(
            request, "Only the site administrator can create a new project!",
            '/')

    if request.method == 'POST':
        form = CreateProjectForm(request.POST)
        if form.is_valid():
            newproject = CollabProject()
            newproject = form.save(commit=False)
            newproject.start_date = datetime.date.today()
            newproject.save()
            form.save_m2m()
            for admin in form.cleaned_data["admins"]:
                p = ProjectMembership(person=admin,
                                      project=newproject,
                                      is_admin=True)
                p.save()
            return handle_privilege(
                request, 'The collaboration group "' + newproject.name +
                '" has been created!',
                reverse('project_summary', args=[newproject.slug]))
    else:
        form = CreateProjectForm()
    return render_to_response('project/create_project.html', {'form': form},
                              context_instance=RequestContext(request))