def pin_upload( request ): response = Epoxy( request ) d = dt.datetime.now() form = UploadPinForm( request.REQUEST ) if not form.is_valid(): return response.throw_error(error=form.errors, code=API_EXCEPTION_FORMERRORS) 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() ] ) pin_path = response.add('path', "pins/%s-%s" % ( d.year, ( d.month if d.month >10 else "0%s" % d.month ) ) ) absolute_pin_path = os.path.join( settings.MEDIA_ROOT, pin_path ) try: if not os.path.exists( absolute_pin_path ): os.makedirs( absolute_pin_path ) # throw an OS ERROR if exists... OR if it is not writable! except OSError, e: return response.throw_error( error="%s" % e, code=API_EXCEPTION_OSERROR ).json()
def test( request ): response = Epoxy( request ) response.add( 'full_path', request.get_host() ) full_url = "%s://%s%s"% ( 'https' if request.is_secure() else 'http', request.get_host(), reverse('outside.views.confirm', args=( "dsdsdsds", 12 ) ) ) response.add( 'full_url', full_url ) return response.json()
def test(request): response = Epoxy(request) response.add('full_path', request.get_host()) full_url = "%s://%s%s" % ( 'https' if request.is_secure() else 'http', request.get_host(), reverse('outside.views.confirm', args=("dsdsdsds", 12))) response.add('full_url', full_url) return response.json()
def auth_login(request): response = Epoxy(request) form = LoginForm(request.POST) try: if 'next' not in request.session: request.session['next'] = request.REQUEST['next'] except: pass if request.method == 'POST': if form.is_valid(): user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password']) if user is not None: if user.is_active: login(request, user) try: subscriber = Subscriber.objects.get( user=request.user.id) except Subscriber.DoesNotExist: return redirect( reverse('outside.views.create_profile')) next_url = request.session['next'] del request.session['next'] response.add('next', next_url) else: return response.throw_error( _("user has been disabled"), code=API_EXCEPTION_FORMERRORS).json() else: return response.throw_error( error={ 'username': '', 'password': '' }, code=API_EXCEPTION_FORMERRORS).json() return response.throw_error( error=form.errors, code=API_EXCEPTION_FORMERRORS).json() else: """login_message['error'] = _("invalid credentials") login_message['invalid_fields'] = form.errors""" #return HttpResponse('TEST') return response.throw_error(error=form.errors, code=API_EXCEPTION_FORMERRORS).json() return response.json()
def auth_login( request ): response = Epoxy( request ) form = LoginForm( request.POST ) try: if 'next' not in request.session: request.session['next'] = request.REQUEST['next'] except: pass if request.method == 'POST': if form.is_valid(): user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password']) if user is not None: if user.is_active: login(request, user) try: subscriber = Subscriber.objects.get(user=request.user.id) except Subscriber.DoesNotExist: return redirect( reverse('outside.views.create_profile') ) next_url = request.session['next'] del request.session['next'] response.add( 'next', next_url ) else: return response.throw_error( _("user has been disabled"), code=API_EXCEPTION_FORMERRORS).json() else: return response.throw_error( error={'username':'', 'password':''}, code=API_EXCEPTION_FORMERRORS).json() return response.throw_error( error=form.errors, code=API_EXCEPTION_FORMERRORS).json() else: """login_message['error'] = _("invalid credentials") login_message['invalid_fields'] = form.errors""" #return HttpResponse('TEST') return response.throw_error( error=form.errors, code=API_EXCEPTION_FORMERRORS).json() return response.json()
def pages(request): # logger.info("Welcome to GLUEBOX api") response = Epoxy( request ) if response.method =='POST': form = AddPageForm( request.REQUEST ) if not form.is_valid(): return response.throw_error( error=form.errors, code=API_EXCEPTION_FORMERRORS).json() try: p_en = Page( title=form.cleaned_data['title_en'], language='EN', slug=form.cleaned_data['slug']) p_en.save() p_fr = Page( title=form.cleaned_data['title_fr'], language='FR', slug=form.cleaned_data['slug']) p_fr.save() except IntegrityError, e: return response.throw_error( error="%s" % e, code=API_EXCEPTION_INTEGRITY).json() response.add('object',[ p_en.json(), p_fr.json() ])
def pin_upload(request): response = Epoxy(request) d = dt.datetime.now() form = UploadPinForm(request.REQUEST) if not form.is_valid(): return response.throw_error(error=form.errors, code=API_EXCEPTION_FORMERRORS) 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()]) pin_path = response.add( 'path', "pins/%s-%s" % (d.year, (d.month if d.month > 10 else "0%s" % d.month))) absolute_pin_path = os.path.join(settings.MEDIA_ROOT, pin_path) try: if not os.path.exists(absolute_pin_path): os.makedirs( absolute_pin_path ) # throw an OS ERROR if exists... OR if it is not writable! except OSError, e: return response.throw_error(error="%s" % e, code=API_EXCEPTION_OSERROR).json()
def pages(request): # logger.info("Welcome to GLUEBOX api") response = Epoxy(request) if response.method == 'POST': form = AddPageForm(request.REQUEST) if not form.is_valid(): return response.throw_error(error=form.errors, code=API_EXCEPTION_FORMERRORS).json() try: p_en = Page(title=form.cleaned_data['title_en'], language='EN', slug=form.cleaned_data['slug']) p_en.save() p_fr = Page(title=form.cleaned_data['title_fr'], language='FR', slug=form.cleaned_data['slug']) p_fr.save() except IntegrityError, e: return response.throw_error(error="%s" % e, code=API_EXCEPTION_INTEGRITY).json() response.add('object', [p_en.json(), p_fr.json()])
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()
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()