From 20002afd313c5f4acbb9f502bf50d82f6a9b85c4 Mon Sep 17 00:00:00 2001 From: Isaac Bythewood Date: Tue, 1 May 2012 05:44:50 +0000 Subject: [PATCH] Added in message system. --- pinry/core/static/core/css/pinry.css | 25 +++++++++++++++++++++++++ pinry/core/static/core/js/messages.js | 12 ++++++++++++ pinry/core/templates/core/base.html | 9 +++++++++ pinry/core/views.py | 4 +++- pinry/pins/views.py | 4 ++++ pinry/settings/__init__.py | 7 +++++++ 6 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 pinry/core/static/core/js/messages.js diff --git a/pinry/core/static/core/css/pinry.css b/pinry/core/static/core/css/pinry.css index 81d3f9b..0b2a0e3 100644 --- a/pinry/core/static/core/css/pinry.css +++ b/pinry/core/static/core/css/pinry.css @@ -29,6 +29,30 @@ body { text-decoration: underline; } +.messages { + list-style-type: none; + top: 50px; + right: 10px; + position: absolute; + z-index: 200; +} + + .messages li { + margin: 10px 0; + padding: 18px 28px; + border: 1px solid #ccc; + font-size: 16px + } + + .messages li:hover { + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -ms-transform: scale(1.1); + -o-transform: scale(1.1); + transform: scale(1.1); + cursor: pointer; + } + #loader { margin-top: 70px; text-align: center; @@ -38,6 +62,7 @@ body { top: 70px; position: absolute; background: #eee; + z-index: 100; } .pin { diff --git a/pinry/core/static/core/js/messages.js b/pinry/core/static/core/js/messages.js new file mode 100644 index 0000000..0284a5c --- /dev/null +++ b/pinry/core/static/core/js/messages.js @@ -0,0 +1,12 @@ +$(document).ready(function() { + var delayTime = 3000, + alerts = $('.alert'); + + delayTime = delayTime + (alerts.length * 250); + + alerts.each(function() { + $(this).delay(delayTime).fadeOut('slow'); + delayTime -= 250; + console.log(delayTime); + }); +}); diff --git a/pinry/core/templates/core/base.html b/pinry/core/templates/core/base.html index ed71e56..ebb9397 100644 --- a/pinry/core/templates/core/base.html +++ b/pinry/core/templates/core/base.html @@ -34,6 +34,14 @@ + {% if messages %} + + {% endif %} + {% block yield %}{% endblock %} {% new_pin %} @@ -53,5 +61,6 @@ {% endif %} + diff --git a/pinry/core/views.py b/pinry/core/views.py index 3bca4d7..52970e0 100644 --- a/pinry/core/views.py +++ b/pinry/core/views.py @@ -4,6 +4,7 @@ from django.core.urlresolvers import reverse from django.contrib.auth.decorators import login_required from django.contrib.auth import logout from django.contrib.auth.forms import UserCreationForm +from django.contrib import messages def home(request): @@ -14,6 +15,7 @@ def register(request): form = UserCreationForm(request.POST) if form.is_valid(): form.save() + messages.success(request, 'Thank you for registering, you can now login.') return HttpResponseRedirect(reverse('core:login')) else: form = UserCreationForm() @@ -23,5 +25,5 @@ def register(request): @login_required def logout_user(request): logout(request) + messages.success(request, 'You have successfully logged out.') return HttpResponseRedirect(reverse('core:home')) - diff --git a/pinry/pins/views.py b/pinry/pins/views.py index 41a7689..07b88e3 100644 --- a/pinry/pins/views.py +++ b/pinry/pins/views.py @@ -1,6 +1,7 @@ from django.template.response import TemplateResponse from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse +from django.contrib import messages from .models import Pin from .forms import PinForm @@ -15,7 +16,10 @@ def new_pin(request): form = PinForm(request.POST) if form.is_valid(): form.save() + messages.success(request, 'New pin successfully added.') return HttpResponseRedirect(reverse('pins:recent-pins')) + else: + messages.error(request, 'Pin did not pass validation!') else: form = PinForm() context = { diff --git a/pinry/settings/__init__.py b/pinry/settings/__init__.py index 4bf8925..0988c65 100644 --- a/pinry/settings/__init__.py +++ b/pinry/settings/__init__.py @@ -1,4 +1,5 @@ import os +from django.contrib.messages import constants as messages SITE_ROOT = os.path.join(os.path.realpath(os.path.dirname(__file__)), '../../') @@ -42,6 +43,12 @@ ROOT_URLCONF = 'pinry.urls' WSGI_APPLICATION = 'pinry.wsgi.application' LOGIN_REDIRECT_URL = '/' INTERNAL_IPS = ['127.0.0.1'] +MESSAGE_TAGS = { + messages.WARNING: 'alert', + messages.ERROR: 'alert alert-error', + messages.SUCCESS: 'alert alert-success', + messages.INFO: 'alert alert-info', +} INSTALLED_APPS = ( 'django.contrib.auth',