Skip to content
This repository has been archived by the owner on Oct 31, 2018. It is now read-only.

Commit

Permalink
closes #119
Browse files Browse the repository at this point in the history
  • Loading branch information
anniejocain committed Jan 8, 2015
1 parent 42e1981 commit 2739b03
Show file tree
Hide file tree
Showing 4 changed files with 158 additions and 5 deletions.
@@ -0,0 +1,120 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models


class Migration(SchemaMigration):

def forwards(self, orm):
# Adding field 'Organization.is_active'
db.add_column(u'awesome_organization', 'is_active',
self.gf('django.db.models.fields.BooleanField')(default=True),
keep_default=False)


def backwards(self, orm):
# Deleting field 'Organization.is_active'
db.delete_column(u'awesome_organization', 'is_active')


models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'auth.user': {
'Meta': {'object_name': 'User'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
},
u'awesome.branch': {
'Meta': {'object_name': 'Branch'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'lat': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
'long': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '400'}),
'organization': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['awesome.Organization']"}),
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'})
},
u'awesome.checkin': {
'Meta': {'object_name': 'Checkin'},
'checked_in_time': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'checkins'", 'to': u"orm['awesome.Item']"})
},
u'awesome.classification': {
'Meta': {'object_name': 'Classification'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '400'})
},
u'awesome.item': {
'Meta': {'object_name': 'Item'},
'branch': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['awesome.Branch']"}),
'catalog_id': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
'classifications': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['awesome.Classification']", 'symmetrical': 'False'}),
'cover_art': ('django.db.models.fields.URLField', [], {'max_length': '400', 'null': 'True', 'blank': 'True'}),
'creator': ('django.db.models.fields.CharField', [], {'max_length': '400', 'null': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'isbn': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
'latest_checkin': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'number_checkins': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
'physical_format': ('django.db.models.fields.CharField', [], {'default': "'book'", 'max_length': '50'}),
'title': ('django.db.models.fields.CharField', [], {'max_length': '400'}),
'unique_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'})
},
u'awesome.organization': {
'Meta': {'object_name': 'Organization'},
'about_page_blurb': ('django.db.models.fields.TextField', [], {'default': "'The Awesome Box is a collaboration with the Harvard Library Innovation Lab. It allows the community to see what others have found helpful, entertaining, or mind-blowing.'", 'max_length': '4000'}),
'catalog_base_url': ('django.db.models.fields.URLField', [], {'max_length': '2000'}),
'catalog_query': ('django.db.models.fields.CharField', [], {'default': "'isbn'", 'max_length': '100'}),
'cover_password': ('django.db.models.fields.CharField', [], {'max_length': '35', 'null': 'True', 'blank': 'True'}),
'cover_service': ('django.db.models.fields.CharField', [], {'default': "'openlibrary'", 'max_length': '100'}),
'cover_user_id': ('django.db.models.fields.CharField', [], {'max_length': '35', 'null': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'logo_link': ('django.db.models.fields.URLField', [], {'max_length': '2000', 'null': 'True', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '400'}),
'public_email': ('django.db.models.fields.EmailField', [], {'max_length': '254', 'null': 'True', 'blank': 'True'}),
'public_link': ('django.db.models.fields.URLField', [], {'max_length': '2000', 'null': 'True', 'blank': 'True'}),
'service_lookup': ('django.db.models.fields.CharField', [], {'default': "'worldcat'", 'max_length': '100'}),
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
'theme': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '100'}),
'twitter_intro': ('django.db.models.fields.CharField', [], {'max_length': '35', 'null': 'True', 'blank': 'True'}),
'twitter_oauth_secret': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
'twitter_oauth_token': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
'twitter_show_title': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'twitter_username': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
}
}

complete_apps = ['awesome']
1 change: 1 addition & 0 deletions django/awesome/models.py
Expand Up @@ -41,6 +41,7 @@ class Organization(models.Model):
cover_user_id = models.CharField(max_length=35, null=True, blank=True)
cover_password = models.CharField(max_length=35, null=True, blank=True)
theme = models.CharField(max_length=100, choices=THEME_QUERY_CHOICES, default="default")
is_active = models.BooleanField(default=True)


def __unicode__(self):
Expand Down
24 changes: 24 additions & 0 deletions django/awesome/templates/landing_org_deactivated.html
@@ -0,0 +1,24 @@
{% extends "layouts/base.html" %}
{% load static %}
{% get_static_prefix as STATIC_PREFIX %}

{% block title %}Deactivated{% endblock title %}

{% block styles %}
<link rel="stylesheet" href="{{ STATIC_PREFIX }}css/bootstrap.css" type="text/css" />
<link rel="stylesheet" media="all" href="{{ STATIC_PREFIX }}css/awesome-newlook.css" />
{% endblock styles %}

{% block content %}
<body>
<div id="wrapper">
<header id="branding">
<h1><a href="http://{{awesome_domain}}">Awesome Box</a></h1>
</header>
<div id="content">
<article class="register thin-centered">
<h2>This Awesome Box account has been deactivated</h2>
</article>
</div><!-- end content -->
</div> <!-- end wrapper -->
{% endblock content %}
18 changes: 13 additions & 5 deletions django/awesome/views/landing.py
Expand Up @@ -7,6 +7,7 @@
from django.core.context_processors import csrf
from django.template import RequestContext
from django.db.models import Count, Sum, Q
from django.contrib.sites.models import Site

logger = logging.getLogger(__name__)

Expand All @@ -27,13 +28,20 @@ def landing(request):
branch = request.GET.get('branch', '')
org = Organization.objects.get(slug=request.META['subdomain'])

template = 'landing_org_{theme}.html'.format(theme = org.theme)
if org.is_active:

context = {'user': request.user, 'organization': org,
'branch': branch, 'twitter_username': org.twitter_username,
'ga_key': GOOGLE['ANALYTICS_KEY']}
context = RequestContext(request, context)
template = 'landing_org_{theme}.html'.format(theme = org.theme)

context = {'user': request.user, 'organization': org,
'branch': branch, 'twitter_username': org.twitter_username,
'ga_key': GOOGLE['ANALYTICS_KEY']}

else:
template = 'landing_org_deactivated.html'
awesome_domain = Site.objects.get_current().domain
context = {'awesome_domain': awesome_domain, 'ga_key': GOOGLE['ANALYTICS_KEY']}

context = RequestContext(request, context)
return render_to_response(template, context)
else:
items = Item.objects.values('title').annotate(total_checkins=Sum('number_checkins')).order_by('-total_checkins')[:10]
Expand Down

0 comments on commit 2739b03

Please sign in to comment.