Added method for redirect without request.url

This commit is contained in:
Antonio de la Rosa 2016-07-19 22:13:15 +02:00
parent 16db8a0c7c
commit 01c23252ca
2 changed files with 17 additions and 4 deletions

View file

@ -1,6 +1,20 @@
#!/usr/bin/python3 #!/usr/bin/python3
from settings import config from settings import config
from bottle import request, response, HTTPResponse
# A modified version of bottle url for don't need set x-proxy shit for redirect...
def redirect(url, code=None):
""" Aborts execution and causes a 303 or 302 redirect, depending on
the HTTP protocol version. """
if not code:
code = 303 if request.get('SERVER_PROTOCOL') == "HTTP/1.1" else 302
res = response.copy(cls=HTTPResponse)
res.status = code
res.body = ""
res.set_header('Location', url)
raise res
#Simple method for make urls #Simple method for make urls

View file

@ -4,7 +4,7 @@ import traceback, sys
from paramecio.citoplasma.mtemplates import env_theme, PTemplate from paramecio.citoplasma.mtemplates import env_theme, PTemplate
from paramecio.modules.admin.models.admin import UserAdmin from paramecio.modules.admin.models.admin import UserAdmin
from paramecio.citoplasma.i18n import load_lang, I18n from paramecio.citoplasma.i18n import load_lang, I18n
from paramecio.citoplasma.urls import make_url, add_get_parameters from paramecio.citoplasma.urls import make_url, add_get_parameters, redirect
from paramecio.citoplasma.sessions import get_session, generate_session from paramecio.citoplasma.sessions import get_session, generate_session
from bottle import get,post,response,request from bottle import get,post,response,request
from settings import config from settings import config
@ -17,7 +17,6 @@ from paramecio.cromosoma.formsutils import show_form, pass_values_to_form, set_e
from paramecio.cromosoma.coreforms import PasswordForm from paramecio.cromosoma.coreforms import PasswordForm
from paramecio.cromosoma.webmodel import WebModel from paramecio.cromosoma.webmodel import WebModel
from importlib import import_module, reload from importlib import import_module, reload
from bottle import redirect
from collections import OrderedDict from collections import OrderedDict
from time import time from time import time
from paramecio.citoplasma.keyutils import create_key_encrypt, create_key_encrypt_256, create_key from paramecio.citoplasma.keyutils import create_key_encrypt, create_key_encrypt_256, create_key
@ -165,7 +164,7 @@ def home(module='', submodule=''):
s['login']=1 s['login']=1
s['privileges']=arr_user['privileges'] s['privileges']=arr_user['privileges']
redirect('/'+config.admin_folder) redirect(make_url(config.admin_folder))
else: else:
@ -369,7 +368,7 @@ def logout():
#return "" #return ""
redirect('/'+config.admin_folder) redirect(make_url(config.admin_folder))
@get('/'+config.admin_folder+'/recovery_password') @get('/'+config.admin_folder+'/recovery_password')
def recovery_password(): def recovery_password():