예제 #1
0
def edit_layout(request, layout_slug=None):
	if not request.user.is_superuser:
		raise PermissionDenied()
	try:
		layout_id = int(layout_slug)
		layout = Layout.objects.get(pk=int(layout_id))
	except ValueError:
		try:
			layout = Layout.objects.get(slug=layout_slug)
		except Layout.DoesNotExist:
			return redirect('publisher.views.new_layout',
				name = layout_slug.replace('_',' ').title(),
				slug = layout_slug)
	except Layout.DoesNotExist:
		raise Http404
		
	try:
		form = Form(forms.EditLayoutForm, instance=layout)
		if request.method=='POST':
			if form.is_valid():
				n = form.save(commit=False)
				n.save()
				return redirect("publisher.views.edit_layout", [str(n.id)], 
						info = 'Layout "%s" saved successfully' % n.name )
	except Exception, e:
		form.non_field_errors = str(e) or "Please try again later."
예제 #2
0
def remove_layout(request, layout_id, layout_slug=None):
	if not request.user.is_superuser:
		raise PermissionDenied()
	try:
		layout = Layout.objects.get(pk=layout_id)
	except Layout.DoesNotExist:
		raise Http404
	try:
		layout.delete()
		return redirect("publisher.views.layouts", 
					info = 'Layout "%s" removed successfully' % layout.name )
	except Exception, e:
		return redirect("publisher.views.layouts", 
					info = 'Oops! we have a problem with a server, Please try again later',
					error = str(e))
예제 #3
0
def remove_flatpage(request, flatpage_id):
	if not request.user.is_superuser:
		raise PermissionDenied()
	try:
		flatpage = FlatPage.objects.get(pk=flatpage_id)
	except FlatPage.DoesNotExist:
		raise Http404
	error = None
	try:
		flatpage.delete()
		return redirect("publisher.views.layouts", 
					info = _('Removed successfully'))
	except Exception, e:
		error = e
예제 #4
0
def new_flatpage(request):
	if not request.user.is_superuser:
		raise PermissionDenied()
	try:
		form = Form(forms.NewFlatPageForm, initial={})
		if request.method=='POST':
			if form.is_valid():
				n = form.save(commit=False)
				if n.url and not n.url.endswith('/'):
					n.url += '/'
				n.save()
				site = Site.objects.get_current()
				n.sites.add(site)
				n.save()
				return redirect("publisher.views.edit_flatpage", [str(n.id)], 
						info=_('Created successfully'))
	except Exception, e:
		form.non_field_errors = unicode(e) or _("Please try again later.")
예제 #5
0
def new_layout(request):
	if not request.user.is_superuser:
		raise PermissionDenied()
	initial = {}
	if request.method=='GET':
		initial = {
			'name': request.GET.get('name',''),
			'slug': request.GET.get('slug',''),
		}
	try:
		form = Form(forms.NewLayoutForm, initial=initial)
		if request.method=='POST':
			if form.is_valid():
				n = form.save(commit=False)
				n.save()
				return redirect("publisher.views.edit_layout", [str(n.id)], 
						info = 'Layout "%s" created successfully' % n.name )
	except Exception, e:
		form.non_field_errors = str(e) or "Please try again later."
예제 #6
0
def edit_flatpage(request, flatpage_id):
	if not request.user.is_superuser:
		raise PermissionDenied()
	try:
		flatpage = entity = FlatPage.objects.get(pk=flatpage_id)
	except FlatPage.DoesNotExist:
		raise Http404	
	try:
		form = Form(forms.EditFlatPageForm, instance=flatpage)
		if request.method=='POST':
			if form.is_valid():
				n = form.save(commit=False)
				site = Site.objects.get_current()
				if n.url and not n.url.endswith('/'):
					n.url += '/'
				n.sites.add(site)
				n.save()
				return redirect("publisher.views.edit_flatpage", [str(n.id)], 
					info=_('Saved successfully'))
	except Exception, e:
		form.non_field_errors = unicode(e) or _("Please try again later.")
예제 #7
0
	return locals()

def remove_flatpage(request, flatpage_id):
	if not request.user.is_superuser:
		raise PermissionDenied()
	try:
		flatpage = FlatPage.objects.get(pk=flatpage_id)
	except FlatPage.DoesNotExist:
		raise Http404
	error = None
	try:
		flatpage.delete()
		return redirect("publisher.views.layouts", 
					info = _('Removed successfully'))
	except Exception, e:
		error = e
	return redirect("publisher.views.layouts", 
				info = _('Oops! we have a problem with a server, Please try again later'),
				error = unicode(error))


@render_to('publisher/widget/form.html')
def api_widget_form(request, widget_name=None):
	try:
		widget_name = widget_name or request.GET.get('name')
		form = get_widget(widget_name)()	
	except:
		raise Http404 
	return locals()