From f44f722c79ba976162ac8e50b58711114ca2f945 Mon Sep 17 00:00:00 2001
From: Sebastian Lobinger <sebastian.lobinger@fu-berlin.de>
Date: Thu, 1 Jun 2017 13:28:08 +0200
Subject: [PATCH] update ExampleApp add view to change language

---
 ExampleApp/Extra/lang/en.yaml                  |  2 +-
 ExampleApp/Main/__init__.py                    | 11 +++++++++--
 ExampleApp/Main/lang/de.yaml                   |  5 ++++-
 ExampleApp/Main/lang/en.yaml                   |  6 ++++++
 ExampleApp/Main/manifest.yaml                  |  4 ++++
 ExampleApp/Main/templates/.gitkeep             |  0
 ExampleApp/Main/templates/change_language.html |  9 +++++++++
 7 files changed, 33 insertions(+), 4 deletions(-)
 create mode 100644 ExampleApp/Main/lang/en.yaml
 create mode 100644 ExampleApp/Main/templates/.gitkeep
 create mode 100644 ExampleApp/Main/templates/change_language.html

diff --git a/ExampleApp/Extra/lang/en.yaml b/ExampleApp/Extra/lang/en.yaml
index 5fc2b43..2c591d6 100644
--- a/ExampleApp/Extra/lang/en.yaml
+++ b/ExampleApp/Extra/lang/en.yaml
@@ -1,2 +1,2 @@
 hello_message: 'Hello extra page!'
-men_index: 'Extra page'
+men_index: 'Extra page'
\ No newline at end of file
diff --git a/ExampleApp/Main/__init__.py b/ExampleApp/Main/__init__.py
index e189702..e4fcb9b 100644
--- a/ExampleApp/Main/__init__.py
+++ b/ExampleApp/Main/__init__.py
@@ -1,4 +1,11 @@
-from flask import render_template
+from flask import render_template, session, request
 
 def home():
-  return render_template('home.html')
\ No newline at end of file
+  print(session.get('language'))
+  return render_template('home.html')
+
+def change_lang():
+  session['language'] = request.args.get('lang')
+  print('session language: {0}, request lang {1}'.format(
+    session['language'], request.args.get('lang')) )
+  return render_template('change_language.html')
\ No newline at end of file
diff --git a/ExampleApp/Main/lang/de.yaml b/ExampleApp/Main/lang/de.yaml
index f2202e5..de68af6 100644
--- a/ExampleApp/Main/lang/de.yaml
+++ b/ExampleApp/Main/lang/de.yaml
@@ -1,3 +1,6 @@
 hello_message: 'Hallo Startseite!'
 men_index: 'Startseite'
-men_index_repo_link: 'Gitlab Repo'
\ No newline at end of file
+men_index_repo_link: 'Gitlab Repo'
+change_lang_german: 'Deutsch'
+change_lang_english: 'Englisch'
+men_change_lang: 'Sprache ändern'
\ No newline at end of file
diff --git a/ExampleApp/Main/lang/en.yaml b/ExampleApp/Main/lang/en.yaml
new file mode 100644
index 0000000..f197833
--- /dev/null
+++ b/ExampleApp/Main/lang/en.yaml
@@ -0,0 +1,6 @@
+hello_message: 'Hello Home!'
+men_index: 'Home'
+men_index_repo_link: 'Gitlab Repo'
+change_lang_german: 'German'
+change_lang_english: 'English'
+men_change_lang: 'Change language'
\ No newline at end of file
diff --git a/ExampleApp/Main/manifest.yaml b/ExampleApp/Main/manifest.yaml
index ddbe9dc..5481d6b 100644
--- a/ExampleApp/Main/manifest.yaml
+++ b/ExampleApp/Main/manifest.yaml
@@ -2,7 +2,11 @@ default_language: 'de'
 views:
   - url: &index_url ''
     function: 'home'
+  - url: &change_lang_url 'change-lang'
+    function: 'change_lang'
 menu:
+  - url: *change_lang_url
+    name_string: 'men_change_lang'
   - url: *index_url
     name_string: men_index
     menu:
diff --git a/ExampleApp/Main/templates/.gitkeep b/ExampleApp/Main/templates/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/ExampleApp/Main/templates/change_language.html b/ExampleApp/Main/templates/change_language.html
new file mode 100644
index 0000000..8158678
--- /dev/null
+++ b/ExampleApp/Main/templates/change_language.html
@@ -0,0 +1,9 @@
+{% extends "base-struct.html" %}
+{% block title %}Index{% endblock %}
+{% block head %} {{ super() }} {% endblock %}
+{% block content %}
+    <h1>{{ app_lang['change_lang_title'] }}</h1>
+    <a href='/change-lang?lang=en'>{{ app_lang['change_lang_english'] }}</a>
+    <a href='/change-lang?lang=de'>{{ app_lang['change_lang_german'] }}</a>
+{% endblock %}
+{% block header %}samsHUB -{% endblock %}
\ No newline at end of file
-- 
GitLab