summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2018-01-05 11:15:17 +0100
committerMarcello Stanisci <stanisci.m@gmail.com>2018-01-05 11:15:17 +0100
commit3743b44655dc77e80b29465f98963a8b03579358 (patch)
tree957190a41c2d9281aa5ad56b423734561f607f01
parent24d0c1c9b4eb4a7be145eacbdb55ab4ab8268edb (diff)
downloadbackoffice-3743b44655dc77e80b29465f98963a8b03579358.tar.gz
backoffice-3743b44655dc77e80b29465f98963a8b03579358.tar.bz2
backoffice-3743b44655dc77e80b29465f98963a8b03579358.zip
transitioning towards talerbackoffice
-rw-r--r--.gitmodules2
-rw-r--r--Makefile.in10
-rw-r--r--backoffice.conf (renamed from blog.conf)0
-rw-r--r--backoffice.wsgi.in (renamed from frontend-blog.wsgi.in)0
-rw-r--r--taler-merchant-backoffice-blog.in (renamed from taler-merchant-blog.in)0
-rw-r--r--taler-merchant-backoffice-donations.in86
-rw-r--r--talerbackoffice/__init__.py (renamed from talerblog/__init__.py)0
-rw-r--r--talerbackoffice/backoffice/__init__.py (renamed from talerblog/blog/__init__.py)0
-rw-r--r--talerbackoffice/backoffice/articles/COPYING (renamed from talerblog/blog/articles/COPYING)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_1.html (renamed from talerblog/blog/articles/scrap1_1.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_10.html (renamed from talerblog/blog/articles/scrap1_10.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_11.html (renamed from talerblog/blog/articles/scrap1_11.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_12.html (renamed from talerblog/blog/articles/scrap1_12.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_13.html (renamed from talerblog/blog/articles/scrap1_13.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_14.html (renamed from talerblog/blog/articles/scrap1_14.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_15.html (renamed from talerblog/blog/articles/scrap1_15.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_16.html (renamed from talerblog/blog/articles/scrap1_16.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_17.html (renamed from talerblog/blog/articles/scrap1_17.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_18.html (renamed from talerblog/blog/articles/scrap1_18.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_19.html (renamed from talerblog/blog/articles/scrap1_19.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_2.html (renamed from talerblog/blog/articles/scrap1_2.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_20.html (renamed from talerblog/blog/articles/scrap1_20.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_21.html (renamed from talerblog/blog/articles/scrap1_21.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_22.html (renamed from talerblog/blog/articles/scrap1_22.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_23.html (renamed from talerblog/blog/articles/scrap1_23.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_24.html (renamed from talerblog/blog/articles/scrap1_24.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_25.html (renamed from talerblog/blog/articles/scrap1_25.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_26.html (renamed from talerblog/blog/articles/scrap1_26.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_27.html (renamed from talerblog/blog/articles/scrap1_27.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_28.html (renamed from talerblog/blog/articles/scrap1_28.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_29.html (renamed from talerblog/blog/articles/scrap1_29.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_3.html (renamed from talerblog/blog/articles/scrap1_3.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_30.html (renamed from talerblog/blog/articles/scrap1_30.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_31.html (renamed from talerblog/blog/articles/scrap1_31.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_32.html (renamed from talerblog/blog/articles/scrap1_32.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_33.html (renamed from talerblog/blog/articles/scrap1_33.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_34.html (renamed from talerblog/blog/articles/scrap1_34.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_35.html (renamed from talerblog/blog/articles/scrap1_35.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_36.html (renamed from talerblog/blog/articles/scrap1_36.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_37.html (renamed from talerblog/blog/articles/scrap1_37.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_38.html (renamed from talerblog/blog/articles/scrap1_38.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_39.html (renamed from talerblog/blog/articles/scrap1_39.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_4.html (renamed from talerblog/blog/articles/scrap1_4.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_40.html (renamed from talerblog/blog/articles/scrap1_40.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_41.html (renamed from talerblog/blog/articles/scrap1_41.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_42.html (renamed from talerblog/blog/articles/scrap1_42.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_43.html (renamed from talerblog/blog/articles/scrap1_43.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_46.html (renamed from talerblog/blog/articles/scrap1_46.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_47.html (renamed from talerblog/blog/articles/scrap1_47.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_5.html (renamed from talerblog/blog/articles/scrap1_5.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_6.html (renamed from talerblog/blog/articles/scrap1_6.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_7.html (renamed from talerblog/blog/articles/scrap1_7.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_8.html (renamed from talerblog/blog/articles/scrap1_8.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_9.html (renamed from talerblog/blog/articles/scrap1_9.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_U.0.html (renamed from talerblog/blog/articles/scrap1_U.0.html)0
-rw-r--r--talerbackoffice/backoffice/articles/scrap1_U.1.html (renamed from talerblog/blog/articles/scrap1_U.1.html)0
-rw-r--r--talerbackoffice/backoffice/backoffice.py (renamed from talerblog/blog/blog.py)0
-rw-r--r--talerbackoffice/backoffice/data/README (renamed from talerblog/blog/data/README)0
-rw-r--r--talerbackoffice/backoffice/data/arabic.jpg (renamed from talerblog/blog/data/arabic.jpg)bin14233 -> 14233 bytes
-rw-r--r--talerbackoffice/backoffice/data/belarusian.jpg (renamed from talerblog/blog/data/belarusian.jpg)bin9687 -> 9687 bytes
-rw-r--r--talerbackoffice/backoffice/data/bulgarian.jpg (renamed from talerblog/blog/data/bulgarian.jpg)bin5440 -> 5440 bytes
-rw-r--r--talerbackoffice/backoffice/data/category.jpg (renamed from talerblog/blog/data/category.jpg)bin41513 -> 41513 bytes
-rw-r--r--talerbackoffice/backoffice/data/category.png (renamed from talerblog/blog/data/category.png)bin15641 -> 15641 bytes
-rw-r--r--talerbackoffice/backoffice/data/chinese-simplified.jpg (renamed from talerblog/blog/data/chinese-simplified.jpg)bin4265 -> 4265 bytes
-rw-r--r--talerbackoffice/backoffice/data/chinese-traditional.jpg (renamed from talerblog/blog/data/chinese-traditional.jpg)bin4409 -> 4409 bytes
-rw-r--r--talerbackoffice/backoffice/data/code.jpg (renamed from talerblog/blog/data/code.jpg)bin10541 -> 10541 bytes
-rw-r--r--talerbackoffice/backoffice/data/example.jpg (renamed from talerblog/blog/data/example.jpg)bin3081 -> 3081 bytes
-rw-r--r--talerbackoffice/backoffice/data/farsi.jpg (renamed from talerblog/blog/data/farsi.jpg)bin6277 -> 6277 bytes
-rw-r--r--talerbackoffice/backoffice/data/greek.jpg (renamed from talerblog/blog/data/greek.jpg)bin6033 -> 6033 bytes
-rw-r--r--talerbackoffice/backoffice/data/japanese-kana.jpg (renamed from talerblog/blog/data/japanese-kana.jpg)bin3983 -> 3983 bytes
-rw-r--r--talerbackoffice/backoffice/data/japanese-kanji.jpg (renamed from talerblog/blog/data/japanese-kanji.jpg)bin4092 -> 4092 bytes
-rw-r--r--talerbackoffice/backoffice/data/korean.jpg (renamed from talerblog/blog/data/korean.jpg)bin5742 -> 5742 bytes
-rw-r--r--talerbackoffice/backoffice/data/russian.jpg (renamed from talerblog/blog/data/russian.jpg)bin9652 -> 9652 bytes
-rw-r--r--talerbackoffice/backoffice/data/serbian-croatian.jpg (renamed from talerblog/blog/data/serbian-croatian.jpg)bin5574 -> 5574 bytes
-rw-r--r--talerbackoffice/backoffice/data/song-book-jutta-scrunch-crop.jpg (renamed from talerblog/blog/data/song-book-jutta-scrunch-crop.jpg)bin70105 -> 70105 bytes
-rw-r--r--talerbackoffice/backoffice/data/tamil.jpg (renamed from talerblog/blog/data/tamil.jpg)bin10750 -> 10750 bytes
-rw-r--r--talerbackoffice/backoffice/data/ukrainian.jpg (renamed from talerblog/blog/data/ukrainian.jpg)bin8537 -> 8537 bytes
m---------talerbackoffice/backoffice/static/web-common (renamed from talerblog/blog/static/web-common)0
-rw-r--r--talerbackoffice/backoffice/templates/backoffice.html (renamed from talerblog/blog/templates/backoffice.html)0
-rw-r--r--talerbackoffice/backoffice/templates/base.html (renamed from talerblog/blog/templates/base.html)0
-rw-r--r--talerbackoffice/backoffice/templates/javascript.html (renamed from talerblog/blog/templates/javascript.html)0
-rw-r--r--talerbackoffice/helpers.py (renamed from talerblog/helpers.py)0
-rw-r--r--talerbackoffice/talerconfig.py (renamed from talerblog/talerconfig.py)0
-rw-r--r--talerbackoffice/tests.conf (renamed from talerblog/tests.conf)0
-rw-r--r--talerbackoffice/tests.py (renamed from talerblog/tests.py)0
-rw-r--r--talerblog/blog/content.py132
-rw-r--r--talerblog/blog/templates/article_frame.html8
-rw-r--r--talerblog/blog/templates/article_refunded.html6
-rw-r--r--talerblog/blog/templates/cc-payment.html5
-rw-r--r--talerblog/blog/templates/fallback.html28
-rw-r--r--talerblog/blog/templates/index.html94
-rw-r--r--talerblog/blog/templates/purchase.html41
92 files changed, 92 insertions, 320 deletions
diff --git a/.gitmodules b/.gitmodules
index 8a8b04d..be36d86 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "talerblog/blog/static/web-common"]
- path = talerblog/blog/static/web-common
+ path = talerbackoffice/backoffice/static/web-common
url = git://taler.net/web-common
diff --git a/Makefile.in b/Makefile.in
index b80131d..b0562d1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -4,14 +4,14 @@ INSTALL_DATA = $(INSTALL) -m 644
prefix = @prefix@
srcdir = @srcdir@
-script_templates = taler-merchant-blog frontend-blog.wsgi
+script_templates = taler-merchant-backoffice
templates = Makefile $(script_templates)
edit = sed -e 's|@prefix[@]|$(prefix)|g'
.PHONY: all
all: $(templates)
- cd talerblog/blog/static/web-common && make && cd -
+ cd talerbackoffice/backoffice/static/web-common && make && cd -
Makefile: Makefile.in
./config.status $@
@@ -24,7 +24,7 @@ $(script_templates): %: Makefile %.in
.PHONY: install-data
install-data: $(templates)
- @$(INSTALL_DATA) -Dt $(prefix)/share/taler/ frontend-blog.wsgi
+ @$(INSTALL_DATA) -Dt $(prefix)/share/taler/ backoffice.wsgi
# @test -n "$$(ls -A talerbank/app/static/web-common/)" || \
# (echo "please check out git submodules"; exit 1)
@@ -43,10 +43,10 @@ install: $(templates) install-data
@pip3 install . --install-option="--prefix=@prefix@"
@# force update when sources changed
@pip3 install . --install-option="--prefix=@prefix@" --upgrade --no-deps
- cd talerblog/blog/static/web-common && make install && cd -
+ cd talerbackoffice/backoffice/static/web-common && make install && cd -
# run testcases
.PHONY: check
check:
- @export TALER_CONFIG_FILE=@abs_srcdir@/talerblog/tests.conf; \
+ @export TALER_CONFIG_FILE=@abs_srcdir@/talerbackoffice/tests.conf; \
python3 setup.py test
diff --git a/blog.conf b/backoffice.conf
index 402ea09..402ea09 100644
--- a/blog.conf
+++ b/backoffice.conf
diff --git a/frontend-blog.wsgi.in b/backoffice.wsgi.in
index 0640c99..0640c99 100644
--- a/frontend-blog.wsgi.in
+++ b/backoffice.wsgi.in
diff --git a/taler-merchant-blog.in b/taler-merchant-backoffice-blog.in
index ca1b7c7..ca1b7c7 100644
--- a/taler-merchant-blog.in
+++ b/taler-merchant-backoffice-blog.in
diff --git a/taler-merchant-backoffice-donations.in b/taler-merchant-backoffice-donations.in
new file mode 100644
index 0000000..ca1b7c7
--- /dev/null
+++ b/taler-merchant-backoffice-donations.in
@@ -0,0 +1,86 @@
+#!/usr/bin/env python3
+
+"""
+Stand-alone script to manage the GNU Taler blog frontend.
+"""
+
+import logging
+import argparse
+import sys
+import os
+import site
+from talerblog.talerconfig import TalerConfig
+
+
+os.environ.setdefault("TALER_PREFIX", "@prefix@")
+site.addsitedir("%s/lib/python%d.%d/site-packages" % (
+ "@prefix@",
+ sys.version_info.major,
+ sys.version_info.minor))
+
+LOGGER = logging.getLogger(__name__)
+TC = TalerConfig.from_file(os.environ.get("TALER_CONFIG_FILE"))
+
+# No perfect match to our logging format, but good enough ...
+UWSGI_LOGFMT = "%(ltime) %(proto) %(method) %(uri) %(proto) => %(status)"
+
+def handle_serve_http(args):
+ port = args.port
+ if port is None:
+ port = TC["blog"]["http_port"].value_int(required=True)
+ spec = ":%d" % (port,)
+ os.execlp("uwsgi", "uwsgi",
+ "--master",
+ "--die-on-term",
+ "--log-format", UWSGI_LOGFMT,
+ "--http", spec,
+ "--wsgi-file", "@prefix@/share/taler/frontend-blog.wsgi")
+
+def handle_serve_uwsgi(args):
+ del args # pacify PEP checkers
+ serve_uwsgi = TC["blog"]["uwsgi_serve"].value_string(required=True).lower()
+ params = ["uwsgi", "uwsgi",
+ "--master",
+ "--die-on-term",
+ "--log-format", UWSGI_LOGFMT,
+ "--wsgi-file", "@prefix@/share/taler/frontend-blog.wsgi"]
+ if serve_uwsgi == "tcp":
+ port = TC["blog"]["uwsgi_port"].value_int(required=True)
+ spec = ":%d" % (port,)
+ params.extend(["--socket", spec])
+ elif serve_uwsgi == "unix":
+ spec = TC["blog"]["uwsgi_unixpath"].value_filename(required=True)
+ mode = TC["blog"]["uwsgi_unixpath_mode"].value_filename(required=True)
+ params.extend(["--socket", spec])
+ params.extend(["--chmod-socket="+mode])
+ os.makedirs(os.path.dirname(spec), exist_ok=True)
+ logging.info("launching uwsgi with argv %s", params[1:])
+ os.execlp(*params)
+
+
+
+PARSER = argparse.ArgumentParser()
+PARSER.set_defaults(func=None)
+PARSER.add_argument('--config', '-c',
+ help="configuration file to use",
+ metavar="CONFIG", type=str,
+ dest="config", default=None)
+SUB = PARSER.add_subparsers()
+
+P = SUB.add_parser('serve-http', help="Serve over HTTP")
+P.add_argument("--port", "-p", dest="port",
+ type=int, default=None, metavar="PORT")
+P.set_defaults(func=handle_serve_http)
+
+P = SUB.add_parser('serve-uwsgi', help="Serve over UWSGI")
+P.set_defaults(func=handle_serve_uwsgi)
+
+ARGS = PARSER.parse_args()
+if getattr(ARGS, 'func', None) is None:
+ PARSER.print_help()
+ sys.exit(1)
+
+if ARGS.config is not None:
+ os.environ["TALER_CONFIG_FILE"] = ARGS.config
+
+ARGS.func(ARGS)
diff --git a/talerblog/__init__.py b/talerbackoffice/__init__.py
index e69de29..e69de29 100644
--- a/talerblog/__init__.py
+++ b/talerbackoffice/__init__.py
diff --git a/talerblog/blog/__init__.py b/talerbackoffice/backoffice/__init__.py
index 2c45f00..2c45f00 100644
--- a/talerblog/blog/__init__.py
+++ b/talerbackoffice/backoffice/__init__.py
diff --git a/talerblog/blog/articles/COPYING b/talerbackoffice/backoffice/articles/COPYING
index a2a0fc5..a2a0fc5 100644
--- a/talerblog/blog/articles/COPYING
+++ b/talerbackoffice/backoffice/articles/COPYING
diff --git a/talerblog/blog/articles/scrap1_1.html b/talerbackoffice/backoffice/articles/scrap1_1.html
index 90c0203..90c0203 100644
--- a/talerblog/blog/articles/scrap1_1.html
+++ b/talerbackoffice/backoffice/articles/scrap1_1.html
diff --git a/talerblog/blog/articles/scrap1_10.html b/talerbackoffice/backoffice/articles/scrap1_10.html
index 6b36f2d..6b36f2d 100644
--- a/talerblog/blog/articles/scrap1_10.html
+++ b/talerbackoffice/backoffice/articles/scrap1_10.html
diff --git a/talerblog/blog/articles/scrap1_11.html b/talerbackoffice/backoffice/articles/scrap1_11.html
index 71c693b..71c693b 100644
--- a/talerblog/blog/articles/scrap1_11.html
+++ b/talerbackoffice/backoffice/articles/scrap1_11.html
diff --git a/talerblog/blog/articles/scrap1_12.html b/talerbackoffice/backoffice/articles/scrap1_12.html
index d482bac..d482bac 100644
--- a/talerblog/blog/articles/scrap1_12.html
+++ b/talerbackoffice/backoffice/articles/scrap1_12.html
diff --git a/talerblog/blog/articles/scrap1_13.html b/talerbackoffice/backoffice/articles/scrap1_13.html
index 8c06eb2..8c06eb2 100644
--- a/talerblog/blog/articles/scrap1_13.html
+++ b/talerbackoffice/backoffice/articles/scrap1_13.html
diff --git a/talerblog/blog/articles/scrap1_14.html b/talerbackoffice/backoffice/articles/scrap1_14.html
index d76546b..d76546b 100644
--- a/talerblog/blog/articles/scrap1_14.html
+++ b/talerbackoffice/backoffice/articles/scrap1_14.html
diff --git a/talerblog/blog/articles/scrap1_15.html b/talerbackoffice/backoffice/articles/scrap1_15.html
index be5d405..be5d405 100644
--- a/talerblog/blog/articles/scrap1_15.html
+++ b/talerbackoffice/backoffice/articles/scrap1_15.html
diff --git a/talerblog/blog/articles/scrap1_16.html b/talerbackoffice/backoffice/articles/scrap1_16.html
index 866878d..866878d 100644
--- a/talerblog/blog/articles/scrap1_16.html
+++ b/talerbackoffice/backoffice/articles/scrap1_16.html
diff --git a/talerblog/blog/articles/scrap1_17.html b/talerbackoffice/backoffice/articles/scrap1_17.html
index 8ea4d7b..8ea4d7b 100644
--- a/talerblog/blog/articles/scrap1_17.html
+++ b/talerbackoffice/backoffice/articles/scrap1_17.html
diff --git a/talerblog/blog/articles/scrap1_18.html b/talerbackoffice/backoffice/articles/scrap1_18.html
index 2a40735..2a40735 100644
--- a/talerblog/blog/articles/scrap1_18.html
+++ b/talerbackoffice/backoffice/articles/scrap1_18.html
diff --git a/talerblog/blog/articles/scrap1_19.html b/talerbackoffice/backoffice/articles/scrap1_19.html
index 38f0314..38f0314 100644
--- a/talerblog/blog/articles/scrap1_19.html
+++ b/talerbackoffice/backoffice/articles/scrap1_19.html
diff --git a/talerblog/blog/articles/scrap1_2.html b/talerbackoffice/backoffice/articles/scrap1_2.html
index 379807f..379807f 100644
--- a/talerblog/blog/articles/scrap1_2.html
+++ b/talerbackoffice/backoffice/articles/scrap1_2.html
diff --git a/talerblog/blog/articles/scrap1_20.html b/talerbackoffice/backoffice/articles/scrap1_20.html
index ad56242..ad56242 100644
--- a/talerblog/blog/articles/scrap1_20.html
+++ b/talerbackoffice/backoffice/articles/scrap1_20.html
diff --git a/talerblog/blog/articles/scrap1_21.html b/talerbackoffice/backoffice/articles/scrap1_21.html
index f2ed919..f2ed919 100644
--- a/talerblog/blog/articles/scrap1_21.html
+++ b/talerbackoffice/backoffice/articles/scrap1_21.html
diff --git a/talerblog/blog/articles/scrap1_22.html b/talerbackoffice/backoffice/articles/scrap1_22.html
index bd14787..bd14787 100644
--- a/talerblog/blog/articles/scrap1_22.html
+++ b/talerbackoffice/backoffice/articles/scrap1_22.html
diff --git a/talerblog/blog/articles/scrap1_23.html b/talerbackoffice/backoffice/articles/scrap1_23.html
index 1456a78..1456a78 100644
--- a/talerblog/blog/articles/scrap1_23.html
+++ b/talerbackoffice/backoffice/articles/scrap1_23.html
diff --git a/talerblog/blog/articles/scrap1_24.html b/talerbackoffice/backoffice/articles/scrap1_24.html
index 8d27662..8d27662 100644
--- a/talerblog/blog/articles/scrap1_24.html
+++ b/talerbackoffice/backoffice/articles/scrap1_24.html
diff --git a/talerblog/blog/articles/scrap1_25.html b/talerbackoffice/backoffice/articles/scrap1_25.html
index 337ad43..337ad43 100644
--- a/talerblog/blog/articles/scrap1_25.html
+++ b/talerbackoffice/backoffice/articles/scrap1_25.html
diff --git a/talerblog/blog/articles/scrap1_26.html b/talerbackoffice/backoffice/articles/scrap1_26.html
index 6df2a76..6df2a76 100644
--- a/talerblog/blog/articles/scrap1_26.html
+++ b/talerbackoffice/backoffice/articles/scrap1_26.html
diff --git a/talerblog/blog/articles/scrap1_27.html b/talerbackoffice/backoffice/articles/scrap1_27.html
index c7dbacc..c7dbacc 100644
--- a/talerblog/blog/articles/scrap1_27.html
+++ b/talerbackoffice/backoffice/articles/scrap1_27.html
diff --git a/talerblog/blog/articles/scrap1_28.html b/talerbackoffice/backoffice/articles/scrap1_28.html
index 1352989..1352989 100644
--- a/talerblog/blog/articles/scrap1_28.html
+++ b/talerbackoffice/backoffice/articles/scrap1_28.html
diff --git a/talerblog/blog/articles/scrap1_29.html b/talerbackoffice/backoffice/articles/scrap1_29.html
index a731547..a731547 100644
--- a/talerblog/blog/articles/scrap1_29.html
+++ b/talerbackoffice/backoffice/articles/scrap1_29.html
diff --git a/talerblog/blog/articles/scrap1_3.html b/talerbackoffice/backoffice/articles/scrap1_3.html
index 83c6fc7..83c6fc7 100644
--- a/talerblog/blog/articles/scrap1_3.html
+++ b/talerbackoffice/backoffice/articles/scrap1_3.html
diff --git a/talerblog/blog/articles/scrap1_30.html b/talerbackoffice/backoffice/articles/scrap1_30.html
index 1361dda..1361dda 100644
--- a/talerblog/blog/articles/scrap1_30.html
+++ b/talerbackoffice/backoffice/articles/scrap1_30.html
diff --git a/talerblog/blog/articles/scrap1_31.html b/talerbackoffice/backoffice/articles/scrap1_31.html
index 522c66f..522c66f 100644
--- a/talerblog/blog/articles/scrap1_31.html
+++ b/talerbackoffice/backoffice/articles/scrap1_31.html
diff --git a/talerblog/blog/articles/scrap1_32.html b/talerbackoffice/backoffice/articles/scrap1_32.html
index 7d4c357..7d4c357 100644
--- a/talerblog/blog/articles/scrap1_32.html
+++ b/talerbackoffice/backoffice/articles/scrap1_32.html
diff --git a/talerblog/blog/articles/scrap1_33.html b/talerbackoffice/backoffice/articles/scrap1_33.html
index 4b82800..4b82800 100644
--- a/talerblog/blog/articles/scrap1_33.html
+++ b/talerbackoffice/backoffice/articles/scrap1_33.html
diff --git a/talerblog/blog/articles/scrap1_34.html b/talerbackoffice/backoffice/articles/scrap1_34.html
index e85cd98..e85cd98 100644
--- a/talerblog/blog/articles/scrap1_34.html
+++ b/talerbackoffice/backoffice/articles/scrap1_34.html
diff --git a/talerblog/blog/articles/scrap1_35.html b/talerbackoffice/backoffice/articles/scrap1_35.html
index 3e5b075..3e5b075 100644
--- a/talerblog/blog/articles/scrap1_35.html
+++ b/talerbackoffice/backoffice/articles/scrap1_35.html
diff --git a/talerblog/blog/articles/scrap1_36.html b/talerbackoffice/backoffice/articles/scrap1_36.html
index db687a9..db687a9 100644
--- a/talerblog/blog/articles/scrap1_36.html
+++ b/talerbackoffice/backoffice/articles/scrap1_36.html
diff --git a/talerblog/blog/articles/scrap1_37.html b/talerbackoffice/backoffice/articles/scrap1_37.html
index 7e12f59..7e12f59 100644
--- a/talerblog/blog/articles/scrap1_37.html
+++ b/talerbackoffice/backoffice/articles/scrap1_37.html
diff --git a/talerblog/blog/articles/scrap1_38.html b/talerbackoffice/backoffice/articles/scrap1_38.html
index 3b5d3ab..3b5d3ab 100644
--- a/talerblog/blog/articles/scrap1_38.html
+++ b/talerbackoffice/backoffice/articles/scrap1_38.html
diff --git a/talerblog/blog/articles/scrap1_39.html b/talerbackoffice/backoffice/articles/scrap1_39.html
index a12352d..a12352d 100644
--- a/talerblog/blog/articles/scrap1_39.html
+++ b/talerbackoffice/backoffice/articles/scrap1_39.html
diff --git a/talerblog/blog/articles/scrap1_4.html b/talerbackoffice/backoffice/articles/scrap1_4.html
index a1caeaf..a1caeaf 100644
--- a/talerblog/blog/articles/scrap1_4.html
+++ b/talerbackoffice/backoffice/articles/scrap1_4.html
diff --git a/talerblog/blog/articles/scrap1_40.html b/talerbackoffice/backoffice/articles/scrap1_40.html
index 9c15309..9c15309 100644
--- a/talerblog/blog/articles/scrap1_40.html
+++ b/talerbackoffice/backoffice/articles/scrap1_40.html
diff --git a/talerblog/blog/articles/scrap1_41.html b/talerbackoffice/backoffice/articles/scrap1_41.html
index b7d7da9..b7d7da9 100644
--- a/talerblog/blog/articles/scrap1_41.html
+++ b/talerbackoffice/backoffice/articles/scrap1_41.html
diff --git a/talerblog/blog/articles/scrap1_42.html b/talerbackoffice/backoffice/articles/scrap1_42.html
index 8263f0b..8263f0b 100644
--- a/talerblog/blog/articles/scrap1_42.html
+++ b/talerbackoffice/backoffice/articles/scrap1_42.html
diff --git a/talerblog/blog/articles/scrap1_43.html b/talerbackoffice/backoffice/articles/scrap1_43.html
index e6c2a3e..e6c2a3e 100644
--- a/talerblog/blog/articles/scrap1_43.html
+++ b/talerbackoffice/backoffice/articles/scrap1_43.html
diff --git a/talerblog/blog/articles/scrap1_46.html b/talerbackoffice/backoffice/articles/scrap1_46.html
index 914a985..914a985 100644
--- a/talerblog/blog/articles/scrap1_46.html
+++ b/talerbackoffice/backoffice/articles/scrap1_46.html
diff --git a/talerblog/blog/articles/scrap1_47.html b/talerbackoffice/backoffice/articles/scrap1_47.html
index 6147eee..6147eee 100644
--- a/talerblog/blog/articles/scrap1_47.html
+++ b/talerbackoffice/backoffice/articles/scrap1_47.html
diff --git a/talerblog/blog/articles/scrap1_5.html b/talerbackoffice/backoffice/articles/scrap1_5.html
index bf1a922..bf1a922 100644
--- a/talerblog/blog/articles/scrap1_5.html
+++ b/talerbackoffice/backoffice/articles/scrap1_5.html
diff --git a/talerblog/blog/articles/scrap1_6.html b/talerbackoffice/backoffice/articles/scrap1_6.html
index 963195d..963195d 100644
--- a/talerblog/blog/articles/scrap1_6.html
+++ b/talerbackoffice/backoffice/articles/scrap1_6.html
diff --git a/talerblog/blog/articles/scrap1_7.html b/talerbackoffice/backoffice/articles/scrap1_7.html
index 48ad294..48ad294 100644
--- a/talerblog/blog/articles/scrap1_7.html
+++ b/talerbackoffice/backoffice/articles/scrap1_7.html
diff --git a/talerblog/blog/articles/scrap1_8.html b/talerbackoffice/backoffice/articles/scrap1_8.html
index 75cbf5e..75cbf5e 100644
--- a/talerblog/blog/articles/scrap1_8.html
+++ b/talerbackoffice/backoffice/articles/scrap1_8.html
diff --git a/talerblog/blog/articles/scrap1_9.html b/talerbackoffice/backoffice/articles/scrap1_9.html
index 872f86e..872f86e 100644
--- a/talerblog/blog/articles/scrap1_9.html
+++ b/talerbackoffice/backoffice/articles/scrap1_9.html
diff --git a/talerblog/blog/articles/scrap1_U.0.html b/talerbackoffice/backoffice/articles/scrap1_U.0.html
index de58c77..de58c77 100644
--- a/talerblog/blog/articles/scrap1_U.0.html
+++ b/talerbackoffice/backoffice/articles/scrap1_U.0.html
diff --git a/talerblog/blog/articles/scrap1_U.1.html b/talerbackoffice/backoffice/articles/scrap1_U.1.html
index fa6239d..fa6239d 100644
--- a/talerblog/blog/articles/scrap1_U.1.html
+++ b/talerbackoffice/backoffice/articles/scrap1_U.1.html
diff --git a/talerblog/blog/blog.py b/talerbackoffice/backoffice/backoffice.py
index 8a48883..8a48883 100644
--- a/talerblog/blog/blog.py
+++ b/talerbackoffice/backoffice/backoffice.py
diff --git a/talerblog/blog/data/README b/talerbackoffice/backoffice/data/README
index 9cef890..9cef890 100644
--- a/talerblog/blog/data/README
+++ b/talerbackoffice/backoffice/data/README
diff --git a/talerblog/blog/data/arabic.jpg b/talerbackoffice/backoffice/data/arabic.jpg
index bcb8cd2..bcb8cd2 100644
--- a/talerblog/blog/data/arabic.jpg
+++ b/talerbackoffice/backoffice/data/arabic.jpg
Binary files differ
diff --git a/talerblog/blog/data/belarusian.jpg b/talerbackoffice/backoffice/data/belarusian.jpg
index 340d375..340d375 100644
--- a/talerblog/blog/data/belarusian.jpg
+++ b/talerbackoffice/backoffice/data/belarusian.jpg
Binary files differ
diff --git a/talerblog/blog/data/bulgarian.jpg b/talerbackoffice/backoffice/data/bulgarian.jpg
index 4d5b691..4d5b691 100644
--- a/talerblog/blog/data/bulgarian.jpg
+++ b/talerbackoffice/backoffice/data/bulgarian.jpg
Binary files differ
diff --git a/talerblog/blog/data/category.jpg b/talerbackoffice/backoffice/data/category.jpg
index 83b3563..83b3563 100644
--- a/talerblog/blog/data/category.jpg
+++ b/talerbackoffice/backoffice/data/category.jpg
Binary files differ
diff --git a/talerblog/blog/data/category.png b/talerbackoffice/backoffice/data/category.png
index 836425c..836425c 100644
--- a/talerblog/blog/data/category.png
+++ b/talerbackoffice/backoffice/data/category.png
Binary files differ
diff --git a/talerblog/blog/data/chinese-simplified.jpg b/talerbackoffice/backoffice/data/chinese-simplified.jpg
index 131c4d3..131c4d3 100644
--- a/talerblog/blog/data/chinese-simplified.jpg
+++ b/talerbackoffice/backoffice/data/chinese-simplified.jpg
Binary files differ
diff --git a/talerblog/blog/data/chinese-traditional.jpg b/talerbackoffice/backoffice/data/chinese-traditional.jpg
index a58c72a..a58c72a 100644
--- a/talerblog/blog/data/chinese-traditional.jpg
+++ b/talerbackoffice/backoffice/data/chinese-traditional.jpg
Binary files differ
diff --git a/talerblog/blog/data/code.jpg b/talerbackoffice/backoffice/data/code.jpg
index e65ec41..e65ec41 100644
--- a/talerblog/blog/data/code.jpg
+++ b/talerbackoffice/backoffice/data/code.jpg
Binary files differ
diff --git a/talerblog/blog/data/example.jpg b/talerbackoffice/backoffice/data/example.jpg
index 9bda972..9bda972 100644
--- a/talerblog/blog/data/example.jpg
+++ b/talerbackoffice/backoffice/data/example.jpg
Binary files differ
diff --git a/talerblog/blog/data/farsi.jpg b/talerbackoffice/backoffice/data/farsi.jpg
index ca8c5fa..ca8c5fa 100644
--- a/talerblog/blog/data/farsi.jpg
+++ b/talerbackoffice/backoffice/data/farsi.jpg
Binary files differ
diff --git a/talerblog/blog/data/greek.jpg b/talerbackoffice/backoffice/data/greek.jpg
index 409cfb1..409cfb1 100644
--- a/talerblog/blog/data/greek.jpg
+++ b/talerbackoffice/backoffice/data/greek.jpg
Binary files differ
diff --git a/talerblog/blog/data/japanese-kana.jpg b/talerbackoffice/backoffice/data/japanese-kana.jpg
index 05fd85c..05fd85c 100644
--- a/talerblog/blog/data/japanese-kana.jpg
+++ b/talerbackoffice/backoffice/data/japanese-kana.jpg
Binary files differ
diff --git a/talerblog/blog/data/japanese-kanji.jpg b/talerbackoffice/backoffice/data/japanese-kanji.jpg
index 9f4310d..9f4310d 100644
--- a/talerblog/blog/data/japanese-kanji.jpg
+++ b/talerbackoffice/backoffice/data/japanese-kanji.jpg
Binary files differ
diff --git a/talerblog/blog/data/korean.jpg b/talerbackoffice/backoffice/data/korean.jpg
index 9362648..9362648 100644
--- a/talerblog/blog/data/korean.jpg
+++ b/talerbackoffice/backoffice/data/korean.jpg
Binary files differ
diff --git a/talerblog/blog/data/russian.jpg b/talerbackoffice/backoffice/data/russian.jpg
index 851197e..851197e 100644
--- a/talerblog/blog/data/russian.jpg
+++ b/talerbackoffice/backoffice/data/russian.jpg
Binary files differ
diff --git a/talerblog/blog/data/serbian-croatian.jpg b/talerbackoffice/backoffice/data/serbian-croatian.jpg
index 8066d55..8066d55 100644
--- a/talerblog/blog/data/serbian-croatian.jpg
+++ b/talerbackoffice/backoffice/data/serbian-croatian.jpg
Binary files differ
diff --git a/talerblog/blog/data/song-book-jutta-scrunch-crop.jpg b/talerbackoffice/backoffice/data/song-book-jutta-scrunch-crop.jpg
index 0147631..0147631 100644
--- a/talerblog/blog/data/song-book-jutta-scrunch-crop.jpg
+++ b/talerbackoffice/backoffice/data/song-book-jutta-scrunch-crop.jpg
Binary files differ
diff --git a/talerblog/blog/data/tamil.jpg b/talerbackoffice/backoffice/data/tamil.jpg
index ca5dde3..ca5dde3 100644
--- a/talerblog/blog/data/tamil.jpg
+++ b/talerbackoffice/backoffice/data/tamil.jpg
Binary files differ
diff --git a/talerblog/blog/data/ukrainian.jpg b/talerbackoffice/backoffice/data/ukrainian.jpg
index 79c9112..79c9112 100644
--- a/talerblog/blog/data/ukrainian.jpg
+++ b/talerbackoffice/backoffice/data/ukrainian.jpg
Binary files differ
diff --git a/talerblog/blog/static/web-common b/talerbackoffice/backoffice/static/web-common
-Subproject 0a65d5985b0474b4597dc2936f5791559c2a8a5
+Subproject 0a65d5985b0474b4597dc2936f5791559c2a8a5
diff --git a/talerblog/blog/templates/backoffice.html b/talerbackoffice/backoffice/templates/backoffice.html
index b87495b..b87495b 100644
--- a/talerblog/blog/templates/backoffice.html
+++ b/talerbackoffice/backoffice/templates/backoffice.html
diff --git a/talerblog/blog/templates/base.html b/talerbackoffice/backoffice/templates/base.html
index 755e72f..755e72f 100644
--- a/talerblog/blog/templates/base.html
+++ b/talerbackoffice/backoffice/templates/base.html
diff --git a/talerblog/blog/templates/javascript.html b/talerbackoffice/backoffice/templates/javascript.html
index 8f27425..8f27425 100644
--- a/talerblog/blog/templates/javascript.html
+++ b/talerbackoffice/backoffice/templates/javascript.html
diff --git a/talerblog/helpers.py b/talerbackoffice/helpers.py
index 614e463..614e463 100644
--- a/talerblog/helpers.py
+++ b/talerbackoffice/helpers.py
diff --git a/talerblog/talerconfig.py b/talerbackoffice/talerconfig.py
index a7ca065..a7ca065 100644
--- a/talerblog/talerconfig.py
+++ b/talerbackoffice/talerconfig.py
diff --git a/talerblog/tests.conf b/talerbackoffice/tests.conf
index 05d3310..05d3310 100644
--- a/talerblog/tests.conf
+++ b/talerbackoffice/tests.conf
diff --git a/talerblog/tests.py b/talerbackoffice/tests.py
index 050d852..050d852 100644
--- a/talerblog/tests.py
+++ b/talerbackoffice/tests.py
diff --git a/talerblog/blog/content.py b/talerblog/blog/content.py
deleted file mode 100644
index 1ddbf46..0000000
--- a/talerblog/blog/content.py
+++ /dev/null
@@ -1,132 +0,0 @@
-# This file is part of GNU TALER.
-# Copyright (C) 2014-2016 INRIA
-#
-# TALER is free software; you can redistribute it and/or modify it under the
-# terms of the GNU Lesser General Public License as published by the Free Software
-# Foundation; either version 2.1, or (at your option) any later version.
-#
-# TALER is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License along with
-# GNU TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
-#
-# @author Florian Dold
-
-"""
-Define content and associated metadata that is served on the blog.
-"""
-
-from collections import OrderedDict, namedtuple
-import logging
-import os
-import re
-from bs4 import BeautifulSoup
-from pkg_resources import resource_stream, resource_filename
-
-LOGGER = logging.getLogger(__name__)
-
-Article = namedtuple("Article", "slug title teaser main_file extra_files")
-
-ARTICLES = OrderedDict()
-
-
-def add_article(slug, title, teaser, main_file, extra_files):
- ARTICLES[slug] = Article(slug, title, teaser, main_file, extra_files)
-
-
-def get_image_file(image):
- filex = resource_filename("talerblog", os.path.join("blog/data/", image))
- return os.path.abspath(filex)
-
-
-def get_article_file(article):
- filex = resource_filename("talerblog", article.main_file)
- return os.path.basename(filex)
-
-
-def add_from_html(resource_name, teaser_paragraph=0, title=None):
- """
- Extract information from article html.
- """
- res = resource_stream("talerblog", resource_name)
- soup = BeautifulSoup(res, 'html.parser')
- res.close()
- if title is None:
- title_el = soup.find("h1", attrs={"class":["chapter", "unnumbered"]})
- if title_el is None:
- LOGGER.warning("Can't extract title from '%s'", resource_name)
- title = resource_name
- else:
- title = title_el.get_text().strip()
- slug = title.replace(" ", "_")
- paragraphs = soup.find_all("p")
-
- teaser = soup.find("p", attrs={"id":["teaser"]})
- if teaser is None:
- teaser = str(paragraphs[teaser_paragraph])
- re_proc = re.compile("^/essay/[^/]+/data/[^/]+$")
- imgs = soup.find_all("img")
- extra_files = []
- for img in imgs:
- # We require that any image whose access is regulated is src'd
- # as "<slug>/data/img.png". We also need to check if the <slug>
- # component actually matches the article's slug
- if re_proc.match(img['src']):
- if img['src'].split(os.sep)[2] == slug:
- LOGGER.info("extra file for %s is %s" % (slug, os.path.basename(img['src'])))
- extra_files.append(os.path.basename(img['src']))
- else:
- LOGGER.warning("Image src and slug don't match: '%s' != '%s'" \
- % (img['src'].split(os.sep)[2], slug))
- add_article(slug, title, teaser, resource_name, extra_files)
-
-
-add_from_html("blog/articles/scrap1_U.0.html", 0)
-add_from_html("blog/articles/scrap1_U.1.html", 0)
-add_from_html("blog/articles/scrap1_1.html", 1)
-add_from_html("blog/articles/scrap1_2.html")
-add_from_html("blog/articles/scrap1_3.html")
-add_from_html("blog/articles/scrap1_4.html")
-add_from_html("blog/articles/scrap1_5.html")
-add_from_html("blog/articles/scrap1_6.html")
-add_from_html("blog/articles/scrap1_7.html")
-add_from_html("blog/articles/scrap1_8.html")
-add_from_html("blog/articles/scrap1_9.html")
-add_from_html("blog/articles/scrap1_10.html")
-add_from_html("blog/articles/scrap1_11.html")
-add_from_html("blog/articles/scrap1_12.html")
-add_from_html("blog/articles/scrap1_13.html", 1)
-add_from_html("blog/articles/scrap1_14.html")
-add_from_html("blog/articles/scrap1_15.html")
-add_from_html("blog/articles/scrap1_16.html")
-add_from_html("blog/articles/scrap1_17.html")
-add_from_html("blog/articles/scrap1_18.html")
-add_from_html("blog/articles/scrap1_19.html")
-add_from_html("blog/articles/scrap1_20.html", 1)
-add_from_html("blog/articles/scrap1_21.html")
-add_from_html("blog/articles/scrap1_22.html")
-add_from_html("blog/articles/scrap1_23.html")
-add_from_html("blog/articles/scrap1_24.html")
-add_from_html("blog/articles/scrap1_25.html", 1)
-add_from_html("blog/articles/scrap1_26.html", 1)
-add_from_html("blog/articles/scrap1_27.html")
-add_from_html("blog/articles/scrap1_28.html", 1)
-add_from_html("blog/articles/scrap1_29.html")
-add_from_html("blog/articles/scrap1_30.html", 1)
-add_from_html("blog/articles/scrap1_31.html", 1)
-add_from_html("blog/articles/scrap1_32.html")
-add_from_html("blog/articles/scrap1_33.html")
-add_from_html("blog/articles/scrap1_34.html")
-add_from_html("blog/articles/scrap1_35.html")
-add_from_html("blog/articles/scrap1_36.html")
-add_from_html("blog/articles/scrap1_37.html")
-add_from_html("blog/articles/scrap1_38.html")
-add_from_html("blog/articles/scrap1_39.html")
-add_from_html("blog/articles/scrap1_40.html")
-add_from_html("blog/articles/scrap1_41.html")
-add_from_html("blog/articles/scrap1_42.html")
-add_from_html("blog/articles/scrap1_43.html", 2)
-add_from_html("blog/articles/scrap1_46.html", 1)
-add_from_html("blog/articles/scrap1_47.html")
diff --git a/talerblog/blog/templates/article_frame.html b/talerblog/blog/templates/article_frame.html
deleted file mode 100644
index 50d58e2..0000000
--- a/talerblog/blog/templates/article_frame.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends "templates/base.html" %}
-{% block main %}
-{% include "articles/" + article_file %}
- <form action="/refund" method="POST">
- <input type="text" name="article_name" value={{ article_name}} hidden>
- <input type="submit" value="Ask refund!">
- </form>
-{% endblock main %}
diff --git a/talerblog/blog/templates/article_refunded.html b/talerblog/blog/templates/article_refunded.html
deleted file mode 100644
index d6e49d7..0000000
--- a/talerblog/blog/templates/article_refunded.html
+++ /dev/null
@@ -1,6 +0,0 @@
-{% extends "templates/base.html" %}
-{% block main %}
- <h1>Article refunded</h1>
- Unfortunately you can't view the article {{ article_name }}, since the
- payment for it was refunded.
-{% endblock main %}
diff --git a/talerblog/blog/templates/cc-payment.html b/talerblog/blog/templates/cc-payment.html
deleted file mode 100644
index b23b751..0000000
--- a/talerblog/blog/templates/cc-payment.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{% extends "templates/base.html" %}
-
-{% block main %}
-Credit card payment declined.
-{% endblock main %}
diff --git a/talerblog/blog/templates/fallback.html b/talerblog/blog/templates/fallback.html
deleted file mode 100644
index 8dc426b..0000000
--- a/talerblog/blog/templates/fallback.html
+++ /dev/null
@@ -1,28 +0,0 @@
-{% extends "templates/base.html" %}
-{% block main %}
-
-<p class="taler-installed-show">
-Payment is being processed. If nothing happens, please <a href="{{ request.path }}">click here</a>.
-</p>
-
-<div id="ccfakeform" class="taler-installed-hide">
- <p>
- Oops, it looks like you don't have a Taler wallet installed. Why don't you enter
- all your credit card details before reading the article? <em>You can also
- use GNU Taler to complete the purchase at any time.</em>
- </p>
-
- <form>
- First name<br> <input type="text"><br>
- Family name<br> <input type="text"><br>
- Age<br> <input type="text"><br>
- Nationality<br> <input type="text"><br>
- Gender<br> <input type="radio" name"gender">Male</input>
- CC number<br> <input type="text"><br>
- <input type="radio" name="gender">Female<br>
- </form>
- <form method="get" action="/cc-payment/{{ article_name }}">
- <input type="submit"></input>
- </form>
-</div>
-{% endblock main %}
diff --git a/talerblog/blog/templates/index.html b/talerblog/blog/templates/index.html
deleted file mode 100644
index 5d767ee..0000000
--- a/talerblog/blog/templates/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
-{% extends "templates/base.html" %}
-{% block main %}
- <h1>About</h1>
- <p>This &quot;blog&quot; simulates how a website selling articles using
- Taler should work.
- We illustrate the use of Taler using articles from
- Richard Stallman's book &quot;Free Software, Free Society&quot;,
- which is also
- <a href="http://shop.fsf.org/product/free-software-free-society-2/">published by the FSF</a>
- and available gratis at <a href="http://www.gnu.org/">gnu.org</a>.
- </p>
-
- <h2 class="taler-installed-hide">Taler wallet required for payment</h2>
-
- <p class="taler-installed-hide">
- This site requires a Taler wallet to pay for articles.
- Please visit our <a href="/landing">landing page</a>
- to install a wallet (and to withdraw digital coins).
- </p>
- <h2>Back-office interface</h2>
- <p>
- If you are a merchant and want to track your deposits, try the
- <a href="/backoffice">back-office</a>!
- </p>
-
- <h2>Free Software, Free Society</h2>
-
- <p>This is the second edition of <cite>Free Software, Free Society: Selected Essays of Richard M. Stallman.</cite><br>
-Free Software Foundation<br>
-51 Franklin Street, Fifth Floor<br>
-Boston, MA 02110-1335
-<br>
-Copyright &copy; 2002, 2010 Free Software Foundation, Inc.
-</p><blockquote><p>Verbatim copying and distribution of this entire book are permitted
-worldwide, without royalty, in any medium, provided this notice is
-preserved. Permission is granted to copy and distribute translations
-of this book from the original English into another language provided
-the translation has been approved by the Free Software Foundation and
-the copyright notice and this permission notice are preserved on all
-copies.
-</p></blockquote>
-<p>ISBN 978-0-9831592-0-9
-<br>
-<br>
-</p>
-<p>
-<em>Richard Stallman is the prophet of the free software movement.
-He understood the dangers of software patents years ago. Now that
-this has become a crucial issue in the world, buy this book and read
-what he said.</em><br> &mdash;<strong>Tim Berners-Lee,</strong> inventor of the World
-Wide Web
-<br>
-<br>
-<em>Richard Stallman is the philosopher king of software. He
-single-handedly ignited what has become a world-wide movement to
-create software that is Free, with a capital F. He has toiled for
-years at a project that many once considered a fool&rsquo;s errand, and now
-that is widely seen as &ldquo;inevitable.&rdquo;</em><br> &mdash;<strong>Simon&nbsp;L.
-Garfinkel,</strong> computer science author and columnist
-<br>
-<br>
-<em>By his hugely successful efforts to establish the idea of &ldquo;Free
-Software,&rdquo; Stallman has made a massive contribution to the human
-condition. His contribution combines elements that have technical,
-social, political, and economic consequences.</em><br> &mdash;<strong>Gerald Jay
-Sussman,</strong> Matsushita Professor of Electrical Engineering, MIT
-<br>
-<br>
-<em>RMS is the leading philosopher of software. You may dislike
-some of his attitudes, but you cannot avoid his ideas. This slim
-volume will make those ideas readily accessible to those who are
-confused by the buzzwords of rampant commercialism. This book needs
-to be widely circulated and widely read.</em><br> &mdash;<strong>Peter Salus,</strong>
-computer science writer, book reviewer, and UNIX historian
-<br>
-<br>
-<em>Richard is the leading force of the free software movement.
-This book is very important to spread the key concepts of free
-software world-wide, so everyone can understand it. Free software
-gives people freedom to use their creativity.</em><br> &mdash;<strong>Masayuki
-Ida,</strong> professor, Graduate School of International Management, Aoyama
-Gakuin University
-</p>
- <h2>Chapters</h2>
- <!-- TODO: show this section ONLY if Taler wallet is present! -->
- <ul style="list-style-type:none">
- {% for article in articles %}
- <h3><a href="{{ url_for("article", name=article.slug) }}">{{article.title}}</a></h3>
- {{ article.teaser|safe }}
- {% else %}
- <em>(No articles available)</em>
- {% endfor %}
- </ul>
-{% endblock main %}
diff --git a/talerblog/blog/templates/purchase.html b/talerblog/blog/templates/purchase.html
deleted file mode 100644
index d1baf38..0000000
--- a/talerblog/blog/templates/purchase.html
+++ /dev/null
@@ -1,41 +0,0 @@
-{% extends "templates/base.html" %}
-
-{% block main %}
-<meta name="hc" value="{{ hc }}">
-<meta name="pay_url" value="{{ pay_url|safe }}">
-<meta name="offering_url" value="{{ offering_url|safe }}">
-<meta name="contract_url" value="{{ contract_url|safe }}">
-<meta name="no_contract" value="{{ no_contract }}">
-<div id="ccfakeform" class="fade">
- <p>
- Oops, it looks like you don't have a Taler wallet installed. Why don't you enter
- all your credit card details before reading the article? <em>You can also
- use GNU Taler to complete the purchase at any time.</em>
- </p>
-
- <form>
- First name<br> <input type="text"></input><br>
- Family name<br> <input type="text"></input><br>
- Age<br> <input type="text"></input><br>
- Nationality<br> <input type="text"></input><br>
- Gender<br> <input type="radio" name"gender">Male</input>
- CC number<br> <input type="text"></input><br>
- <input type="radio" name="gender">Female</input><br>
- </form>
- <form method="get" action="/cc-payment/{{ article_name }}">
- <input type="submit"></input>
- </form>
-</div>
-
-<div id="talerwait">
- <em>Processing payment with GNU Taler, please wait <span id="action-indicator"></span></em>
-</div>
-{% endblock main %}
-
-{% block body_prelude %}
- <script src="{{ url('/static/body-prelude.js') }}" type="application/javascript"></script>
-{% endblock body_prelude %}
-
-{% block scripts %}
- <script src="{{ url('/static/purchase.js') }}" type="application/javascript"></script>
-{% endblock scripts %}