From 7c0605e89741c3b0792c0fe107459098ba248b7d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 25 Apr 2018 12:32:36 +0200 Subject: [PATCH] Drop wishlist This has been a nice experiment but unfortunately this has turned out to be more work than it actually gained Signed-off-by: Michael Tremer --- static/css/style.css | 5 - static/img/wishlist-backgorund.jpg | Bin 58472 -> 0 bytes static/img/wishlist-background.jpg | Bin 58472 -> 0 bytes static/scss/style.scss | 8 +- templates/base.html | 11 +- templates/index.html | 34 +--- templates/modules/wishlist-items.html | 27 --- templates/wishlist/base.html | 12 -- templates/wishlist/closed.html | 55 ------ templates/wishlist/donate.html | 37 ---- templates/wishlist/index.html | 84 --------- templates/wishlist/modules/wish.html | 78 -------- templates/wishlist/modules/wishlist.html | 3 - templates/wishlist/terms.html | 54 ------ templates/wishlist/wish.html | 29 --- webapp/__init__.py | 12 -- webapp/backend/base.py | 2 - webapp/backend/wishlist.py | 217 ----------------------- webapp/handlers.py | 14 +- webapp/handlers_base.py | 4 - webapp/handlers_wishlist.py | 66 ------- webapp/ui_modules.py | 27 --- 22 files changed, 5 insertions(+), 774 deletions(-) delete mode 100644 static/img/wishlist-backgorund.jpg delete mode 100644 static/img/wishlist-background.jpg delete mode 100644 templates/modules/wishlist-items.html delete mode 100644 templates/wishlist/base.html delete mode 100644 templates/wishlist/closed.html delete mode 100644 templates/wishlist/donate.html delete mode 100644 templates/wishlist/index.html delete mode 100644 templates/wishlist/modules/wish.html delete mode 100644 templates/wishlist/modules/wishlist.html delete mode 100644 templates/wishlist/terms.html delete mode 100644 templates/wishlist/wish.html delete mode 100644 webapp/backend/wishlist.py delete mode 100644 webapp/handlers_wishlist.py diff --git a/static/css/style.css b/static/css/style.css index 0544c35d..09cf0baa 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -6386,11 +6386,6 @@ section#news { section#news h2 { color: #263238; } -section#wishlist { - background-image: url("../img/wishlist-background.jpg"); - background-size: cover; - background-position: center center; } - .progress { background-color: rgba(255, 255, 255, 0.2); } diff --git a/static/img/wishlist-backgorund.jpg b/static/img/wishlist-backgorund.jpg deleted file mode 100644 index b8e0d963a486dcbf4d901cf734afa52f49f6a495..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 58472 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 diff --git a/static/img/wishlist-background.jpg b/static/img/wishlist-background.jpg deleted file mode 100644 index b8e0d963a486dcbf4d901cf734afa52f49f6a495..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 58472 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 diff --git a/static/scss/style.scss b/static/scss/style.scss index 23b0c90a..066d99a4 100644 --- a/static/scss/style.scss +++ b/static/scss/style.scss @@ -236,12 +236,6 @@ section#news { } } -section#wishlist { - background-image: url('../img/wishlist-background.jpg'); - background-size: cover; - background-position: center center; -} - .progress { background-color: rgba(255, 255, 255, .2); } @@ -348,4 +342,4 @@ footer { @keyframes scroll { 0%, 100% { transform: translateY(30%); } 50% { transform: translateY(50%); } -} \ No newline at end of file +} diff --git a/templates/base.html b/templates/base.html index 55caadc9..f6692e46 100644 --- a/templates/base.html +++ b/templates/base.html @@ -44,9 +44,6 @@ IPFire {% elif hostname in ("planet.ipfire.org", "planet.dev.ipfire.org") %} IPFire Planet - {% elif hostname in ("wishlist.ipfire.org", "wishlist.dev.ipfire.org") %} - {{ _("IPFire Wishlist") }}   - {{ _("The IPFire Crowd-Funding Platform") }} {% else %} {{ hostname }} {% end %} @@ -182,13 +179,7 @@ {% if ssl_cipher %}({{ ssl_cipher }}){% end %}

{% end %} - - {% if hostname == "wishlist.ipfire.org" %} -

- {{ _("Terms & Conditions") }} -

- {% end %} - +

© {{ year }} - {{ _("IPFire is free software written by the IPFire Project") }}

diff --git a/templates/index.html b/templates/index.html index bf681241..50e9dfa2 100644 --- a/templates/index.html +++ b/templates/index.html @@ -205,39 +205,7 @@ - -
-
-

IPFire’s Wishlist

- - {% if hottest_wish %} -
-
{{ hottest_wish.title }}
- - {% if hottest_wish.is_new() %} - {{ _("NEW") }} - {% elif hottest_wish.remaining_days and hottest_wish.remaining_days <= 10 %} - - {{ _("one day left", "%(num)s days left", hottest_wish.remaining_days) % { "num" : hottest_wish.remaining_days } }} - - {% else %} - - {{ _("%d%% funded") % hottest_wish.percentage }} - - {% end %} -
- -
-
- {{ _("%.2f%% complete") % hottest_wish.percentage_bar }} -
-
- -

Read more about that wish.

- {% end %} -
-
- +

FireInfo Statistics

diff --git a/templates/modules/wishlist-items.html b/templates/modules/wishlist-items.html deleted file mode 100644 index 03383830..00000000 --- a/templates/modules/wishlist-items.html +++ /dev/null @@ -1,27 +0,0 @@ - - {% for item in wishlist_items %} - - - - {% end %} -
- {% if item.is_new() %} - {{ _("NEW") }} - {% elif item.remaining_days and item.remaining_days <= 10 %} - - {{ _("one day left", "%(num)s days left", item.remaining_days) % { "num" : item.remaining_days } }} - - {% else %} - - {{ _("%d%% funded") % item.percentage }} - - {% end %} - - {{ item.title }} - -
- -
-
-
-
diff --git a/templates/wishlist/base.html b/templates/wishlist/base.html deleted file mode 100644 index 6729591e..00000000 --- a/templates/wishlist/base.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends "../base-1.html" %} - -{% block header %} -
-
-

{{ _("IPFire Wishlist") }}

-

- {{ _("Crowd funding for the IPFire project") }} -

-
-
-{% end header %} diff --git a/templates/wishlist/closed.html b/templates/wishlist/closed.html deleted file mode 100644 index 3247195f..00000000 --- a/templates/wishlist/closed.html +++ /dev/null @@ -1,55 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ _("Closed wishes") }}{% end block %} - -{% block body %} - - - {% if lang == "de" %} -

- Auf dieser Seite finden sich bereits ausgelaufene Sammlungen. -

- {% else %} -

- On this page, you will find all fundings that have already ended. -

- {% end %} - -
- - {% if wishes %} - {% module Wishlist(wishes) %} - -
- - - {% end %} -{% end %} diff --git a/templates/wishlist/donate.html b/templates/wishlist/donate.html deleted file mode 100644 index 738192c2..00000000 --- a/templates/wishlist/donate.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends "../base.html" %} - -{% block title %}{{ wish.title }} - {{ _("Donate") }}{% end block %} - -{% block container %} -
- - - {% if lang == "de" %} -

- Bevor du mit deiner Spende fortfährst, lies bitte die - {{ _("Terms & Conditions") }}. -

-

- Wähle dann deine präferierte Bezahlmethode aus, um deine Spende zu tätigen. -

- {% else %} -

- Before you make your donation, make sure that you - have read the {{ _("Terms & Conditions") }}. -

-

- Then pick one of the methods below to make your donation. -

- {% end %} - -
- -
-
- {% module DonationBox(wish.tag) %} -
-
-
-{% end block %} diff --git a/templates/wishlist/index.html b/templates/wishlist/index.html deleted file mode 100644 index 2da27db2..00000000 --- a/templates/wishlist/index.html +++ /dev/null @@ -1,84 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ _("Home") }}{% end block %} - -{% block body %} -
- - - {% if lang == "de" %} -

- Dies ist die IPFire Crowdfunding-Platform, auf welcher du mittels - Spenden deinem bevorzugten Feature mehr Gewicht verleihen kannst. -

- -

- Es ist ganz einfach. Wähle einen Wunsch, über den du dich freuen - würdest, wenn er in Zukunft umgesetzt wird. - Klicke auf den Spenden-Knopf und spende deinen gewünschten Betrag. Teile - auch deinen Freunden und Kollegen mit, wie sie ihre Wünsche unterstützen - können. -

- {% else %} -

- The wishlist is the IPFire crowd funding platform where you can - donate to accelerate the development of your favorite features. -

- -

- It's easy! Just pick the wish you would to see implemented - in the future. Hit the donate button and donate the amount of - money this feature is worth for you. - After that tell your friends and collegues about it and - encourage them to promote your favourite wish as well. -

- {% end %} -
- - {% if wishes %} - {% module Wishlist(wishes) %} - {% else %} -
- {% if lang == "de" %} - Es tut uns Leid!
- Derzeit finden keine Finanzierungen statt. - Wenn du das Projekt unterstützen möchtest, so - tätige eine Spende. - {% else %} - We are sorry!
- There are currently no running fundings. - If you want to contribute to the project, please - make a donation. - {% end %} -
- {% end %} - -
- -
-
- {% if lang == "de" %} - Du hast eine Idee, oder glaubst ein wichtiges Feature fehlt - und wäre ideal von der Community finanziert? - Sende eine E-Mail an:
- wishlist@ipfire.org - {% else %} - Do you think we are missing a great feature that could be - funded by the community? Write us an email about it to:
- wishlist@ipfire.org - {% end %} -
- -
- {% if lang == "de" %} - Bereits fertiggestellte Sammlungen finden sich - hier. - {% else %} - Already closed fundings are to be found over - here. - {% end %} -
-
-{% end block %} diff --git a/templates/wishlist/modules/wish.html b/templates/wishlist/modules/wish.html deleted file mode 100644 index e8bbc434..00000000 --- a/templates/wishlist/modules/wish.html +++ /dev/null @@ -1,78 +0,0 @@ -
-
- {% if not short %} - {% if wish.remaining_days <= 10 and wish.remaining_days >= 0 %} - - {{ _("Only a few days left!") }} - - {% end %} - -

- {{ wish.title }} -

- -
- - {% raw wish.description %} - -
- {% end %} - -
-
-
-
- - -
diff --git a/templates/wishlist/modules/wishlist.html b/templates/wishlist/modules/wishlist.html deleted file mode 100644 index a1e6593f..00000000 --- a/templates/wishlist/modules/wishlist.html +++ /dev/null @@ -1,3 +0,0 @@ -{% for wish in wishes %} - {% module Wish(wish, short=short) %} -{% end %} diff --git a/templates/wishlist/terms.html b/templates/wishlist/terms.html deleted file mode 100644 index 8485e225..00000000 --- a/templates/wishlist/terms.html +++ /dev/null @@ -1,54 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ _("Terms & Conditions") }}{% end block %} - -{% block body %} - - - {% if lang == "de" %} -

- Vielen Dank, dass du zum IPFire-Projekt beitragen möchtest. - Mit deiner Spende erklärst du dich mit den folgenden Regeln und Bedingungen - einverstanden. -

-

- Es wird nicht auf einen präferierten Wunsch gespendet, sondern eine - Spende an das Projekt entrichtet, die dir die Möglichkeit gibt - deinen Wunsch nach oben zu befördern. -

-

- Es kann nicht garantiert werden, dass dein favorisierter Wunsch - (z.B. aus technischen Gründen) implementiert wird. - Die gesammelte Spendensumme wird dann für die Finanzierung - anderer Teile des Projekts verwendet. -

-

- Mehr Informationen über Spenden finden sich auf unserer - Spenden-Seite. -

- {% else %} -

- Thank you for contributing to the IPFire project. - By donating, you agree to be bound by the following terms and conditions. - If you don't agree to be bound or cannot comply with any of the terms - and conditions, do not continue the donations. -

-

- You don't donate on a feature, you donate money to the project - and with that donation comes the option to recommend that a certain - feature should be implemented. -

-

- There is no guarantee that your favorite feature will ever be implemented - - e.g. because of technical reasons. - If your feature will not be implemented, - your donations will then be used to fund other parts of the project. -

-

- More information about donations can be found on our - donation page. -

- {% end %} -{% end block %} diff --git a/templates/wishlist/wish.html b/templates/wishlist/wish.html deleted file mode 100644 index fd4bb5b3..00000000 --- a/templates/wishlist/wish.html +++ /dev/null @@ -1,29 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ wish.title }} - {{ _("Wish") }}{% end block %} - -{% block body %} - - - {% module Wishlist([wish,], short=True) %} - - {% raw wish.description %} - -
- -

- - {{ _("Launched: %s") % locale.format_date(wish.date_start, full_format=True) }} - - • - - {% if wish.date_end %} - - {{ _("Funding ends: %s") % locale.format_date(wish.date_end, full_format=True) }} - {% else %} - {{ _("This funding runs until the goal is reached.") }} - {% end %} -

-{% end block %} diff --git a/webapp/__init__.py b/webapp/__init__.py index 064f1939..551e7e41 100644 --- a/webapp/__init__.py +++ b/webapp/__init__.py @@ -65,9 +65,6 @@ class Application(tornado.web.Application): "TalkCallLog" : TalkCallLogModule, "TalkLines" : TalkLinesModule, "TalkOngoingCalls" : TalkOngoingCallsModule, - "Wish" : WishModule, - "Wishlist" : WishlistModule, - "WishlistItems" : WishlistItemsModule, }, xsrf_cookies = True, ) @@ -226,15 +223,6 @@ class Application(tornado.web.Application): (r"/view/(.*)", NopasteViewHandler), ] + authentication_handlers + static_handlers) - # wishlist.ipfire.org - self.add_handlers(r"wishlist(\.dev)?\.ipfire\.org", [ - (r"/", WishlistIndexHandler), - (r"/closed", WishlistClosedHandler), - (r"/wish/(.*)/donate", WishDonateHandler), - (r"/wish/(.*)", WishHandler), - (r"/terms", WishlistTermsHandler), - ] + static_handlers) - # geoip.ipfire.org self.add_handlers(r"geoip(\.dev)?\.ipfire\.org", [ (r"/", GeoIPHandler), diff --git a/webapp/backend/base.py b/webapp/backend/base.py index 97449d8b..1474e984 100644 --- a/webapp/backend/base.py +++ b/webapp/backend/base.py @@ -17,7 +17,6 @@ import planet import releases import settings import talk -import wishlist class Backend(object): def __init__(self, configfile, debug=False): @@ -46,7 +45,6 @@ class Backend(object): self.planet = planet.Planet(self) self.releases = releases.Releases(self) self.talk = talk.Talk(self) - self.wishlist = wishlist.Wishlist(self) def read_config(self, configfile): cp = configparser.ConfigParser() diff --git a/webapp/backend/wishlist.py b/webapp/backend/wishlist.py deleted file mode 100644 index 8743809f..00000000 --- a/webapp/backend/wishlist.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/python - -from __future__ import division - -import datetime -import textile - -from misc import Object - -class Wishlist(Object): - def get(self, slug): - wish = self.db.get("SELECT * FROM wishlist WHERE slug = %s", slug) - - if wish: - return Wish(self, wish.id) - - def get_all_by_query(self, query, *args): - wishes = [] - - for row in self.db.query(query, *args): - wish = Wish(self, row.id, row) - wishes.append(wish) - - return wishes - - def get_all_running(self): - return self.get_all_by_query("SELECT * FROM wishlist \ - WHERE (CASE \ - WHEN date_end IS NULL THEN \ - NOW() >= date_start AND goal >= donated \ - ELSE \ - NOW() BETWEEN date_start AND date_end \ - END) AND status = 'running' \ - ORDER BY prio ASC, date_end ASC") - - def get_all_finished(self, limit=5, offset=None): - query = "SELECT * FROM wishlist \ - WHERE (CASE \ - WHEN date_end IS NULL THEN \ - donated >= goal \ - ELSE \ - NOW() > date_end \ - END) AND status IS NOT NULL \ - ORDER BY date_end DESC" - args = [] - - if limit: - query += " LIMIT %s" - args.append(limit) - - if offset: - query += " OFFSET %s" - args.append(offset) - - return self.get_all_by_query(query, *args) - - def get_hot_wishes(self, limit=3): - query = "SELECT * FROM wishlist \ - WHERE \ - status = %s \ - AND \ - date_start <= NOW() \ - AND \ - (CASE WHEN date_end IS NOT NULL THEN \ - NOW() BETWEEN date_start AND date_end \ - ELSE \ - TRUE \ - END) \ - AND \ - (AGE(NOW(), date_start) <= INTERVAL '10 days' \ - OR \ - AGE(date_end, NOW()) <= INTERVAL '14 days' \ - OR \ - (donated / goal) >= 0.85 \ - OR \ - goal >= 3000 \ - OR \ - prio <= 5 \ - ) \ - ORDER BY prio ASC, date_end ASC LIMIT %s" - - return self.get_all_by_query(query, "running", limit) - - def get_hottest_wish(self): - wishes = self.get_hot_wishes(limit=1) - - if wishes: - return wishes[0] - - -class Wish(object): - def __init__(self, wishlist, id, data=None): - self.wishlist = wishlist - self.id = id - - self.__data = data - - def __repr__(self): - return "<%s %s>" % (self.__class__.__name__, self.title) - - def __cmp__(self, other): - return cmp(self.date_end, other.date_end) - - @property - def db(self): - return self.wishlist.db - - @property - def data(self): - if self.__data is None: - self.__data = self.db.get("SELECT * FROM wishlist WHERE id = %s", self.id) - assert self.__data - - return self.__data - - @property - def title(self): - return self.data.title - - @property - def title_short(self): - if len(self.title) > 30: - return "%s..." % self.title[:30] - - return self.title - - @property - def slug(self): - return self.data.slug - - @property - def tag(self): - return self.data.tag - - @property - def description(self): - return textile.textile(self.data.description) - - @property - def goal(self): - return self.data.goal - - @property - def donated(self): - return self.data.donated - - @property - def percentage(self): - return (self.donated / self.goal) * 100 - - @property - def percentage_bar(self): - if self.percentage > 100: - return 100 - - return self.percentage - - @property - def progressbar_colour(self): - if self.is_new(): - return "bar-success" - - if self.percentage >= 90: - return "bar-danger" - - return "bar-warning" - - @property - def status(self): - if self.data.status == "running" and not self.running: - return "closed" - - return self.data.status - - @property - def running(self): - if self.date_end: - if self.remaining_days and self.remaining_days < 0: - return False - - else: - if self.donated >= self.goal: - return False - - return True - - @property - def date_start(self): - return self.data.date_start - - @property - def date_end(self): - return self.data.date_end - - @property - def running_days(self): - running = datetime.datetime.today() - self.date_start - return running.days - - @property - def remaining_days(self): - if self.date_end: - remaining = self.date_end - datetime.datetime.today() - return remaining.days - - def is_new(self): - return self.running_days < 10 - - def get_tweet(self, locale): - _ = locale.translate - - t = [ - _("Checkout this crowdfunding wish from #ipfire:"), - "http://wishlist.ipfire.org/wish/%s" % self.slug, - ] - - return " ".join(t) diff --git a/webapp/handlers.py b/webapp/handlers.py index 39205b74..81ed22bf 100644 --- a/webapp/handlers.py +++ b/webapp/handlers.py @@ -29,7 +29,6 @@ from handlers_nopaste import * from handlers_planet import * from handlers_rss import * from handlers_talk import * -from handlers_wishlist import * class RootHandler(BaseHandler): """ @@ -64,11 +63,8 @@ class IndexHandler(BaseHandler): # Get a list of the most recent news items and put them on the page. latest_news = self.get_latest_news() - # Interesting items from the wishlist. - hottest_wish = self.wishlist.get_hottest_wish() - return self.render("index.html", latest_news=latest_news, - latest_release=latest_release, hottest_wish=hottest_wish) + latest_release=latest_release) def get_latest_news(self, count=5): latest_news = [] @@ -133,13 +129,7 @@ class GeoIPHandler(BaseHandler): class DonateHandler(BaseHandler): def get(self): - reason_for_transfer = self.get_argument("reason_for_transfer", None) - - # Interesting items from the wishlist. - wishlist_items = self.wishlist.get_hot_wishes() - - self.render("donate.html", wishlist_items=wishlist_items, - reason_for_transfer=reason_for_transfer) + self.render("donate.html") class DownloadHandler(BaseHandler): diff --git a/webapp/handlers_base.py b/webapp/handlers_base.py index 6f1ec9d4..b784fa22 100644 --- a/webapp/handlers_base.py +++ b/webapp/handlers_base.py @@ -249,10 +249,6 @@ class BaseHandler(tornado.web.RequestHandler): def planet(self): return self.backend.planet - @property - def wishlist(self): - return self.backend.wishlist - class LoginHandler(BaseHandler): def get(self): diff --git a/webapp/handlers_wishlist.py b/webapp/handlers_wishlist.py deleted file mode 100644 index 00ded7e7..00000000 --- a/webapp/handlers_wishlist.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/python - -import tornado.web - -from handlers_base import * - -class WishlistIndexHandler(BaseHandler): - def get(self): - wishes = self.wishlist.get_all_running() - - self.render("wishlist/index.html", wishes=wishes) - - -class WishlistClosedHandler(BaseHandler): - def get(self): - limit = self.get_argument("limit", None) - offset = self.get_argument("offset", None) - - try: - limit = int(limit) - except: - limit = 5 - - try: - offset = int(offset) - except: - offset = 0 - - wishes = self.wishlist.get_all_finished(limit=limit + 1, offset=offset) - - if len(wishes) > limit: - wishes = wishes[:limit] - has_next = True - else: - has_next = False - - if offset: - has_previous = True - else: - has_previous = False - - self.render("wishlist/closed.html", wishes=wishes, limit=limit, offset=offset, - has_next=has_next, has_previous=has_previous) - - -class WishlistTermsHandler(BaseHandler): - def get(self): - return self.render("wishlist/terms.html") - - -class WishHandler(BaseHandler): - def get(self, slug): - wish = self.wishlist.get(slug) - if not wish: - raise tornado.web.HTTPError(404, "Could not find wish %s" % slug) - - self.render("wishlist/wish.html", wish=wish) - - -class WishDonateHandler(BaseHandler): - def get(self, slug): - wish = self.wishlist.get(slug) - if not wish: - raise tornado.web.HTTPError(404, "Could not find wish %s" % slug) - - self.render("wishlist/donate.html", wish=wish) diff --git a/webapp/ui_modules.py b/webapp/ui_modules.py index 98f79ea0..945af36e 100644 --- a/webapp/ui_modules.py +++ b/webapp/ui_modules.py @@ -52,10 +52,6 @@ class UIModule(tornado.web.UIModule): def talk(self): return self.handler.talk - @property - def wishlist(self): - return self.handler.wishlist - class AdvertisementModule(UIModule): def render(self, where): @@ -375,29 +371,6 @@ class TalkOngoingCallsModule(UIModule): account=account, channels=channels, debug=debug) -class WishlistModule(UIModule): - def render(self, wishes, short=False): - return self.render_string("wishlist/modules/wishlist.html", - wishes=wishes, short=short) - - -class WishModule(UIModule): - def render(self, wish, short=False): - progress_bar = "progress-bar-warning" - - if wish.percentage >= 100: - progress_bar = "progress-bar-success" - - return self.render_string("wishlist/modules/wish.html", - wish=wish, short=short, progress_bar=progress_bar) - - -class WishlistItemsModule(UIModule): - def render(self, wishlist_items): - return self.render_string("modules/wishlist-items.html", - wishlist_items=wishlist_items) - - class DonationBoxModule(UIModule): def render(self, reason_for_transfer=None): if reason_for_transfer: -- 2.39.2