diff --git a/README.md b/README.md index f38245c04b579abfeb42478b4f9cf3df57593199..056ad309f249750e88512143e92f70db28215ba8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,2 @@ WarpAuth ======== - -Token for API: 880d450db6e8848248d7b24efad7a42d92ffa3b5 \ No newline at end of file diff --git a/www/web/locale/de/LC_MESSAGES/django.po b/www/web/locale/de/LC_MESSAGES/django.po index 50cb2da7870d48a337799def9514f5f76a3cd6d5..13e37569f96de2922cf9c11f45ee9c9501e784ad 100644 --- a/www/web/locale/de/LC_MESSAGES/django.po +++ b/www/web/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-23 12:32+0200\n" +"POT-Creation-Date: 2016-09-24 03:08+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" @@ -35,6 +35,32 @@ msgstr "Administration" msgid "pizza_sheet" msgstr "PizzaSheet" +#: templates/base.html:75 +#, fuzzy +#| msgid "pizza_service" +msgid "services" +msgstr "Services" + +#: templates/base.html:88 +msgid "internal" +msgstr "Intern" + +#: templates/base.html:92 +#, fuzzy +#| msgid "registration" +msgid "administration" +msgstr "Registrierung" + +#: templates/base.html:93 +#, fuzzy +#| msgid "admin" +msgid "ldap_admin" +msgstr "LDAP Admin" + +#: templates/base.html:94 +msgid "postfix_admin" +msgstr "Postfix Admin" + #: templates/two_factor/core/login.html:5 msgid "login" msgstr "Login" @@ -193,11 +219,11 @@ msgstr "Passwort wurde erfogreich geändert" #: warpauth/templates/warpauth/profile/change_password.html:15 msgid "current_password" -msgstr "aktuelles Passwort" +msgstr "Aktuelles Passwort" #: warpauth/templates/warpauth/profile/change_password.html:21 msgid "new_password" -msgstr "neues Paswort" +msgstr "Neues Paswort" #: warpauth/templates/warpauth/profile/change_password.html:27 #: warpauth/templates/warpauth/register/register.html:31 @@ -234,7 +260,7 @@ msgstr "Zurück" #: warpauth/templates/warpauth/register/activate.html:14 msgid "msg_account_successfully_activated" -msgstr "Account erfolgreich aktiviert" +msgstr "Dein Account wurde erfolgreich aktiviert" #: warpauth/templates/warpauth/register/activate.html:17 msgid "ok" @@ -340,46 +366,46 @@ msgstr "Passwort zurücksetzen" #: warpauth/util.py:5 msgid "mail_subj_password_changed_recently" -msgstr "Passwort wurde kürzlichg geändert" +msgstr "Dein Passwort wurde kürzlich geändert" #: warpauth/util.py:5 msgid "mail_content_password_changed_recently" -msgstr "" +msgstr "Hallo, \n du hast gerade dein Passwort geändert. Wenn dies nicht der Fall ist, wende dich bitte an das WarpInfra-Team. \n Mit freundlichen Grüßen \nDas WarpInfra-Team" #: warpauth/views/register.py:16 #, python-format msgid "https://infra.warpzone.ms/account/registration/activate/%(token)s" -msgstr "" +msgstr "Hallo, \n\nbitte klicke auf den folgenden Link um deinen Account zu aktivieren:\n\n https://infra.warpzone.ms/account/registration/activate/%(token)s \n\n\nMit freundlichen Grüßen \n\nDas WarpInfra-Team" #: warpauth/views/register.py:17 msgid "Your registration for WarpInfra" -msgstr "Your registration for WarpInfra" +msgstr "Deine Registrierung für WarpInfra" -#: warpauth/views/register.py:37 +#: warpauth/views/register.py:39 msgid "err_fill_all_fields" -msgstr "bitte alle Felder ausfüllen" +msgstr "Bitte alle Felder ausfüllen" -#: warpauth/views/register.py:39 +#: warpauth/views/register.py:41 msgid "err_invalid_username" msgstr "Benutzername ist ungültig" -#: warpauth/views/register.py:41 warpauth/views/reset_password.py:57 +#: warpauth/views/register.py:43 warpauth/views/reset_password.py:57 msgid "err_passwords_not_matching" msgstr "Die eingegebenen Passwörter stimmen nicht überein" -#: warpauth/views/register.py:64 +#: warpauth/views/register.py:66 msgid "err_sending_mail" msgstr "E-mail konnt enicht gesendet werden" -#: warpauth/views/register.py:68 +#: warpauth/views/register.py:70 msgid "err_username_not_available" msgstr "Der Benutzername ist bereits registriert" -#: warpauth/views/register.py:81 +#: warpauth/views/register.py:83 msgid "err_token_invalid" msgstr "Der Token ist ungültig" -#: warpauth/views/register.py:92 warpauth/views/register.py:95 +#: warpauth/views/register.py:94 warpauth/views/register.py:97 msgid "err_processing_request" msgstr "Fehler bei der Verarbeitung" @@ -404,15 +430,22 @@ msgstr "Der Token ist kapott" msgid "create_food_sheet" msgstr "Neues Sheet erstellen" -#: warpfood/templates/warpfood/main.html:25 +#: warpfood/templates/warpfood/main.html:17 +#, fuzzy +#| msgid "create_food_sheet" +msgid "create_food_service" +msgstr "Neues Sheet erstellen" + +#: warpfood/templates/warpfood/main.html:26 +#: warpfood/templates/warpfood/view.html:17 msgid "estimated_order_time" msgstr "Eventuell beabsichtigte Bestellzeit" -#: warpfood/templates/warpfood/main.html:25 +#: warpfood/templates/warpfood/main.html:26 msgid "pizza_service" msgstr "Pizza Service" -#: warpfood/templates/warpfood/main.html:25 +#: warpfood/templates/warpfood/main.html:26 msgid "status" msgstr "Status" @@ -525,7 +558,7 @@ msgstr "Support" #: warpmain/templates/warpmain/about.html:23 msgid "support_text" -msgstr "WTF? Support ?" +msgstr "WTF? Support?" #: warpmain/templates/warpmain/about.html:41 msgid "open_source_licenses" @@ -551,3 +584,8 @@ msgstr "Erstellt von" msgid "News" msgstr "News" +#: warppay/templates/warppay/main.html:17 +#, fuzzy +#| msgid "created_by" +msgid "Created by" +msgstr "Erstellt von" diff --git a/www/web/locale/en/LC_MESSAGES/django.po b/www/web/locale/en/LC_MESSAGES/django.po index 2164936e92368bfbf42007293264d540e6abbe06..546788b7bb16d6e7fcec51a5bb6137abf9d1bc17 100644 --- a/www/web/locale/en/LC_MESSAGES/django.po +++ b/www/web/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-23 12:32+0200\n" +"POT-Creation-Date: 2016-09-24 03:08+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" @@ -35,6 +35,32 @@ msgstr "Admin" msgid "pizza_sheet" msgstr "PizzaSheet" +#: templates/base.html:75 +#, fuzzy +#| msgid "pizza_service" +msgid "services" +msgstr "Services" + +#: templates/base.html:88 +msgid "internal" +msgstr "Internal" + +#: templates/base.html:92 +#, fuzzy +#| msgid "registration" +msgid "administration" +msgstr "Registration" + +#: templates/base.html:93 +#, fuzzy +#| msgid "admin" +msgid "ldap_admin" +msgstr "Admin" + +#: templates/base.html:94 +msgid "postfix_admin" +msgstr "" + #: templates/two_factor/core/login.html:5 msgid "login" msgstr "Login" @@ -355,31 +381,31 @@ msgstr "" msgid "Your registration for WarpInfra" msgstr "Your registration for WarpInfra" -#: warpauth/views/register.py:37 +#: warpauth/views/register.py:39 msgid "err_fill_all_fields" msgstr "requred fields are empty" -#: warpauth/views/register.py:39 +#: warpauth/views/register.py:41 msgid "err_invalid_username" msgstr "invalid username" -#: warpauth/views/register.py:41 warpauth/views/reset_password.py:57 +#: warpauth/views/register.py:43 warpauth/views/reset_password.py:57 msgid "err_passwords_not_matching" msgstr "Password do not match" -#: warpauth/views/register.py:64 +#: warpauth/views/register.py:66 msgid "err_sending_mail" msgstr "error sending mail" -#: warpauth/views/register.py:68 +#: warpauth/views/register.py:70 msgid "err_username_not_available" msgstr "username is not available" -#: warpauth/views/register.py:81 +#: warpauth/views/register.py:83 msgid "err_token_invalid" msgstr "invalid token" -#: warpauth/views/register.py:92 warpauth/views/register.py:95 +#: warpauth/views/register.py:94 warpauth/views/register.py:97 msgid "err_processing_request" msgstr "error processing request" @@ -404,15 +430,22 @@ msgstr "invalid token" msgid "create_food_sheet" msgstr "Create Sheet" -#: warpfood/templates/warpfood/main.html:25 +#: warpfood/templates/warpfood/main.html:17 +#, fuzzy +#| msgid "create_food_sheet" +msgid "create_food_service" +msgstr "Create Sheet" + +#: warpfood/templates/warpfood/main.html:26 +#: warpfood/templates/warpfood/view.html:17 msgid "estimated_order_time" msgstr "estimated order time" -#: warpfood/templates/warpfood/main.html:25 +#: warpfood/templates/warpfood/main.html:26 msgid "pizza_service" msgstr "pizza service" -#: warpfood/templates/warpfood/main.html:25 +#: warpfood/templates/warpfood/main.html:26 msgid "status" msgstr "Status" @@ -551,3 +584,8 @@ msgstr "Created by" msgid "News" msgstr "News" +#: warppay/templates/warppay/main.html:17 +#, fuzzy +#| msgid "created_by" +msgid "Created by" +msgstr "Created by" diff --git a/www/web/templates/base.html b/www/web/templates/base.html index 417c943fb0dbe6be19221b90d74a3c360320fb58..904b5b9ac4047f7b11a428b7439e707fad697a41 100644 --- a/www/web/templates/base.html +++ b/www/web/templates/base.html @@ -70,11 +70,31 @@ <li><a href="/pizza">{% trans "pizza_sheet" %}</a></li> </ul> {% endif %} - <ul class="nav navbar-nav"> - <li> </li> - <li><a href="https://gitlab.warpzone.ms">Gitlab</a></li> - <li><a href="https://mattermost.warpzone.ms">Mattermost</a></li> - <li><a href="https://pad.warpzone.ms">EhterPad</a></li> + <ul class="nav navbar-nav"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{% trans "services" %} <span class="caret"></span></a> + <ul class="dropdown-menu"> + <li role="separator" class="divider"></li> + <li><a href="https://www.warpzone.ms/wiki" target="_blank">Wiki</a></li> + <li><a href="https://pad.warpzone.ms" target="_blank">EhterPad</a></li> + {% if request.user.is_authenticated %} + <li role="separator" class="divider"></li> + <li><a href="https://gitlab.warpzone.ms" target="_blank">Gitlab</a></li> + <li><a href="https://mattermost.warpzone.ms" target="_blank">Mattermost</a></li> + <li><a href="http://lists.warpzone.ms/cgi-bin/mailman/listinfo/" target="_blank">MailingListe</a></li> + {% endif %} + + <li role="separator" class="divider"></li> + <li class="dropdown-header">{% trans "internal" %}</li> + <li><a href="http://radio.warpzone" target="_blank">WarpRadio</a></li> + <li role="separator" class="divider"></li> + {% if request.user.is_superuser %} + <li class="dropdown-header">{% trans "administration" %}</li> + <li><a href="https://ldap.warpzone.ms" target="_blank">{% trans "ldap_admin" %}</a></li> + <li><a href="http://postfixadmin.warpzone.ms/login.php" target="_blank">{% trans "postfix_admin" %}</a></li> + {% endif %} + </ul> + </li> </ul> </div> </div> diff --git a/www/web/warpauth/models.py b/www/web/warpauth/models.py index af1f40ccbced8373f677744e195ffee421f13b8a..7b1b53a12aa3b8eb28586faad1a14da54aab8ffe 100644 --- a/www/web/warpauth/models.py +++ b/www/web/warpauth/models.py @@ -27,7 +27,7 @@ class ActivationToken(models.Model): class LdapUser(ldapdb.models.Model): base_dn = "ou=users,dc=warpzone,dc=ms" - object_classes = ['posixAccount', 'inetOrgPerson'] + object_classes = ['inetOrgPerson'] uid = CharField(db_column='uid', unique=True, primary_key=True) first_name = CharField(db_column='givenName', max_length=200) @@ -35,9 +35,7 @@ class LdapUser(ldapdb.models.Model): email = CharField(db_column='mail', max_length=200) cn = CharField(db_column='cn', max_length=200) card_id = CharField(db_column='employeeNumber', max_length=200) - uidNumber = CharField(db_column='uidNumber', max_length=200) - gidNumber = CharField(db_column='gidNumber', max_length=200) - homeDirectory = CharField(db_column='homeDirectory', max_length=200) + def __str__(self): return self.uid @@ -53,11 +51,11 @@ class LdapUserForm(ModelForm): class LdapGroup(ldapdb.models.Model): base_dn = "ou=groups,dc=warpzone,dc=ms" - object_classes = ['posixGroup'] + object_classes = ['groupOfUniqueNames'] gid = IntegerField(db_column='gidNumber', unique=True) name = CharField(db_column='cn', max_length=200, primary_key=True) - members = ListField(db_column='memberUid') + members = ListField(db_column='uniqueMember') def __str__(self): return self.name diff --git a/www/web/warpauth/views/register.py b/www/web/warpauth/views/register.py index da1936e798837cfab4db5a9c177ce2b2af878945..099f678fe0d68d6d60957a9bf556c4e608cd468d 100644 --- a/www/web/warpauth/views/register.py +++ b/www/web/warpauth/views/register.py @@ -76,7 +76,7 @@ def activate(request, token=None): try: activation_token = ActivationToken.objects.get(token=token) group = LdapGroup.objects.filter(name="active").get() - group.members.append(activation_token.user) + group.members.append("uid="+str(activation_token.user)+",ou=users,dc=warpzone,dc=ms") group.save() activation_token.delete() except ObjectDoesNotExist: diff --git a/www/web/warpfood/templates/warpfood/view.html b/www/web/warpfood/templates/warpfood/view.html index dea9cc2d05e1a6a51a32b9b3dc2ec3f7845621a0..9a6b6a46753c641b8023a63e7e57bc86471bf231 100644 --- a/www/web/warpfood/templates/warpfood/view.html +++ b/www/web/warpfood/templates/warpfood/view.html @@ -137,7 +137,7 @@ <div class="tab-content"> {% for category,products in food_products.items %} - <div role="tabpanel" class="tab-pane fade in{% if category == "Pizza" %} active {% endif %}" id="{{ category }}"> + <div role="tabpanel" class="tab-pane fade in{% if category == "all" %} active {% endif %}" id="{{ category }}"> <table class="table table-striped table-hover"> {% for product in products %} <tr data-link="javascript:choose_food_product('{{ product.name }}','{{ product.size }}','{{ product.price }}', '{{ product.id }}');"> diff --git a/www/web/warpfood/views.py b/www/web/warpfood/views.py index 588ba2bc4f7973c74db5b7e5bf8a7be286cfd307..b070b190a0993fd2acec1538e1d10b2a4112bb50 100644 --- a/www/web/warpfood/views.py +++ b/www/web/warpfood/views.py @@ -51,7 +51,6 @@ def edit_sheet(request, sheet_id=0): return redirect("/") - def view(request, sheet_id=0): form = None page_context['error'] = "" @@ -61,7 +60,15 @@ def view(request, sheet_id=0): else: form = FoodOrderFormExt(request.POST) if form.is_valid(): - form.save() + order = form.save() + if not order.product_id: + p = FoodProduct() + p.name = order.article + p.food_service = order.sheet.food_service + p.food_category = FoodCategory.objects.get(name="not_assigned") + p.size = order.size + p.price = order.price + p.save() form = None if sheet_id != 0: @@ -83,11 +90,14 @@ def view(request, sheet_id=0): products = FoodProduct.objects.filter(food_service=sheet.food_service) page_context['food_products'] = {} + page_context['food_products']['all']=[] for product in products: if product.food_category.name not in page_context['food_products']: page_context['food_products'][product.food_category.name] = [] + page_context['food_products']['all'].append(product) page_context['food_products'][product.food_category.name].append(product) + return HttpResponse(render(request, 'warpfood/view.html', page_context)) diff --git a/www/web/warpzone/settings.py b/www/web/warpzone/settings.py index 0f4fb0c971abcd6c950a86597348f87ee7b946a3..f22beb6663d31fa6a54be94a71eb1ce8f1be89e4 100644 --- a/www/web/warpzone/settings.py +++ b/www/web/warpzone/settings.py @@ -2,7 +2,7 @@ import os import ldap import logging import configparser -from django_auth_ldap.config import LDAPSearch, GroupOfNamesType, PosixGroupType +from django_auth_ldap.config import LDAPSearch, GroupOfUniqueNamesType, GroupOfNamesType, PosixGroupType from django.core.urlresolvers import reverse_lazy BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -169,10 +169,10 @@ AUTH_LDAP_PROFILE_ATTR_MAP = {"home_directory": "homeDirectory"} AUTH_LDAP_GROUP_SEARCH = LDAPSearch(LDAP_GROUP_SEARCH_PATH, - ldap.SCOPE_SUBTREE, "(objectClass=posixGroup)" + ldap.SCOPE_SUBTREE, "(objectClass=groupOfUniqueNames)" ) -AUTH_LDAP_GROUP_TYPE = PosixGroupType() +AUTH_LDAP_GROUP_TYPE = GroupOfUniqueNamesType() AUTH_LDAP_USER_FLAGS_BY_GROUP = {