Exemplo n.º 1
0
def pins( request ):
	response = Epoxy( request )
	if response.method =='POST':
		form = AddPinForm( request.REQUEST )
		if not form.is_valid():
			return response.throw_error( error=form.errors, code=API_EXCEPTION_FORMERRORS).json()

		if len(form.cleaned_data['page_slug']) > 0:
			# attacch new pin to a selected page (both languages)
			response.add('page_slug',form.cleaned_data['page_slug'])
			
			try:
				page_en = Page.objects.get( slug=form.cleaned_data['page_slug'],language='EN')
				page_fr = Page.objects.get( slug=form.cleaned_data['page_slug'],language='FR')
			except Page.DoesNotExist:
				return response.throw_error( error=_("selected page does not exists"), code=API_EXCEPTION_FORMERRORS).json()

			response.add('page', [ page_en.json(), page_fr.json() ] )

		if len(form.cleaned_data['parent_pin_slug']) > 0:
			# attacch new pin to a selected pin (pin children, usually displayed on the right side, both languages)
			response.add('parent_pin_slug',form.cleaned_data['parent_pin_slug'])
			
			try:
				pin_en = Pin.objects.get( slug=form.cleaned_data['parent_pin_slug'],language='EN')
				pin_fr = Pin.objects.get( slug=form.cleaned_data['parent_pin_slug'],language='FR')
			except Pin.DoesNotExist, e:
				return response.throw_error( error=_("selected pin does not exists. Exception: %s" % e), code=API_EXCEPTION_FORMERRORS).json()

			response.add('pin', [ pin_en.json(), pin_fr.json() ] )

		#return response.queryset( Pin.objects.filter() ).json()

		try:
			p_en = Pin( title=form.cleaned_data['title_en'], language='EN', slug=form.cleaned_data['slug'])
			p_fr = Pin( title=form.cleaned_data['title_fr'], language='FR', slug=form.cleaned_data['slug'])
			
			if len(form.cleaned_data['parent_pin_slug']) > 0:
				p_en.parent = pin_en
				p_fr.parent = pin_fr

			
			p_en.save()
			p_fr.save() 
		except IntegrityError, e:
			return response.throw_error( error={'slug':"Exception %s" % e}, code=API_EXCEPTION_INTEGRITY).json()
Exemplo n.º 2
0
def load_edit_mode(request, d):
    d['has_edit_mode'] = request.user.groups.filter(
        name="CONTENT EDITOR").count() != 0
    # check permission
    if not d['has_edit_mode']:
        d['edit_mode'] = False
        return

    # check enable action
    if request.REQUEST.get('enable-edit-mode', None) is not None:
        request.session['edit_mode'] = True
    elif request.REQUEST.get('disable-edit-mode', None) is not None:
        request.session['edit_mode'] = False

    d['edit_mode'] = request.session['edit_mode'] if request.session.get(
        'edit_mode', False) else False

    # add editable field
    if d['edit_mode']:
        d['add_page_form'] = AddPageForm(auto_id="id_add_page_%s")
        d['add_pin_form'] = AddPinForm(auto_id="id_add_pin_%s")
        d['edit_pin_form'] = EditPinForm(auto_id="id_edit_pin_%s")
        d['add_enquiry_form'] = AddEnquiryForm(auto_id="id_add_enquiry_%s")
Exemplo n.º 3
0
# add or retrieve a list of pins objects attached to a given enquiry
def enquiry_pins( request, enquiry_slug ):

	response = Epoxy( request )

	# get both language enquiry objects
	try:
		enquiry_en = Enquiry.objects.get( slug=enquiry_slug,language='EN')
		enquiry_fr = Enquiry.objects.get( slug=enquiry_slug,language='FR')
	except Page.DoesNotExist, e:
		return response.throw_error( error="%s" % e, code=API_EXCEPTION_DOESNOTEXIST ).json()

	response.add('enquiry', [ enquiry_en.json(), enquiry_fr.json() ] )

	if response.method =='POST':
		form = AddPinForm( request.REQUEST )
		if not form.is_valid():
			return response.throw_error( error=form.errors, code=API_EXCEPTION_FORMERRORS).json()

		if len(form.cleaned_data['parent_pin_slug']) > 0:
			# attacch new pin to a selected pin (pin children, usually displayed on the right side, both languages)
			response.add('parent_pin_slug',form.cleaned_data['parent_pin_slug'])
			
			try:
				pin_en = Pin.objects.get( slug=form.cleaned_data['parent_pin_slug'],language='EN')
				pin_fr = Pin.objects.get( slug=form.cleaned_data['parent_pin_slug'],language='FR')
			except Pin.DoesNotExist, e:
				return response.throw_error( error=_("selected pin does not exists. Exception: %s" % e), code=API_EXCEPTION_DOESNOTEXIST).json()

			response.add('pin', [ pin_en.json(), pin_fr.json() ] )
Exemplo n.º 4
0
def enquiry_pins(request, enquiry_slug):

    response = Epoxy(request)

    # get both language enquiry objects
    try:
        enquiry_en = Enquiry.objects.get(slug=enquiry_slug, language='EN')
        enquiry_fr = Enquiry.objects.get(slug=enquiry_slug, language='FR')
    except Page.DoesNotExist, e:
        return response.throw_error(error="%s" % e,
                                    code=API_EXCEPTION_DOESNOTEXIST).json()

    response.add('enquiry', [enquiry_en.json(), enquiry_fr.json()])

    if response.method == 'POST':
        form = AddPinForm(request.REQUEST)
        if not form.is_valid():
            return response.throw_error(error=form.errors,
                                        code=API_EXCEPTION_FORMERRORS).json()

        if len(form.cleaned_data['parent_pin_slug']) > 0:
            # attacch new pin to a selected pin (pin children, usually displayed on the right side, both languages)
            response.add('parent_pin_slug',
                         form.cleaned_data['parent_pin_slug'])

            try:
                pin_en = Pin.objects.get(
                    slug=form.cleaned_data['parent_pin_slug'], language='EN')
                pin_fr = Pin.objects.get(
                    slug=form.cleaned_data['parent_pin_slug'], language='FR')
            except Pin.DoesNotExist, e:
Exemplo n.º 5
0
def pins(request):
    response = Epoxy(request)
    if response.method == 'POST':
        form = AddPinForm(request.REQUEST)
        if not form.is_valid():
            return response.throw_error(error=form.errors,
                                        code=API_EXCEPTION_FORMERRORS).json()

        if len(form.cleaned_data['page_slug']) > 0:
            # attacch new pin to a selected page (both languages)
            response.add('page_slug', form.cleaned_data['page_slug'])

            try:
                page_en = Page.objects.get(slug=form.cleaned_data['page_slug'],
                                           language='EN')
                page_fr = Page.objects.get(slug=form.cleaned_data['page_slug'],
                                           language='FR')
            except Page.DoesNotExist:
                return response.throw_error(
                    error=_("selected page does not exists"),
                    code=API_EXCEPTION_FORMERRORS).json()

            response.add('page', [page_en.json(), page_fr.json()])

        if len(form.cleaned_data['parent_pin_slug']) > 0:
            # attacch new pin to a selected pin (pin children, usually displayed on the right side, both languages)
            response.add('parent_pin_slug',
                         form.cleaned_data['parent_pin_slug'])

            try:
                pin_en = Pin.objects.get(
                    slug=form.cleaned_data['parent_pin_slug'], language='EN')
                pin_fr = Pin.objects.get(
                    slug=form.cleaned_data['parent_pin_slug'], language='FR')
            except Pin.DoesNotExist, e:
                return response.throw_error(
                    error=_("selected pin does not exists. Exception: %s" % e),
                    code=API_EXCEPTION_FORMERRORS).json()

            response.add('pin', [pin_en.json(), pin_fr.json()])

        #return response.queryset( Pin.objects.filter() ).json()

        try:
            p_en = Pin(title=form.cleaned_data['title_en'],
                       language='EN',
                       slug=form.cleaned_data['slug'])
            p_fr = Pin(title=form.cleaned_data['title_fr'],
                       language='FR',
                       slug=form.cleaned_data['slug'])

            if len(form.cleaned_data['parent_pin_slug']) > 0:
                p_en.parent = pin_en
                p_fr.parent = pin_fr

            p_en.save()
            p_fr.save()
        except IntegrityError, e:
            return response.throw_error(error={
                'slug': "Exception %s" % e
            },
                                        code=API_EXCEPTION_INTEGRITY).json()