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

Commit

Permalink
streamlined shelf creation, responsive layout
Browse files Browse the repository at this point in the history
  • Loading branch information
anniejocain committed Nov 6, 2015
1 parent c2cdb06 commit d7a2684
Show file tree
Hide file tree
Showing 9 changed files with 165 additions and 115 deletions.
2 changes: 1 addition & 1 deletion django/awesome/models.py
Expand Up @@ -107,7 +107,7 @@ def __unicode__(self):
class Shelf(models.Model):
organization = models.ForeignKey(Organization)
title = models.CharField(max_length=400)
description = models.TextField(max_length=4000)
description = models.TextField(max_length=4000, null=True, blank=True)
slug = models.SlugField()
date_created = models.DateTimeField(auto_now=True, null=True)

Expand Down
53 changes: 0 additions & 53 deletions django/awesome/templates/control-create-shelf.html

This file was deleted.

62 changes: 62 additions & 0 deletions django/awesome/templates/control-new-shelf.html
@@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="en">
<head>

<!-- Basic Page Needs
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta charset="utf-8">
<meta name="description" content="{{shelf.title}}">
<meta name="author" content="{{organization.name}}">

<!-- Mobile Specific Metas
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- FONT
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,600" rel="stylesheet" type="text/css">
{% load static isbn_converter placeholder %}
{% get_static_prefix as STATIC_PREFIX %}

<title>Scan | Awesome Box at the {{organization.name}}</title>

<link rel="stylesheet" href="{{ STATIC_PREFIX }}css/normalize.css" type="text/css" />
<link rel="stylesheet" href="{{ STATIC_PREFIX }}css/skeleton.css" type="text/css" />
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" href="{{ STATIC_PREFIX }}css/shelf.css" type="text/css" />
</head>

<body>
<div class="container">
<div class="row">
<div class="eight columns">
<h4>New shelf</h4>
</div>
</div>
<form action="." method="post">
<div class="row">
<div class="eight columns">
{% csrf_token %}
{% if form.errors %}
<ul class="errorlist">
<li>Please fix the error(s) below.</li>
</ul>
{% endif %}
<p class="build-shelf-title">{{ form.title|placeholder:"Title" }}{{ form.title.errors }}</p>
<p class="build-shelf-permalink">http://{{organization.slug}}.{{awesome_domain}}/{{form.slug}}{{form.slug.errors}}</p>
<p class="build-shelf-description">{{ form.description|placeholder:"Optional description" }}{{ form.description.errors }}</p>
</div>
<div class="four columns">
<h5>Shelf Details</h5>
<p>Your shelf's title, link and description</p>
<button class="button-primary">Save Shelf</button>
{% if messages %}
{% for message in messages %}
<p id="build-shelf-message">{% if 'safe' in message.tags %}{{ message|safe }}{% else %}{{ message }}{% endif %}</p>
{% endfor %}
{% endif %}
</div>
</div>

</div>
</body>
34 changes: 11 additions & 23 deletions django/awesome/templates/scan-shelf.html
Expand Up @@ -27,40 +27,39 @@
</head>

<body>
<div class="container">
<div class="container build-shelf">
<div class="row">
<div class="eight columns">
<h4>Build your shelf</h4>
</div>
</div>
<form id="lookup">
<div class="row">
<div class="four columns u-pull-right">
<h5>Scan New Items Here</h5>
<a href="#" id="new-blank-item"><i class="fa fa-plus-square"></i>new blank item</a>
</div>
<div class="eight columns">
<input class="u-full-width" placeholder="ISBN/UPC code" id="barcode" type="text">
<p class="error"></p>
<p class="success"></p>
</div>
<div class="four columns">
<h5>Scan New Items Here</h5>
<a href="#" id="new-blank-item">Manually add new item</a>
<p class="alert"></p>
</div>
</div>
</form>
<form action="." method="post">
<div class="row">
<div class="row shelf-details">
<div class="eight columns">
{% csrf_token %}
{% if add_item_form.errors %}
{% if form.errors %}
<ul class="errorlist">
<li>Please fix the error(s) below.</li>
</ul>
{% endif %}
<p class="build-shelf-title">{{ form.title }}{{ form.title.errors }}</p>
<p class="build-shelf-title">{{ form.title|placeholder:"Title" }}{{ form.title.errors }}</p>
<p class="build-shelf-permalink">http://{{shelf.organization.slug}}.{{awesome_domain}}/{{form.slug}}{{form.slug.errors}}</p>
<p class="build-shelf-description">{{ form.description }}{{ form.description.errors }}</p>
<p class="build-shelf-description">{{ form.description|placeholder:"Optional description" }}{{ form.description.errors }}</p>
{{ formset.management_form }}
</div>
<div class="four columns">
<div class="four columns u-pull-right">
<h5>Shelf Details</h5>
<p>Your shelf's title, link and description</p>
<button class="button-primary">Save Shelf</button>
Expand Down Expand Up @@ -137,17 +136,6 @@ <h5>Shelf Details</h5>
</body>

{% verbatim %}
<script id="items-template" type="text/x-handlebars-template">
<div class="item">
<div class="item-details">
<p class="item-title">
{{title}}
</p>
<p class="item-author">{{creator}}</p>
<i class="fa fa-amazon"></i>
</div>
</div>
</script>

<script id="items-template2" type="text/x-handlebars-template">
<div class="order_item build-item ui-sortable-handle" id="item-{{item_num}}">
Expand Down
2 changes: 1 addition & 1 deletion django/awesome/templates/shelf.html
Expand Up @@ -18,7 +18,7 @@
{% load static isbn_converter %}
{% get_static_prefix as STATIC_PREFIX %}

<title>Scan | Awesome Box at the {{organization.name}}</title>
<title>{{shelf.title}} at the {{organization.name}}</title>

<link rel="stylesheet" href="{{ STATIC_PREFIX }}css/normalize.css" type="text/css" />
<link rel="stylesheet" href="{{ STATIC_PREFIX }}css/skeleton.css" type="text/css" />
Expand Down
2 changes: 1 addition & 1 deletion django/awesome/urls.py
Expand Up @@ -32,7 +32,7 @@
url(r'^control/twitter/callback$', 'control.twitter_callback', name='control_twitter_callback'),
url(r'^control/twitter/settings$', 'control.twitter_settings', name='control_twitter_settings'),
url(r'^control/export$', 'control.csv_export', name='control_csv_export'),
url(r'^control/shelf/$', 'control.shelf', name='control_shelf'),
url(r'^control/new-shelf/$', 'control.new_shelf', name='control_new_shelf'),
url(r'^control/shelf-builder/(?P<shelf_slug>[-\w\d]+)/$', 'control.shelf_builder', name='control_shelf_builder'),
url(r'^services/new-item/$', 'services.new_item', name='services_new_item'),
url(r'^services/new-shelf-item/$', 'services.new_shelf_item', name='services_new_shelf_item'),
Expand Down
15 changes: 9 additions & 6 deletions django/awesome/views/control.py
Expand Up @@ -559,12 +559,13 @@ def csv_export(request):
csv_export.short_description = u"Export CSV"


def shelf(request):
def new_shelf(request):

if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('auth_login'))

org = Organization.objects.get(user=request.user)
awesome_domain = Site.objects.get_current().domain
shelf_instance = Shelf(organization=org)

if request.method == 'POST':
Expand All @@ -584,9 +585,10 @@ def shelf(request):
'organization': org,
'form': submitted_form,
'shelves': shelves,
'awesome_domain': awesome_domain,
}
context = RequestContext(request, context)
return render_to_response('control-create-shelf.html', context)
return render_to_response('control-new-shelf.html', context)

else:
form = ShelfForm(instance=shelf_instance)
Expand All @@ -596,10 +598,11 @@ def shelf(request):
'user': request.user,
'organization': org,
'shelves': shelves,
'form': form,
'form': form,
'awesome_domain': awesome_domain,
}
context = RequestContext(request, context)
return render_to_response('control-create-shelf.html', context)
return render_to_response('control-new-shelf.html', context)


def shelf_builder(request, shelf_slug):
Expand All @@ -625,7 +628,7 @@ def shelf_builder(request, shelf_slug):
if form.is_valid() and form.form_valid() and formset.is_valid():
formset.save()
# reset the order to what's been saved
formset = ShelfItemFormSet(queryset=ShelfItem.objects.order_by('-sort_order'))
formset = ShelfItemFormSet(queryset=ShelfItem.objects.filter(shelf=shelf).order_by('-sort_order'))

display_shelf = form.save()
messages.success(request, 'Saved!')
Expand All @@ -643,7 +646,7 @@ def shelf_builder(request, shelf_slug):
return render_to_response('scan-shelf.html', context)
else:
form = ShelfForm(instance=shelf)
formset = ShelfItemFormSet(queryset=ShelfItem.objects.order_by('-sort_order'))
formset = ShelfItemFormSet(queryset=ShelfItem.objects.filter(shelf=shelf).order_by('-sort_order'))

context = {
'user': request.user,
Expand Down

0 comments on commit d7a2684

Please sign in to comment.