def createProject(request): if request.user.is_authenticated: if request.method == 'POST': form = ProjectForm(request.POST) if form.is_valid(): project_form = form.save(commit=False) project_form.save() form.save_m2m() for _img in request.FILES.getlist('project_images[]'): FileSystemStorage(location='/images') photo = Images(project=project_form, path=_img) photo.save() for tag in request.POST["project_tags"].split(","): tag = tag.strip() Tags(project=project_form, tag_name=tag).save() # user profile page return redirect("project_details", project_form.id) else: return render(request, 'projects/create_project.html/', {'project_form': form}) else: project_form = ProjectForm(initial={"user": request.user}) return render(request, 'projects/create_project.html/', {'project_form': project_form}) else: return redirect('login')
def new_project(request): if request.method == 'POST': project = Project() form = ProjectForm(request.POST, instance=project) if form.is_valid(): form.save(commit=False) project.user = request.user project.admingroup = request.organization.admingroup project.save() form.save_m2m() return HttpResponseRedirect(project.get_absolute_url()) else: project = Project() form = ProjectForm(instance=project) return render_to_response('projects/new_project.html', {'form': form}, context_instance=RequestContext(request))
def new_project(request): from django.contrib.sites.shortcuts import get_current_site current_site = get_current_site(request) if request.method == 'POST': form = ProjectForm(request.POST) if form.is_valid(): project = form.save(commit=False) project.user = request.user.profile category = get_object_or_404(ProjectCategory, id=request.POST.get('category_id')) project.category = category tags = request.POST.get('tags').split(",") for tag in tags: category.tags.add(tag.replace(" ", "")) project.save() # Without this next line the tags won't be saved form.save_m2m() people = Profile.objects.filter(categories__id=project.category.id) from django.core import mail for person in people: if person.user.email: try: with mail.get_connection() as connection: mail.EmailMessage( "New Project: " + project.title , "A new project you might be interested in was created and can be viwed at " + current_site.domain + '/projects/' + str(project.id), "Agreelancer", [person.user.email], connection=connection, ).send() except Exception as e: from django.contrib import messages messages.success(request, 'Sending of email to ' + person.user.email + " failed: " + str(e)) task_title = request.POST.getlist('task_title') task_description = request.POST.getlist('task_description') task_budget = request.POST.getlist('task_budget') for i in range(0, len(task_title)): Task.objects.create( title = task_title[i], description = task_description[i], budget = task_budget[i], project = project, ) return redirect('project_view', project_id=project.id) else: form = ProjectForm() return render(request, 'projects/new_project.html', {'form': form})