Ejemplo n.º 1
0
def add_page(request, user_id, project_slug=None):
	project = Project.objects.get(owner=user_id, slug=project_slug)
	form = PageForm()
	page = Page()

	if request.method == 'POST':
		for field_name in ['name','slug','privacy','content']:
			if (field_name != 'id') and (field_name[0] != "_"):
				setattr(page, field_name, request.POST[field_name])
		page.created = datetime.now()
		page.modified = datetime.now()
		page.owner = request.user
		template = request.POST['template']
		template_obj = Template.objects.get(id=template)
		page.template = template_obj
		page.save()
		# Attach the page to the respective project
		project.pages.add(page)
		return HttpResponseRedirect(request.META['SCRIPT_NAME']+'/present/'+str(request.user.id)+'/'+project.slug+'/compose/')

	return render_to_response('present/create_page.html',
	 							{'form': form, 'project': project}, context_instance=RequestContext(request))
Ejemplo n.º 2
0
def create_project(request, user_id, project_slug = None):
	form = ProjectForm()
	

	# If a project needs to be updated, then supply the form with the current values
	if project_slug != None:
		project = Project.objects.get(owner=user_id, slug=project_slug)
		form = ProjectForm(initial={
			'name': project.name,
			'slug': project.slug,
			'description': project.description,
			'privacy': project.privacy,
			'template': project.template
		})
		# current_form = {}
		# current_form = {'name': project.name, 'slug': project.slug, 'description':project.description, 'privacy':project.privacy, 'template':project.template.name}
		# json_serializer = serializers.get_serializer("json")()
		# current_form = json_serializer.serialize([current_form])
		# return HttpResponse(form, mimetype='text/plain')
		# return HttpResponse(simplejson.dumps(current_form))
		
		
		return render_to_response('present/editform.html', { 'form': form, 'project_slug':project_slug }, context_instance=RequestContext(request))

	if request.method == 'POST':
		# try:
		# 	project = Project.objects.get(owner=user_id, slug=project_slug)
		# except:
		# 	project = Project()
		try:
			project = Project.objects.get(owner=user_id, slug=request.POST['project_slug'])
		except:
			project = Project()
		for field_name in ['name','slug','description','privacy']:
			if (field_name != 'id') and (field_name[0] != "_"):
				setattr(project, field_name, request.POST[field_name])
		project.created = datetime.now()
		project.modified = datetime.now()
		proejct_type = ProjectType.objects.get(id=request.POST['type'])
		project.type = proejct_type
		template = Template.objects.get(id=request.POST['template'])
		project.template = template
		project.owner = request.user
		project.save()

		# Create a default page for the project

		# Assigning the basic page template
		page_template = Template.objects.get(id=2)
		
		page = Page()
		page.name = 'Home'
		page.slug = 'home'
		page.owner = request.user
		page.created = datetime.now()
		page.modified = datetime.now()
		# Default permission is protected - that is public but not indexed by search engines
		page.privacy = 1
		page.template = page_template

		page.save()
		project.pages.add(page)
		project.save()

		# return HttpResponseRedirect(request.META['SCRIPT_NAME']+'/present/'+str(request.user.id)+'/public/'+project.slug+'/')
		return HttpResponseRedirect(request.META['SCRIPT_NAME']+'/present/'+str(request.user.id)+'/'+project.slug+'/compose/')

	# return render_to_response('present/create_project.html',
	#  							{'form': form},
	#  							context_instance=RequestContext(request))
	return render_to_response('present/editform.html', { 'form': form, 'project_slug':project_slug }, context_instance=RequestContext(request))