From 207e77c7cbab87f3bf537dd11ca391f12df01129 Mon Sep 17 00:00:00 2001 From: Johannes Rudolph Date: Tue, 2 Jan 2018 13:58:11 +0100 Subject: all: replace hard-coded KtT branding with dynamic text * extend config file with general details * extend curves-ui makefile add config * Use name from config * replace static text with dynamic text * read short name and long name from config * replace SHORTNAME tags with the shortname * replace mail related branding information * add missing Replacement * make VAT (Umsatzsteuer) optional * make space name dynamic * make short name in treasuremail text dynamic * make pdf text more dynamic --- src/web/web.vala | 87 +++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 61 insertions(+), 26 deletions(-) (limited to 'src/web') diff --git a/src/web/web.vala b/src/web/web.vala index ea0c667..62cfb04 100644 --- a/src/web/web.vala +++ b/src/web/web.vala @@ -15,12 +15,15 @@ public class WebServer { private Soup.Server srv; + private string longname; + private string shortname; void handler_default(Soup.Server server, Soup.Message msg, string path, GLib.HashTable? query, Soup.ClientContext client) { try { var l = new WebSession(server, msg, path, query, client); var t = new WebTemplate("index.html", l); - t.replace("TITLE", "KtT Shop System"); + t.replace("TITLE", shortname + " Shop System"); + t.replace("SHORTNAME", shortname); t.menu_set_active("home"); msg.set_response("text/html", Soup.MemoryUse.COPY, t.data); msg.set_status(200); @@ -39,7 +42,8 @@ public class WebServer { var l = new WebSession(server, msg, path, query, client); l.logout(); var t = new WebTemplate("logout.html", l); - t.replace("TITLE", "KtT Shop System"); + t.replace("TITLE", shortname + " Shop System"); + t.replace("SHORTNAME", shortname); t.menu_set_active("home"); msg.set_response("text/html", Soup.MemoryUse.COPY, t.data); msg.set_status(200); @@ -96,7 +100,8 @@ public class WebServer { } var t = new WebTemplate("users/index.html", session); - t.replace("TITLE", "KtT Shop System: User"); + t.replace("TITLE", shortname + " Shop System: User"); + t.replace("SHORTNAME", shortname); t.menu_set_active("users"); var data = ""; foreach(var m in db.get_member_ids()) { @@ -130,7 +135,8 @@ public class WebServer { } var t = new WebTemplate("users/import-pgp.html", session); - t.replace("TITLE", "KtT Shop System: PGP Key Import"); + t.replace("TITLE", shortname + " Shop System: PGP Key Import"); + t.replace("SHORTNAME", shortname); t.menu_set_active("users"); Soup.Buffer filedata; @@ -182,7 +188,8 @@ public class WebServer { return; } var t = new WebTemplate("users/import.html", session); - t.replace("TITLE", "KtT Shop System: User Import"); + t.replace("TITLE", shortname + " Shop System: User Import"); + t.replace("SHORTNAME", shortname); t.menu_set_active("users"); Soup.Buffer filedata; @@ -327,7 +334,8 @@ public class WebServer { return; } var t = new WebTemplate("users/entry.html", session); - t.replace("TITLE", "KtT Shop System: User Info %llu".printf(id)); + t.replace("TITLE", shortname + " Shop System: User Info %llu".printf(id)); + t.replace("SHORTNAME", shortname); t.menu_set_active("users"); var userinfo = db.get_user_info(id); @@ -431,7 +439,8 @@ public class WebServer { return; } var t = new WebTemplate("users/invoice.html", l); - t.replace("TITLE", "KtT Shop System: User Invoice %llu".printf(id)); + t.replace("TITLE", shortname + " Shop System: User Invoice %llu".printf(id)); + t.replace("SHORTNAME", shortname); t.menu_set_active("users"); /* years, in which something has been purchased by the user */ @@ -553,7 +562,8 @@ public class WebServer { try { var l = new WebSession(server, msg, path, query, client); var t = new WebTemplate("products/index.html", l); - t.replace("TITLE", "KtT Shop System: Product List"); + t.replace("TITLE", shortname + " Shop System: Product List"); + t.replace("SHORTNAME", shortname); t.menu_set_active("products"); string table = ""; @@ -590,7 +600,8 @@ public class WebServer { try { var l = new WebSession(server, msg, path, query, client); var t = new WebTemplate("products/bestbefore.html", l); - t.replace("TITLE", "KtT Shop System: Best Before List"); + t.replace("TITLE", shortname + " Shop System: Best Before List"); + t.replace("SHORTNAME", shortname); t.menu_set_active("products"); string table = ""; @@ -645,7 +656,8 @@ public class WebServer { try { var l = new WebSession(server, msg, path, query, client); var t = new WebTemplate("products/entry.html", l); - t.replace("TITLE", "KtT Shop System: Product %llu".printf(id)); + t.replace("TITLE", shortname + " Shop System: Product %llu".printf(id)); + t.replace("SHORTNAME", shortname); t.menu_set_active("products"); /* ean */ @@ -725,7 +737,8 @@ public class WebServer { try { var session = new WebSession(server, msg, path, query, client); var template = new WebTemplate("products/new.html", session); - template.replace("TITLE", "KtT Shop System: New Product"); + template.replace("TITLE", shortname + " Shop System: New Product"); + template.replace("SHORTNAME", shortname); template.menu_set_active("products"); if(!session.superuser && !session.auth_products) { @@ -781,7 +794,8 @@ public class WebServer { } var template = new WebTemplate("products/restock.html", session); - template.replace("TITLE", "KtT Shop System: Restock Product %llu".printf(id)); + template.replace("TITLE", shortname + " Shop System: Restock Product %llu".printf(id)); + template.replace("SHORTNAME", shortname); template.replace("NAME", db.get_product_name(id)); template.menu_set_active("products"); @@ -839,7 +853,7 @@ public class WebServer { } var template = new WebTemplate("products/newprice.html", session); - template.replace("TITLE", "KtT Shop System: New Price for Product %llu".printf(id)); + template.replace("TITLE", shortname + " Shop System: New Price for Product %llu".printf(id)); template.replace("NAME", db.get_product_name(id)); template.menu_set_active("products"); @@ -878,7 +892,8 @@ public class WebServer { try { var l = new WebSession(server, msg, path, query, client); var t = new WebTemplate("aliases/index.html", l); - t.replace("TITLE", "KtT Shop System: Alias List"); + t.replace("TITLE", shortname + " Shop System: Alias List"); + t.replace("SHORTNAME", shortname); t.menu_set_active("aliases"); string table = ""; @@ -910,7 +925,8 @@ public class WebServer { try { var session = new WebSession(server, msg, path, query, client); var template = new WebTemplate("aliases/new.html", session); - template.replace("TITLE", "KtT Shop System: New Alias"); + template.replace("TITLE", shortname + " Shop System: New Alias"); + template.replace("SHORTNAME", shortname); template.menu_set_active("aliases"); if(!session.superuser && !session.auth_products) { @@ -958,7 +974,8 @@ public class WebServer { try { var l = new WebSession(server, msg, path, query, client); var t = new WebTemplate("stats/index.html", l); - t.replace("TITLE", "KtT Shop System: Statistics"); + t.replace("TITLE", shortname + " Shop System: Statistics"); + t.replace("SHORTNAME", shortname); t.menu_set_active("stats"); var stats = db.get_stats_info(); @@ -991,7 +1008,8 @@ public class WebServer { var t = new WebTemplate("stats/stock.html", l); string data = db.get_stats_stock().json; t.replace("DATA", data); - t.replace("TITLE", "KtT Shop System: Statistics: Stock"); + t.replace("SHORTNAME", shortname); + t.replace("TITLE", shortname + " Shop System: Statistics: Stock"); t.menu_set_active("stats"); msg.set_response("text/html", Soup.MemoryUse.COPY, t.data); msg.set_status(200); @@ -1007,7 +1025,8 @@ public class WebServer { var t = new WebTemplate("stats/profit_per_day.html", l); string data = db.get_stats_profit_per_day().json; t.replace("DATA", data); - t.replace("TITLE", "KtT Shop System: Statistics: Profit"); + t.replace("SHORTNAME", shortname); + t.replace("TITLE", shortname + " Shop System: Statistics: Profit"); t.menu_set_active("stats"); msg.set_response("text/html", Soup.MemoryUse.COPY, t.data); msg.set_status(200); @@ -1023,7 +1042,8 @@ public class WebServer { var t = new WebTemplate("stats/profit_per_weekday.html", l); string data = db.get_stats_profit_per_weekday().json; t.replace("DATA", data); - t.replace("TITLE", "KtT Shop System: Statistics: Profit/Weekday"); + t.replace("SHORTNAME", shortname); + t.replace("TITLE", shortname + " Shop System: Statistics: Profit/Weekday"); t.menu_set_active("stats"); msg.set_response("text/html", Soup.MemoryUse.COPY, t.data); msg.set_status(200); @@ -1039,7 +1059,8 @@ public class WebServer { var t = new WebTemplate("stats/profit_per_product.html", l); string data = db.get_stats_profit_per_products().json; t.replace("DATA", data); - t.replace("TITLE", "KtT Shop System: Statistics: Profit/Product"); + t.replace("SHORTNAME", shortname); + t.replace("TITLE", shortname + " Shop System: Statistics: Profit/Product"); t.menu_set_active("stats"); msg.set_response("text/html", Soup.MemoryUse.COPY, t.data); msg.set_status(200); @@ -1148,7 +1169,8 @@ public class WebServer { try { var session = new WebSession(server, msg, path, query, client); var template = new WebTemplate("errors/todo.html", session); - template.replace("TITLE", "KtT Shop System: ToDo"); + template.replace("TITLE", shortname + " Shop System: ToDo"); + template.replace("SHORTNAME", shortname); template.menu_set_active(""); msg.set_response("text/html", Soup.MemoryUse.COPY, template.data); msg.set_status(200); @@ -1193,7 +1215,8 @@ public class WebServer { hist += "\n"; } - template.replace("TITLE", "KtT Shop System: Cashbox"); + template.replace("TITLE", shortname + " Shop System: Cashbox"); + template.replace("SHORTNAME", shortname); template.replace("CASHBOX_STATUS", status); template.replace("CASHBOX_HISTORY", hist); template.menu_set_active("cashbox"); @@ -1219,7 +1242,8 @@ public class WebServer { } var template = new WebTemplate("cashbox/add.html", session); - template.replace("TITLE", "KtT Shop System: Cashbox Balance"); + template.replace("TITLE", shortname + " Shop System: Cashbox Balance"); + template.replace("SHORTNAME", shortname); template.menu_set_active("cashbox"); bool error = false; @@ -1291,7 +1315,8 @@ public class WebServer { try { var session = new WebSession(server, msg, path, query, client); var template = new WebTemplate("cashbox/selection.html", session); - template.replace("TITLE", "KtT Shop System: Cashbox Detail"); + template.replace("TITLE", shortname + " Shop System: Cashbox Detail"); + template.replace("SHORTNAME", shortname); template.menu_set_active("cashbox"); msg.set_response("text/html", Soup.MemoryUse.COPY, template.data); msg.set_status(200); @@ -1361,9 +1386,9 @@ public class WebServer { } var template = new WebTemplate("cashbox/detail.html", session); - template.replace("TITLE", "KtT Shop System: Cashbox Detail"); + template.replace("TITLE", shortname + " Shop System: Cashbox Detail"); template.menu_set_active("cashbox"); - + template.replace("SHORTNAME", shortname); template.replace("DATE", start.format("%B %Y")); template.replace("DEBIT", debit.to_string()); template.replace("LOSS", loss.to_string()); @@ -1387,6 +1412,16 @@ public class WebServer { } public WebServer(uint port = 8080, TlsCertificate? cert = null) throws Error { + /* get configuration */ + Config config = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Config", "/io/mainframe/shopsystem/config"); + try { + longname = config.get_string("GENERAL", "longname"); + shortname = config.get_string("GENERAL", "shortname"); + } catch(KeyFileError e) { + longname = "Logname Missing in Config"; + shortname = "Shortname Missing in Config"; + } + srv = new Soup.Server("tls-certificate", cert); Soup.ServerListenOptions options = 0; -- cgit v1.2.3