diff --git a/www/Dockerfile b/www/Dockerfile index f4f60319ed24b292ba646dadc38d0bbf79b39984..4a487dd8b299de14b487f286673785acbbd9ca04 100644 --- a/www/Dockerfile +++ b/www/Dockerfile @@ -10,6 +10,7 @@ RUN apt-get update && apt-get install -y \ libsasl2-dev \ libldap2-dev \ libssl-dev \ + gettext \ git \ nginx diff --git a/www/misc/entrypoint.sh b/www/misc/entrypoint.sh index 56e7f41069102443d3be342e70a58bbf9277c115..437a03a556fe4bccecf543e85bc652566276af21 100644 --- a/www/misc/entrypoint.sh +++ b/www/misc/entrypoint.sh @@ -4,7 +4,9 @@ cd /opt/warpinfra; python3 manage.py makemigrations --merge python3 manage.py makemigrations python3 manage.py migrate +python3 manage.py compilemessages python3 manage.py collectstatic --noinput + cp -r /opt/warpinfra/static /opt/socket/ uwsgi --ini /opt/nginx/uwsgi.ini --py-autoreload 1 diff --git a/www/web/locale/de/LC_MESSAGES/django.po b/www/web/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000000000000000000000000000000000000..2491e9dc75bb3ba0c3ad5d8809ade981ffa5eb13 --- /dev/null +++ b/www/web/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,560 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-23 12:32+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/base.html:61 +msgid "logout" +msgstr "" + +#: templates/base.html:62 warpauth/templates/warpauth/profile.html.py:7 +msgid "profile_settings" +msgstr "" + +#: templates/base.html:65 +msgid "admin" +msgstr "" + +#: templates/base.html:70 warpfood/templates/warpfood/edit_sheet.html.py:6 +#: warpfood/templates/warpfood/main.html:6 +#: warpfood/templates/warpfood/view.html:6 warpzone/util.py:6 +msgid "pizza_sheet" +msgstr "PizzaSheet" + +#: templates/two_factor/core/login.html:5 +msgid "login" +msgstr "" + +#: templates/two_factor/core/login.html:8 +msgid "Enter your credentials." +msgstr "" + +#: templates/two_factor/core/login.html:11 +msgid "" +"We are calling your phone right now, please enter the\n" +" digits you hear." +msgstr "" + +#: templates/two_factor/core/login.html:14 +msgid "" +"We sent you a text message, please enter the tokens we\n" +" sent." +msgstr "" + +#: templates/two_factor/core/login.html:17 +msgid "" +"Please enter the tokens generated by your token\n" +" generator." +msgstr "" + +#: templates/two_factor/core/login.html:21 +msgid "" +"Use this form for entering backup tokens for logging in.\n" +" These tokens have been generated for you to print and keep safe. " +"Please\n" +" enter one of these backup tokens to login to your account." +msgstr "" + +#: templates/two_factor/core/login.html:34 +msgid "Or, alternatively, use one of your backup phones:" +msgstr "" + +#: templates/two_factor/core/login.html:44 +msgid "As a last resort, you can use a backup token:" +msgstr "" + +#: templates/two_factor/core/login.html:47 +msgid "Use Backup Token" +msgstr "" + +#: templates/two_factor/core/login.html:54 +msgid "Forgot Password?" +msgstr "" + +#: templates/two_factor/core/login.html:55 +msgid "Register" +msgstr "" + +#: templates/two_factor/core/login.html:56 +msgid "Resend Activation Link" +msgstr "" + +#: templates/two_factor/profile/disable.html:5 +msgid "Disable Two-factor Authentication" +msgstr "" + +#: templates/two_factor/profile/disable.html:6 +msgid "" +"You are about to disable two-factor authentication. This\n" +" compromises your account security, are you sure?" +msgstr "" + +#: templates/two_factor/profile/disable.html:12 +msgid "Disable" +msgstr "" + +#: templates/two_factor/profile/profile.html:5 +msgid "Account Security" +msgstr "" + +#: templates/two_factor/profile/profile.html:9 +msgid "Tokens will be generated by your token generator." +msgstr "" + +#: templates/two_factor/profile/profile.html:11 +#, python-format +msgid "Primary method: %(primary)s" +msgstr "" + +#: templates/two_factor/profile/profile.html:13 +msgid "Tokens will be generated by your YubiKey." +msgstr "" + +#: templates/two_factor/profile/profile.html:16 +msgid "Backup Tokens" +msgstr "" + +#: templates/two_factor/profile/profile.html:18 +msgid "" +"If you don't have any device with you, you can access\n" +" your account using backup tokens." +msgstr "" + +#: templates/two_factor/profile/profile.html:20 +#, python-format +msgid "" +"\n" +" You have only one backup token remaining.\n" +" " +msgid_plural "" +"\n" +" You have %(counter)s backup tokens remaining.\n" +" " +msgstr[0] "" +msgstr[1] "" + +#: templates/two_factor/profile/profile.html:27 +msgid "Show Codes" +msgstr "" + +#: templates/two_factor/profile/profile.html:29 +#: templates/two_factor/profile/profile.html:33 +msgid "Disable Two-Factor Authentication" +msgstr "" + +#: templates/two_factor/profile/profile.html:30 +msgid "" +"However we strongly discourage you to do so, you can\n" +" also disable two-factor authentication for your account." +msgstr "" + +#: templates/two_factor/profile/profile.html:35 +msgid "" +"Two-factor authentication is not enabled for your\n" +" account. Enable two-factor authentication for enhanced account\n" +" security." +msgstr "" + +#: templates/two_factor/profile/profile.html:39 +msgid "Enable Two-Factor Authentication" +msgstr "" + +#: warpauth/templates/warpauth/profile.html:13 +msgid "information" +msgstr "" + +#: warpauth/templates/warpauth/profile.html:16 +#: warpauth/templates/warpauth/profile/change_password.html:34 +msgid "change_password" +msgstr "" + +#: warpauth/templates/warpauth/profile.html:19 +msgid "two_factor_authentication" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:9 +#: warpauth/templates/warpauth/reset_password/change_password.html:9 +msgid "password_change_successful" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:15 +msgid "current_password" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:21 +msgid "new_password" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:27 +#: warpauth/templates/warpauth/register/register.html:31 +#: warpauth/templates/warpauth/register/register.html:32 +#: warpauth/templates/warpauth/reset_password/change_password.html:21 +#: warpauth/templates/warpauth/reset_password/change_password.html:22 +msgid "confirm_password" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:5 +msgid "user_data" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:13 +msgid "information_changed_successfully" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:20 +#: warpfood/templates/warpfood/edit_sheet.html:15 +msgid "submit" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:29 +msgid "groups" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:3 +msgid "activation" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:11 +msgid "back" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:14 +msgid "msg_account_successfully_activated" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:17 +msgid "ok" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:3 +#: warpauth/templates/warpauth/register/resend_token.html:3 +msgid "registration" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:7 +msgid "msg_account_successfully_created" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:10 +msgid "Back" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:15 +msgid "please_register" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:25 +#: warpauth/templates/warpauth/register/register.html:26 +#: warpauth/templates/warpauth/register/resend_token.html:18 +#: warpauth/templates/warpauth/register/resend_token.html:19 +#: warpauth/templates/warpauth/reset_password/token_gen.html:15 +#: warpauth/templates/warpauth/reset_password/token_gen.html:16 +#: warpfood/templates/warpfood/view.html:80 +msgid "username" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:27 +#: warpauth/templates/warpauth/register/register.html:28 +#: warpauth/templates/warpauth/register/resend_token.html:20 +#: warpauth/templates/warpauth/register/resend_token.html:21 +#: warpauth/templates/warpauth/reset_password/token_gen.html:17 +#: warpauth/templates/warpauth/reset_password/token_gen.html:18 +msgid "email" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:29 +#: warpauth/templates/warpauth/register/register.html:30 +#: warpauth/templates/warpauth/reset_password/change_password.html:18 +#: warpauth/templates/warpauth/reset_password/change_password.html:19 +msgid "password" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:33 +msgid "register" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:7 +msgid "error_processing_request" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:11 +msgid "resend_token_successful" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:16 +msgid "resend_token" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:22 +msgid "proceed" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:3 +#: warpauth/templates/warpauth/reset_password/change_password.html:24 +#: warpauth/templates/warpauth/reset_password/token_gen.html:3 +msgid "reset_password" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:9 +msgid "redirect_within_5_sec_if_not_click" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:10 +msgid "here" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:16 +msgid "enter_new_password_for_user" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:9 +msgid "msg_reset_email_sent" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:14 +msgid "enter_email_address" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:22 +#: warpauth/views/register.py:34 +msgid "err_invalid_email_format" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:27 +msgid "Reset Password" +msgstr "" + +#: warpauth/util.py:5 +msgid "mail_subj_password_changed_recently" +msgstr "" + +#: warpauth/util.py:5 +msgid "mail_content_password_changed_recently" +msgstr "" + +#: warpauth/views/register.py:16 +#, python-format +msgid "https://infra.warpzone.ms/account/registration/activate/%(token)s" +msgstr "" + +#: warpauth/views/register.py:17 +msgid "Your registration for WarpInfra" +msgstr "" + +#: warpauth/views/register.py:37 +msgid "err_fill_all_fields" +msgstr "" + +#: warpauth/views/register.py:39 +msgid "err_invalid_username" +msgstr "" + +#: warpauth/views/register.py:41 warpauth/views/reset_password.py:57 +msgid "err_passwords_not_matching" +msgstr "" + +#: warpauth/views/register.py:64 +msgid "err_sending_mail" +msgstr "" + +#: warpauth/views/register.py:68 +msgid "err_username_not_available" +msgstr "" + +#: warpauth/views/register.py:81 +msgid "err_token_invalid" +msgstr "" + +#: warpauth/views/register.py:92 warpauth/views/register.py:95 +msgid "err_processing_request" +msgstr "" + +#: warpauth/views/reset_password.py:34 +msgid "mail_subj_reset_password_token" +msgstr "" + +#: warpauth/views/reset_password.py:34 +#, python-format +msgid "mail_content_reset_password_token %(link)s" +msgstr "" + +#: warpauth/views/reset_password.py:36 +msgid "err_sending_email" +msgstr "" + +#: warpauth/views/reset_password.py:68 +msgid "err_invalid_token" +msgstr "" + +#: warpfood/templates/warpfood/main.html:16 +msgid "create_food_sheet" +msgstr "" + +#: warpfood/templates/warpfood/main.html:25 +msgid "estimated_order_time" +msgstr "" + +#: warpfood/templates/warpfood/main.html:25 +msgid "pizza_service" +msgstr "" + +#: warpfood/templates/warpfood/main.html:25 +msgid "status" +msgstr "" + +#: warpfood/templates/warpfood/view.html:15 +msgid "homepage" +msgstr "" + +#: warpfood/templates/warpfood/view.html:16 +msgid "phone_number" +msgstr "" + +#: warpfood/templates/warpfood/view.html:17 +msgid "estimaged_order_time" +msgstr "" + +#: warpfood/templates/warpfood/view.html:19 +msgid "real_order_time" +msgstr "" + +#: warpfood/templates/warpfood/view.html:24 +msgid "edit" +msgstr "" + +#: warpfood/templates/warpfood/view.html:26 +msgid "close" +msgstr "" + +#: warpfood/templates/warpfood/view.html:28 +msgid "open" +msgstr "" + +#: warpfood/templates/warpfood/view.html:32 +msgid "ordered" +msgstr "" + +#: warpfood/templates/warpfood/view.html:34 +msgid "confirm" +msgstr "" + +#: warpfood/templates/warpfood/view.html:41 +msgid "order_sum" +msgstr "" + +#: warpfood/templates/warpfood/view.html:57 +msgid "choose_from_products" +msgstr "" + +#: warpfood/templates/warpfood/view.html:65 +msgid "order" +msgstr "" + +#: warpfood/templates/warpfood/view.html:73 +#, python-format +msgid "" +" this_sheet_was_ordered %(sheet.order_time | naturaltime)s by " +"%(sheet.order_user)s" +msgstr "" + +#: warpfood/templates/warpfood/view.html:81 +msgid "article" +msgstr "" + +#: warpfood/templates/warpfood/view.html:82 +msgid "size" +msgstr "" + +#: warpfood/templates/warpfood/view.html:83 +msgid "price" +msgstr "" + +#: warpfood/templates/warpfood/view.html:84 +msgid "comment" +msgstr "" + +#: warpfood/templates/warpfood/view.html:85 +msgid "paid" +msgstr "" + +#: warpfood/templates/warpfood/view.html:126 +msgid "product_list" +msgstr "" + +#: warpfood/templates/warpfood/view.html:162 +msgid "are_you_sure" +msgstr "" + +#: warpmain/templates/warpmain/about.html:5 warpzone/util.py:7 +msgid "about" +msgstr "" + +#: warpmain/templates/warpmain/about.html:7 +msgid "welcome_to_wz_internal" +msgstr "" + +#: warpmain/templates/warpmain/about.html:10 +msgid "about_text" +msgstr "" + +#: warpmain/templates/warpmain/about.html:14 +msgid "visit_us!" +msgstr "" + +#: warpmain/templates/warpmain/about.html:17 +msgid "license" +msgstr "" + +#: warpmain/templates/warpmain/about.html:19 +msgid "licenses" +msgstr "" + +#: warpmain/templates/warpmain/about.html:22 +msgid "support" +msgstr "" + +#: warpmain/templates/warpmain/about.html:23 +msgid "support_text" +msgstr "" + +#: warpmain/templates/warpmain/about.html:41 +msgid "open_source_licenses" +msgstr "" + +#: warpmain/templates/warpmain/main.html:7 +msgid "news" +msgstr "" + +#: warpmain/templates/warpmain/main.html:11 +msgid "add_news" +msgstr "" + +#: warpmain/templates/warpmain/main.html:20 +msgid "create" +msgstr "" + +#: warpmain/templates/warpmain/main.html:36 +msgid "created_by" +msgstr "" + +#: warppay/templates/warppay/main.html:6 +msgid "News" +msgstr "" + +#: warppay/templates/warppay/main.html:17 +msgid "Created by" +msgstr "" diff --git a/www/web/locale/en/LC_MESSAGES/django.po b/www/web/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000000000000000000000000000000000000..bcb946391ebdb49b72da3c1f52b9757d04d8d07f --- /dev/null +++ b/www/web/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,560 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-23 12:32+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/base.html:61 +msgid "logout" +msgstr "" + +#: templates/base.html:62 warpauth/templates/warpauth/profile.html.py:7 +msgid "profile_settings" +msgstr "" + +#: templates/base.html:65 +msgid "admin" +msgstr "" + +#: templates/base.html:70 warpfood/templates/warpfood/edit_sheet.html.py:6 +#: warpfood/templates/warpfood/main.html:6 +#: warpfood/templates/warpfood/view.html:6 warpzone/util.py:6 +msgid "pizza_sheet" +msgstr "" + +#: templates/two_factor/core/login.html:5 +msgid "login" +msgstr "" + +#: templates/two_factor/core/login.html:8 +msgid "Enter your credentials." +msgstr "" + +#: templates/two_factor/core/login.html:11 +msgid "" +"We are calling your phone right now, please enter the\n" +" digits you hear." +msgstr "" + +#: templates/two_factor/core/login.html:14 +msgid "" +"We sent you a text message, please enter the tokens we\n" +" sent." +msgstr "" + +#: templates/two_factor/core/login.html:17 +msgid "" +"Please enter the tokens generated by your token\n" +" generator." +msgstr "" + +#: templates/two_factor/core/login.html:21 +msgid "" +"Use this form for entering backup tokens for logging in.\n" +" These tokens have been generated for you to print and keep safe. " +"Please\n" +" enter one of these backup tokens to login to your account." +msgstr "" + +#: templates/two_factor/core/login.html:34 +msgid "Or, alternatively, use one of your backup phones:" +msgstr "" + +#: templates/two_factor/core/login.html:44 +msgid "As a last resort, you can use a backup token:" +msgstr "" + +#: templates/two_factor/core/login.html:47 +msgid "Use Backup Token" +msgstr "" + +#: templates/two_factor/core/login.html:54 +msgid "Forgot Password?" +msgstr "" + +#: templates/two_factor/core/login.html:55 +msgid "Register" +msgstr "" + +#: templates/two_factor/core/login.html:56 +msgid "Resend Activation Link" +msgstr "" + +#: templates/two_factor/profile/disable.html:5 +msgid "Disable Two-factor Authentication" +msgstr "" + +#: templates/two_factor/profile/disable.html:6 +msgid "" +"You are about to disable two-factor authentication. This\n" +" compromises your account security, are you sure?" +msgstr "" + +#: templates/two_factor/profile/disable.html:12 +msgid "Disable" +msgstr "" + +#: templates/two_factor/profile/profile.html:5 +msgid "Account Security" +msgstr "" + +#: templates/two_factor/profile/profile.html:9 +msgid "Tokens will be generated by your token generator." +msgstr "" + +#: templates/two_factor/profile/profile.html:11 +#, python-format +msgid "Primary method: %(primary)s" +msgstr "" + +#: templates/two_factor/profile/profile.html:13 +msgid "Tokens will be generated by your YubiKey." +msgstr "" + +#: templates/two_factor/profile/profile.html:16 +msgid "Backup Tokens" +msgstr "" + +#: templates/two_factor/profile/profile.html:18 +msgid "" +"If you don't have any device with you, you can access\n" +" your account using backup tokens." +msgstr "" + +#: templates/two_factor/profile/profile.html:20 +#, python-format +msgid "" +"\n" +" You have only one backup token remaining.\n" +" " +msgid_plural "" +"\n" +" You have %(counter)s backup tokens remaining.\n" +" " +msgstr[0] "" +msgstr[1] "" + +#: templates/two_factor/profile/profile.html:27 +msgid "Show Codes" +msgstr "" + +#: templates/two_factor/profile/profile.html:29 +#: templates/two_factor/profile/profile.html:33 +msgid "Disable Two-Factor Authentication" +msgstr "" + +#: templates/two_factor/profile/profile.html:30 +msgid "" +"However we strongly discourage you to do so, you can\n" +" also disable two-factor authentication for your account." +msgstr "" + +#: templates/two_factor/profile/profile.html:35 +msgid "" +"Two-factor authentication is not enabled for your\n" +" account. Enable two-factor authentication for enhanced account\n" +" security." +msgstr "" + +#: templates/two_factor/profile/profile.html:39 +msgid "Enable Two-Factor Authentication" +msgstr "" + +#: warpauth/templates/warpauth/profile.html:13 +msgid "information" +msgstr "" + +#: warpauth/templates/warpauth/profile.html:16 +#: warpauth/templates/warpauth/profile/change_password.html:34 +msgid "change_password" +msgstr "" + +#: warpauth/templates/warpauth/profile.html:19 +msgid "two_factor_authentication" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:9 +#: warpauth/templates/warpauth/reset_password/change_password.html:9 +msgid "password_change_successful" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:15 +msgid "current_password" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:21 +msgid "new_password" +msgstr "" + +#: warpauth/templates/warpauth/profile/change_password.html:27 +#: warpauth/templates/warpauth/register/register.html:31 +#: warpauth/templates/warpauth/register/register.html:32 +#: warpauth/templates/warpauth/reset_password/change_password.html:21 +#: warpauth/templates/warpauth/reset_password/change_password.html:22 +msgid "confirm_password" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:5 +msgid "user_data" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:13 +msgid "information_changed_successfully" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:20 +#: warpfood/templates/warpfood/edit_sheet.html:15 +msgid "submit" +msgstr "" + +#: warpauth/templates/warpauth/profile/information.html:29 +msgid "groups" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:3 +msgid "activation" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:11 +msgid "back" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:14 +msgid "msg_account_successfully_activated" +msgstr "" + +#: warpauth/templates/warpauth/register/activate.html:17 +msgid "ok" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:3 +#: warpauth/templates/warpauth/register/resend_token.html:3 +msgid "registration" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:7 +msgid "msg_account_successfully_created" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:10 +msgid "Back" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:15 +msgid "please_register" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:25 +#: warpauth/templates/warpauth/register/register.html:26 +#: warpauth/templates/warpauth/register/resend_token.html:18 +#: warpauth/templates/warpauth/register/resend_token.html:19 +#: warpauth/templates/warpauth/reset_password/token_gen.html:15 +#: warpauth/templates/warpauth/reset_password/token_gen.html:16 +#: warpfood/templates/warpfood/view.html:80 +msgid "username" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:27 +#: warpauth/templates/warpauth/register/register.html:28 +#: warpauth/templates/warpauth/register/resend_token.html:20 +#: warpauth/templates/warpauth/register/resend_token.html:21 +#: warpauth/templates/warpauth/reset_password/token_gen.html:17 +#: warpauth/templates/warpauth/reset_password/token_gen.html:18 +msgid "email" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:29 +#: warpauth/templates/warpauth/register/register.html:30 +#: warpauth/templates/warpauth/reset_password/change_password.html:18 +#: warpauth/templates/warpauth/reset_password/change_password.html:19 +msgid "password" +msgstr "" + +#: warpauth/templates/warpauth/register/register.html:33 +msgid "register" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:7 +msgid "error_processing_request" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:11 +msgid "resend_token_successful" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:16 +msgid "resend_token" +msgstr "" + +#: warpauth/templates/warpauth/register/resend_token.html:22 +msgid "proceed" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:3 +#: warpauth/templates/warpauth/reset_password/change_password.html:24 +#: warpauth/templates/warpauth/reset_password/token_gen.html:3 +msgid "reset_password" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:9 +msgid "redirect_within_5_sec_if_not_click" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:10 +msgid "here" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/change_password.html:16 +msgid "enter_new_password_for_user" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:9 +msgid "msg_reset_email_sent" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:14 +msgid "enter_email_address" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:22 +#: warpauth/views/register.py:34 +msgid "err_invalid_email_format" +msgstr "" + +#: warpauth/templates/warpauth/reset_password/token_gen.html:27 +msgid "Reset Password" +msgstr "" + +#: warpauth/util.py:5 +msgid "mail_subj_password_changed_recently" +msgstr "" + +#: warpauth/util.py:5 +msgid "mail_content_password_changed_recently" +msgstr "" + +#: warpauth/views/register.py:16 +#, python-format +msgid "https://infra.warpzone.ms/account/registration/activate/%(token)s" +msgstr "" + +#: warpauth/views/register.py:17 +msgid "Your registration for WarpInfra" +msgstr "" + +#: warpauth/views/register.py:37 +msgid "err_fill_all_fields" +msgstr "" + +#: warpauth/views/register.py:39 +msgid "err_invalid_username" +msgstr "" + +#: warpauth/views/register.py:41 warpauth/views/reset_password.py:57 +msgid "err_passwords_not_matching" +msgstr "" + +#: warpauth/views/register.py:64 +msgid "err_sending_mail" +msgstr "" + +#: warpauth/views/register.py:68 +msgid "err_username_not_available" +msgstr "" + +#: warpauth/views/register.py:81 +msgid "err_token_invalid" +msgstr "" + +#: warpauth/views/register.py:92 warpauth/views/register.py:95 +msgid "err_processing_request" +msgstr "" + +#: warpauth/views/reset_password.py:34 +msgid "mail_subj_reset_password_token" +msgstr "" + +#: warpauth/views/reset_password.py:34 +#, python-format +msgid "mail_content_reset_password_token %(link)s" +msgstr "" + +#: warpauth/views/reset_password.py:36 +msgid "err_sending_email" +msgstr "" + +#: warpauth/views/reset_password.py:68 +msgid "err_invalid_token" +msgstr "" + +#: warpfood/templates/warpfood/main.html:16 +msgid "create_food_sheet" +msgstr "" + +#: warpfood/templates/warpfood/main.html:25 +msgid "estimated_order_time" +msgstr "" + +#: warpfood/templates/warpfood/main.html:25 +msgid "pizza_service" +msgstr "" + +#: warpfood/templates/warpfood/main.html:25 +msgid "status" +msgstr "" + +#: warpfood/templates/warpfood/view.html:15 +msgid "homepage" +msgstr "" + +#: warpfood/templates/warpfood/view.html:16 +msgid "phone_number" +msgstr "" + +#: warpfood/templates/warpfood/view.html:17 +msgid "estimaged_order_time" +msgstr "" + +#: warpfood/templates/warpfood/view.html:19 +msgid "real_order_time" +msgstr "" + +#: warpfood/templates/warpfood/view.html:24 +msgid "edit" +msgstr "" + +#: warpfood/templates/warpfood/view.html:26 +msgid "close" +msgstr "" + +#: warpfood/templates/warpfood/view.html:28 +msgid "open" +msgstr "" + +#: warpfood/templates/warpfood/view.html:32 +msgid "ordered" +msgstr "" + +#: warpfood/templates/warpfood/view.html:34 +msgid "confirm" +msgstr "" + +#: warpfood/templates/warpfood/view.html:41 +msgid "order_sum" +msgstr "" + +#: warpfood/templates/warpfood/view.html:57 +msgid "choose_from_products" +msgstr "" + +#: warpfood/templates/warpfood/view.html:65 +msgid "order" +msgstr "" + +#: warpfood/templates/warpfood/view.html:73 +#, python-format +msgid "" +" this_sheet_was_ordered %(sheet.order_time | naturaltime)s by " +"%(sheet.order_user)s" +msgstr "" + +#: warpfood/templates/warpfood/view.html:81 +msgid "article" +msgstr "" + +#: warpfood/templates/warpfood/view.html:82 +msgid "size" +msgstr "" + +#: warpfood/templates/warpfood/view.html:83 +msgid "price" +msgstr "" + +#: warpfood/templates/warpfood/view.html:84 +msgid "comment" +msgstr "" + +#: warpfood/templates/warpfood/view.html:85 +msgid "paid" +msgstr "" + +#: warpfood/templates/warpfood/view.html:126 +msgid "product_list" +msgstr "" + +#: warpfood/templates/warpfood/view.html:162 +msgid "are_you_sure" +msgstr "" + +#: warpmain/templates/warpmain/about.html:5 warpzone/util.py:7 +msgid "about" +msgstr "" + +#: warpmain/templates/warpmain/about.html:7 +msgid "welcome_to_wz_internal" +msgstr "" + +#: warpmain/templates/warpmain/about.html:10 +msgid "about_text" +msgstr "" + +#: warpmain/templates/warpmain/about.html:14 +msgid "visit_us!" +msgstr "" + +#: warpmain/templates/warpmain/about.html:17 +msgid "license" +msgstr "" + +#: warpmain/templates/warpmain/about.html:19 +msgid "licenses" +msgstr "" + +#: warpmain/templates/warpmain/about.html:22 +msgid "support" +msgstr "" + +#: warpmain/templates/warpmain/about.html:23 +msgid "support_text" +msgstr "" + +#: warpmain/templates/warpmain/about.html:41 +msgid "open_source_licenses" +msgstr "" + +#: warpmain/templates/warpmain/main.html:7 +msgid "news" +msgstr "" + +#: warpmain/templates/warpmain/main.html:11 +msgid "add_news" +msgstr "" + +#: warpmain/templates/warpmain/main.html:20 +msgid "create" +msgstr "" + +#: warpmain/templates/warpmain/main.html:36 +msgid "created_by" +msgstr "" + +#: warppay/templates/warppay/main.html:6 +msgid "News" +msgstr "" + +#: warppay/templates/warppay/main.html:17 +msgid "Created by" +msgstr "" diff --git a/www/web/templates/base.html b/www/web/templates/base.html index e809a49c90bfc4c9125a9c4f8ff89fb1a76049b4..417c943fb0dbe6be19221b90d74a3c360320fb58 100644 --- a/www/web/templates/base.html +++ b/www/web/templates/base.html @@ -58,16 +58,16 @@ {% endif %} {% endfor %} </ul> - <ul class="nav navbar-nav navbar-right"><li><a href="/account/logout">{% trans "Logout" %}</a></li></ul> - <ul class="nav navbar-nav navbar-right"><li><a href="/profile">{% trans "Profile Settings" %}</a></li></ul> + <ul class="nav navbar-nav navbar-right"><li><a href="/account/logout">{% trans "logout" %}</a></li></ul> + <ul class="nav navbar-nav navbar-right"><li><a href="/account/profile">{% trans "profile_settings" %}</a></li></ul> {% if user.is_superuser %} - <ul class="nav navbar-nav navbar-right"><li><a href="/admin">{% trans "Admin" %}</a></li></ul> + <ul class="nav navbar-nav navbar-right"><li><a href="/admin">{% trans "admin" %}</a></li></ul> {% endif %} {% else %} <ul class="nav navbar-nav"> - <li><a href="/pizza">PizzaSheet</a></li> + <li><a href="/pizza">{% trans "pizza_sheet" %}</a></li> </ul> {% endif %} <ul class="nav navbar-nav"> @@ -93,7 +93,7 @@ <div class="container"> <div class="container"> <div class="navbar-header"> - <p class="text-muted"><small>Warpzone</small></p>{% get_current_language as LANGUAGE_CODE %} {{ LANGUAGE_CODE}} + <p class="text-muted"><small>Warpzone</small></p> <!-- {% get_current_language as LANGUAGE_CODE %} {{ LANGUAGE_CODE}} --> </div> </div> </div> diff --git a/www/web/templates/two_factor/core/login.html b/www/web/templates/two_factor/core/login.html index 63012d449f3ca929d7a18e3b23190afd1da73598..86fc6220a98603ec3cbbbd8cc80e95b8bcc39959 100644 --- a/www/web/templates/two_factor/core/login.html +++ b/www/web/templates/two_factor/core/login.html @@ -2,7 +2,7 @@ {% load i18n two_factor %} {% block content %} - <h1>{% block title %}{% trans "Login" %}{% endblock %}</h1> + <h1>{% block title %}{% trans "login" %}{% endblock %}</h1> {% if wizard.steps.current == 'auth' %} <p>{% blocktrans %}Enter your credentials.{% endblocktrans %}</p> diff --git a/www/web/warpauth/models.py b/www/web/warpauth/models.py index 2d1096947077d94c883a567c040c4479377ebc3d..1d4244af31a2b48b154fbeec64a0cc5dc80ca18f 100644 --- a/www/web/warpauth/models.py +++ b/www/web/warpauth/models.py @@ -22,7 +22,6 @@ class ActivationToken(models.Model): def __str__(self): return self.token - # LDAP diff --git a/www/web/warpauth/templates/warpauth/login.html b/www/web/warpauth/templates/warpauth/login.html deleted file mode 100644 index b166d409318a3531a421d0cbe94686c7fa2a8d1f..0000000000000000000000000000000000000000 --- a/www/web/warpauth/templates/warpauth/login.html +++ /dev/null @@ -1,26 +0,0 @@ -{% extends "base.html" %} -{% load i18n %} -{% block title %}{% trans "Login" %}{% endblock %} -{% block content %} - - <form class="form-signin" style="max-width: 330px; margin: 0 auto; padding: 40px"> - {% csrf_token %} - <h2 class="form-signin-heading">{% trans "Please sign in" %}</h2> - <label for="inputUser">{% trans "Username" %}</label> - <input name="username" type="user" id="inputUser" class="form-control" placeholder="{% trans "Username" %}" required autofocus> - - <label for="inputPassword" style="padding-top:10px;">{% trans "Password" %}</label> - <input name="password" type="password" id="inputPassword" class="form-control" placeholder="{% trans "Password" %}" required> - {% if error %} - <div class="alert alert-warning alert-dismissible" role="alert"> - <strong>{{ error }}</strong> - </div> - {% else %} - <br> - {% endif %} - <button class="btn btn-lg btn-primary btn-block" type="submit" formmethod="post" class="btn btn-default">{% trans "Sign in" %}</button> - <a class="btn" href="/reset_password">{% trans "Forgot Password?" %}</a><br> - <a class="btn" href="/register">{% trans "Register" %}</a> - </form> - -{% endblock %} diff --git a/www/web/warpauth/templates/warpauth/profile.html b/www/web/warpauth/templates/warpauth/profile.html index 5235e4acd07a307cb4524984ed5f2960bdcc4a3f..a1b4b66fcfc993c6500f03ad1dc179b9ee660eb0 100644 --- a/www/web/warpauth/templates/warpauth/profile.html +++ b/www/web/warpauth/templates/warpauth/profile.html @@ -4,19 +4,19 @@ {% block content %} -<p class="lead">{% block title %}{% trans "Profile Settings" %}{% endblock %}</p><p></p> +<p class="lead">{% block title %}{% trans "profile_settings" %}{% endblock %}</p><p></p> <div> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"> - <a href="#information" aria-controls="information" role="tab" data-toggle="tab">{% trans "Information" %}</a> + <a href="#information" aria-controls="information" role="tab" data-toggle="tab">{% trans "information" %}</a> </li> <li role="presentation"> - <a href="#change_passwd" aria-controls="change_passwd" role="tab" data-toggle="tab">{% trans "Change Password" %}</a> + <a href="#change_passwd" aria-controls="change_passwd" role="tab" data-toggle="tab">{% trans "change_password" %}</a> </li> <li role="presentation"> - <a href="/account/two_factor/">{% trans "Two Factor Authentication" %}</a> + <a href="/account/two_factor/">{% trans "two_factor_authentication" %}</a> </li> </ul> diff --git a/www/web/warpauth/templates/warpauth/profile/change_password.html b/www/web/warpauth/templates/warpauth/profile/change_password.html index f42f79e2d0ff08bb39cd4534d9453302e9442e71..24bc71d5c28714f3ac8eadcbd488ad5d19667208 100644 --- a/www/web/warpauth/templates/warpauth/profile/change_password.html +++ b/www/web/warpauth/templates/warpauth/profile/change_password.html @@ -6,32 +6,32 @@ <div class="alert alert-danger">{{ error_passwd }}</div><br> {% endif %} {% if success_passwd %} - <div class="alert alert-success">{% trans "Password changed successfully" %}</div><br> + <div class="alert alert-success">{% trans "password_change_successful" %}</div><br> {% endif %} - <form class="form-horizontal" method="POST" action="/profile/change_password/" role="form"> + <form class="form-horizontal" method="POST" action="/account/profile/change_password/" role="form"> {% csrf_token %} <div class="form-group"> - <label class="control-label col-sm-2 col-lg-2 " for="id_old_pw">{% trans "Current Password" %}</label> + <label class="control-label col-sm-2 col-lg-2 " for="id_old_pw">{% trans "current_password" %}</label> <div class=" col-sm-10 col-lg-10 "> <input class=" form-control" id="id_old_pw" name="old_pw" type="password" /> </div> </div> <div class="form-group"> - <label class="control-label col-sm-2 col-lg-2 " for="id_new_pw">{% trans "New Password" %}</label> + <label class="control-label col-sm-2 col-lg-2 " for="id_new_pw">{% trans "new_password" %}</label> <div class=" col-sm-10 col-lg-10 "> <input class=" form-control" id="id_new_pw" name="new_pw" type="password" /> </div> </div> <div class="form-group"> - <label class="control-label col-sm-2 col-lg-2 " for="id_new_pw_confirm">{% trans "Confirm Password" %}</label> + <label class="control-label col-sm-2 col-lg-2 " for="id_new_pw_confirm">{% trans "confirm_password" %}</label> <div class=" col-sm-10 col-lg-10 "> <input class=" form-control" id="id_new_pw_confirm" name="new_pw_confirm" type="password" /> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> - <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">Change Password</button> + <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "change_password" %}</button> </div> </div> </form> diff --git a/www/web/warpauth/templates/warpauth/profile/information.html b/www/web/warpauth/templates/warpauth/profile/information.html index 4fd7fb1c03bdc48a8a5f318c533a5ff63d558b20..6e5622a91a783a218f64fe3a6140fd96ee28dd95 100644 --- a/www/web/warpauth/templates/warpauth/profile/information.html +++ b/www/web/warpauth/templates/warpauth/profile/information.html @@ -2,7 +2,7 @@ {% load bootstrap %} <div> <br/> - <p class="lead">{% trans "User data" %}</p><p /> + <p class="lead">{% trans "user_data" %}</p><p /> <div class="panel panel-default"> <div class="panel-body"> @@ -10,14 +10,14 @@ <div class="alert alert-danger">{{ error_info }}</div><br> {% endif %} {% if success_info %} - <div class="alert alert-success">{% trans "Information changed successfully" %}</div><br> + <div class="alert alert-success">{% trans "information_changed_successfully" %}</div><br> {% endif %} - <form class="form-horizontal" action="/profile/change_information/" method="POST" role="form"> + <form class="form-horizontal" action="/account/profile/change_information/" method="POST" role="form"> {{ ldap_user_form | bootstrap_horizontal }} <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> {% csrf_token %} - <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "Submit" %}</button> + <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "submit" %}</button> </div> </div> </form> @@ -26,7 +26,7 @@ <div class="panel panel-default"> <div class="panel-body"> - <p class="lead">{% trans "Groups" %}</p><p /> + <p class="lead">{% trans "groups" %}</p><p /> <table class="table"> {% for ldap_group in ldap_groups %} <tr><td>{{ ldap_group }}</td></tr> diff --git a/www/web/warpauth/templates/warpauth/register/activate.html b/www/web/warpauth/templates/warpauth/register/activate.html index 9a8eddb0b6efb251daab27422cae69d90dc0fadd..272fdbbf1c7ce113b6b5dc78dd73d59fbf324003 100644 --- a/www/web/warpauth/templates/warpauth/register/activate.html +++ b/www/web/warpauth/templates/warpauth/register/activate.html @@ -1,23 +1,19 @@ {% extends "base.html" %} {% load i18n %} -{% block title %}{% trans "Activation" %}{% endblock %} +{% block title %}{% trans "activation" %}{% endblock %} {% block content %} - {% if token_error %} + {% if error %} <div class="alert alert-danger"> - {% blocktrans %} - The Token you have provided is invalid. - {% endblocktrans %} + {{ error }} </div> <br> - <a class="btn" href="/">{% trans "Back" %}</a> + <a class="btn" href="/">{% trans "back" %}</a> {% else %} <div class="alert alert-success"> - {% blocktrans %} - Your Account was successfully activated. - {% endblocktrans %} - </div> + {% trans "msg_account_successfully_activated" %} + </div> <br> - <a class="btn" href="/">{% trans "Ok" %}</a> + <a class="btn" href="/">{% trans "ok" %}</a> {% endif %} {% endblock %} diff --git a/www/web/warpauth/templates/warpauth/register/register.html b/www/web/warpauth/templates/warpauth/register/register.html index ef7f4f0f0b78365a23162690e331bd40dd2dd430..927896d73de83c9620938ae7f0d06e6dca27631d 100644 --- a/www/web/warpauth/templates/warpauth/register/register.html +++ b/www/web/warpauth/templates/warpauth/register/register.html @@ -1,12 +1,10 @@ {% extends "base.html" %} {% load i18n %} -{% block title %}{% trans "Registration" %}{% endblock %} +{% block title %}{% trans "registration" %}{% endblock %} {% block content %} {% if success %} <div class="alert alert-success"> - {% blocktrans %} - User successfully created. Please wait for your activation. - {% endblocktrans %} + {% trans "msg_account_successfully_created" %} </div> <br> <a class="btn" href="/">{% trans "Back" %}</a> @@ -14,35 +12,25 @@ <form class="form" style="max-width: 330px; margin: 0 auto; padding: 40px"> {% csrf_token %} - <h2 class="form">{% trans "Please register" %}</h2> + <h2 class="form">{% trans "please_register" %}</h2> {% if error %} <div class="alert alert-warning alert-dismissible" role="alert"> <strong> - {% if error == "username_not_available" %} - {% trans "This username is not available" %} - {% elif error == "passwords_did_not_match" %} - {% trans "The passwords did not match" %} - {% elif error == "invalid_email" %} - {% trans "The Email adress is invalid." %} - {% elif error == "fill_all_fields" %} - {% trans "Please fill all fields." %} - {% elif error == "invalid_username" %} - {% trans "Username can only contain alphanumeric characters and the underscore." %} - {% endif %} + {{ error }} </strong> </div> {% else %} <br> {% endif %} - <label for="inputUser">{% trans "Username" %}</label> - <input name="username" type="user" id="inputUser" class="form-control" placeholder="{% trans "Username" %}" required autofocus><br> - <label for="inputEmail">{% trans "Email" %}</label> - <input name="email" type="email" id="inputEmail" class="form-control" placeholder="{% trans "Email" %}" required><br> - <label for="inputPassword">{% trans "Password" %}</label> - <input name="password" type="password" id="inputPassword" class="form-control" placeholder="{% trans "Password" %}" required><br> - <label for="inputPassword2">{% trans "Confirm" %}</label> - <input name="password2" type="password" id="inputPassword2" class="form-control" placeholder="{% trans "Confirm" %}" required><br> - <button class="btn btn-lg btn-primary btn-block" type="submit" formmethod="post" class="btn btn-default">{% trans "Register" %}</button> + <label for="inputUser">{% trans "username" %}</label> + <input name="username" type="user" id="inputUser" class="form-control" placeholder="{% trans "username" %}" required autofocus><br> + <label for="inputEmail">{% trans "email" %}</label> + <input name="email" type="email" id="inputEmail" class="form-control" placeholder="{% trans "email" %}" required><br> + <label for="inputPassword">{% trans "password" %}</label> + <input name="password" type="password" id="inputPassword" class="form-control" placeholder="{% trans "password" %}" required><br> + <label for="inputPassword2">{% trans "confirm_password" %}</label> + <input name="password2" type="password" id="inputPassword2" class="form-control" placeholder="{% trans "confirm_password" %}" required><br> + <button class="btn btn-lg btn-primary btn-block" type="submit" formmethod="post" class="btn btn-default">{% trans "register" %}</button> </form> {% endif %} diff --git a/www/web/warpauth/templates/warpauth/register/resend_token.html b/www/web/warpauth/templates/warpauth/register/resend_token.html index 584d19ef620ffcfe36574eb95058b14c17c4247e..3213cab665cd311202c77a5774f88393bd345512 100644 --- a/www/web/warpauth/templates/warpauth/register/resend_token.html +++ b/www/web/warpauth/templates/warpauth/register/resend_token.html @@ -1,28 +1,24 @@ {% extends "base.html" %} {% load i18n %} -{% block title %}{% trans "Registration" %}{% endblock %} +{% block title %}{% trans "registration" %}{% endblock %} {% block content %} {% if error %} <div class="alert alert-danger"> - {% blocktrans %} - Error processing your request. Please contact the administrator. - {% endblocktrans %} + {% trans "error_processing_request" %} <!-- Error processing your request. Please contact the administrator. --> </div> {% elif success %} <div class="alert alert-success"> - {% blocktrans %} - Email resended - {% endblocktrans %} + {% trans "resend_token_successful" %} </div> {% endif %} <form class="form" style="max-width: 330px; margin: 0 auto; padding: 40px"> {% csrf_token %} - <h2 class="form">{% trans "Resend token" %}</h2> + <h2 class="form">{% trans "resend_token" %}</h2> <br> - <label for="inputUser">{% trans "Username" %}</label> - <input name="username" type="user" id="inputUser" class="form-control" placeholder="{% trans "Username" %}" required autofocus><br> - <label for="inputEmail">{% trans "Email" %}</label> - <input name="email" type="email" id="inputEmail" class="form-control" placeholder="{% trans "Email" %}" required><br> - <button class="btn btn-lg btn-primary btn-block" type="submit" formmethod="post" class="btn btn-default">{% trans "Resend" %}</button> + <label for="inputUser">{% trans "username" %}</label> + <input name="username" type="user" id="inputUser" class="form-control" placeholder="{% trans "username" %}" required autofocus><br> + <label for="inputEmail">{% trans "email" %}</label> + <input name="email" type="email" id="inputEmail" class="form-control" placeholder="{% trans "email" %}" required><br> + <button class="btn btn-lg btn-primary btn-block" type="submit" formmethod="post" class="btn btn-default">{% trans "proceed" %}</button> </form> {% endblock %} diff --git a/www/web/warpauth/templates/warpauth/reset_password/change_password.html b/www/web/warpauth/templates/warpauth/reset_password/change_password.html index cdeb539aaa855eff01b07c9a5bb3e54193401548..e745328e681fb5b8507a2025f75407bf389e84a0 100644 --- a/www/web/warpauth/templates/warpauth/reset_password/change_password.html +++ b/www/web/warpauth/templates/warpauth/reset_password/change_password.html @@ -1,31 +1,27 @@ {% extends "base.html" %} {% load i18n %} -{% block title %}{% trans "Reset Password" %}{% endblock %} +{% block title %}{% trans "reset_password" %}{% endblock %} {% block content %} {% if token_error %} - <h2 class="form-signin-heading">{% trans "The Token is invalid" %}</h2> - {% elif request.POST and not form_error%} + <div class="alert alert-danger">{{ error }}</div> + {% elif request.POST and not error %} <div class="alert alert-success"> - {% trans "Your password was sucessfully changed. You will be redirected within 5 seconds. If not please click" %} + {% trans "password_change_successful" %} {% trans "redirect_within_5_sec_if_not_click" %} <!-- Your password was sucessfully changed. You will be redirected within 5 seconds. If not please click --> <a href="/login">{% trans "here" %}</a> <meta http-equiv="refresh" content="5; url=/login"> </div> {% else %} <form class="form" style="max-width: 330px; margin: 0 auto; padding: 40px"> {% csrf_token %} - <h2 class="form-signin-heading">{% trans "Please enter your new Password for user" %} {{ username }}</h2> - <label for="inputPassword">{% trans "Password" %}</label> - <input name="password" type="password" id="inputPassword" class="form-control" placeholder="{% trans "Password" %}" required autofocus> - <label for="inputPassword2" style="padding-top:10px;">{% trans "Repeat Password" %}</label> - <input name="password2" type="password" id="inputPassword2" class="form-control" placeholder="{% trans "Repeat Password" %}" required> - {% if form_error == True %} - <div class="alert alert-warning alert-dismissible" role="alert"> - <strong>{% trans "Passwords did not match" %}</strong> - </div> - {% else %} - <br> - {% endif %} - <button class="btn btn-lg btn-primary btn-block" type="submit" formmethod="post" class="btn btn-default">{% trans "Reset Password" %}</button> + <h2 class="form-signin-heading">{% trans "enter_new_password_for_user" %} {{ username }}</h2> + + <label for="inputPassword">{% trans "password" %}</label> + <input name="password" type="password" id="inputPassword" class="form-control" placeholder="{% trans "password" %}" required autofocus> + + <label for="inputPassword2" style="padding-top:10px;">{% trans "confirm_password" %}</label> + <input name="password2" type="password" id="inputPassword2" class="form-control" placeholder="{% trans "confirm_password" %}" required> + + <button class="btn btn-lg btn-primary btn-block" type="submit" formmethod="post" class="btn btn-default">{% trans "reset_password" %}</button> </form> {% endif %} diff --git a/www/web/warpauth/templates/warpauth/reset_password/token_gen.html b/www/web/warpauth/templates/warpauth/reset_password/token_gen.html index c4c521b77351db0ebffd08d1cddb56ca3b6d1356..a6e2b8aaf9e4a7dfc293deff035658937e926eb4 100644 --- a/www/web/warpauth/templates/warpauth/reset_password/token_gen.html +++ b/www/web/warpauth/templates/warpauth/reset_password/token_gen.html @@ -1,25 +1,25 @@ {% extends "base.html" %} {% load i18n %} -{% block title %}{% trans "Reset Password" %}{% endblock %} +{% block title %}{% trans "reset_password" %}{% endblock %} {% block content %} {% if request.POST %} {% if error %} <div class="alert alert-danger">{{ error }}</div><br> {% else %} - <div class="alert alert-success">{% trans "If your information were right, you've got an Email" %}</div><br> + <div class="alert alert-success">{% trans "msg_reset_email_sent" %}</div><br> <!-- If_information were right, you've got an Email --> {% endif %} {% else %} <form class="form" style="max-width: 330px; margin: 0 auto; padding: 40px"> {% csrf_token %} - <h2 class="form-signin-heading">{% trans "Please enter your Email address" %}</h2> - <label for="inputUser" >{% trans "Username" %}</label> - <input name="username" type="text" id="inputPassword" class="form-control" placeholder="{% trans "Username" %}" required autofocus> - <label for="inputEmail" style="padding-top:10px;">{% trans "Email-Address" %}</label> - <input name="email" type="text" id="inputEmail" class="form-control" placeholder="{% trans "Email-Address" %}" required> + <h2 class="form-signin-heading">{% trans "enter_email_address" %}</h2> + <label for="inputUser" >{% trans "username" %}</label> + <input name="username" type="text" id="inputPassword" class="form-control" placeholder="{% trans "username" %}" required autofocus> + <label for="inputEmail" style="padding-top:10px;">{% trans "email" %}</label> + <input name="email" type="text" id="inputEmail" class="form-control" placeholder="{% trans "email" %}" required> {% if fail == True %} <div class="alert alert-warning alert-dismissible" role="alert"> - <strong>{% trans "Invalid email." %}</strong> + <strong>{% trans "err_invalid_email_format" %}</strong> </div> {% else %} <br> diff --git a/www/web/warpauth/urls.py b/www/web/warpauth/urls.py index acc3968a6b68bc3de31ed842fe2000675ad731e0..cfe293e08edad6e991102e58ae9b36527f5be9ef 100644 --- a/www/web/warpauth/urls.py +++ b/www/web/warpauth/urls.py @@ -1,15 +1,9 @@ from django.conf.urls import include, url -from warpauth.views import login, reset_password, profile, register - -# -# Definition of all available URLS for accessing Functions integrated in WarpAuth -# - +from warpauth.views import logout, reset_password, profile, register urlpatterns = [ - # Authentication Pages url(r'', include('two_factor.urls', 'two_factor')), - url(r'^account/logout/$', login.logout_view, name='logout'), + url(r'^account/logout/$', logout.logout_view, name='logout'), url(r'^account/registration/$', register.register, name='register'), url(r'^account/registration/activate/(?P<token>\w+)/$', register.activate, name='activate'), url(r'^account/registration/resend/$', register.resend_token, name='resend_token'), @@ -17,9 +11,9 @@ urlpatterns = [ url(r'^account/reset_password/$', reset_password.gen_token, name='reset_password'), url(r'^account/reset_password/(?P<reset_hash>\w+)/$', reset_password.change_password, name='index'), - url(r'^profile/$', profile.index, name='index'), - url(r'^profile/change_password/$', profile.change_password, name='change_password'), - url(r'^profile/change_information/$', profile.change_information, name='change_information'), + url(r'^account/profile/$', profile.index, name='profile_index'), + url(r'^account/profile/change_password/$', profile.change_password, name='change_password'), + url(r'^account/profile/change_information/$', profile.change_information, name='change_information'), ] diff --git a/www/web/warpauth/util.py b/www/web/warpauth/util.py index 95af73d9f2bd8ccd2cf460b014a63ac064ab617a..5231308fd5358a50b7f7e1c592f059603ff3938a 100644 --- a/www/web/warpauth/util.py +++ b/www/web/warpauth/util.py @@ -1,10 +1,5 @@ from django.utils.translation import ugettext as _ -from warpzone.util import send_email - -pages = {'pages': [ - {"link": "pizza", "name": "PizzaSheet"}, - {"link": "about", "name": "About"}, -]} +from warpzone.util import send_email, page_context def send_password_change_notification(user): - send_email(user.email, _("Your password was changed"),_("Password changed recently")) + send_email(user.email, _("mail_subj_password_changed_recently"),_("mail_content_password_changed_recently")) diff --git a/www/web/warpauth/views/login.py b/www/web/warpauth/views/login.py deleted file mode 100644 index c59977db8d57229e08abe4764ab7cb37069d8fbb..0000000000000000000000000000000000000000 --- a/www/web/warpauth/views/login.py +++ /dev/null @@ -1,38 +0,0 @@ -from django.shortcuts import render -from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotAllowed, HttpResponseNotFound -from django.contrib.auth import authenticate, login, logout -from django.shortcuts import redirect -from django.contrib.auth.decorators import login_required -from django.utils import translation -from warpauth.util import * -from django.utils.translation import ugettext as _ - -def login_view(request): - pages['page_title'] = "Login" - pages['body_text'] = "Login" - pages['fail'] = False - - if request.method == "POST": - username = request.POST['username'] - password = request.POST['password'] - user = authenticate(username=username, password=password) - if user is not None: - if user.is_active: - login(request, user) - - user_language = 'de_DE' - translation.activate(user_language) - request.session[translation.LANGUAGE_SESSION_KEY] = user_language - return redirect('/') - else: - pages['error'] = _("Your account is deactivated. Please contact an administrator.") - else: - if username != "" and password != "": - pages['error'] = _("Invalid email or password.") - - return HttpResponse(render(request, 'warpauth/login.html', pages)) - -@login_required(login_url='/account/login/', redirect_field_name=None) -def logout_view(request): - logout(request) - return redirect('/account/login/') diff --git a/www/web/warpauth/views/logout.py b/www/web/warpauth/views/logout.py new file mode 100644 index 0000000000000000000000000000000000000000..5fb42f67d080e77598f603e1acaeac624b299d33 --- /dev/null +++ b/www/web/warpauth/views/logout.py @@ -0,0 +1,9 @@ +from django.contrib.auth import logout +from django.shortcuts import redirect +from django.contrib.auth.decorators import login_required +from django.conf import settings + +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) +def logout_view(request): + logout(request) + return redirect('/account/login/') \ No newline at end of file diff --git a/www/web/warpauth/views/profile.py b/www/web/warpauth/views/profile.py index 82bc95bb3ab5a3a986dbb17269fd65477e54e925..7829ebc80e99d8ca23c1bc4d5d05d0b8666fec00 100644 --- a/www/web/warpauth/views/profile.py +++ b/www/web/warpauth/views/profile.py @@ -8,6 +8,7 @@ from warpauth.ldap_connector import LDAPConnector from warpauth.models import LdapUser, LdapUserForm from warpauth.util import * import logging +from django.conf import settings ## # http://www.python-ldap.org/doc/html/ldap.html#ldap.LDAPObject @@ -16,30 +17,31 @@ import logging def setUserObject(request): - pages['ldap_groups'] = request.user.ldap_user.group_names - pages['ldap_user_form'] = LdapUserForm(instance=LdapUser.objects.get(uid=str(request.user))) + page_context['ldap_groups'] = request.user.ldap_user.group_names + page_context['ldap_user_form'] = LdapUserForm(instance=LdapUser.objects.get(uid=str(request.user))) + def clear_error_messages(): - pages["error_info"] = "" - pages["success_info"] = False - pages["error_passwd"] = "" - pages["success_passwd"] = False - pages["selected_tab"]="" + page_context["error_info"] = "" + page_context["success_info"] = False + page_context["error_passwd"] = "" + page_context["success_passwd"] = False + page_context["selected_tab"]="" -@login_required(login_url='/account/login/', redirect_field_name=None) +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) def index(request): clear_error_messages() - pages['ldap_groups'] = request.user.ldap_user.group_names - pages['ldap_user_form'] = LdapUserForm(instance=LdapUser.objects.get(uid=str(request.user))) - return HttpResponse(render(request, 'warpauth/profile.html', pages)) + page_context['ldap_groups'] = request.user.ldap_user.group_names + page_context['ldap_user_form'] = LdapUserForm(instance=LdapUser.objects.get(uid=str(request.user))) + return HttpResponse(render(request, 'warpauth/profile.html', page_context)) -@login_required(login_url='/account/login/', redirect_field_name=None) +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) def change_information(request): clear_error_messages() setUserObject(request) if request.method != 'POST': - return redirect("/profile") + return redirect("profile_index") user = LdapUser.objects.get(uid=str(request.user)) first_name = request.POST["first_name"] @@ -50,8 +52,8 @@ def change_information(request): try: f.clean(email) except ValidationError as e: - pages["error_info"] = "Invalid Email" - return HttpResponse(render(request, 'warpauth/profile.html', pages)) + page_context["error_info"] = "Invalid Email" + return HttpResponse(render(request, 'warpauth/profile.html', page_context)) cn = first_name + " " + last_name cn = cn.strip() if first_name == "": @@ -68,31 +70,31 @@ def change_information(request): user.card_id=card_id user.save() - pages["success_info"] = True + page_context["success_info"] = True setUserObject(request) - return HttpResponse(render(request, 'warpauth/profile.html', pages)) + return HttpResponse(render(request, 'warpauth/profile.html', page_context)) -@login_required(login_url='/account/login/', redirect_field_name=None) +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) def change_password(request): clear_error_messages() - pages["selected_tab"]="#change_passwd" + page_context["selected_tab"]="#change_passwd" if request.method != 'POST': - return redirect("/profile") + return redirect("profile_index") print("old_pw" == "") if request.POST["old_pw"] == "" or request.POST["new_pw"] == "" or request.POST["new_pw_confirm"] == "": - pages["error_passwd"] = "Please fill in all fields" + page_context["error_passwd"] = "Please fill in all fields" elif request.POST["new_pw"] != request.POST["new_pw_confirm"]: - pages["error_passwd"] = "Password confirmation did not match" + page_context["error_passwd"] = "Password confirmation did not match" else: ldap_connector = LDAPConnector() ret = ldap_connector.change_user_password(request.user.ldap_user.dn, request.POST["old_pw"], request.POST["new_pw"]) if ret == -1: - pages["error_passwd"] = "Old password did not match" + page_context["error_passwd"] = "Old password did not match" else: send_password_change_notification(LdapUser.objects.get(uid=str(request.user))) - pages["success_passwd"] = True - pages['ldap_groups'] = request.user.ldap_user.group_names - pages['ldap_user_form'] = LdapUserForm(instance=LdapUser.objects.get(uid=str(request.user))) - return HttpResponse(render(request, 'warpauth/profile.html', pages)) + page_context["success_passwd"] = True + page_context['ldap_groups'] = request.user.ldap_user.group_names + page_context['ldap_user_form'] = LdapUserForm(instance=LdapUser.objects.get(uid=str(request.user))) + return HttpResponse(render(request, 'warpauth/profile.html', page_context)) diff --git a/www/web/warpauth/views/register.py b/www/web/warpauth/views/register.py index 708885c20d7dc2475075c07281cf3f8773fe3f86..3cc32f64030aee5c97e5a0ce65fb365c39dbb896 100644 --- a/www/web/warpauth/views/register.py +++ b/www/web/warpauth/views/register.py @@ -13,31 +13,32 @@ from django.core.exceptions import ObjectDoesNotExist def send_token(token): - email_content = _("https://infra.warpzone.ms/activate/%(token)s") % {'token': token.token } + email_content = _("https://infra.warpzone.ms/account/registration/activate/%(token)s") % {'token': token.token } ret = send_email(token.email, _("Your registration for WarpInfra"), email_content ) return ret - + + def register(request): pages['success'] = False - pages['error'] = False if request.method == "POST": username = request.POST['username'] password = request.POST['password'] password2 = request.POST['password2'] email = request.POST['email'] + f = forms.EmailField() try: f.clean(email) except ValidationError as e: - pages["error"] = "invalid_email" + pages["error"] = _("err_invalid_email_format") if username == "" or email == "" or password == "" or password2 == "": - pages['error'] = "fill_all_fields" + pages['error'] = _("err_fill_all_fields") elif not re.search(r'^\w+$', username): - pages['error'] = "invalid_username" + pages['error'] = _("err_invalid_username") elif password != password2: - pages['error'] = "passwords_did_not_match" + pages['error'] = _("err_passwords_not_matching") elif not pages["error"]: u = LdapUser.objects.filter(uid=username) if u.count() == 0: @@ -60,17 +61,16 @@ def register(request): token.save() ret = send_token(token) if not ret: - pages["error"] = "Error while sending the email. Please contact the administrator." + pages["error"] = _("err_sending_mail") #Error while sending the email. Please contact the administrator. else: pages['success'] = True else: - pages['error'] = "username_not_available" + pages['error'] = _("err_username_not_available") return HttpResponse(render(request, 'warpauth/register/register.html', pages)) def activate(request, token=None): - pages["token_error"] = False try: activation_token = ActivationToken.objects.get(token=token) group = LdapGroup.objects.filter(name="active").get() @@ -78,22 +78,20 @@ def activate(request, token=None): group.save() activation_token.delete() except ObjectDoesNotExist: - pages["token_error"] = True + pages["error"] = _("err_token_invalid") return HttpResponse(render(request, 'warpauth/register/activate.html', pages)) def resend_token(request): - pages["error"] = False - pages["success"] = False if request.method == "POST": try: token = ActivationToken.objects.get(user=request.POST["username"]) if token.email == request.POST["email"]: ret = send_token(token) if not ret: - pages["error"] = True + pages["error"] = _("err_processing_request") pages["success"] = True except ObjectDoesNotExist: - pages["error"] = True + pages["error"] = _("err_processing_request") return HttpResponse(render(request, 'warpauth/register/resend_token.html', pages)) diff --git a/www/web/warpauth/views/reset_password.py b/www/web/warpauth/views/reset_password.py index 4be1cbbf5525e18793be372a2b8ce6818c482152..15b6d799e7aef2ca91aa62320b6efc72e7ad443b 100644 --- a/www/web/warpauth/views/reset_password.py +++ b/www/web/warpauth/views/reset_password.py @@ -21,8 +21,6 @@ from warpzone.settings import PW_RESET_TOKEN_LIFETIME # def gen_token(request): - logger = logging.getLogger("reset_password") - pages["error"] = "" if request.POST: try: usr = LdapUser.objects.get(uid=request.POST["username"]) @@ -32,25 +30,21 @@ def gen_token(request): p.email = usr.email p.hash = hashlib.sha1(os.urandom(128)).hexdigest() p.save() - email_content = _("https://infra.warpzone.ms/account/reset_password/%(hash)s") % {'hash': p.hash} - ret = send_email(p.email, "Requested Password Reset", email_content ) + link = "https://infra.warpzone.ms/account/reset_password/%(hash)s" % {'hash': p.hash} + ret = send_email(p.email, _("mail_subj_reset_password_token"), _("mail_content_reset_password_token %(link)s") % {'link': link} ) if not ret: - pages["error"] = "Error while sending the email. Please contact the administrator." - logger.info("Success for %s", usr.uid) + page_context["error"] = _("err_sending_email") except Exception as e: - print(e) - logger.error("Failed for %s with %s", request.POST["username"], e) + pass else: pass - return HttpResponse(render(request, 'warpauth/reset_password/token_gen.html', pages)) + return HttpResponse(render(request, 'warpauth/reset_password/token_gen.html', page_context)) # # Function to change user password with a reset Token -# ToDo: Implement Email after password change # def change_password(request, reset_hash=None): - pages["token_error"] = False try: pw_reset_token = PasswordResetToken.objects.get(hash=reset_hash) time_difference = datetime.datetime.now() - pw_reset_token.created @@ -60,7 +54,7 @@ def change_password(request, reset_hash=None): if request.POST: if request.POST["password"] != request.POST["password2"] or request.POST["password"] == "": - pages["form_error"] = True + page_context["error"] = _("err_passwords_not_matching") else: user = LdapUser.objects.get(uid=pw_reset_token.user) ldap_connector = LDAPConnector() @@ -68,10 +62,10 @@ def change_password(request, reset_hash=None): pw_reset_token.delete() send_password_change_notification(user) else: - pages["username"] = pw_reset_token.user + page_context["username"] = pw_reset_token.user except (ObjectDoesNotExist, ValidationError) as e: - print(e) - pages["token_error"] = True + page_context["error"] = _("err_invalid_token") + page_context["token_error"] = True - return HttpResponse(render(request, 'warpauth/reset_password/change_password.html', pages)) + return HttpResponse(render(request, 'warpauth/reset_password/change_password.html', page_context)) diff --git a/www/web/warpfood/models.py b/www/web/warpfood/models.py index adbb526ebd2156549a2201e2a47cb06a46b3e399..44e28e731b4e0bfe079c6000351c2ed6a48d3b46 100644 --- a/www/web/warpfood/models.py +++ b/www/web/warpfood/models.py @@ -48,6 +48,7 @@ class FoodSheet(models.Model): + class FoodOrder(models.Model): sheet = models.ForeignKey(FoodSheet, on_delete=models.CASCADE) user = models.CharField(max_length=100,null=True) diff --git a/www/web/warpfood/templates/warpfood/edit_sheet.html b/www/web/warpfood/templates/warpfood/edit_sheet.html new file mode 100644 index 0000000000000000000000000000000000000000..0d215f0671fdb36a2e85ac0bd8f1bba9f959dcf7 --- /dev/null +++ b/www/web/warpfood/templates/warpfood/edit_sheet.html @@ -0,0 +1,21 @@ +{% extends "base.html" %} + +{% load i18n %} +{% load humanize %} +{% load bootstrap %} +{% block title %}{% trans "pizza_sheet" %}{% endblock %} +{% block content %} + <div class="panel panel-default"> + <div class="panel-body"> + <form class="form-horizontal" method="POST" role="form"> + {{ edit_sheet|bootstrap_horizontal }} + <div class="form-group"> + <div class="col-sm-offset-2 col-sm-10"> + {% csrf_token %} + <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "submit" %}</button> + </div> + </div> + </form> + </div> + </div> +{% endblock %} \ No newline at end of file diff --git a/www/web/warpfood/templates/warpfood/main.html b/www/web/warpfood/templates/warpfood/main.html index 557716faf4dfbc654a78226fb4fbee64edc3d6a9..cd388696cca66b96dd8c0497f38d33a2d864055c 100644 --- a/www/web/warpfood/templates/warpfood/main.html +++ b/www/web/warpfood/templates/warpfood/main.html @@ -3,7 +3,7 @@ {% load i18n %} {% load humanize %} {% load bootstrap %} -{% block title %}{% trans "Pizza Sheet" %}{% endblock %} +{% block title %}{% trans "pizza_sheet" %}{% endblock %} {% block content %} {% if user.is_authenticated %} <div class="panel panel-default"> @@ -13,7 +13,7 @@ <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> {% csrf_token %} - <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "Create Food Sheet" %}</button> + <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "create_food_sheet" %}</button> </div> </div> </form> @@ -22,7 +22,7 @@ {% endif %} <table class="table table-striped table-hover"> <thead> - <tr><th>{% trans "Estimated Order Time" %}</th><th>{% trans "Pizza Service" %}</th><th>{% trans "Status" %}</th></tr> + <tr><th>{% trans "estimated_order_time" %}</th><th>{% trans "pizza_service" %}</th><th>{% trans "status" %}</th></tr> </thead> <tbody> {% for sheet in food_sheets %} @@ -31,7 +31,7 @@ <td>{{ sheet.food_service }}</td> <td> {% if sheet.order_time %} - <span class="btn btn-xs btn-info">Ordered</span> + <span class="btn btn-xs btn-info">Ordered {{ sheet.order_time | naturaltime }}</span> {% elif sheet.closed %} <span class="btn btn-xs btn-danger">Closed</span> {% else %} diff --git a/www/web/warpfood/templates/warpfood/view.html b/www/web/warpfood/templates/warpfood/view.html index 5eaa011c84320e1c0b000ac647fc8f1e330ba298..10471ab497b20152798da9d5923bdf76cf2eb27a 100644 --- a/www/web/warpfood/templates/warpfood/view.html +++ b/www/web/warpfood/templates/warpfood/view.html @@ -3,7 +3,7 @@ {% load i18n %} {% load bootstrap %} {% load humanize %} -{% block title %}{% trans "Pizza Sheet" %}{% endblock %} +{% block title %}{% trans "pizza_sheet" %}{% endblock %} {% block content %} <div class="panel panel-default"> @@ -11,28 +11,34 @@ <div class="row"> <div class="col-md-8"> <h4>{{ sheet.food_service.name }}</h4> - <small><a href="{{ sheet.food_service.homepage }}">{{ sheet.food_service.homepage }}</a></small><br/><br/> - <small>{{ sheet.food_service.phone }}</small><br/><br/> - <small>{{ sheet.estimated_order_time | naturaltime }}</small><br/><br/> + + <small>{% trans "homepage" %}: <a href="{{ sheet.food_service.homepage }}" target="_blank">{{ sheet.food_service.homepage }}</a></small><br/><br/> + <small>{% trans "phone_number" %}: {{ sheet.food_service.phone }}</small><br/><br/> + <small>{% trans "estimaged_order_time" %}: {{ sheet.estimated_order_time | naturaltime }}</small><br/><br/> + {% if sheet.order_time %} + <small>{% trans "real_order_time" %}: {{ sheet.order_time | naturaltime }}</small><br/> + {% endif %} + <br/> + {% if user.is_authenticated %} - <a href="" class="btn {% if sheet.order_time %} disabled {% endif %} btn-primary">{% trans "Edit Sheet" %}</a> + <a href="/pizza/edit_sheet/{{ sheet.id }}" class="btn {% if sheet.order_time %} disabled {% endif %} btn-primary">{% trans "edit" %}</a> {% if not sheet.closed %} - <a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-danger {% if sheet.order_time %} disabled {% endif %}">{% trans "Close Sheet" %}</a> + <a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-danger {% if sheet.order_time %} disabled {% endif %}">{% trans "close" %}</a> {% else %} - <a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-success {% if sheet.order_time %} disabled {% endif %}">{% trans "Open Sheet" %}</a> + <a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-success {% if sheet.order_time %} disabled {% endif %}">{% trans "open" %}</a> {% endif %} {% if sheet.closed %} {% if sheet.order_time %} - <a href="/pizza/sheet_ordered/{{ sheet.id }}" class="btn btn-success disabled">{% trans "Ordered" %}</a> + <a href="/pizza/sheet_ordered/{{ sheet.id }}" class="btn btn-success disabled">{% trans "ordered" %}</a> {% else %} - <a href="/pizza/sheet_ordered/{{ sheet.id }}" class="btn btn-danger" id="confirm">{% trans "Confirm ordered" %}</a> + <a href="/pizza/sheet_ordered/{{ sheet.id }}" class="btn btn-danger" id="confirm">{% trans "confirm" %}</a> {% endif %} <!-- <a href="/pizza/export_sheet/{{ sheet.id }}" class="btn btn-info">Print order</a> --> {% endif %} {% endif %} </div> <div class="col-md-4"> - <h4>{% trans "Order Sum" %}: {{ order_sum }} €</h4> + <h4>{% trans "order_sum" %}: {{ order_sum }} €</h4> </div> </div> @@ -48,7 +54,7 @@ <form class="form-horizontal" method="POST" role="form"> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> - <a class="btn btn-success" data-toggle="modal" data-target="#product_modal">{% trans "Choose from Products" %}</a><br> + <a class="btn btn-success" data-toggle="modal" data-target="#product_modal">{% trans "choose_from_products" %}</a><br> </div> </div> @@ -56,7 +62,7 @@ <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> {% csrf_token %} - <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "Order" %}</button> + <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "order" %}</button> </div> </div> </form> @@ -64,19 +70,19 @@ </div> {% endif %} {% if sheet.order_time %} - <div class="alert alert-success">{% trans "This sheet was ordered " %}{{sheet.order_time | naturaltime }} by {{ sheet.order_user}}</div> + <div class="alert alert-success">{% blocktrans %} this_sheet_was_ordered {{sheet.order_time | naturaltime }} by {{ sheet.order_user}}{% endblocktrans %}</div> {% endif %} <table class="table table-striped table-hover"> <thead> <tr> - <th>{% trans "User Name" %}</th> - <th>{% trans "Article" %}</th> - <th>{% trans "Size" %}</th> - <th>{% trans "Price" %}</th> - <th>{% trans "Comment" %}</th> - <th>{% trans "Paid" %}</th> + <th>{% trans "username" %}</th> + <th>{% trans "article" %}</th> + <th>{% trans "size" %}</th> + <th>{% trans "price" %}</th> + <th>{% trans "comment" %}</th> + <th>{% trans "paid" %}</th> </tr> </thead> <tbody> @@ -117,7 +123,7 @@ <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span></button> - <h4 class="modal-title" id="label_product_modal">{% trans "Product List" %}</h4> + <h4 class="modal-title" id="label_product_modal">{% trans "product_list" %}</h4> </div> <div class="modal-body"> <div> @@ -153,7 +159,7 @@ <script> $('#confirm').click(function (e) { e.preventDefault(); - bootbox.confirm("{% trans "Are you sure?" %}", function (result) { + bootbox.confirm("{% trans "are_you_sure" %}", function (result) { if(result) { window.location = "/pizza/sheet_ordered/{{ sheet.id }}"; diff --git a/www/web/warpfood/tests.py b/www/web/warpfood/tests.py deleted file mode 100644 index 7ce503c2dd97ba78597f6ff6e4393132753573f6..0000000000000000000000000000000000000000 --- a/www/web/warpfood/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/www/web/warpfood/urls.py b/www/web/warpfood/urls.py index 5c3f21cb461a05e87318bec4d27a046482111c62..436265b321dce7fb108d7e1e739e5f9486953e34 100644 --- a/www/web/warpfood/urls.py +++ b/www/web/warpfood/urls.py @@ -6,6 +6,7 @@ urlpatterns = [ url(r'^pizza/$', index, name='warp_foot'), url(r'^pizza/view/(?P<sheet_id>\w+)/$', view, name='warp_foot_view'), url(r'^pizza/toggle_sheet/(?P<sheet_id>\w+)/$', toggle_closed, name='warp_foot_toggle_closed'), + url(r'^pizza/edit_sheet/(?P<sheet_id>\w+)/$', edit_sheet, name='warp_foot_toggle_closed'), url(r'^pizza/toggle_paid/(?P<order_id>\w+)/$', toggle_paid, name='warp_foot_toggle_paid'), url(r'^pizza/sheet_ordered/(?P<sheet_id>\w+)/$', sheet_ordered, name='warp_foot_toggle_paid'), # url(r'^pizza/export_sheet/(?P<sheet_id>\w+)/$', export_sheet, name='warp_foot_export_sheet'), diff --git a/www/web/warpfood/util.py b/www/web/warpfood/util.py index 3afe878f0d9216ab410afbb6469374ea6e1f3ba2..f4183eecdc2c92e25af5a5bdaaa0a9a8994ce16d 100644 --- a/www/web/warpfood/util.py +++ b/www/web/warpfood/util.py @@ -1,5 +1,6 @@ from django.contrib.humanize.templatetags.humanize import intcomma -pages = {'pages': [ + +page_context = {'pages': [ {"link":"pizza", "name": "PizzaSheet"}, {"link":"about", "name": "About"}, {"link":"logout", "name": "Logout"}, diff --git a/www/web/warpfood/views.py b/www/web/warpfood/views.py index 0ff5db23860a10943164f4fcb3ffd4fb8c981788..1059345a16ca5b0ce69e9fa46a3d70d84646571b 100644 --- a/www/web/warpfood/views.py +++ b/www/web/warpfood/views.py @@ -6,65 +6,85 @@ from warpfood.util import * from warpfood.models import * from reportlab.pdfgen import canvas from django.http import HttpResponse - -#from reportlab.platypus import SimpleDocTemplate -#from reportlab.platypus.tables import Table, TableStyle, colors -from datetime import datetime +from datetime import datetime +from django.conf import settings # -# ToDo: Hidden Field Paid default value to false # ToDo: Insert TemplateTag for Euro Format -# ToDo: Implement Datetime Field for Estimated Order Time # ToDo: Username with hidden Field. Maybe insecure # + def index(request): - pages['error'] = "" - - if request.method == 'POST': - form = FoodSheetForm(request.POST) - if form.is_valid(): - form.save() - else: - pages['error'] = form.errors - pages['food_sheets'] = FoodSheet.objects.order_by("-id") - pages['pizza_services'] = FoodService.objects.all() - pages['create_food_sheet'] = FoodSheetForm() - return HttpResponse(render(request, 'warpfood/main.html', pages)) + form = FoodSheetForm() + if request.user.is_superuser: + if request.method == 'POST': + form = FoodSheetForm(request.POST) + if form.is_valid(): + form.save() + + page_context['pizza_services'] = FoodService.objects.all() + page_context['create_food_sheet'] = form + page_context['food_sheets'] = FoodSheet.objects.order_by("-id") + return HttpResponse(render(request, 'warpfood/main.html', page_context)) + +def edit_sheet(request, sheet_id=0): + if sheet_id != 0 and request.user.is_superuser: + try: + sheet = FoodSheet.objects.get(id=sheet_id) + except Exception as e: + return redirect("/") + + form = FoodSheetForm(instance=sheet) + if request.method == 'POST': + form = FoodSheetForm(request.POST,instance=sheet) + if form.is_valid(): + form.save() + return redirect("/pizza/view/%s" % sheet_id) + page_context['edit_sheet'] = form + return HttpResponse(render(request, 'warpfood/edit_sheet.html', page_context)) + + return redirect("/") + def view(request, sheet_id=0): - pages['error'] = "" + form = None + page_context['error'] = "" if request.method == 'POST': form = FoodOrderForm(request.POST) if form.is_valid(): form.save() - else: - pages['error'] = form.errors + form = None if sheet_id != 0: sheet = FoodSheet.objects.get(id=sheet_id) - pages['sheet'] = sheet - pages['orders'] = FoodOrder.objects.filter(sheet=sheet) + page_context['sheet'] = sheet + page_context['orders'] = FoodOrder.objects.filter(sheet=sheet) total_price = 0 - for order in pages['orders']: + for order in page_context['orders']: total_price += order.price - pages['order_sum'] = format_euro(total_price) - if request.user.is_authenticated(): - pages['create_food_order'] = FoodOrderForm(initial={'sheet': sheet_id, 'user': request.user, 'paid': False}) + page_context['order_sum'] = format_euro(total_price) + + if not form: + if request.user.is_authenticated(): + page_context['create_food_order'] = FoodOrderForm(initial={'sheet': sheet_id, 'user': request.user, 'paid': False}) + else: + page_context['create_food_order'] = FoodOrderFormExt(initial={'sheet': sheet_id, 'paid': False}) else: - pages['create_food_order'] = FoodOrderFormExt(initial={'sheet': sheet_id, 'paid': False}) + page_context['create_food_order'] = form products = FoodProduct.objects.filter(food_service=sheet.food_service) - pages['food_products'] = {} + page_context['food_products'] = {} for product in products: - if product.food_category.name not in pages['food_products']: - pages['food_products'][product.food_category.name] = [] - pages['food_products'][product.food_category.name].append(product) + if product.food_category.name not in page_context['food_products']: + page_context['food_products'][product.food_category.name] = [] + page_context['food_products'][product.food_category.name].append(product) + + return HttpResponse(render(request, 'warpfood/view.html', page_context)) - return HttpResponse(render(request, 'warpfood/view.html', pages)) -@login_required(login_url='/login/', redirect_field_name=None) +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) def toggle_closed(request, sheet_id=0): if sheet_id != 0: sheet = FoodSheet.objects.get(id=sheet_id) @@ -79,9 +99,10 @@ def toggle_paid(request, order_id=0): order = FoodOrder.objects.get(id=order_id) order.paid = not order.paid order.save() - return redirect("/pizza/view/%s" % (order.sheet.id)) + return redirect("/pizza/view/%s" % order.sheet.id) -@login_required(login_url='/login/', redirect_field_name=None) + +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) def sheet_ordered(request, sheet_id=0): if sheet_id != 0: sheet = FoodSheet.objects.get(id=sheet_id) @@ -89,45 +110,4 @@ def sheet_ordered(request, sheet_id=0): sheet.order_user = str(request.user) sheet.save() - return redirect("/pizza/view/%s" % (sheet_id)) - -""" -@login_required(login_url='/login/', redirect_field_name=None) -def export_sheet(request, sheet_id=0): - response = HttpResponse(content_type='application/pdf') - sheet = FoodSheet.objects.get(id=sheet_id) - response['Content-Disposition'] = 'attachment; filename="abbc.pdf"' - cm = 2.54 - elements = [] - - doc = SimpleDocTemplate(response, showBoundary=1) - - - info_table = Table((sheet.pizza_service.name,sheet.pizza_service.phone), - [70,70], - [24] - ) - - data = [ - ('User', 'Article', 'Size', 'Price', 'Comment', 'Paid'), - ] - - for order in FoodOrder.objects.filter(sheet=sheet): - data.append(('', order.article, order.size, order.price, '', order.paid)) - - pizza_table = Table(data, - [70,70,70,70,70,70], - [24, 16,16] - ) - - t.setStyle( - TableStyle([ - ('GRID', (1,1), (-2,-2), 0.25, colors.red), - ('BOX', (0,0), (-1,-1), 0.25, colors.blue, None, (2,2,1)), - ]) - ) - - story = [info_table,pizza_table] - doc.build(story) - return response -""" \ No newline at end of file + return redirect("/pizza/view/%s" % sheet_id) diff --git a/www/web/warpmain/templates/warpmain/about.html b/www/web/warpmain/templates/warpmain/about.html index 7b106a3e81e7aeef4406022b810556df1723578d..d2f527f88829d5a1d91779c1e795742d565a9b89 100644 --- a/www/web/warpmain/templates/warpmain/about.html +++ b/www/web/warpmain/templates/warpmain/about.html @@ -2,28 +2,28 @@ {% load i18n %} {% block content %} - <h2>{% block title %}{% trans "About" %}{% endblock %}</h2> + <h2>{% block title %}{% trans "about" %}{% endblock %}</h2> - <p class="lead">Welcome to Warpzone Internal</p> + <p class="lead">{% trans "welcome_to_wz_internal" %}</p> <p class="text-justify"> <img class="img-responsive" style="margin-left: 100px; display: inline; float:right" src="/media/warpzone_medium.png"> - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + {% trans "about_text" %} </p> <a href="http://www.warpzone.ms/" target="_blank" class="btn btn-default btn-default"> - <span class="glyphicon glyphicon-home" aria-hidden="true"></span> {% trans "Visit us!" %} + <span class="glyphicon glyphicon-home" aria-hidden="true"></span> {% trans "visit_us!" %} </a> - <h3>License</h3> + <h3>{% trans "license" %}</h3> <button data-toggle="modal" data-target="#Modal" class="btn btn-default"> - <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> Licenses + <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {% trans "licenses" %} </button> - <h3>Support</h3> - <p>{% trans "If you have any questions about this software, feel free to contact me or one of the coders club:"%}</p> - <a href="mailto:dresen@itsecteam.ms" style="text-decoration: none;"> + <h3>{% trans "support" %}</h3> + <p>{% trans "support_text"%}</p> + <a href="mailto:info@draysen.de" style="text-decoration: none;"> <button type="button" class="btn btn-default"> - <span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> dresen@itsecteam.ms + <span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> info@draysen.de </button> </a> <br> @@ -33,21 +33,17 @@ <img height="40px" src="/media/django_logo.gif"> <div class="modal fade" id="Modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> - <div class="modal-dialog modal-lg" role="document" "> + <div class="modal-dialog modal-lg" role="document" > <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span></button> - <h4 class="modal-title" id="myModalLabel">Open Source Licenses</h4> + <h4 class="modal-title" id="myModalLabel">{% trans "open_source_licenses" %}</h4> </div> <div class="modal-body"> <h3>django</h3><br> <pre>{% include "licenses/django.txt" %}</pre> </div> - <div class="modal-body"> - <h3>chart.js</h3><br> - <pre>{% include "licenses/chart_js.txt" %}</pre> - </div> </div> </div> </div> diff --git a/www/web/warpmain/templates/warpmain/admin/dashboard.html b/www/web/warpmain/templates/warpmain/admin/dashboard.html deleted file mode 100644 index 0914eaf035fdc087df14878a3dec08f7e93d329d..0000000000000000000000000000000000000000 --- a/www/web/warpmain/templates/warpmain/admin/dashboard.html +++ /dev/null @@ -1,6 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - - HAllo -{% endblock %} \ No newline at end of file diff --git a/www/web/warpmain/templates/warpmain/admin/news.html b/www/web/warpmain/templates/warpmain/admin/news.html deleted file mode 100644 index ca145db3d875ede5100c2d6f8dd57656180154f6..0000000000000000000000000000000000000000 --- a/www/web/warpmain/templates/warpmain/admin/news.html +++ /dev/null @@ -1,32 +0,0 @@ -{% extends "base.html" %} -{% load humanize %} -{% load i18n %} -{% load bootstrap %} -{% block content %} - <div class="panel panel-default"> - <div class="panel-body"> - <form class="form-horizontal" method="POST" role="form"> - {{ create_news_form | bootstrap_horizontal }} - <div class="form-group"> - <div class="col-sm-offset-2 col-sm-10"> - {% csrf_token %} - <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "Create News" %}</button> - </div> - </div> - </form> - </div> - </div> - {% for news in news_list %} - <div class="panel panel-primary"> - <div class="panel-heading"> - <span class="lead">{{ news.title }}</span> - </div> - <div class="panel-body"> - {{ news.message }} - </div> - <div class="panel-footer"> - {% trans "Created by" %} {{ news.user }} {{ news.created | naturaltime }} - </div> - </div> - {% endfor %} -{% endblock %} diff --git a/www/web/warpmain/templates/warpmain/main.html b/www/web/warpmain/templates/warpmain/main.html index 5a036cd9c010886bb6a080a585e2a5721f8978c3..0ab16308e1a0de67c5aa8f4ff3afd9cc9e2d1693 100644 --- a/www/web/warpmain/templates/warpmain/main.html +++ b/www/web/warpmain/templates/warpmain/main.html @@ -1,20 +1,39 @@ {% extends "base.html" %} {% load humanize %} +{% load bootstrap %} {% load i18n %} {% block content %} - <h2>{% block title %}{% trans "News" %}{% endblock %}</h2> +<h2>{% block title %}{% trans "news" %}{% endblock %}</h2> +{% if user.is_superuser %} + <br/> + <button class="btn btn-success" data-toggle="collapse" data-target="#add_news"><span class="glyphicon glyphicon-plus"></span> {% trans "add_news" %}</button> + <br/><br/> + <div class="panel panel-default"> + <div class="panel-body collapse {{ collapse }}" id="add_news"> + <form class="form-horizontal" method="POST" role="form"> + {{ create_news_form | bootstrap_horizontal }} + <div class="form-group"> + <div class="col-sm-offset-2 col-sm-10"> + {% csrf_token %} + <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "create" %}</button> + </div> + </div> + </form> + </div> + </div> + {% endif %} {% for news in news_list %} <div class="panel panel-primary"> <div class="panel-heading"> - <span class="lead">{{ news.title }}</span> + <span class="lead">{{ news.title }}</span><div class="pull-right"><a href="/news/delete/{{ news.id }}" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a></div> </div> <div class="panel-body"> {{ news.message }} </div> <div class="panel-footer"> - {% trans "Created by" %} {{ news.user }} {{ news.created | naturaltime }} + {% trans "created_by" %} {{ news.user }} {{ news.created | naturaltime }} </div> </div> {% endfor %} diff --git a/www/web/warpmain/tests.py b/www/web/warpmain/tests.py deleted file mode 100644 index 7ce503c2dd97ba78597f6ff6e4393132753573f6..0000000000000000000000000000000000000000 --- a/www/web/warpmain/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/www/web/warpmain/urls.py b/www/web/warpmain/urls.py index e856de44851ee7872f7fc81b6f0ff6acfa3f94c0..84f77948ef2690f91cc25dfa1b245f34806a0fc8 100644 --- a/www/web/warpmain/urls.py +++ b/www/web/warpmain/urls.py @@ -1,16 +1,11 @@ from django.conf.urls import url -from warpmain.views import main -from warpmain.views.admin import dashboard, news +from warpmain.views import * # ToDo: Use name tag of URL for Page Title urlpatterns = [ - url(r'^$', main.index, name='News'), - - url(r'^about/$', main.about, name='About'), - url(r'^administration/$', dashboard.index, name='admin_dashboard'), - url(r'^administration/news/$', news.news, name='admin_news'), - + url(r'^$', index, name='News'), + url(r'^about/$', about, name='About'), + url(r'^news/delete/(?P<news_id>\d+)/$', delete_news, name='News delete'), ] - diff --git a/www/web/warpmain/views.py b/www/web/warpmain/views.py new file mode 100644 index 0000000000000000000000000000000000000000..0e327483e972c72c9932ee7a0d9e4993c8aa5070 --- /dev/null +++ b/www/web/warpmain/views.py @@ -0,0 +1,44 @@ +from warpauth.util import * +from django.conf import settings +from django.http import HttpResponse +from warpmain.models import News, NewsForm +from django.shortcuts import render, redirect +from django.contrib.auth.decorators import login_required + + +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) +def index(request, news_id=0): + news_form = None + if request.user.is_superuser: + if request.method == "POST": + news_form = NewsForm(request.POST) + if news_form.is_valid(): + news = news_form.save() + news.user = request.user.ldap_username + news.save() + return redirect("News") + else: + page_context['collapse'] = "in" + else: + news_form = NewsForm() + if news_id != 0: + news_form = NewsForm(News.objects.get(id=news_id)) + + page_context['create_news_form'] = news_form + page_context['news_list'] = News.objects.order_by("-created") + return HttpResponse(render(request, 'warpmain/main.html', page_context)) + + +def about(request): + return HttpResponse(render(request, 'warpmain/about.html', page_context)) + + +@login_required(login_url=settings.LOGIN_URL, redirect_field_name=None) +def delete_news(request, news_id=0): + if request.user.is_superuser: + try: + News.objects.get(id=news_id).delete() + except: + pass + + return redirect("News") diff --git a/www/web/warpmain/views/__init__.py b/www/web/warpmain/views/__init__.py deleted file mode 100644 index 9847ec9e1fa3021cc35dac064fda36bb17e6bf01..0000000000000000000000000000000000000000 --- a/www/web/warpmain/views/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__author__ = 'chris' diff --git a/www/web/warpmain/views/admin/__init__.py b/www/web/warpmain/views/admin/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/www/web/warpmain/views/admin/dashboard.py b/www/web/warpmain/views/admin/dashboard.py deleted file mode 100644 index ece7aa56ada6e9cf16c5403b5e0a511d227333db..0000000000000000000000000000000000000000 --- a/www/web/warpmain/views/admin/dashboard.py +++ /dev/null @@ -1,10 +0,0 @@ -from django.shortcuts import render -from django.http import HttpResponse -from django.contrib.auth.decorators import login_required -from warpauth.util import * - - -@login_required(login_url='/login/', redirect_field_name=None) -def index(request): - return HttpResponse(render(request, 'warpmain/admin/dashboard.html', pages)) - diff --git a/www/web/warpmain/views/admin/news.py b/www/web/warpmain/views/admin/news.py deleted file mode 100644 index f0a11dc4b15bd6b81e5598d465467230c384b9ae..0000000000000000000000000000000000000000 --- a/www/web/warpmain/views/admin/news.py +++ /dev/null @@ -1,31 +0,0 @@ -from django.shortcuts import render, redirect -from django.http import HttpResponse -from django.contrib.auth.decorators import login_required -from warpauth.util import * -from warpmain.models import News, NewsForm - -# ToDo: Not ready yet - -@login_required(login_url='/login/', redirect_field_name=None) -def news(request, news_id=0): - if request.method == "POST": - news_form = NewsForm(request.POST) - if news_form.is_valid(): - news = news_form.save() - news.user = request.user.ldap_username - news.save() - return redirect("/administration/news/") - else: - pages['create_news_form'] = news_form - - else: - pages['news_list'] = News.objects.order_by("created") - pages['create_news_form'] = NewsForm() - if news_id != 0: - pages['create_news_form'] = NewsForm(News.objects.get(id=news_id)) - - return HttpResponse(render(request, 'warpmain/admin/news.html', pages)) - -@login_required(login_url='/login/', redirect_field_name=None) -def news_delete(request, news_id=0): - pass \ No newline at end of file diff --git a/www/web/warpmain/views/main.py b/www/web/warpmain/views/main.py deleted file mode 100644 index 3c44ab0400754c3a8737efc3431234c7b4cd1b4a..0000000000000000000000000000000000000000 --- a/www/web/warpmain/views/main.py +++ /dev/null @@ -1,14 +0,0 @@ -from django.shortcuts import render -from django.http import HttpResponse -from django.contrib.auth.decorators import login_required -from warpauth.util import * -from warpmain.models import News - - -@login_required(login_url='/account/login/', redirect_field_name=None) -def index(request): - pages['news_list'] = News.objects.order_by("created") - return HttpResponse(render(request, 'warpmain/main.html', pages)) - -def about(request): - return HttpResponse(render(request, 'warpmain/about.html', pages)) diff --git a/www/web/warpzone/settings.py b/www/web/warpzone/settings.py index 482831985874888b41340b50f6f48c321bd3bc3e..2b30396825a545d95822afd23271d90f9ed4ae9a 100644 --- a/www/web/warpzone/settings.py +++ b/www/web/warpzone/settings.py @@ -129,7 +129,13 @@ DATABASE_ROUTERS = ['ldapdb.router.Router'] # Internationalization # https://docs.djangoproject.com/en/1.8/topics/i18n/ -LANGUAGE_CODE = 'en-us' +LANGUAGE_CODE = 'de' + +LANGUAGES = ( + ('de', 'German'), + ('en', 'English'), +) + TIME_ZONE = 'Europe/Berlin' USE_I18N = True USE_L10N = True diff --git a/www/web/warpzone/urls.py b/www/web/warpzone/urls.py index c268fba9daf334ede69470f8e35b78b2386950a5..18030ade9183d3a0ea278bfb601ed82815bdad44 100644 --- a/www/web/warpzone/urls.py +++ b/www/web/warpzone/urls.py @@ -9,5 +9,5 @@ urlpatterns = [ url(r'^', include('warpmain.urls')), url(r'^', include('warpauth.urls')), url(r'^', include('warpfood.urls')), - # url(r'^', include('warppay.urls')), + # url(r'^', include('warppay.urls')), ] diff --git a/www/web/warpzone/util.py b/www/web/warpzone/util.py index d865050435a9a6464e8a6b026fa17e6fc1cbbb2d..2efb422f41307004428ea90e650c2910b4f81ad7 100644 --- a/www/web/warpzone/util.py +++ b/www/web/warpzone/util.py @@ -1,5 +1,11 @@ from django.core.mail import send_mail from django.conf import settings +from django.utils.translation import ugettext as _ + +page_context = {'pages': [ + {"link": "pizza", "name": _("pizza_sheet")}, + {"link": "about", "name": _("about")}, +]} def send_email(to_address, subject, content): try: @@ -15,5 +21,3 @@ def send_email(to_address, subject, content): print(e) return False - -