Add footer with language controls

Also add a project wide global_static directory at the root for storing
project wide static files. Add some translations for the member register
app.
This commit is contained in:
Jan Tuomi
2017-02-06 01:10:25 +02:00
parent c34e31c0e5
commit 7ee3f69740
13 changed files with 176 additions and 125 deletions
+2
View File
@@ -12,3 +12,5 @@ webapp/migrations/*
.idea/
logs/
logs/*
static/
static/*
+20
View File
@@ -0,0 +1,20 @@
.footer {
text-align: center;
}
#fi-button {
background: url("/static/img/fi.png") no-repeat;
background-size: cover;
}
#en-button {
background: url("/static/img/en.png") no-repeat;
background-size: cover;
}
.lang-button {
height: 20px;
width: 30px;
margin-left: 10px;
margin-right: 10px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.
+33 -31
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-05 20:18+0200\n"
"POT-Creation-Date: 2017-02-06 01: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"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: members/templates/member_list.html:13 members/templates/member_list.html:48
#: members/templates/member_list.html:13 members/templates/member_list.html:45
msgid "Added"
msgstr ""
@@ -29,7 +29,7 @@ msgstr ""
msgid "Added before"
msgstr ""
#: members/templates/member_list.html:20 members/templates/member_list.html:49
#: members/templates/member_list.html:20 members/templates/member_list.html:46
msgid "Paid"
msgstr ""
@@ -57,47 +57,51 @@ msgstr ""
msgid "Member register"
msgstr ""
#: members/templates/member_list.html:37
msgid "Member count"
#: members/templates/member_list.html:33
msgid "Download CSV"
msgstr ""
#: members/templates/member_list.html:42
#: members/templates/member_list.html:39
msgid "Last name"
msgstr ""
#: members/templates/member_list.html:43
#: members/templates/member_list.html:40
msgid "First name"
msgstr ""
#: members/templates/member_list.html:44
#: members/templates/member_list.html:41
msgid "Email"
msgstr ""
#: members/templates/member_list.html:45
#: members/templates/member_list.html:42
msgid "AYY member"
msgstr ""
#: members/templates/member_list.html:46
#: members/templates/member_list.html:43
msgid "JAS recipient"
msgstr ""
#: members/templates/member_list.html:47
#: members/templates/member_list.html:44
msgid "Residence"
msgstr ""
#: members/templates/member_list.html:63
#: members/templates/member_list.html:47
msgid "Member count"
msgstr ""
#: members/templates/member_list.html:61
msgid "Update payment"
msgstr ""
#: members/templates/member_list.html:64
#: members/templates/member_list.html:62
msgid "Edit"
msgstr ""
#: members/templates/member_list.html:65
#: members/templates/member_list.html:63
msgid "Delete"
msgstr ""
#: members/templates/member_list.html:65
#: members/templates/member_list.html:63
msgid "Are you sure?"
msgstr ""
@@ -117,24 +121,22 @@ msgstr ""
msgid "Member application"
msgstr ""
#: members/templates/members_base.html:55 sikweb/settings-sample.py:140
#: sikweb/settings.py:146
msgid "Finnish"
msgstr ""
#: members/templates/members_base.html:56 sikweb/settings-sample.py:139
#: sikweb/settings.py:145
msgid "English"
msgstr ""
#: members/templates/members_base.html:58
msgid "Change language"
msgstr ""
#: members/templates/members_base.html:70
#: members/templates/members_base.html:62
msgid "Member register of SIK ry"
msgstr ""
#: members/templates/members_base.html:75
#: members/templates/members_base.html:67
msgid "Log out"
msgstr ""
#: sikweb/settings-sample.py:141 sikweb/settings.py:146
msgid "English"
msgstr ""
#: sikweb/settings-sample.py:142 sikweb/settings.py:147
msgid "Finnish"
msgstr ""
#: templates/footer.html:11
msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry"
msgstr ""
Binary file not shown.
+37 -32
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-02-05 20:18+0200\n"
"POT-Creation-Date: 2017-02-06 01: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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: members/templates/member_list.html:13 members/templates/member_list.html:48
#: members/templates/member_list.html:13 members/templates/member_list.html:45
msgid "Added"
msgstr "Lisätty"
@@ -30,7 +30,7 @@ msgstr "Lisätty jälkeen"
msgid "Added before"
msgstr "Lisätty ennen"
#: members/templates/member_list.html:20 members/templates/member_list.html:49
#: members/templates/member_list.html:20 members/templates/member_list.html:46
msgid "Paid"
msgstr "Maksettu"
@@ -58,47 +58,51 @@ msgstr "Nollaa"
msgid "Member register"
msgstr "Jäsenrekisteri"
#: members/templates/member_list.html:37
msgid "Member count"
msgstr "Lukumäärä"
#: members/templates/member_list.html:33
msgid "Download CSV"
msgstr ""
#: members/templates/member_list.html:42
#: members/templates/member_list.html:39
msgid "Last name"
msgstr "Sukunimi"
#: members/templates/member_list.html:43
#: members/templates/member_list.html:40
msgid "First name"
msgstr "Etunimi"
#: members/templates/member_list.html:44
#: members/templates/member_list.html:41
msgid "Email"
msgstr "Sähköposti"
#: members/templates/member_list.html:45
#: members/templates/member_list.html:42
msgid "AYY member"
msgstr "AYY:n jäsen"
#: members/templates/member_list.html:46
#: members/templates/member_list.html:43
msgid "JAS recipient"
msgstr "JAS-vastaanottaja"
#: members/templates/member_list.html:47
#: members/templates/member_list.html:44
msgid "Residence"
msgstr "Asuinpaikka"
#: members/templates/member_list.html:63
#: members/templates/member_list.html:47
msgid "Member count"
msgstr "Lukumäärä"
#: members/templates/member_list.html:61
msgid "Update payment"
msgstr "Päivitä maksu"
#: members/templates/member_list.html:64
#: members/templates/member_list.html:62
msgid "Edit"
msgstr "Muokkaa"
#: members/templates/member_list.html:65
#: members/templates/member_list.html:63
msgid "Delete"
msgstr "Poista"
#: members/templates/member_list.html:65
#: members/templates/member_list.html:63
msgid "Are you sure?"
msgstr "Oletko varma?"
@@ -118,24 +122,25 @@ msgstr "Lisää useita"
msgid "Member application"
msgstr "Jäsenhakemus"
#: members/templates/members_base.html:55 sikweb/settings-sample.py:140
#: sikweb/settings.py:146
msgid "Finnish"
msgstr "suomi"
#: members/templates/members_base.html:56 sikweb/settings-sample.py:139
#: sikweb/settings.py:145
msgid "English"
msgstr "englanti"
#: members/templates/members_base.html:58
msgid "Change language"
msgstr "Vaihda kieli"
#: members/templates/members_base.html:70
#: members/templates/members_base.html:62
msgid "Member register of SIK ry"
msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri"
#: members/templates/members_base.html:75
#: members/templates/members_base.html:67
msgid "Log out"
msgstr "Kirjaudu ulos"
#: sikweb/settings-sample.py:141 sikweb/settings.py:146
msgid "English"
msgstr "englanti"
#: sikweb/settings-sample.py:142 sikweb/settings.py:147
msgid "Finnish"
msgstr "suomi"
#: templates/footer.html:11
msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry"
msgstr ""
#~ msgid "Change language"
#~ msgstr "Vaihda kieli"
+1 -8
View File
@@ -50,14 +50,6 @@
<li><a href="/members/add">{% trans "Add member" %}</a></li>
<li><a href="/members/add_many">{% trans "Add multiple" %}</a></li>
<li><a href="/members/applications">{% trans "Member application" %}</a></li>
<form action="/i18n/setlang/" method="post"> {% csrf_token %}
<select name="language">
<option value="fi">{% trans "Finnish" %}</option>
<option value="en">{% trans "English" %}</option>
</select>
<input type="submit" value="{% trans "Change language" %}" />
</form>
</ul>
</div>
<!-- /#sidebar-wrapper -->
@@ -79,5 +71,6 @@
{% block content %}
{% endblock content %}
</div>
{% include "footer.html" %}
</body>
</html>
+11 -2
View File
@@ -60,14 +60,16 @@ ROOT_URLCONF = 'sikweb.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'DIRS': ['templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.template.context_processors.i18n',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.static',
],
},
},
@@ -159,8 +161,15 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'global_static'),
)
HSL_USERHASH = 'YOUR HSL USERHASH HERE'
HSL_DEPARTURE_THRESHOLD = 8
+59 -52
View File
@@ -18,6 +18,10 @@ from django.conf.urls import url
from django.contrib import admin
from django.views.generic.base import RedirectView
from django.conf.urls import include
from django.conf.urls.static import static
from django.conf import settings
from django.contrib.staticfiles import views as static_views
# main
from webapp.views import main_index
# login
@@ -66,57 +70,60 @@ from members.views import application_success_index
favicon_view = RedirectView.as_view(url='static/img/favicon.ico', permanent=True)
urlpatterns = [
# main
url(r'^$', main_index),
# admin
url(r'^admin/', admin.site.urls),
# login stuff
url(r'^login$', login_view),
url(r'^logout$', logout_view),
# members
url(r'^members/$', member_list),
url(r'^members/list$', member_list),
url(r'^members/add$', add_member),
url(r'^members/add_many$', add_many_members),
url(r'^members/edit/(?P<index>\d+)$', edit_member),
url(r'^members/applications$', list_applications),
url(r'^members/edit_application/(?P<index>\d+)$', edit_application),
url(r'^members/api/members$', mems),
url(r'^members/api/member/(?P<idx>\d+)$', mem),
url(r'^members/api/member/$', mem),
url(r'^members/api/csvimport$', mem_csv_import),
url(r'^members/api/requests$', member_requests),
url(r'^members/api/request$', new_member_request),
url(r'^members/api/request/(?P<idx>\d+)$', handle_mem_request),
url(r'^members/api/getCSV$', mem_csv_export),
url(r'^members/tommy$', tommy_blooper),
#infoscreen
url(r'^infoscreen/$', infodefault),
url(r'^infoscreen/(?P<idx>\d+)$', infoindex),
url(r'^infoscreen/items$', info_items),
url(r'^infoscreen/rotation/(?P<idx>\d+)$', rotation),
url(r'^infoscreen/rotations$', rotations),
url(r'^infoscreen/instance$', createInfoInstance),
url(r'^infoscreen/instance/(?P<idx>\d+)$', deleteInfoInstance),
url(r'^infoscreen/types$', info_types),
url(r'^infoscreen/delete_item/(?P<type_id>\d+)/(?P<idx>\d+)$', delete_info_item),
url(r'^infoscreen/create_external_image$', createExternalImageInfoItem),
url(r'^infoscreen/create_image$', create_image_item),
url(r'^infoscreen/create_abbitem$', createABBItem),
url(r'^infoscreen/create_sossoitem$', createSossoItem),
url(r'^infoscreen/create_hslitem$', createHslItem),
url(r'^infoscreen/create_coffeeitem$', createCoffeeItem),
url(r'^infoscreen/admin$', infoscreen_admin),
url(r'^infoscreen/create_rotation$', create_rotation),
url(r'^infoscreen/delete_rotation/(?P<id>\d+)$', delete_rotation),
url(r'^infoscreen/hsl_data$', CurrentHSLView),
url(r'^infoscreen/hsl_data/settings$', hsl_timetable_settings),
#application
url(r'^application/$', application_index),
url(r'^application/success$', application_success_index),
url(r'^favicon\.ico$', favicon_view),
# main
url(r'^$', main_index),
# admin
url(r'^admin/', admin.site.urls),
# login stuff
url(r'^login$', login_view),
url(r'^logout$', logout_view),
# members
url(r'^members/$', member_list),
url(r'^members/list$', member_list),
url(r'^members/add$', add_member),
url(r'^members/add_many$', add_many_members),
url(r'^members/edit/(?P<index>\d+)$', edit_member),
url(r'^members/applications$', list_applications),
url(r'^members/edit_application/(?P<index>\d+)$', edit_application),
url(r'^members/api/members$', mems),
url(r'^members/api/member/(?P<idx>\d+)$', mem),
url(r'^members/api/member/$', mem),
url(r'^members/api/csvimport$', mem_csv_import),
url(r'^members/api/requests$', member_requests),
url(r'^members/api/request$', new_member_request),
url(r'^members/api/request/(?P<idx>\d+)$', handle_mem_request),
url(r'^members/api/getCSV$', mem_csv_export),
url(r'^members/tommy$', tommy_blooper),
#infoscreen
url(r'^infoscreen/$', infodefault),
url(r'^infoscreen/(?P<idx>\d+)$', infoindex),
url(r'^infoscreen/items$', info_items),
url(r'^infoscreen/rotation/(?P<idx>\d+)$', rotation),
url(r'^infoscreen/rotations$', rotations),
url(r'^infoscreen/instance$', createInfoInstance),
url(r'^infoscreen/instance/(?P<idx>\d+)$', deleteInfoInstance),
url(r'^infoscreen/types$', info_types),
url(r'^infoscreen/delete_item/(?P<type_id>\d+)/(?P<idx>\d+)$', delete_info_item),
url(r'^infoscreen/create_external_image$', createExternalImageInfoItem),
url(r'^infoscreen/create_image$', create_image_item),
url(r'^infoscreen/create_abbitem$', createABBItem),
url(r'^infoscreen/create_sossoitem$', createSossoItem),
url(r'^infoscreen/create_hslitem$', createHslItem),
url(r'^infoscreen/create_coffeeitem$', createCoffeeItem),
url(r'^infoscreen/admin$', infoscreen_admin),
url(r'^infoscreen/create_rotation$', create_rotation),
url(r'^infoscreen/delete_rotation/(?P<id>\d+)$', delete_rotation),
url(r'^infoscreen/hsl_data$', CurrentHSLView),
url(r'^infoscreen/hsl_data/settings$', hsl_timetable_settings),
#application
url(r'^application/$', application_index),
url(r'^application/success$', application_success_index),
url(r'^favicon\.ico$', favicon_view),
# i18n default view for changing the active language
url(r'^i18n/', include('django.conf.urls.i18n')),
# i18n default view for changing the active language
url(r'^i18n/', include('django.conf.urls.i18n')),
]
# staticfiles default view for static files in development
url(r'^static/(?P<path>.*)$', static_views.serve),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
+13
View File
@@ -0,0 +1,13 @@
{% load i18n %}
{% load static %}
{% load staticfiles %}
<link rel="stylesheet" href="{% static "css/footer.css" %}">
<div class="footer">
<form action="/i18n/setlang/" method="post"> {% csrf_token %}
<button id="fi-button" class="lang-button" name="language" value="fi"></button>
<button id="en-button" class="lang-button" name="language" value="en"></button>
</form>
<div>
{% trans "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" %} {% now 'Y' %}
</div>
</div>