Compact display, show less people

This commit is contained in:
nikolark committed 2013-09-22 19:49:13 +02:00
1 parent 3ae6a0675a
commit ca1b25afd9
7 files changed
+519 -351

No files matched your search

+1
View File
@@ -4,3 +4,4 @@ settings.py
dev.db dev.db
static/.sass-cache static/.sass-cache
uploads/[^.]* uploads/[^.]*
venv
+5 -3
View File
@@ -2,7 +2,7 @@
from datetime import datetime from datetime import datetime
from datetime import timedelta from datetime import timedelta
from itertools import groupby from itertools import groupby
import simplejson as json import json
import time import time
from django.contrib.auth import login, logout as auth_logout from django.contrib.auth import login, logout as auth_logout
@@ -14,7 +14,7 @@ from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from django.forms.formsets import formset_factory from django.forms.formsets import formset_factory
from django.contrib import messages from django.contrib import messages
from django.db.models import Count, Sum from django.db.models import Count, Sum, Max, Min
from models import * from models import *
@@ -36,7 +36,9 @@ def home(request):
def register(request): def register(request):
products = Product.objects.filter(active=True) products = Product.objects.filter(active=True)
users = User.objects.filter(userprofile__balance__gt=0) cheapest_product_price = products.aggregate(Min('sale_price_int')).values()[0]
one_year_ago = datetime.now() - timedelta(days=365) # one year ago
users = User.objects.filter(userprofile__balance__gt=cheapest_product_price)
# sort users after user's last purchase time # sort users after user's last purchase time
users = sorted(users, key=lambda u: u.get_profile().last_purchase_date(), reverse=True) users = sorted(users, key=lambda u: u.get_profile().last_purchase_date(), reverse=True)
users_js = users_format_js(users) users_js = users_format_js(users)
+2
View File
@@ -0,0 +1,2 @@
Django==1.4.8
MySQL-python==1.2.4
+12 -1
View File
@@ -74,7 +74,7 @@ $(document).ready(function() {
display.html(qty); display.html(qty);
/* Update total*/ /* Update total*/
var sale_price_int = Number($(this).children("span.sale_price_int").text()); var sale_price_int = Number($(this).children("span.sale_price_int").text());
var cur_total = Number($("span.total_text").text()) var cur_total = Number($("span.total_text").text());
$("span.total_text").html(cur_total + sale_price_int); $("span.total_text").html(cur_total + sale_price_int);
}); });
/* Form reset */ /* Form reset */
@@ -95,4 +95,15 @@ $(document).ready(function() {
}, 5000); }, 5000);
$("h2").tooltip({placement: 'right'}); $("h2").tooltip({placement: 'right'});
/* Toggle infrequent users */
$(".toggle-infrequent-users").on('click', function(e) {
e.preventDefault();
$("li.customer.infrequent").toggleClass('hidden');
if($(this).text() === "Vis alle") {
$(this).text("Skjul gamliser");
}
else {
$(this).text("Vis alle");
}
});
}); });
+13 -13
View File
@@ -1,16 +1,15 @@
@import "compass"; @import "compass";
@import "compass/reset"; @import "compass/reset";
// Fixes image path for icons from sass-bootstrap
$iconSpritePath: generated-image-url("glyphicons-halflings.png");
$iconWhiteSpritePath: generated-image-url("glyphicons-halflings-white.png");
@import "bootstrap"; @import "bootstrap";
@import "bootstrap-responsive"; @import "bootstrap-responsive";
body { body {
#header { #header {
.navbar {
margin-bottom: 0;
}
} }
#customer { #customer {
@@ -31,6 +30,9 @@ body {
color: #468847; color: #468847;
background-color: #DFF0D8; background-color: #DFF0D8;
} }
&.hidden {
display: none !important;
}
.name { .name {
font-weight: bold; font-weight: bold;
} }
@@ -40,6 +42,7 @@ body {
#register { #register {
#products { #products {
margin-bottom:2em;
ul { ul {
@include inline-block-list; @include inline-block-list;
@@ -68,15 +71,13 @@ body {
} }
} }
#total { .total {
div { color: #ffffff;
background-color: #222;
padding: 0 10px;
min-width:115px;
h2 {
color: #ffffff; color: #ffffff;
background-color: #222;
padding: 10px;
min-width:115px;
h2 {
color: #ffffff;
}
} }
} }
h2 { h2 {
@@ -104,6 +105,5 @@ body {
} }
} }
section { section {
margin-bottom:2em;
} }
} }
File diff suppressed because it is too large. Load diff
+8 -9
View File
@@ -31,8 +31,7 @@
<!-- Actual customer select field (hidden) --> <!-- Actual customer select field (hidden) -->
<div style="display:none;">{{orderform.customer }}</div> <div style="display:none;">{{orderform.customer }}</div>
<ul class="well"> <ul class="well">
{% for user in users %} {% for user in users %}<li class="customer{% if user.get_profile.last_purchase_date < one_year_ago %} infrequent hidden{% endif %}">
<li class="customer">
{% if user.get_profile.image %} {% if user.get_profile.image %}
  <img class="profile" src="{{ user.get_profile.image }}" alt="Profile picture" /><br />   <img class="profile" src="{{ user.get_profile.image }}" alt="Profile picture" /><br />
{% else %} {% else %}
@@ -41,9 +40,11 @@
<span class="name">{{ user.first_name }} {{ user.last_name|slice:":1"}}</span><br /> <span class="name">{{ user.first_name }} {{ user.last_name|slice:":1"}}</span><br />
<span class="balance">{{ user.get_profile.balance }}</span> <span class="balance">{{ user.get_profile.balance }}</span>
<span class="id" style="display:none;">{{ user.id }}</span> <span class="id" style="display:none;">{{ user.id }}</span>
</li> </li>{% endfor %}
{% endfor %}
</ul> </ul>
<div class="users-description pull-right">
<small>Viser: De med minst <strong>{{ cheapest_product_price }}</strong> i saldo<span class="infrequent-users"> og mer enn ett kjøp siden <strong>{{ one_year_ago }}</strong></span>. <a href="#" class="toggle-infrequent-users">Vis alle</a></small>
</div>
</div> </div>
{%else%} {%else%}
<div class="span3"> <div class="span3">
@@ -73,13 +74,11 @@
</ul> </ul>
</div> </div>
</section> </section>
<section id="total" class="row-fluid">
<div class="span2">
<h2>Totalt: <span class="total_text"></span></h2>
</div>
</section>
</fieldset> </fieldset>
<div class="form-actions"> <div class="form-actions">
<div class="span3 total">
<h2>Totalt: <span class="total_text"></span></h2>
</div>
  <button type="submit" class="btn btn-large btn-primary" name="submit_order">Kjøp</button>   <button type="submit" class="btn btn-large btn-primary" name="submit_order">Kjøp</button>
  <button type="reset" class="btn">Start på nytt</button>   <button type="reset" class="btn">Start på nytt</button>
</div> </div>