Merge remote branch 'remotes/elrond/idea/shortcuts'
This commit is contained in:
commit
a7fcc027aa
@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from webob import Response, exc
|
from webob import exc
|
||||||
|
|
||||||
from mediagoblin.util import render_template
|
from mediagoblin.util import render_to_response, redirect
|
||||||
from mediagoblin.db.util import ObjectId
|
from mediagoblin.db.util import ObjectId
|
||||||
from mediagoblin.auth import lib as auth_lib
|
from mediagoblin.auth import lib as auth_lib
|
||||||
from mediagoblin.auth import forms as auth_forms
|
from mediagoblin.auth import forms as auth_forms
|
||||||
@ -54,21 +54,16 @@ def register(request):
|
|||||||
|
|
||||||
send_verification_email(entry, request)
|
send_verification_email(entry, request)
|
||||||
|
|
||||||
# Redirect to register_success
|
return redirect(request, "mediagoblin.auth.register_success")
|
||||||
return exc.HTTPFound(
|
|
||||||
location=request.urlgen("mediagoblin.auth.register_success"))
|
|
||||||
|
|
||||||
# render
|
return render_to_response(request,
|
||||||
return Response(
|
'mediagoblin/auth/register.html',
|
||||||
render_template(
|
{'register_form': register_form})
|
||||||
request, 'mediagoblin/auth/register.html',
|
|
||||||
{'register_form': register_form}))
|
|
||||||
|
|
||||||
|
|
||||||
def register_success(request):
|
def register_success(request):
|
||||||
return Response(
|
return render_to_response(request,
|
||||||
render_template(
|
'mediagoblin/auth/register_success.html', {})
|
||||||
request, 'mediagoblin/auth/register_success.html', {}))
|
|
||||||
|
|
||||||
|
|
||||||
def login(request):
|
def login(request):
|
||||||
@ -93,8 +88,7 @@ def login(request):
|
|||||||
if request.POST.get('next'):
|
if request.POST.get('next'):
|
||||||
return exc.HTTPFound(location=request.POST['next'])
|
return exc.HTTPFound(location=request.POST['next'])
|
||||||
else:
|
else:
|
||||||
return exc.HTTPFound(
|
return redirect(request, "index")
|
||||||
location=request.urlgen("index"))
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# Prevent detecting who's on this system by testing login
|
# Prevent detecting who's on this system by testing login
|
||||||
@ -102,21 +96,18 @@ def login(request):
|
|||||||
auth_lib.fake_login_attempt()
|
auth_lib.fake_login_attempt()
|
||||||
login_failed = True
|
login_failed = True
|
||||||
|
|
||||||
# render
|
return render_to_response(request,
|
||||||
return Response(
|
'mediagoblin/auth/login.html',
|
||||||
render_template(
|
|
||||||
request, 'mediagoblin/auth/login.html',
|
|
||||||
{'login_form': login_form,
|
{'login_form': login_form,
|
||||||
'next': request.GET.get('next') or request.POST.get('next'),
|
'next': request.GET.get('next') or request.POST.get('next'),
|
||||||
'login_failed': login_failed}))
|
'login_failed': login_failed})
|
||||||
|
|
||||||
|
|
||||||
def logout(request):
|
def logout(request):
|
||||||
# Maybe deleting the user_id parameter would be enough?
|
# Maybe deleting the user_id parameter would be enough?
|
||||||
request.session.delete()
|
request.session.delete()
|
||||||
|
|
||||||
return exc.HTTPFound(
|
return redirect(request, "index")
|
||||||
location=request.urlgen("index"))
|
|
||||||
|
|
||||||
|
|
||||||
def verify_email(request):
|
def verify_email(request):
|
||||||
@ -141,11 +132,10 @@ def verify_email(request):
|
|||||||
else:
|
else:
|
||||||
verification_successful = False
|
verification_successful = False
|
||||||
|
|
||||||
return Response(
|
return render_to_response(request,
|
||||||
render_template(
|
'mediagoblin/auth/verify_email.html',
|
||||||
request, 'mediagoblin/auth/verify_email.html',
|
|
||||||
{'user': user,
|
{'user': user,
|
||||||
'verification_successful': verification_successful}))
|
'verification_successful': verification_successful})
|
||||||
|
|
||||||
def verify_email_notice(request):
|
def verify_email_notice(request):
|
||||||
"""
|
"""
|
||||||
@ -154,9 +144,8 @@ def verify_email_notice(request):
|
|||||||
When the user tries to do some action that requires their account
|
When the user tries to do some action that requires their account
|
||||||
to be verified beforehand, this view is called upon!
|
to be verified beforehand, this view is called upon!
|
||||||
"""
|
"""
|
||||||
return Response(
|
return render_to_response(request,
|
||||||
render_template(
|
'mediagoblin/auth/verification_needed.html', {})
|
||||||
request, 'mediagoblin/auth/verification_needed.html', {}))
|
|
||||||
|
|
||||||
|
|
||||||
def resend_activation(request):
|
def resend_activation(request):
|
||||||
@ -171,11 +160,9 @@ def resend_activation(request):
|
|||||||
|
|
||||||
send_verification_email(request.user, request)
|
send_verification_email(request.user, request)
|
||||||
|
|
||||||
return exc.HTTPFound(
|
return redirect(request, 'mediagoblin.auth.resend_verification_success')
|
||||||
location=request.urlgen('mediagoblin.auth.resend_verification_success'))
|
|
||||||
|
|
||||||
|
|
||||||
def resend_activation_success(request):
|
def resend_activation_success(request):
|
||||||
return Response(
|
return render_to_response(request,
|
||||||
render_template(
|
'mediagoblin/auth/resent_verification_email.html', {})
|
||||||
request, 'mediagoblin/auth/resent_verification_email.html', {}))
|
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
from bson.errors import InvalidId
|
from bson.errors import InvalidId
|
||||||
from webob import exc
|
from webob import exc
|
||||||
|
|
||||||
|
from mediagoblin.util import redirect
|
||||||
from mediagoblin.db.util import ObjectId
|
from mediagoblin.db.util import ObjectId
|
||||||
|
|
||||||
|
|
||||||
@ -38,9 +39,8 @@ def require_active_login(controller):
|
|||||||
def new_controller_func(request, *args, **kwargs):
|
def new_controller_func(request, *args, **kwargs):
|
||||||
if request.user and \
|
if request.user and \
|
||||||
request.user.get('status') == u'needs_email_verification':
|
request.user.get('status') == u'needs_email_verification':
|
||||||
return exc.HTTPFound(
|
return redirect(request,
|
||||||
location = request.urlgen(
|
'mediagoblin.auth.verify_email_notice')
|
||||||
'mediagoblin.auth.verify_email_notice'))
|
|
||||||
elif not request.user or request.user.get('status') != u'active':
|
elif not request.user or request.user.get('status') != u'active':
|
||||||
return exc.HTTPFound(
|
return exc.HTTPFound(
|
||||||
location="%s?next=%s" % (
|
location="%s?next=%s" % (
|
||||||
|
@ -15,9 +15,9 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
from webob import Response, exc
|
from webob import exc
|
||||||
|
|
||||||
from mediagoblin.util import render_template
|
from mediagoblin.util import render_to_response, redirect
|
||||||
from mediagoblin.edit import forms
|
from mediagoblin.edit import forms
|
||||||
from mediagoblin.edit.lib import may_edit_media
|
from mediagoblin.edit.lib import may_edit_media
|
||||||
from mediagoblin.decorators import require_active_login, get_user_media_entry
|
from mediagoblin.decorators import require_active_login, get_user_media_entry
|
||||||
@ -51,14 +51,10 @@ def edit_media(request, media):
|
|||||||
media['slug'] = request.POST['slug']
|
media['slug'] = request.POST['slug']
|
||||||
media.save()
|
media.save()
|
||||||
|
|
||||||
# redirect
|
return redirect(request, "mediagoblin.user_pages.media_home",
|
||||||
return exc.HTTPFound(
|
user=media.uploader()['username'], media=media['slug'])
|
||||||
location=request.urlgen("mediagoblin.user_pages.media_home",
|
|
||||||
user=media.uploader()['username'], media=media['slug']))
|
|
||||||
|
|
||||||
# render
|
return render_to_response(request,
|
||||||
return Response(
|
'mediagoblin/edit/edit.html',
|
||||||
render_template(
|
|
||||||
request, 'mediagoblin/edit/edit.html',
|
|
||||||
{'media': media,
|
{'media': media,
|
||||||
'form': form}))
|
'form': form})
|
||||||
|
@ -17,10 +17,9 @@
|
|||||||
from os.path import splitext
|
from os.path import splitext
|
||||||
from cgi import FieldStorage
|
from cgi import FieldStorage
|
||||||
|
|
||||||
from webob import Response, exc
|
|
||||||
from werkzeug.utils import secure_filename
|
from werkzeug.utils import secure_filename
|
||||||
|
|
||||||
from mediagoblin.util import render_template
|
from mediagoblin.util import render_to_response, redirect
|
||||||
from mediagoblin.decorators import require_active_login
|
from mediagoblin.decorators import require_active_login
|
||||||
from mediagoblin.submit import forms as submit_forms
|
from mediagoblin.submit import forms as submit_forms
|
||||||
from mediagoblin.process_media import process_media_initial
|
from mediagoblin.process_media import process_media_initial
|
||||||
@ -76,19 +75,13 @@ def submit_start(request):
|
|||||||
# queue it for processing
|
# queue it for processing
|
||||||
process_media_initial.delay(unicode(entry['_id']))
|
process_media_initial.delay(unicode(entry['_id']))
|
||||||
|
|
||||||
# redirect
|
return redirect(request, "mediagoblin.submit.success")
|
||||||
return exc.HTTPFound(
|
|
||||||
location=request.urlgen("mediagoblin.submit.success"))
|
|
||||||
|
|
||||||
# render
|
return render_to_response(request,
|
||||||
return Response(
|
'mediagoblin/submit/start.html',
|
||||||
render_template(
|
{'submit_form': submit_form})
|
||||||
request, 'mediagoblin/submit/start.html',
|
|
||||||
{'submit_form': submit_form}))
|
|
||||||
|
|
||||||
|
|
||||||
def submit_success(request):
|
def submit_success(request):
|
||||||
# render
|
return render_to_response(request,
|
||||||
return Response(
|
'mediagoblin/submit/success.html', {})
|
||||||
render_template(
|
|
||||||
request, 'mediagoblin/submit/success.html', {}))
|
|
||||||
|
@ -14,9 +14,9 @@
|
|||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from webob import Response, exc
|
from webob import exc
|
||||||
from mediagoblin.db.util import DESCENDING
|
from mediagoblin.db.util import DESCENDING
|
||||||
from mediagoblin.util import Pagination, render_template
|
from mediagoblin.util import Pagination, render_to_response
|
||||||
|
|
||||||
from mediagoblin.decorators import uses_pagination, get_user_media_entry
|
from mediagoblin.decorators import uses_pagination, get_user_media_entry
|
||||||
|
|
||||||
@ -42,21 +42,19 @@ def user_home(request, page):
|
|||||||
if media_entries == None:
|
if media_entries == None:
|
||||||
return exc.HTTPNotFound()
|
return exc.HTTPNotFound()
|
||||||
|
|
||||||
return Response(
|
return render_to_response(request,
|
||||||
render_template(
|
'mediagoblin/user_pages/user.html',
|
||||||
request, 'mediagoblin/user_pages/user.html',
|
|
||||||
{'user': user,
|
{'user': user,
|
||||||
'media_entries': media_entries,
|
'media_entries': media_entries,
|
||||||
'pagination': pagination}))
|
'pagination': pagination})
|
||||||
|
|
||||||
|
|
||||||
@get_user_media_entry
|
@get_user_media_entry
|
||||||
def media_home(request, media):
|
def media_home(request, media):
|
||||||
"""'Homepage' of a MediaEntry()"""
|
"""'Homepage' of a MediaEntry()"""
|
||||||
return Response(
|
return render_to_response(request,
|
||||||
render_template(
|
'mediagoblin/user_pages/media.html',
|
||||||
request, 'mediagoblin/user_pages/media.html',
|
{'media': media})
|
||||||
{'media': media}))
|
|
||||||
|
|
||||||
|
|
||||||
ATOM_DEFAULT_NR_OF_UPDATED_ITEMS = 5
|
ATOM_DEFAULT_NR_OF_UPDATED_ITEMS = 5
|
||||||
|
@ -29,6 +29,7 @@ from babel.localedata import exists
|
|||||||
import jinja2
|
import jinja2
|
||||||
import translitcodec
|
import translitcodec
|
||||||
from paste.deploy.loadwsgi import NicerConfigParser
|
from paste.deploy.loadwsgi import NicerConfigParser
|
||||||
|
from webob import Response, exc
|
||||||
|
|
||||||
from mediagoblin import globals as mgoblin_globals
|
from mediagoblin import globals as mgoblin_globals
|
||||||
from mediagoblin.db.util import ObjectId
|
from mediagoblin.db.util import ObjectId
|
||||||
@ -117,6 +118,16 @@ def clear_test_template_context():
|
|||||||
TEMPLATE_TEST_CONTEXT = {}
|
TEMPLATE_TEST_CONTEXT = {}
|
||||||
|
|
||||||
|
|
||||||
|
def render_to_response(request, template, context):
|
||||||
|
"""Much like Django's shortcut.render()"""
|
||||||
|
return Response(render_template(request, template, context))
|
||||||
|
|
||||||
|
|
||||||
|
def redirect(request, *args, **kwargs):
|
||||||
|
"""Returns a HTTPFound(), takes a request and then urlgen params"""
|
||||||
|
return exc.HTTPFound(location=request.urlgen(*args, **kwargs))
|
||||||
|
|
||||||
|
|
||||||
def setup_user_in_request(request):
|
def setup_user_in_request(request):
|
||||||
"""
|
"""
|
||||||
Examine a request and tack on a request.user parameter if that's
|
Examine a request and tack on a request.user parameter if that's
|
||||||
|
@ -14,16 +14,13 @@
|
|||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from webob import Response
|
from mediagoblin.util import render_to_response
|
||||||
|
|
||||||
from mediagoblin.util import render_template
|
|
||||||
from mediagoblin.db.util import DESCENDING
|
from mediagoblin.db.util import DESCENDING
|
||||||
|
|
||||||
def root_view(request):
|
def root_view(request):
|
||||||
media_entries = request.db.MediaEntry.find(
|
media_entries = request.db.MediaEntry.find(
|
||||||
{u'state': u'processed'}).sort('created', DESCENDING)
|
{u'state': u'processed'}).sort('created', DESCENDING)
|
||||||
|
|
||||||
return Response(
|
return render_to_response(request,
|
||||||
render_template(
|
'mediagoblin/root.html',
|
||||||
request, 'mediagoblin/root.html',
|
{'media_entries': media_entries})
|
||||||
{'media_entries': media_entries}))
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user