From: Radek Czajka {% trans "Tell your friends!" %} {% trans "See all fundraisers." %}
+
{% blocktrans with due=offer.due end=offer.end %}The fundraiser
ends on {{ end }}. The book will be published by {{ due }}.{% endblocktrans %}
+
{% blocktrans with due=offer.due end=offer.end %}If the target is met
by {{ end }}, this book will be published by {{ due }}.{% endblocktrans %}
+
{% trans "Full amount was successfully raised!" %}
+
{% trans "The amount needed was not raised." %}
+
{% include "funding/snippets/any_remaining.html" %}
{{ offer.start }} â {{ offer.end }} {{ offer.start }} â {{ offer.end }}
+
{% if offer.book %}
{% blocktrans with bu=offer.book.get_absolute_url bt=offer.book %}The book
{{ bt }} has been already published.{% endblocktrans %}
@@ -23,6 +23,6 @@
{% endif %}
{% if offer.remaining %}
- {% include "funding/snippets/any_remaining.html" %} {% include "funding/snippets/any_remaining.html" %} {% blocktrans with due=offer.due end=offer.end %}The fundraiser
ends on {{ end }}. The book will be published by {{ due }}.{% endblocktrans %} {% blocktrans with b=object.title due=offer.due end=offer.end %}Your
+ {% blocktrans with b=offer.title due=offer.due end=offer.end %}Your
donation will be spent on publishing
the book {{ b }} if the full amount is raised by {{ end }}.
The book will then be published by {{ due }}.{% endblocktrans %} {% include "funding/snippets/any_remaining.html" %} {% include "funding/snippets/any_remaining.html" %}
-{% url 'funding_current' as current %}
+{% trans "Learn more" %}. {% trans "Go back to the current fundraiser." %} {% trans "Tell your friends!" %} {% share current _("I support Wolne Lektury.") %}
"
- "We'll use it to contact you about your perks and fundraiser status updates.
"
+ "We'll use it to contact you about your perks and fundraiser status and payment updates.
"
"Leave empty if you prefer not to be contacted by us."), required=False)
def __init__(self, offer, *args, **kwargs):
diff --git a/apps/funding/locale/pl/LC_MESSAGES/django.mo b/apps/funding/locale/pl/LC_MESSAGES/django.mo
index 866363abe..15d8b9838 100644
Binary files a/apps/funding/locale/pl/LC_MESSAGES/django.mo and b/apps/funding/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/apps/funding/locale/pl/LC_MESSAGES/django.po b/apps/funding/locale/pl/LC_MESSAGES/django.po
index 86dc282b6..2f7c0c56b 100644
--- a/apps/funding/locale/pl/LC_MESSAGES/django.po
+++ b/apps/funding/locale/pl/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-25 10:52+0200\n"
-"PO-Revision-Date: 2013-04-25 10:52+0100\n"
+"POT-Creation-Date: 2013-04-25 13:01+0200\n"
+"PO-Revision-Date: 2013-04-25 13:03+0100\n"
"Last-Translator: Radek Czajka
We'll use it to contact you about your perks and fundraiser status updates.
Leave empty if you prefer not to be contacted by us."
-msgstr "Nie bÄdzie publikowany.
Użyjemy go do kontaktowania siÄ z TobÄ
w sprawie prezentów i informacji o zmianach statusu zbiórki.
Zostaw puste, jeÅli nie chcesz abyÅmy siÄ z TobÄ
kontaktowali."
+msgid "Won't be publicised.
We'll use it to contact you about your perks and fundraiser status and payment updates.
Leave empty if you prefer not to be contacted by us."
+msgstr "Nie bÄdzie publikowany.
Użyjemy go do kontaktu w sprawie prezentów i informacji o zmianach statusu zbiórki i pÅatnoÅci.
Nie wypeÅniaj, jeÅli nie chcesz abyÅmy siÄ z TobÄ
kontaktowali."
#: models.py:15
msgid "author"
@@ -51,7 +51,7 @@ msgid "slug"
msgstr "slug"
#: models.py:18
-#: models.py:100
+#: models.py:106
msgid "description"
msgstr "opis"
@@ -84,8 +84,8 @@ msgid "Published book."
msgstr "Opublikowana ksiÄ
żka."
#: models.py:29
-#: models.py:97
-#: models.py:118
+#: models.py:103
+#: models.py:124
msgid "offer"
msgstr "zbiórka"
@@ -93,58 +93,58 @@ msgstr "zbiórka"
msgid "offers"
msgstr "zbiórki"
-#: models.py:98
+#: models.py:104
msgid "price"
msgstr "cena"
-#: models.py:99
-#: models.py:119
+#: models.py:105
+#: models.py:125
msgid "name"
msgstr "nazwa"
-#: models.py:101
+#: models.py:107
msgid "end date"
msgstr "data koÅcowa"
-#: models.py:104
+#: models.py:110
msgid "perk"
msgstr "prezent"
-#: models.py:105
-#: models.py:123
+#: models.py:111
+#: models.py:129
msgid "perks"
msgstr "prezenty"
-#: models.py:120
+#: models.py:126
msgid "email"
msgstr "e-mail"
-#: models.py:121
-#: models.py:150
+#: models.py:127
+#: models.py:156
msgid "amount"
msgstr "kwota"
-#: models.py:122
+#: models.py:128
msgid "payed at"
msgstr "data wpÅaty"
-#: models.py:133
+#: models.py:139
msgid "funding"
msgstr "wpÅata"
-#: models.py:134
+#: models.py:140
msgid "fundings"
msgstr "wpÅaty"
-#: models.py:151
+#: models.py:157
msgid "when"
msgstr "kiedy"
-#: models.py:154
+#: models.py:160
msgid "money spent on a book"
msgstr "pieniÄ
dze wydane na ksiÄ
żkÄ"
-#: models.py:155
+#: models.py:161
msgid "money spent on books"
msgstr "pieniÄ
dze wydane na ksiÄ
żki"
@@ -158,27 +158,42 @@ msgid "You're support has not been processed successfully."
msgstr "Twoje wsparcie nie zostaÅo zaksiÄgowane."
#: templates/funding/no_thanks.html:17
-#: templates/funding/thanks.html:29
+#: templates/funding/thanks.html:31
msgid "Go back to the current fundraiser."
msgstr "WrÃ³Ä do aktualnej zbiórki."
-#: templates/funding/offer_detail.html:24
+#: templates/funding/offer_detail.html:25
+#: templates/funding/thanks.html:28
+#: templates/funding/wlfund.html:17
+msgid "Learn more"
+msgstr "Dowiedz siÄ wiÄcej"
+
+#: templates/funding/offer_detail.html:31
msgid "Support the publication"
msgstr "Wesprzyj publikacjÄ"
-#: templates/funding/offer_detail.html:29
+#: templates/funding/offer_detail.html:38
msgid "Donate!"
msgstr "WpÅaÄ!"
-#: templates/funding/offer_detail.html:35
+#: templates/funding/offer_detail.html:46
+#: templates/funding/thanks.html:34
+msgid "Tell your friends!"
+msgstr "Powiedz swoim znajomym!"
+
+#: templates/funding/offer_detail.html:47
+msgid "Support Wolne Lektury!"
+msgstr "Wesprzyj Wolne Lektury!"
+
+#: templates/funding/offer_detail.html:50
msgid "See all fundraisers."
msgstr "Zobacz wszystkie zbiórki."
-#: templates/funding/offer_detail.html:40
+#: templates/funding/offer_detail.html:55
msgid "Supporters"
msgstr "WpÅaty"
-#: templates/funding/offer_detail.html:54
+#: templates/funding/offer_detail.html:69
msgid "Anonymous"
msgstr "Anonim"
@@ -192,7 +207,7 @@ msgid "Current fundraiser:"
msgstr "Aktualna zbiórka:"
#: templates/funding/offer_list.html:22
-#: templates/funding/offer_list.html:38
+#: templates/funding/offer_list.html:37
msgid "Previous fundraisers:"
msgstr "Poprzednie zbiórki:"
@@ -225,13 +240,9 @@ msgid ""
" donation will be spent on publishing\n"
" the book %(b)s if the full amount is raised by %(end)s.\n"
" The book will then be published by %(due)s."
-msgstr "PieniÄ
dze przez Ciebie wpÅacone zostanÄ
przekazane napublikacjÄ ksiÄ
żki %(b)s, jeÅli do %(end)s uda nam siÄ zebraÄ peÅnÄ
kwotÄ potrzebnÄ
na digitalizacjÄ, redakcjÄ technicznÄ
i literackÄ
.KsiÄ
żka zostanie wówczas opublikowana do %(due)s."
-
-#: templates/funding/thanks.html:32
-msgid "Tell your friends!"
-msgstr "Powiedz swoim znajomym!"
+msgstr "PieniÄ
dze przez Ciebie wpÅacone zostanÄ
przekazane na publikacjÄ ksiÄ
żki %(b)s, jeÅli do %(end)s uda nam siÄ zebraÄ peÅnÄ
kwotÄ potrzebnÄ
na digitalizacjÄ, redakcjÄ technicznÄ
i literackÄ
. KsiÄ
żka zostanie wówczas opublikowana do %(due)s."
-#: templates/funding/thanks.html:34
+#: templates/funding/thanks.html:35
msgid "I support Wolne Lektury."
msgstr "Wspieram Wolne Lektury"
@@ -248,29 +259,29 @@ msgid ""
"the funds are spent on other books waiting for\n"
"publication. The same thing happens with any money remaining\n"
"from successful fundraisers."
-msgstr "JeÅli nie udaÅo siÄ zebraÄ peÅnej kwoty potrzebnej do opublikowaniaksiÄ
żki, Årodki przekazujemy na redakcjÄ innych utworów oczekujÄ
cych napublikacjÄ w serwisie. Na ten celprzekazujemy również pozostaÅe Årodki ze zbiórek ukoÅczonych sukcesem."
+msgstr "JeÅli nie udaÅo siÄ zebraÄ peÅnej kwoty potrzebnej do opublikowania ksiÄ
żki, Årodki przekazujemy na redakcjÄ innych utworów oczekujÄ
cych na publikacjÄ w serwisie. Na ten cel przekazujemy również nadmiarowe Årodki ze zbiórek ukoÅczonych sukcesem."
-#: templates/funding/wlfund.html:16
+#: templates/funding/wlfund.html:19
msgid "Spending these remaining funds is recorded in this table."
msgstr "W poniższej tabeli rejetrujemy wydatkowanie tych Årodków."
-#: templates/funding/wlfund.html:23
+#: templates/funding/wlfund.html:26
msgid "Date"
msgstr "Data"
-#: templates/funding/wlfund.html:24
+#: templates/funding/wlfund.html:27
msgid "Title"
msgstr "TytuÅ"
-#: templates/funding/wlfund.html:26
+#: templates/funding/wlfund.html:29
msgid "Balance"
msgstr "Bilans"
-#: templates/funding/wlfund.html:33
+#: templates/funding/wlfund.html:36
msgid "Money spent on publishing the book"
msgstr "PieniÄ
dze przeznaczone na opublikowanie ksiÄ
żki"
-#: templates/funding/wlfund.html:42
+#: templates/funding/wlfund.html:45
msgid "Money remaining from the fundraiser for"
msgstr "PieniÄ
dze pozostaÅe ze zbiórki na"
@@ -285,15 +296,15 @@ msgstr "Wszelkie pozostaÅe Årodki przeznaczymy na i
msgid "Support a book!"
msgstr "Wesprzyj kolejnÄ
publikacjÄ!"
-#: templates/funding/tags/funding.html:21
+#: templates/funding/tags/funding.html:20
msgid "collected"
msgstr "zebrane"
-#: templates/funding/tags/funding.html:24
+#: templates/funding/tags/funding.html:23
msgid "missing"
msgstr "brakuje"
-#: templates/funding/tags/funding.html:27
+#: templates/funding/tags/funding.html:26
msgid "until fundraiser end"
msgstr "do koÅca zbiórki"
diff --git a/apps/funding/models.py b/apps/funding/models.py
index de90226f3..d193b41c4 100644
--- a/apps/funding/models.py
+++ b/apps/funding/models.py
@@ -60,11 +60,17 @@ class Offer(models.Model):
except IndexError:
return None
+ @classmethod
+ def past(cls):
+ """ QuerySet for all current and past fundraisers. """
+ today = date.today()
+ return cls.objects.filter(end__lt=today)
+
@classmethod
def public(cls):
""" QuerySet for all current and past fundraisers. """
today = date.today()
- return cls.objects.filter(start__lte=today)
+ return cls.objects.filter(start__lte=today)
def get_perks(self, amount=None):
""" Finds all the perks for the offer.
@@ -166,6 +172,11 @@ def new_payment_query_listener(sender, order=None, payment=None, **kwargs):
getpaid.signals.new_payment_query.connect(new_payment_query_listener)
+def user_data_query_listener(sender, order, user_data, **kwargs):
+ """ Set user data for payment. """
+ user_data['email'] = order.email
+getpaid.signals.user_data_query.connect(user_data_query_listener)
+
def payment_status_changed_listener(sender, instance, old_status, new_status, **kwargs):
""" React to status changes from getpaid. """
if old_status != 'paid' and new_status == 'paid':
diff --git a/apps/funding/static/funding/funding.css b/apps/funding/static/funding/funding.css
index 9b458a2db..56cac3f73 100755
--- a/apps/funding/static/funding/funding.css
+++ b/apps/funding/static/funding/funding.css
@@ -1 +1 @@
-.funding{background:orange}.funding a.call{font-size:1.5em;height:1.2em;width:13em;position:relative;padding:.35em .5em;margin:.5em;display:inline-block;vertical-align:top;box-shadow:.2em .2em .3em #888;text-align:center;background:#fff;color:#4E56C8}.funding a.call:hover{box-shadow:none;top:.1em;left:.1em}.funding .description{display:inline-block;padding-left:.6em}.funding strong{font-size:1.5em;padding:.2em .2em 0;display:block}.funding strong a{color:#000}.funding .progress{width:95.7em;margin:.1em .3em .4em;border-radius:2em;background-image:url(/static/img/progress-pixel.png);background-repeat:repeat-y;background-color:rgba(236, 109, 0, .5);box-shadow:.1em .1em .1em #888}.funding .progress .piece{font-size:1.3em;padding:.3em .5em}.funding .with-button .progress{width:73em}.wlfund{width:100%;border-collapse:collapse}.wlfund td{padding:0 0 1em 0;text-align:center}.wlfund td:last-child{text-align:right}.wlfund td div{padding:1em;box-shadow:0 2px 0 #DDD}.wlfund .funding-plus td div{background:rgba(13, 126, 133, .2)}.wlfund .funding-minus td div{background:#fff}button.honking{background:#018189;font-size:1.5em;padding:.5em;color:#fff;border:0;box-shadow:.2em .2em .3em #888;position:relative}button.honking:hover{box-shadow:none;top:.1em;left:.1em}
\ No newline at end of file
+.funding{background:orange}.funding a.call{height:1.2em;width:13em;padding:.35em .5em;margin:.5em;display:inline-block;vertical-align:top;text-align:center;background:rgb(.465%, 59.936%, 63.653%)}.funding .description{display:inline-block;padding-left:.6em}.funding .description a{display:block;color:#000}.funding strong{font-size:1.5em;padding:.2em .2em 0;display:block}.funding .progress{width:95.7em;margin:.1em .3em .4em;border-radius:2em;background-image:url(/static/img/progress-pixel.png);background-repeat:repeat-y;background-color:rgba(236, 109, 0, .5);box-shadow:.1em .1em .1em #888}.funding .progress .piece{font-size:1.3em;padding:.3em .5em}.funding .with-button .progress{width:73em}.wlfund{width:100%;border-collapse:collapse}.wlfund td{padding:0 0 1em 0;text-align:center}.wlfund td:last-child{text-align:right}.wlfund td div{padding:1em;box-shadow:0 2px 0 #DDD}.wlfund .funding-plus td div{background:rgba(13, 126, 133, .2)}.wlfund .funding-minus td div{background:#fff}.honking{background:#018189;font-size:1.5em;padding:.5em;color:#fff;border:0;box-shadow:.2em .2em .3em #888;position:relative}.honking:hover{box-shadow:none;top:.1em;left:.1em}.share a{margin-right:1.5em}.share a img{vertical-align:middle}
\ No newline at end of file
diff --git a/apps/funding/static/funding/funding.scss b/apps/funding/static/funding/funding.scss
index 44109ee9c..ef766f506 100755
--- a/apps/funding/static/funding/funding.scss
+++ b/apps/funding/static/funding/funding.scss
@@ -2,35 +2,28 @@
background: orange;
a.call {
- font-size: 1.5em;
height: 1.2em;
width: 13em;
- position: relative;
padding: .35em .5em;
margin: .5em;
display: inline-block;
vertical-align: top;
- box-shadow: 0.2em 0.2em 0.3em #888888;
text-align: center;
- background: white;
- color: #4E56C8;
- }
- a.call:hover {
- box-shadow: none;
- top: .1em;
- left: .1em;
+
+ background: lighten(#018189, .05);
}
.description {
display: inline-block;
padding-left: .6em;
+ a {
+ display: block;
+ color: black;
+ }
}
strong {
font-size: 1.5em;
padding: .2em .2em 0;
display: block;
- a {
- color: black;
- }
}
.progress {
.piece {
@@ -82,7 +75,7 @@
-button.honking {
+.honking {
background: #018189;
font-size: 1.5em;
padding: .5em;
@@ -91,9 +84,20 @@ button.honking {
box-shadow: 0.2em 0.2em 0.3em #888888;
position: relative;
}
-button.honking:hover {
+.honking:hover {
box-shadow: none;
top: .1em;
left: .1em;
-
+}
+
+
+
+.share {
+ a {
+ margin-right: 1.5em;
+
+ img {
+ vertical-align: middle;
+ }
+ }
}
diff --git a/apps/funding/templates/funding/offer_detail.html b/apps/funding/templates/funding/offer_detail.html
index f3484ed16..da50f13a7 100755
--- a/apps/funding/templates/funding/offer_detail.html
+++ b/apps/funding/templates/funding/offer_detail.html
@@ -3,10 +3,13 @@
{% load i18n %}
{% load funding_tags %}
{% load pagination_tags %}
+{% load fnp_share %}
{% block titleextra %}{{ object }}{% endblock %}
+{% block metadescription %}Wesprzyj kolejnÄ
publikacjÄ Wolnych Lektur!{% endblock %}
+
{% block body %}
@@ -16,8 +19,12 @@
{% funding object %}
{{ form.as_table }}
-
+
+
+ {% trans "Previous fundraisers:" %}
{% endif %}
- {% trans "Previous fundraisers:" %}
{% endif %}
diff --git a/apps/funding/templates/funding/tags/funding.html b/apps/funding/templates/funding/tags/funding.html
index dbcb871df..c842f8ad5 100755
--- a/apps/funding/templates/funding/tags/funding.html
+++ b/apps/funding/templates/funding/tags/funding.html
@@ -4,21 +4,20 @@
{% spaceless %}
{% trans "Spending these remaining funds is recorded in this table." %}
@@ -30,18 +33,18 @@ from successful fundraisers.{% endblocktrans %} {% if tag == 'spent' %}