From 990d6b853fdfc3c90e466f2e3874b01254b405d4 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 5 Feb 2017 16:39:49 +0200 Subject: [PATCH 01/15] Move templates in members app to templates dir This is kind of a huge, monolithic commit. Templates were being served as static files, so Django template tags could not be used for, e.g. internationalization. Now all html files are served as Django templates. --- members/admin.py | 3 + members/static/html/jasenhakemukset.html | 31 ----- members/static/html/jasenlista.html | 66 --------- members/static/html/lisaa_jasen.html | 31 ----- members/static/html/lisaa_jasenia.html | 24 ---- members/static/html/muokkaa_hakemusta.html | 32 ----- members/static/html/muokkaa_jasenta.html | 32 ----- members/static/js/appconfig.js | 9 +- members/static/js/members_controllers.js | 22 +-- members/static/js/members_routers.js | 37 ----- members/templates/add_many_members.html | 28 ++++ members/templates/add_member.html | 39 ++++++ members/templates/application_base.html | 43 ++++++ members/templates/application_index.html | 151 +++++++++------------ members/templates/application_success.html | 21 +-- members/templates/edit_application.html | 41 ++++++ members/templates/edit_member.html | 41 ++++++ members/templates/list_applications.html | 40 ++++++ members/templates/member_list.html | 73 ++++++++++ members/templates/members_base.html | 77 +++++++++++ members/templates/members_index.html | 91 ++++--------- members/templates/tommy_blooper.html | 8 ++ members/views.py | 51 ++++++- sikweb/urls.py | 17 ++- 24 files changed, 572 insertions(+), 436 deletions(-) delete mode 100644 members/static/html/jasenhakemukset.html delete mode 100644 members/static/html/jasenlista.html delete mode 100644 members/static/html/lisaa_jasen.html delete mode 100644 members/static/html/lisaa_jasenia.html delete mode 100644 members/static/html/muokkaa_hakemusta.html delete mode 100644 members/static/html/muokkaa_jasenta.html delete mode 100644 members/static/js/members_routers.js create mode 100644 members/templates/add_many_members.html create mode 100644 members/templates/add_member.html create mode 100644 members/templates/application_base.html create mode 100644 members/templates/edit_application.html create mode 100644 members/templates/edit_member.html create mode 100644 members/templates/list_applications.html create mode 100644 members/templates/member_list.html create mode 100644 members/templates/members_base.html create mode 100644 members/templates/tommy_blooper.html diff --git a/members/admin.py b/members/admin.py index 8c38f3f..bacee5d 100644 --- a/members/admin.py +++ b/members/admin.py @@ -1,3 +1,6 @@ from django.contrib import admin +from members.models import Member, MemberRequest # Register your models here. +admin.site.register(Member) +admin.site.register(MemberRequest) diff --git a/members/static/html/jasenhakemukset.html b/members/static/html/jasenhakemukset.html deleted file mode 100644 index 337b6b8..0000000 --- a/members/static/html/jasenhakemukset.html +++ /dev/null @@ -1,31 +0,0 @@ -

Jäsenhakemukset

- -
-
-
{{ x.member.first_name }} {{ x.member.last_name}}
-
-
-
Sähköposti: {{ x.member.email }}
-
-
-
AYY-jäsen: {{ x.member.AYY }}
-
-
-
JAS-listaan: {{ x.member.jas }}
-
-
-
Asuinpaikka: {{ x.member.POR }}
-
-
-
Lisätty: {{ x.member.created }}
-
-
-
- - - Muokkaa -
-
-
-
-
diff --git a/members/static/html/jasenlista.html b/members/static/html/jasenlista.html deleted file mode 100644 index 956ff34..0000000 --- a/members/static/html/jasenlista.html +++ /dev/null @@ -1,66 +0,0 @@ - -
-
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-

Jäsenlista (jäseniä: {{members.length}})

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SukunimiEtunimiSähköpostiAYY-jäsenJAS-listallaAsuinpaikkaLisättyMaksanut
{{ x.last_name }}{{ x.first_name }}{{ x.email }}{{ x.AYY }}{{ x.jas }}{{ x.POR }}{{ x.created }}{{ x.paid }} - - Muokkaa - -
-
-
- Tommy -
-
-
diff --git a/members/static/html/lisaa_jasen.html b/members/static/html/lisaa_jasen.html deleted file mode 100644 index be3d3f8..0000000 --- a/members/static/html/lisaa_jasen.html +++ /dev/null @@ -1,31 +0,0 @@ -

Lisää jäsen

- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- -
-
diff --git a/members/static/html/lisaa_jasenia.html b/members/static/html/lisaa_jasenia.html deleted file mode 100644 index d81e62e..0000000 --- a/members/static/html/lisaa_jasenia.html +++ /dev/null @@ -1,24 +0,0 @@ -
-
-

Lisää useampi jäsen

-
- Syötä jäsentiedot pilkuilla erotettuina formaatissa Etunimi, Sukunimi, Sähköposti, Asuinkunta, AYY-jäsen(0 tai 1), JAS-listaan(0 tai 1) -
-
- Erota jäsenet rivinvaihdoilla toisistaan. -
- -
-
-
-
- -
-
-
-
- -
-
-
-
diff --git a/members/static/html/muokkaa_hakemusta.html b/members/static/html/muokkaa_hakemusta.html deleted file mode 100644 index 07b1614..0000000 --- a/members/static/html/muokkaa_hakemusta.html +++ /dev/null @@ -1,32 +0,0 @@ -

Muokkaa hakemuksen jäsentietoja

- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- - -
-
\ No newline at end of file diff --git a/members/static/html/muokkaa_jasenta.html b/members/static/html/muokkaa_jasenta.html deleted file mode 100644 index 9bd7202..0000000 --- a/members/static/html/muokkaa_jasenta.html +++ /dev/null @@ -1,32 +0,0 @@ -

Muokkaa jäsentietoja

- -
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
- - -
-
diff --git a/members/static/js/appconfig.js b/members/static/js/appconfig.js index 9a4841c..a1c15f1 100644 --- a/members/static/js/appconfig.js +++ b/members/static/js/appconfig.js @@ -1,6 +1,11 @@ var app = angular.module('memberApp', ['ngRoute','ngMaterial','ngMessages']); -app.config(['$httpProvider', function ($httpProvider) { +app.config(['$httpProvider', '$locationProvider', function ($httpProvider, $locationProvider) { $httpProvider.defaults.xsrfCookieName = 'csrftoken'; $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken'; -}]); \ No newline at end of file +}]); + +app.config(function($interpolateProvider) { + $interpolateProvider.startSymbol('{$'); + $interpolateProvider.endSymbol('$}'); +}); diff --git a/members/static/js/members_controllers.js b/members/static/js/members_controllers.js index eb5dbb4..30825e1 100644 --- a/members/static/js/members_controllers.js +++ b/members/static/js/members_controllers.js @@ -19,21 +19,22 @@ function notyfication(type, timeout) { var notyError = notyfication('error', 2500); var notySuccess = notyfication('success', 2500); -function memberDataEditor(returnpath) { - return function($scope, $http, $route, $routeParams, $window, $location) { - $scope.member = {"id": $routeParams.id}; - $http.get("/members/api/member/" + $scope.member.id).then(function(response) { +function memberDataEditor(returnPath) { + return function($scope, $http, $window, $location) { + var id = memberId; + console.log("id: " + id); + $http.get("/members/api/member/" + id).then(function(response) { $scope.member = response.data; }); $scope.send = function() { - $http.put("/members/api/member/" + $scope.member.id, $scope.member).then(function(response){ + $http.put("/members/api/member/" + id, $scope.member).then(function(response){ notySuccess("Jäsentiedot tallennettu"); - $location.path(returnpath); + $window.location = returnPath; }); } $scope.cancel = function() { //user canceled. return to list - $location.path(returnpath); + $window.location = returnPath; } } } @@ -47,7 +48,7 @@ app.directive('ngConfirmClick', [ function() { return { buttons: [ { addClass: 'btn btn-danger', text: 'Kyllä', onClick: function($noty) { $noty.close(); - scope.$eval(clickAction) + scope.$eval(clickAction); } }, { @@ -214,7 +215,6 @@ app.controller("postController", function($scope, $http, $location) { $scope.send = function() { $http.post("/members/api/member/", $scope.member).then(function(response){ notySuccess("Jäsen lisätty!"); - $location.path("/list"); }); } }); @@ -258,8 +258,8 @@ app.controller("applController", function($scope, $http){ }; }); -app.controller("editController", memberDataEditor("/list")); -app.controller("applEditController", memberDataEditor("/applications")); +app.controller("editController", memberDataEditor("/members/list")); +app.controller("applEditController", memberDataEditor("/members/applications")); app.controller("addManyController", function($scope, $http, $window) { $scope.memberData = ''; diff --git a/members/static/js/members_routers.js b/members/static/js/members_routers.js deleted file mode 100644 index d569d8e..0000000 --- a/members/static/js/members_routers.js +++ /dev/null @@ -1,37 +0,0 @@ -app.config(['$routeProvider', function($routeProvider){ - $routeProvider - .when('/',{ - templateUrl:"/static/html/jasenlista.html", - controller:'getController', - }) - .when('/list/',{ - templateUrl:"/static/html/jasenlista.html", - controller:'getController', - }) - .when('/add/',{ - templateUrl:"/static/html/lisaa_jasen.html", - controller:'postController', - }) - .when('/edit/:id',{ - templateUrl:"/static/html/muokkaa_jasenta.html", - controller:'editController', - }) - .when('/applications/',{ - templateUrl:"/static/html/jasenhakemukset.html", - controller:'applController', - }) - .when('/applications/edit/:id',{ - templateUrl:"/static/html/muokkaa_jasenta.html", - controller:'applEditController', - }) - .when('/addmany/',{ - templateUrl:"/static/html/lisaa_jasenia.html", - controller:'addManyController', - }) - .when('/tommy/',{ - templateUrl:"/static/html/tommy.html" - }) - .otherwise({ - 'redirectTo':"/" - }) -}]); diff --git a/members/templates/add_many_members.html b/members/templates/add_many_members.html new file mode 100644 index 0000000..510d42d --- /dev/null +++ b/members/templates/add_many_members.html @@ -0,0 +1,28 @@ +{% extends "members_base.html" %} + +{% block content %} +
+
+

Lisää useampi jäsen

+
+ Syötä jäsentiedot pilkuilla erotettuina formaatissa Etunimi, Sukunimi, Sähköposti, Asuinkunta, AYY-jäsen(0 tai 1), JAS-listaan(0 tai 1) +
+
+ Erota jäsenet rivinvaihdoilla toisistaan. +
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+{% endblock content %} diff --git a/members/templates/add_member.html b/members/templates/add_member.html new file mode 100644 index 0000000..72ac254 --- /dev/null +++ b/members/templates/add_member.html @@ -0,0 +1,39 @@ +{% extends "members_base.html" %} + +{% block content %} +
+

Lisää jäsen

+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + + +
+
+
+{% endblock content %} diff --git a/members/templates/application_base.html b/members/templates/application_base.html new file mode 100644 index 0000000..386f66e --- /dev/null +++ b/members/templates/application_base.html @@ -0,0 +1,43 @@ +{% load staticfiles %} +{% load i18n %} + + + + + + + + + Jäsenhakemus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% block content %} + {% endblock content %} + + diff --git a/members/templates/application_index.html b/members/templates/application_index.html index 47a44e4..c86535a 100644 --- a/members/templates/application_index.html +++ b/members/templates/application_index.html @@ -1,88 +1,67 @@ - - - - - - - +{% extends "application_base.html" %} +{% load static %} - - - - - - - - {%load staticfiles %} - - - - - - - - - -
+{% block content %} + -
- Jäseneksi Aalto-yliopiston Sähköinsinöörikiltaan -

Killan jäseneksi liittyminen on helppoa ja hauskaa!

-

Täytä vain alla oleva lomake

-

Muista myös maksaa jäsenmaksusi!

-
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - - -
-
-
-
- - -
-
-
-
-
-
- -
-
-
- +
+
+
+

Killan jäseneksi liittyminen on helppoa ja hauskaa!

+

Täytä vain alla oleva lomake

+

Muista myös maksaa jäsenmaksusi!

+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + +
+
+
+
+ + +
+
+
+
+
+
+ +
+
+
+{% endblock content %} diff --git a/members/templates/application_success.html b/members/templates/application_success.html index 370a897..ec8e994 100644 --- a/members/templates/application_success.html +++ b/members/templates/application_success.html @@ -1,15 +1,6 @@ - - - - - - - - - Hienoa! Jäsenhakemuksesi on nyt lähetetty. - - -

Hienoa! Jäsenhakemuksesi on nyt lähetetty.

- Takaisin Sähköinsinöörikillan web-sivuille - - +{% extends "application_base.html" %} + +{% block content %} +

Hienoa! Jäsenhakemuksesi on nyt lähetetty.

+Takaisin Sähköinsinöörikillan web-sivuille +{% endblock content %} diff --git a/members/templates/edit_application.html b/members/templates/edit_application.html new file mode 100644 index 0000000..14a5dda --- /dev/null +++ b/members/templates/edit_application.html @@ -0,0 +1,41 @@ +{% extends "members_base.html" %} + +{% block content %} + +
+

Muokkaa hakemuksen jäsentietoja

+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+{% endblock content %} diff --git a/members/templates/edit_member.html b/members/templates/edit_member.html new file mode 100644 index 0000000..d756f93 --- /dev/null +++ b/members/templates/edit_member.html @@ -0,0 +1,41 @@ +{% extends "members_base.html" %} + +{% block content %} + +
+

Muokkaa jäsentietoja

+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+{% endblock content %} diff --git a/members/templates/list_applications.html b/members/templates/list_applications.html new file mode 100644 index 0000000..44dfbe9 --- /dev/null +++ b/members/templates/list_applications.html @@ -0,0 +1,40 @@ +{% extends "members_base.html" %} + +{% block content %} +
+

Jäsenhakemukset

+ +
+
+
{$ x.member.first_name $} {$ x.member.last_name$}
+
+
+
Sähköposti: {$ x.member.email $}
+
+
+
AYY-jäsen: {$ x.member.AYY $}
+
+
+
JAS-listaan: {$ x.member.jas $}
+
+
+
Asuinpaikka: {$ x.member.POR $}
+
+
+
Lisätty: {$ x.member.created $}
+
+
+
+ + + Muokkaa +
+
+
+
+
+
+

Ei jäsenhakemuksia :(

+
+
+{% endblock content %} diff --git a/members/templates/member_list.html b/members/templates/member_list.html new file mode 100644 index 0000000..78a4393 --- /dev/null +++ b/members/templates/member_list.html @@ -0,0 +1,73 @@ +{% extends "members_base.html" %} + +{% load static %} +{% block content %} + +
+
+
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+

Jäsenlista (jäseniä: {$ members.length $})

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
SukunimiEtunimiSähköpostiAYY-jäsenJAS-listallaAsuinpaikkaLisättyMaksanut
{$ x.last_name $}{$ x.first_name $}{$ x.email $}{$ x.AYY $}{$ x.jas $}{$ x.POR $}{$ x.created $}{$ x.paid $} + + Muokkaa + +
+
+
+ Tommy +
+
+
+
+{% endblock content %} diff --git a/members/templates/members_base.html b/members/templates/members_base.html new file mode 100644 index 0000000..cd2af83 --- /dev/null +++ b/members/templates/members_base.html @@ -0,0 +1,77 @@ +{% load staticfiles %} +{% load static %} +{% load i18n %} + + + + + + + + + + Jäsenrekisteri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + {% block content %} + {% endblock content %} +
+ + diff --git a/members/templates/members_index.html b/members/templates/members_index.html index a666be0..6cac673 100644 --- a/members/templates/members_index.html +++ b/members/templates/members_index.html @@ -1,66 +1,31 @@ - - - - - - - +{% extends "members_base.html" %} - Jäsenrekisteri +{% block content %} +
- - - - + + + - - - - - - - - - - - - {%load staticfiles %} - - - - - - - - - - -
- - - - - - -
- -
-
- - + +
+ +
+
+{% endblock content %} diff --git a/members/templates/tommy_blooper.html b/members/templates/tommy_blooper.html new file mode 100644 index 0000000..ef0528b --- /dev/null +++ b/members/templates/tommy_blooper.html @@ -0,0 +1,8 @@ +{% extends "members_base.html" %} + +{% block content %} +

Tommyn jäsenlista

+
+ +
+{% endblock content %} diff --git a/members/views.py b/members/views.py index 7444e59..418a431 100644 --- a/members/views.py +++ b/members/views.py @@ -45,15 +45,58 @@ def send_mail_wrapper(subject, message): @ensure_csrf_cookie @require_http_methods(["GET"]) @permission_required('members.change_member', login_url='/login') -def index(request, *args, **kwargs): - return render(request, 'members_index.html', {}) +def member_list(request, *args, **kwargs): + context = {} + return render(request, 'member_list.html', context) +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def add_member(request, *args, **kwargs): + return render(request, 'add_member.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def add_many_members(request, *args, **kwargs): + return render(request, 'add_many_members.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def list_applications(request, *args, **kwargs): + return render(request, 'list_applications.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def tommy_blooper(request, *args, **kwargs): + return render(request, 'tommy_blooper.html', {}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def edit_member(request, *args, **kwargs): + i = kwargs.pop('index', None); + if i is None: + return HttpResponse(status=500, error="{'error': 'No member id specified'}") + else: + return render(request, 'edit_member.html', {'member_id' : i}) + +@ensure_csrf_cookie +@require_http_methods(["GET"]) +@permission_required('members.change_member', login_url='/login') +def edit_application(request, *args, **kwargs): + i = kwargs.pop('index', None); + if i is None: + return HttpResponse(status=500, error="{'error': 'No member id specified'}") + else: + return render(request, 'edit_application.html', {'member_id' : i}) @ensure_csrf_cookie def application_index(request, *args, **kwargs): return render(request, 'application_index.html', {}) - @ensure_csrf_cookie def application_success_index(request, *args, **kwargs): return render(request, 'application_success.html', {}) @@ -210,4 +253,4 @@ def export_csv(request, *args, **kwargs): writer.writerow(field_list) - return response \ No newline at end of file + return response diff --git a/sikweb/urls.py b/sikweb/urls.py index a63cf05..e563a20 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -23,7 +23,10 @@ from webapp.views import main_index from webapp.views import login_view from webapp.views import logout_view # members -from members.views import index as mindex +from members.views import member_list +from members.views import add_member +from members.views import add_many_members +from members.views import edit_member from members.views import members as mems from members.views import member as mem from members.views import handle_mem_request @@ -31,6 +34,7 @@ from members.views import csv_import as mem_csv_import from members.views import new_member_request from members.views import member_requests from members.views import export_csv as mem_csv_export +from members.views import tommy_blooper #infoscreen from infoscreen.views import index as infoindex from infoscreen.views import default as infodefault @@ -54,6 +58,8 @@ from infoscreen.views import admin as infoscreen_admin from infoscreen.views import hsl_timetable_settings #application from members.views import application_index +from members.views import list_applications +from members.views import edit_application from members.views import application_success_index favicon_view = RedirectView.as_view(url='static/img/favicon.ico', permanent=True) @@ -67,7 +73,13 @@ urlpatterns = [ url(r'^login$', login_view), url(r'^logout$', logout_view), # members - url(r'^members/$', mindex), + 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\d+)$', edit_member), + url(r'^members/applications$', list_applications), + url(r'^members/edit_application/(?P\d+)$', edit_application), url(r'^members/api/members$', mems), url(r'^members/api/member/(?P\d+)$', mem), url(r'^members/api/member/$', mem), @@ -76,6 +88,7 @@ urlpatterns = [ url(r'^members/api/request$', new_member_request), url(r'^members/api/request/(?P\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\d+)$', infoindex), From d0185a708f4890304f4d73f3d45152f71c16e3e1 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 5 Feb 2017 17:20:05 +0200 Subject: [PATCH 02/15] Fix application page errors --- members/templates/application_base.html | 6 +++--- members/templates/application_index.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/members/templates/application_base.html b/members/templates/application_base.html index 386f66e..2f00c86 100644 --- a/members/templates/application_base.html +++ b/members/templates/application_base.html @@ -1,7 +1,7 @@ {% load staticfiles %} {% load i18n %} - + @@ -27,11 +27,11 @@ - + - + diff --git a/members/templates/application_index.html b/members/templates/application_index.html index c86535a..5cdf71c 100644 --- a/members/templates/application_index.html +++ b/members/templates/application_index.html @@ -4,7 +4,7 @@ {% block content %} -
+

Killan jäseneksi liittyminen on helppoa ja hauskaa!

From c34e31c0e59736bcb62ab2d7e9a3cd7fadb1a91a Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 5 Feb 2017 23:02:04 +0200 Subject: [PATCH 03/15] Add some translations for i18n --- locale/en/LC_MESSAGES/django.mo | Bin 0 -> 378 bytes locale/en/LC_MESSAGES/django.po | 140 +++++++++++++++++++++++++++ locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 1798 bytes locale/fi/LC_MESSAGES/django.po | 141 ++++++++++++++++++++++++++++ members/templates/member_list.html | 46 ++++----- members/templates/members_base.html | 124 ++++++++++++------------ sikweb/settings-sample.py | 13 ++- sikweb/urls.py | 5 + 8 files changed, 387 insertions(+), 82 deletions(-) create mode 100644 locale/en/LC_MESSAGES/django.mo create mode 100644 locale/en/LC_MESSAGES/django.po create mode 100644 locale/fi/LC_MESSAGES/django.mo create mode 100644 locale/fi/LC_MESSAGES/django.po diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..c971c7b6c83359afe2436adab8e0ff60e3e9976d GIT binary patch literal 378 zcmYL^K~KUk7=|%=+R?Lz9=zd)g~T{38Y(Ne*luJD61`QZa|T<|6{A1Izvpl9TVmu* zp0r7yetr9MeDvMH93UsiDRPLMA#Gx0gojtSw$6WM-o2SsfOHK@_`2eb^>NVW$ss>8ONHoh!7<;1wUV=mi!^nX4FM$q#Uf`DX<1QUgiXs%| zqi%=)d5?k@pmIn!xzCwOyH9y0BB`4IrPsFE=-@mflZBKd<4TaBP&}0*o+O2s&u>w+ z)lOFiN~7Nykvy9&+R8&IN1M9me6@G5s!EmE|F7Sp(b(BwEI#+O#oobuhV$)4*Y=vM gUbSybxLK4Fi1%Jw>&18wcIDQ!tr&@)>kxH*0aICKK>z>% literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..b36a4c5 --- /dev/null +++ b/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,140 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-05 20:18+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"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 +msgid "Added" +msgstr "" + +#: members/templates/member_list.html:14 +msgid "Added after" +msgstr "" + +#: members/templates/member_list.html:15 +msgid "Added before" +msgstr "" + +#: members/templates/member_list.html:20 members/templates/member_list.html:49 +msgid "Paid" +msgstr "" + +#: members/templates/member_list.html:21 +msgid "Paid after" +msgstr "" + +#: members/templates/member_list.html:22 +msgid "Paid before" +msgstr "" + +#: members/templates/member_list.html:27 +msgid "Search" +msgstr "" + +#: members/templates/member_list.html:28 +msgid "Filter" +msgstr "" + +#: members/templates/member_list.html:29 +msgid "Reset" +msgstr "" + +#: members/templates/member_list.html:32 members/templates/members_base.html:13 +msgid "Member register" +msgstr "" + +#: members/templates/member_list.html:37 +msgid "Member count" +msgstr "" + +#: members/templates/member_list.html:42 +msgid "Last name" +msgstr "" + +#: members/templates/member_list.html:43 +msgid "First name" +msgstr "" + +#: members/templates/member_list.html:44 +msgid "Email" +msgstr "" + +#: members/templates/member_list.html:45 +msgid "AYY member" +msgstr "" + +#: members/templates/member_list.html:46 +msgid "JAS recipient" +msgstr "" + +#: members/templates/member_list.html:47 +msgid "Residence" +msgstr "" + +#: members/templates/member_list.html:63 +msgid "Update payment" +msgstr "" + +#: members/templates/member_list.html:64 +msgid "Edit" +msgstr "" + +#: members/templates/member_list.html:65 +msgid "Delete" +msgstr "" + +#: members/templates/member_list.html:65 +msgid "Are you sure?" +msgstr "" + +#: members/templates/members_base.html:49 +msgid "Member list" +msgstr "" + +#: members/templates/members_base.html:50 +msgid "Add member" +msgstr "" + +#: members/templates/members_base.html:51 +msgid "Add multiple" +msgstr "" + +#: members/templates/members_base.html:52 +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 +msgid "Member register of SIK ry" +msgstr "" + +#: members/templates/members_base.html:75 +msgid "Log out" +msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..7ebb96b125c8a0d954f0f958672541b0181398cf GIT binary patch literal 1798 zcmZ9L&u<$=6vwAf3YhStB|!O67=(nVqHUc>h{&mFmt@nrv17}2DuTpe;+@!&-JMy@ z&RX>!&_4hPjvSDD2PBjWKZN812avcRAu3UE;l~LHA-I9~K6{;rj{N2`Z|2RL_uf9= zIdk$ohVcUAImqG(#?FHa_h7>K2rPjg7yJxdfc_PDANU>k5O}-T{{?&)`k&yV;E8(~ zI|ZHwPl9Jbx_1t|AAG4eUn=w!klw3+Z@! zr1w4r$={bC*?kSt``?4)_eYT8`xSfy{2h!?gMUEsuV763!-BWK2cW+To(A79_CEwE z-Y-D9_YFvXe*h`ZpNjq8K)U}|vHvfKA3FtOvReSj?;=QcFN5UwV!m?GphHK5E{=wo`6t| z>Hghg-beHXT(Yx}Mac6Iw8V5gj+t_$`p*Z&O!1zB(D$N&PcY4$@_h{QEQI;HyF8J} zp0vyl!~ZSw*r_y@v@gTi%*DQ&S;~;_$$evSY$YF=oM*X}m)ZJ2=)UAJ=3Mk8+mNwz zk_Dl1EJ%ckS)lu|$_8vx#pG*KX+2YI=C~G#WY_%;x3Z^FCADL9G2gG7J~z2zjcL4G zq-m^r!YQNYTRoHGMsbc;j@DN8q2amWY_4;&&pWj(Zbz&oR5+cABuSs=*p``e46_QQ z?n%~>!uAGiCk=&@JQbsaB5hf7AbZZMh29NmGsIQlEq{H>zZ&oxLAz6HZkO6JHP(5J ztgk}vjl7?ET~pzuR`q^_!}GTpwoFB zrn7J5b)`ruyzXyb-Jy^#)$3Pcb-~#Fu?<3P)EdEYe#;lirFEkn^7p!<6mdIw(_Kts zq4XN>4TMGIsyp3HZ}r%Y!rGVC3v|zfO7|;#bx*lcE6%Nmy-j12tip9VRkP~K8lNqz zuW0^al`o%PD^cH8G(VV(GpSi!Ws~t_e7BlsQaLd@b#8RDAiFq{^NTp*QfsJ9^lD`I zP}oFVW;cWygn~y(#)`EJ`bV%vZlXvC)|re4(c~~SnNv)nqlLzzlN&UIU|DVw#R8XW z1)`n3AwGu?+Bhc;a66A?M_bAsh&;@B9-E9^pJp=B-^b(5eXkHi0%jD%$bwhKTTuT+Zf;4D`)=!_K&uW literal 0 HcmV?d00001 diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 0000000..4d33998 --- /dev/null +++ b/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,141 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-05 20:18+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"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 +msgid "Added" +msgstr "Lisätty" + +#: members/templates/member_list.html:14 +msgid "Added after" +msgstr "Lisätty jälkeen" + +#: members/templates/member_list.html:15 +msgid "Added before" +msgstr "Lisätty ennen" + +#: members/templates/member_list.html:20 members/templates/member_list.html:49 +msgid "Paid" +msgstr "Maksettu" + +#: members/templates/member_list.html:21 +msgid "Paid after" +msgstr "Maksettu jälkeen" + +#: members/templates/member_list.html:22 +msgid "Paid before" +msgstr "Maksettu ennen" + +#: members/templates/member_list.html:27 +msgid "Search" +msgstr "Haku" + +#: members/templates/member_list.html:28 +msgid "Filter" +msgstr "Suodata" + +#: members/templates/member_list.html:29 +msgid "Reset" +msgstr "Nollaa" + +#: members/templates/member_list.html:32 members/templates/members_base.html:13 +msgid "Member register" +msgstr "Jäsenrekisteri" + +#: members/templates/member_list.html:37 +msgid "Member count" +msgstr "Lukumäärä" + +#: members/templates/member_list.html:42 +msgid "Last name" +msgstr "Sukunimi" + +#: members/templates/member_list.html:43 +msgid "First name" +msgstr "Etunimi" + +#: members/templates/member_list.html:44 +msgid "Email" +msgstr "Sähköposti" + +#: members/templates/member_list.html:45 +msgid "AYY member" +msgstr "AYY:n jäsen" + +#: members/templates/member_list.html:46 +msgid "JAS recipient" +msgstr "JAS-vastaanottaja" + +#: members/templates/member_list.html:47 +msgid "Residence" +msgstr "Asuinpaikka" + +#: members/templates/member_list.html:63 +msgid "Update payment" +msgstr "Päivitä maksu" + +#: members/templates/member_list.html:64 +msgid "Edit" +msgstr "Muokkaa" + +#: members/templates/member_list.html:65 +msgid "Delete" +msgstr "Poista" + +#: members/templates/member_list.html:65 +msgid "Are you sure?" +msgstr "Oletko varma?" + +#: members/templates/members_base.html:49 +msgid "Member list" +msgstr "Jäsenlistaus" + +#: members/templates/members_base.html:50 +msgid "Add member" +msgstr "Lisää jäsen" + +#: members/templates/members_base.html:51 +msgid "Add multiple" +msgstr "Lisää useita" + +#: members/templates/members_base.html:52 +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 +msgid "Member register of SIK ry" +msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" + +#: members/templates/members_base.html:75 +msgid "Log out" +msgstr "Kirjaudu ulos" diff --git a/members/templates/member_list.html b/members/templates/member_list.html index 78a4393..bbd76ab 100644 --- a/members/templates/member_list.html +++ b/members/templates/member_list.html @@ -1,6 +1,7 @@ {% extends "members_base.html" %} {% load static %} +{% load i18n %} {% block content %}
@@ -9,40 +10,41 @@
- - - + + +
- - - + + +
- - - + + +
-

Jäsenlista (jäseniä: {$ members.length $})

- +

{% trans "Member register" %}

+
- - - - - - - - + + + + + + + + + @@ -56,9 +58,9 @@ diff --git a/members/templates/members_base.html b/members/templates/members_base.html index cd2af83..d23f96f 100644 --- a/members/templates/members_base.html +++ b/members/templates/members_base.html @@ -3,75 +3,81 @@ {% load i18n %} - - - - - - + + + + + + - Jäsenrekisteri - - - - + {% trans "Member register" %} + + + + - - + + - - + + - - + + - - - - - - + + + + + + - - - - - - + + - - - + + + - - -
+ + +
- - - + + - {% block content %} - {% endblock content %} -
- + + + +
+ + {% block content %} + {% endblock content %} +
+ diff --git a/sikweb/settings-sample.py b/sikweb/settings-sample.py index 6dfd78f..7a6c0e8 100644 --- a/sikweb/settings-sample.py +++ b/sikweb/settings-sample.py @@ -135,7 +135,18 @@ LOGPATH = "logs/debug.log" # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ -LANGUAGE_CODE = 'en-us' +LANGUAGES = ( + ('en', _('English')), + ('fi', _('Finnish')), +) + +LANGUAGE_CODE = 'fi' + +LOCALE_PATHS = ( + os.path.join(BASE_DIR, 'locale'), +) + +print("LOCALE_PATHS: {}".format(LOCALE_PATHS)) TIME_ZONE = 'Europe/Helsinki' diff --git a/sikweb/urls.py b/sikweb/urls.py index e563a20..b9b7d06 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -17,6 +17,7 @@ Including another URLconf from django.conf.urls import url from django.contrib import admin from django.views.generic.base import RedirectView +from django.conf.urls import include # main from webapp.views import main_index # login @@ -114,4 +115,8 @@ urlpatterns = [ 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')), + ] From 7ee3f697404b9077cb2e2f7f27ba8bfe49a91b2b Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 6 Feb 2017 01:10:25 +0200 Subject: [PATCH 04/15] 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. --- .gitignore | 2 + global_static/css/footer.css | 20 +++++ global_static/img/en.png | Bin 0 -> 1418 bytes global_static/img/favicon.ico | Bin 0 -> 1150 bytes global_static/img/fi.png | Bin 0 -> 267 bytes locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes locale/en/LC_MESSAGES/django.po | 64 ++++++++-------- locale/fi/LC_MESSAGES/django.mo | Bin 1798 -> 1753 bytes locale/fi/LC_MESSAGES/django.po | 69 +++++++++-------- members/templates/members_base.html | 9 +-- sikweb/settings-sample.py | 13 +++- sikweb/urls.py | 111 +++++++++++++++------------- templates/footer.html | 13 ++++ 13 files changed, 176 insertions(+), 125 deletions(-) create mode 100644 global_static/css/footer.css create mode 100644 global_static/img/en.png create mode 100644 global_static/img/favicon.ico create mode 100644 global_static/img/fi.png create mode 100644 templates/footer.html diff --git a/.gitignore b/.gitignore index 47ca469..03098ab 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ webapp/migrations/* .idea/ logs/ logs/* +static/ +static/* diff --git a/global_static/css/footer.css b/global_static/css/footer.css new file mode 100644 index 0000000..fb85dda --- /dev/null +++ b/global_static/css/footer.css @@ -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; +} diff --git a/global_static/img/en.png b/global_static/img/en.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd938af7f464d92785e0137a8b5a93c41f15582 GIT binary patch literal 1418 zcmV;51$Fv~P)Px)L`g(JR7efYRtroNM;QKgZ;_L`6R7w&?5T)QO?)JZoY-n(8e<}AN>8-a+G;Uv zZ0n0^tT7Zz1!Jo=fR7l(T5Gk4CK{!R(3cHW4A#a{u|!2J_Kt@=IF7sHZg;0UbME$t z4?>#QPBJ_H{PRC%{@MAzpPPe}oH4kv-iQt!N^|EI(E-JKfZu9b7#;e_$&X=E zwx;*Nihpz>A_Tm@DXNQ{s^^A5zJf8ie5mtK$+P8iVX>G(Sv{h4Iu3^p&wiv1Juvmn zZ376ET0C(Sxc&oS$jXI~l*|;Jts>^ly9rmDq!}tNPlU;&L*vMiklWfApO1{hfZAHL zw@a8dt&Z^u3N4tBWB|u;kei#}*_Z|K;!m2L&o0yibybcm6G#p_T<>PUQ?LcZ??-f$ zfTJbx7(2GND%S0&*YnuFe<+eC7@2ebcjaiCp9cShN>Cp%rvsn9P_x73lz;0F&?HY4H0iR%#5)n0F{gfPC=yp z%F1@)^-8R_|L`MeOq)UMV-r}v_vULvbl6ECAQL5wtT{%EAb*<8tT!en2bs#ED}M{I zj~l`C9M6s;twno@*X3h&>+5}_u&|L>tyh((Z)Tl6y|S`;WM=+>UAvmm&=7!-JPCci zI1YX0dJuyN-t(1cvZW$WQL5Z4JH$gjQcE*jdv`$=C4|kg!F1#d!sjmr!opBm+J=mb zTR3>|UKd^MAIMt%Mwf-|CZVrDXR)AvRaJK?UDiJ;*vIB90$o;~@I=c4FPqIz)b&?( z`~M>X|M?YYd4Q(Vo;2CzQj$2!VNj9-cvBB?sAL^T0~~2sw!AFu%FOuHYmCIY35wXw{UD&hdWCaf{%4I^NIYGEJ~L9$vU@w~Z8H#1Fd-$yfE_!AC}R*eRC!P|q@Ch`>-uf- z>(u8-RkV>@OHU&Kr<3J)QIg5mXPjiplv?6)i4S7I`0YR1`V`vJxFTKFqeG zv-AF6uWdg_kd6*UP@r7A=oV-pLkp4E%+*LZd{lv688;Tpfqi4Pa-|Yx&WuEH@oe<# z7Xd93T1~y7Ga4{_cM^qoQre9!&Q;m&Mvq6vs+A4c zxw8qPC__Iq4x=l+M_*eyTne&YojOr7!R5dpsTDEhE(=J=-cX6W-1C}HDAALunCc}Z z4McgxJQRNZB{QQ|#dP9^N#bc~+@X}nY*qO@H~G*bovSiE8LO)u7#6qt0Tt@}3P$Dq Y4L_lg`51u-T>t<807*qoM6N<$g0&Z)2LJ#7 literal 0 HcmV?d00001 diff --git a/global_static/img/favicon.ico b/global_static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0799dd35a6bd7f1830ec3a14c8897c0549476ffc GIT binary patch literal 1150 zcmZQzU<5(|0R|vYV8~!$U=RbcG=LZ+qyWT>V3L8s0VszK{{R2ah>m+>4A)K!5PvMp z%`7j*!=gMnQ2b?*5yxtDb;x|6(W0!34E(&T46>bGLibn3O8uW5Ch;AF*Ct5+@AeXS zZf&eBzjfm}-t8OLh$8FVv1zSztpn%H8du@NWsXAITRcV2=GzKxj5gxyj{@Qn2chi? zBPD-N3ljZUZO?hN(1hXUrqxSjVP@>wwn@0&k@Noi2+8k7_Cg!`{l)JaNH7P(`Kf^-ZyP;CPDdEY&1vTJ9vgv(BFV_M@Y#GST&e_$He2 z>T^Owes*~9-;LE{T@DIcQ1}$u32kLzVr2E#;i>L%=X!m6@8Wc9`axpZmONY60rkub zmG~;f$D#@J_up^>zHX45iZHABqF~(>-x zvtJMd)W2_WHZJ@9H6i*X`B>C@{lxFDiHEo!q#mf>aej!v@4E+AV1yscyetcz%^*Jm z)7aA~*|@olPt={Vk$l`ara_Acyk2aEb4e z{Dq(Q#TlQ-dX5DhRO}tB9~!P7M-&9dE$C943!UGcf%BPYDJ9!gLil literal 0 HcmV?d00001 diff --git a/global_static/img/fi.png b/global_static/img/fi.png new file mode 100644 index 0000000000000000000000000000000000000000..264b919f8ba4c723f2310d0d1ef24ff04ba19632 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Eu!3HE}2mdz#QjEnx?oJHr&dIz4a*lesIEHxe zCg;pCIX?ZP{o@=qHnu{AW1LlHcCHh(KTdahIQd}Z&-owgwS*0)O-{5hj5^|2wwWQc zsWxt=XnXkOEw7&kKGELH6Zm6E(XHjWOqqh|N}({H)F2sdhjvD>vhxV#hG9|2?Z?-D|~+lbsSxo zYqDYW2EqGz3%7OMUheqG&}^$phix*GX|JS&WcYV803 literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index c971c7b6c83359afe2436adab8e0ff60e3e9976d..00de228de2fd08a7998d0360fd99d56c94c835fc 100644 GIT binary patch delta 16 Ycmeyx^owc21U54T14Ao=iPN3{05!n|O8@`> delta 16 Ycmeyx^owc21U6FzBLgeLiPN3{05!x0OaK4? diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index b36a4c5..9ee7f2c 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/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: 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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 7ebb96b125c8a0d954f0f958672541b0181398cf..25341dfc80c1e806ed3450a1e435cfd7b4b3e30a 100644 GIT binary patch delta 705 zcmZ9~IY_NlBCTUl(hR1hmcqOGxzEh30r zz@rdsgcNFFVQr_N;Qw33#vw1io!OZ;*Y0FmY5yf3J2Xm>7$#Dl*#v&0N-bj6i6_oF zrl>bCj!jJBy=#BMH1#)3;0MO=6V?9*+b|jp-}{#2K@EA-LWioa zte_^YVi&ICAa0{3JVNEGq57Sn7SKTDy~c$3W;Z-!Xn4RicKwW+ph9o8FFUK)PJI(| zxaHdSPzydr?YNHGP=LyFg&KG3+8>dhwNz(*d*wk1-%%aEPzfVslUY=vqN`7$c07k= ztf0p2qVnvc7JiES?1Dd?z$NNrnyB%2=LpZ0h#q2qP=fzO-_8)B z<0hx|6WxRg*BusJolZqp^jBE)m}RNy!_%FpaQfkHwPLNZaBv=33Ubi}FEKk>nw~EO MtFa9)XvL?zU-o!4F#rGn delta 750 zcmZ9~J1j#{9LMoK~5R1noMA(S$?>ZJI_kTb4oO>SsbMCzktyCB8YP}nV(m}KmQOB5W40^axcCixo ztcMt+eu_T4#45b8?T;9u{*GaE%8c=21ictTjcdblV+y9zcIf$SFbULxNz_Cm7{D?6 zehO=;XHbbOqY@~h7F@+9+(IpQfST_F)$a_Iz!e5q-`w(`44<$XUvQ37_(Cm^qqo}g z)*@C=U&jb;+V&k(!pEp_=cswFk)4`*+y0Ci|Dkr)H{U#P89%+%F^HNtit5;fnz+xJ zLMyxOR&tMAksB!zKd5%yUxIiv*$4w{kfCU}V8xNY`6WO?%j0UJQ5_+d2Zy;2f ziF!iEtnvTL-@l|qn9{_EDA7*vTezi;JDW|o-`2LdSu5i\n" "Language-Team: LANGUAGE \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" diff --git a/members/templates/members_base.html b/members/templates/members_base.html index d23f96f..e4ac434 100644 --- a/members/templates/members_base.html +++ b/members/templates/members_base.html @@ -50,14 +50,6 @@
  • {% trans "Add member" %}
  • {% trans "Add multiple" %}
  • {% trans "Member application" %}
  • -
    {% csrf_token %} - - - -
    @@ -79,5 +71,6 @@ {% block content %} {% endblock content %} + {% include "footer.html" %} diff --git a/sikweb/settings-sample.py b/sikweb/settings-sample.py index 7a6c0e8..f8278e7 100644 --- a/sikweb/settings-sample.py +++ b/sikweb/settings-sample.py @@ -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 diff --git a/sikweb/urls.py b/sikweb/urls.py index b9b7d06..3f956cc 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -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\d+)$', edit_member), - url(r'^members/applications$', list_applications), - url(r'^members/edit_application/(?P\d+)$', edit_application), - url(r'^members/api/members$', mems), - url(r'^members/api/member/(?P\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\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\d+)$', infoindex), - url(r'^infoscreen/items$', info_items), - url(r'^infoscreen/rotation/(?P\d+)$', rotation), - url(r'^infoscreen/rotations$', rotations), - url(r'^infoscreen/instance$', createInfoInstance), - url(r'^infoscreen/instance/(?P\d+)$', deleteInfoInstance), - url(r'^infoscreen/types$', info_types), - url(r'^infoscreen/delete_item/(?P\d+)/(?P\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\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\d+)$', edit_member), + url(r'^members/applications$', list_applications), + url(r'^members/edit_application/(?P\d+)$', edit_application), + url(r'^members/api/members$', mems), + url(r'^members/api/member/(?P\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\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\d+)$', infoindex), + url(r'^infoscreen/items$', info_items), + url(r'^infoscreen/rotation/(?P\d+)$', rotation), + url(r'^infoscreen/rotations$', rotations), + url(r'^infoscreen/instance$', createInfoInstance), + url(r'^infoscreen/instance/(?P\d+)$', deleteInfoInstance), + url(r'^infoscreen/types$', info_types), + url(r'^infoscreen/delete_item/(?P\d+)/(?P\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\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.*)$', static_views.serve), + +] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) diff --git a/templates/footer.html b/templates/footer.html new file mode 100644 index 0000000..67453c2 --- /dev/null +++ b/templates/footer.html @@ -0,0 +1,13 @@ +{% load i18n %} +{% load static %} +{% load staticfiles %} + + From 8cd8882fb99e087a0e3102d74c7aac20874d231e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juuso=20K=C3=A4enm=C3=A4ki?= Date: Fri, 10 Feb 2017 18:02:23 +0200 Subject: [PATCH 05/15] New functionality for timetable: header-row with clock on it and animated row deletion --- infoscreen/static/css/hsl.css | 35 ++++++++- infoscreen/static/html/hsl.html | 75 ++++++++++--------- .../static/js/infoscreen_controllers.js | 8 +- 3 files changed, 81 insertions(+), 37 deletions(-) diff --git a/infoscreen/static/css/hsl.css b/infoscreen/static/css/hsl.css index bccc000..7f407a1 100644 --- a/infoscreen/static/css/hsl.css +++ b/infoscreen/static/css/hsl.css @@ -1,5 +1,5 @@ table { - font-size: 3vw; + font-size: 5vh; font-family: 'Droid Sans Mono', monospace; } .red { @@ -39,3 +39,36 @@ table { 50% { opacity: 0.1; } 100% { opacity: 1.0; } } +thead{ + background: #f0f0f0; +} +.header-row{ + background: #f0f0f0; + font-size: 7vh; + font-family: 'Droid Sans Mono', monospace; + text-align: center; +} + +.container { + width: 100vw; + padding: 0 0 0 0; +} + +.container .table { + margin-left: 0; + margin-right: 0; +} +.repeat-item.ng-leave { + -webkit-transition:0.5s linear all; + transition:0.5s linear all; +} + +.repeat-item.ng-leave.ng-leave-active { + opacity: 0; + font-size: 0vh; +} + +.repeat-item.ng-leave{ + opacity: 1; + font-size: 5vh; +} diff --git a/infoscreen/static/html/hsl.html b/infoscreen/static/html/hsl.html index f237ab5..48baab6 100644 --- a/infoscreen/static/html/hsl.html +++ b/infoscreen/static/html/hsl.html @@ -1,38 +1,43 @@ -
    -
    SukunimiEtunimiSähköpostiAYY-jäsenJAS-listallaAsuinpaikkaLisättyMaksanut{% trans "Last name" %}{% trans "First name" %}{% trans "Email" %}{% trans "AYY member" %}{% trans "JAS recipient" %}{% trans "Residence" %}{% trans "Added" %}{% trans "Paid" %}{% trans "Member count" %}: {$ members.length $}
    {$ x.created $} {$ x.paid $} - - Muokkaa - + + {% trans "Edit" %} +
    - - - - - - - - - - - - - - - - -
    - Aika - - Numero - - Pysäkki - - Päätepysäkki -
    - {{x.time}} - - {{x.bus}} - - {{x.stop}} - - {{x.laststop}} -
    +
    +
    +
    +
    HSL-Aikataulut
    +

    {{ clock | date:'HH:mm'}}

    +
    + + + + + + + + + + + + + + + + + +
    + Aika + + Linja + + Pysäkki + + Päätepysäkki +
    + {{x.timedelta < 10 ?x.timedelta + ' min' : x.time}} + + {{x.bus}} + + {{x.stop}} + + {{x.laststop}} +
    diff --git a/infoscreen/static/js/infoscreen_controllers.js b/infoscreen/static/js/infoscreen_controllers.js index 4f744ba..48427e2 100644 --- a/infoscreen/static/js/infoscreen_controllers.js +++ b/infoscreen/static/js/infoscreen_controllers.js @@ -83,6 +83,7 @@ app.controller('timetableCtrl', $scope.$on('$destroy', function() { $interval.cancel(inter1); $interval.cancel(inter2); + $interval.cancel(inter3); }); var objects; $scope.arr=[]; @@ -169,6 +170,7 @@ app.controller('timetableCtrl', d.setHours(time[0]); d.setMinutes(time[1]); var diff=(d.getTime()-f.getTime()); + $scope.arr[a]['timedelta']=Math.floor(diff/60000); if(diff < tooSoon*60000) { $scope.arr.splice(a,1); } @@ -177,10 +179,14 @@ app.controller('timetableCtrl', } } } - + function updateTime(){ + $scope.clock = Date.now(); + } + $scope.clock = Date.now(); load(); var inter1=$interval(delOld,2000); var inter2=$interval(load,10000); + var inter3=$interval(updateTime, 1000); } ); From 236d080b538bc7b1018569fc3156950e4e4c1a8e Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 10 Feb 2017 18:50:54 +0200 Subject: [PATCH 06/15] Translate infoscreen admin page --- infoscreen/static/html/infoscreen_admin.html | 55 ---------- infoscreen/static/js/infoadmin_controllers.js | 7 ++ infoscreen/templates/infoscreen_admin.html | 91 ++++++++++++++-- locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes locale/en/LC_MESSAGES/django.po | 94 +++++++++++++++-- locale/fi/LC_MESSAGES/django.mo | Bin 1753 -> 2772 bytes locale/fi/LC_MESSAGES/django.po | 98 ++++++++++++++++-- 7 files changed, 264 insertions(+), 81 deletions(-) delete mode 100644 infoscreen/static/html/infoscreen_admin.html diff --git a/infoscreen/static/html/infoscreen_admin.html b/infoscreen/static/html/infoscreen_admin.html deleted file mode 100644 index 083df35..0000000 --- a/infoscreen/static/html/infoscreen_admin.html +++ /dev/null @@ -1,55 +0,0 @@ -
    -
    -

    Info items

    -
    Infoitems available for rotations:
    - - - - - - - - -
    ItemSet durationAdd to rotationDelete
    {{i.name}}
    -

    Create new item

    - - - - -
    Item type
    -
    -
    -
    -

    Rotations

    -
    - Select rotation to edit: -
    - - - - - - - - - - - - - - -
    RotationSelectDelete
    {{r.name}}
    - -

    Rotation: {{selected_rot.name}}

    -
    Instances in currently selected rotation:
    - - - - - - - - - @@ -13,13 +15,90 @@ +
    +
    +
    +

    {% trans "Infoscreen Admin Pane" %}

    +
    +
    +
    +
    +

    {% trans "Info items" %}

    +
    {% trans "Infoitems available for rotations" %}
    +
    InstanceDurationDelete
    {{i.item.name}}{{i.duration}}s
    + + + + + + + + + + + + +
    {% trans "Item" %}{% trans "Set duration" %}{% trans "Add to rotation" %}{% trans "Delete" %}
    {$ i.name $}
    +

    {% trans "Create new item" %}

    + + + + + +
    {% trans "Item type" %} + +
    +
    +
    +
    +

    {% trans "Rotations" %}

    +
    + {% trans "Select rotation to edit" %}: +
    + + + + + + + + + + + + + + + + +
    {% trans "Rotation" %}{% trans "Select" %}{% trans "Delete" %}
    {$ r.name $}
    -
    +

    {% trans "Rotation" %}: {$ selected_rot.name $}

    +
    {% trans "Instances in currently selected rotation" %}:
    + + + + + + + + + + +
    {% trans "Instance" %}{% trans "Duration" %}{% trans "Delete" %}
    {$ i.item.name $}{$ i.duration $} s
    +
    +
    +
    + {% include "footer.html" %} +
    +
    diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 00de228de2fd08a7998d0360fd99d56c94c835fc..56dcd95e949904fa3dae0ab4215221d61fff172c 100644 GIT binary patch delta 15 Xcmeyx^owc2BvwO9D^tUX(;ou>F|YF>?kk diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 9ee7f2c..888e114 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/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: 2017-02-06 01:08+0200\n" +"POT-Creation-Date: 2017-02-06 19:51+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,90 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: infoscreen/templates/infoscreen_admin.html:20 +#: members/templates/members_base.html:67 +msgid "Log out" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:27 +msgid "Infoscreen Admin Pane" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:32 +msgid "Info items" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:33 +msgid "Infoitems available for rotations" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:36 +msgid "Item" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:37 +msgid "Set duration" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:38 +msgid "Add to rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:39 +#: infoscreen/templates/infoscreen_admin.html:70 +#: infoscreen/templates/infoscreen_admin.html:75 +#: infoscreen/templates/infoscreen_admin.html:90 +#: infoscreen/templates/infoscreen_admin.html:94 +#: members/templates/member_list.html:63 +msgid "Delete" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:48 +msgid "Create new item" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:51 +msgid "Item type" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:62 +msgid "Rotations" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:64 +msgid "Select rotation to edit" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:68 +#: infoscreen/templates/infoscreen_admin.html:84 +msgid "Rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:69 +#: infoscreen/templates/infoscreen_admin.html:74 +msgid "Select" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:78 +msgid "Name" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:79 +msgid "Create new" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:85 +msgid "Instances in currently selected rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:88 +msgid "Instance" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:89 +msgid "Duration" +msgstr "" + #: members/templates/member_list.html:13 members/templates/member_list.html:45 msgid "Added" msgstr "" @@ -97,10 +181,6 @@ msgstr "" msgid "Edit" msgstr "" -#: members/templates/member_list.html:63 -msgid "Delete" -msgstr "" - #: members/templates/member_list.html:63 msgid "Are you sure?" msgstr "" @@ -125,10 +205,6 @@ msgstr "" msgid "Member register of SIK ry" msgstr "" -#: members/templates/members_base.html:67 -msgid "Log out" -msgstr "" - #: sikweb/settings-sample.py:141 sikweb/settings.py:146 msgid "English" msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 25341dfc80c1e806ed3450a1e435cfd7b4b3e30a..5459a1777f6765bd730135d8f95745a9759e177c 100644 GIT binary patch literal 2772 zcmbW1O>7%Q6vwAfD1=g=6bj{|Q=rh&Zt4UIsoT(+*lFGPOK}pZ6#`AX6MN$I%xZQv zWhI1qK|%rv4uA^cXbwn-6GXimaY6zPNQgrZ-1xX4E+8Sq|E<>!aD&ml`OVv%dGkJI z_S)|4Z!@$h$o-K1Hpb?_qt~NDo7v9T1b8B25!?yA4&DYn2i^b%;4PrdzP}9K3jHO{RWcX+u_8$;2x0dO=f%o zB!6Z=nm-3(39Ey&-!e%4ypZV~5D&8%6L2r|%OLH01>6OG0CrK6PqOzMM(Dkl@f1k@ zE`WI0^XTpX+aS$LK#KEKkm~Rbh=+ZFj`sNmglYCYNPhkRlHb3Al#ky*nzs!fF=V?y zdcPN>dHXZ{AV~S}zz4u-a6i}p=_rLD#pg2pbr27G6CL^c9!T~-0?FS`GY&x7|LaV@ z22ve<24}%PK-xEt49X?tx4~$X_~hbblyzYPS!O_H-^EgybOP8#T%u?Q2C{ArC{SJpwtFj)v!E3S-JIHOkYd z9l?O|LOI}&MGM^&W-O*#$rBUvD7Nx6n=@fzRlDPOK?KftNuW%qB4;#j4*H$$U{mQx>A~h;)2glt zoZvQLb5;r`xt5pyHss359xKW~I?0OWk`9dU`CM~_6=OSet>i1mNRRQOioHdBN`~%^O0KiO31v z+8RV0pIWiCQoA7G5u9x~J3!qLj} zMqzHDaJIx(N{h{My*9BZLt~v+joQlho{ig)w`B5sqETP+(ldfZUJ*v~d^$Jvw3nOq za!>K86Zzv)M{?7-942~;azl~vY~F=ZVbQDBy<&l%tLLlbBNywn(gbDRTe3n&fpEs= z`TTOF!fS`;eCqJY3A*Na&DRJ0NNQG5(V#!* z|67eCshk*pr6Wrx4mUns;9N2u(9)ob%dquEY7MoH%h@%2L)f19zn8xf8y?4zVxs}~ zm0%5nQw{F~yh<{`HlzzrJV?I>t&FdV6~*1DC9Fe_37Olu7&w@ zizEp{MK|2r!08e~8|TD2T#dU!KNgf-7qK7nI4}`ApBAShy0RBXh`k&4s7iLw&py#5 z7x*-sXk|CO=8FA?AM5xGY^|{ zkW{kiA`S|rlY+K`Ac&B`Iyg9YOQC|_UwAHFa`JiizI)I8_s&xFMCDI1{KY8!L?6-7 zV)hdMqe?Yo){fr;x3Poz9!BsGScU{AA|OF)PgrqJKjcZXcv{|2Ws4L(0+>itgbrq+a(W5c#Z1# z50x-PHra_v)F0Gep>{lmS)4|VTSMjfj9U06^0OWObOQURlQ~3<|AiG@GxIek0((Me zuo9&RmFGkk(M>49{i1KDm(X#O)1DHK2^FrpS#)(e6W&!Ij9v@3+02_z+$erykfUN&rPrZ diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 5afa4b9..dff19d9 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 01:08+0200\n" +"POT-Creation-Date: 2017-02-06 19:51+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,6 +18,90 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: infoscreen/templates/infoscreen_admin.html:20 +#: members/templates/members_base.html:67 +msgid "Log out" +msgstr "Kirjaudu ulos" + +#: infoscreen/templates/infoscreen_admin.html:27 +msgid "Infoscreen Admin Pane" +msgstr "Infonäyttöjen hallintapaneeli" + +#: infoscreen/templates/infoscreen_admin.html:32 +msgid "Info items" +msgstr "Diat" + +#: infoscreen/templates/infoscreen_admin.html:33 +msgid "Infoitems available for rotations" +msgstr "Rotaatioon lisättävät diat" + +#: infoscreen/templates/infoscreen_admin.html:36 +msgid "Item" +msgstr "Dia" + +#: infoscreen/templates/infoscreen_admin.html:37 +msgid "Set duration" +msgstr "Aseta kesto" + +#: infoscreen/templates/infoscreen_admin.html:38 +msgid "Add to rotation" +msgstr "Lisää rotaatioon" + +#: infoscreen/templates/infoscreen_admin.html:39 +#: infoscreen/templates/infoscreen_admin.html:70 +#: infoscreen/templates/infoscreen_admin.html:75 +#: infoscreen/templates/infoscreen_admin.html:90 +#: infoscreen/templates/infoscreen_admin.html:94 +#: members/templates/member_list.html:63 +msgid "Delete" +msgstr "Poista" + +#: infoscreen/templates/infoscreen_admin.html:48 +msgid "Create new item" +msgstr "Luo uusi dia" + +#: infoscreen/templates/infoscreen_admin.html:51 +msgid "Item type" +msgstr "Diatyyppi" + +#: infoscreen/templates/infoscreen_admin.html:62 +msgid "Rotations" +msgstr "Rotaatiot" + +#: infoscreen/templates/infoscreen_admin.html:64 +msgid "Select rotation to edit" +msgstr "Valitse muokattava rotaatio" + +#: infoscreen/templates/infoscreen_admin.html:68 +#: infoscreen/templates/infoscreen_admin.html:84 +msgid "Rotation" +msgstr "Rotaatio" + +#: infoscreen/templates/infoscreen_admin.html:69 +#: infoscreen/templates/infoscreen_admin.html:74 +msgid "Select" +msgstr "Valitse" + +#: infoscreen/templates/infoscreen_admin.html:78 +msgid "Name" +msgstr "Nimi" + +#: infoscreen/templates/infoscreen_admin.html:79 +msgid "Create new" +msgstr "Luo uusi" + +#: infoscreen/templates/infoscreen_admin.html:85 +msgid "Instances in currently selected rotation" +msgstr "Nykyisen rotaation diat" + +#: infoscreen/templates/infoscreen_admin.html:88 +msgid "Instance" +msgstr "Dia" + +#: infoscreen/templates/infoscreen_admin.html:89 +msgid "Duration" +msgstr "Kesto" + #: members/templates/member_list.html:13 members/templates/member_list.html:45 msgid "Added" msgstr "Lisätty" @@ -60,7 +144,7 @@ msgstr "Jäsenrekisteri" #: members/templates/member_list.html:33 msgid "Download CSV" -msgstr "" +msgstr "Lataa CSV" #: members/templates/member_list.html:39 msgid "Last name" @@ -98,10 +182,6 @@ msgstr "Päivitä maksu" msgid "Edit" msgstr "Muokkaa" -#: members/templates/member_list.html:63 -msgid "Delete" -msgstr "Poista" - #: members/templates/member_list.html:63 msgid "Are you sure?" msgstr "Oletko varma?" @@ -126,10 +206,6 @@ msgstr "Jäsenhakemus" msgid "Member register of SIK ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" -#: 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" @@ -140,7 +216,7 @@ msgstr "suomi" #: templates/footer.html:11 msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" -msgstr "" +msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" #~ msgid "Change language" #~ msgstr "Vaihda kieli" From 85a7415c5c5a8d3ba96ac5509f09c5ed7eb8bee2 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 10 Feb 2017 18:58:29 +0200 Subject: [PATCH 07/15] Add missing options to settings-sample.py --- sikweb/settings-sample.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sikweb/settings-sample.py b/sikweb/settings-sample.py index 532ad87..348b0ff 100644 --- a/sikweb/settings-sample.py +++ b/sikweb/settings-sample.py @@ -13,6 +13,7 @@ https://docs.djangoproject.com/en/1.9/ref/settings/ import os import logging from os.path import expanduser +from django.utils.translation import ugettext_lazy as _ # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -48,6 +49,7 @@ INSTALLED_APPS = [ MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.locale.LocaleMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', From 70e66cb7dab921133e0d4ba60ce4f2e189ce7430 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 10 Feb 2017 19:35:13 +0200 Subject: [PATCH 08/15] Add preview button for rotations --- infoscreen/templates/infoscreen_admin.html | 6 ++++ locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes locale/en/LC_MESSAGES/django.po | 35 +++++++++++-------- locale/fi/LC_MESSAGES/django.mo | Bin 2772 -> 2807 bytes locale/fi/LC_MESSAGES/django.po | 37 +++++++++++++-------- 5 files changed, 52 insertions(+), 26 deletions(-) diff --git a/infoscreen/templates/infoscreen_admin.html b/infoscreen/templates/infoscreen_admin.html index caee090..ca4bb9c 100644 --- a/infoscreen/templates/infoscreen_admin.html +++ b/infoscreen/templates/infoscreen_admin.html @@ -66,18 +66,24 @@ + + + + + +
    {% trans "Rotation" %}{% trans "id" %} {% trans "Select" %}{% trans "Preview" %} {% trans "Delete" %}
    {$ r.name $}{$ r.id $}
    diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 56dcd95e949904fa3dae0ab4215221d61fff172c..9bc6b5fd2686523bfaebfd67c30741619ce0cc90 100644 GIT binary patch delta 18 Zcmeyx^owaiKZl`#f{}rhq0z+Yj{!g72CD!7 delta 18 Zcmeyx^owaiKZk*tf}y3Aso})wj{!hg2D<\n" "Language-Team: LANGUAGE \n" @@ -47,10 +47,10 @@ msgid "Add to rotation" msgstr "" #: infoscreen/templates/infoscreen_admin.html:39 -#: infoscreen/templates/infoscreen_admin.html:70 -#: infoscreen/templates/infoscreen_admin.html:75 -#: infoscreen/templates/infoscreen_admin.html:90 -#: infoscreen/templates/infoscreen_admin.html:94 +#: infoscreen/templates/infoscreen_admin.html:72 +#: infoscreen/templates/infoscreen_admin.html:79 +#: infoscreen/templates/infoscreen_admin.html:96 +#: infoscreen/templates/infoscreen_admin.html:100 #: members/templates/member_list.html:63 msgid "Delete" msgstr "" @@ -72,32 +72,41 @@ msgid "Select rotation to edit" msgstr "" #: infoscreen/templates/infoscreen_admin.html:68 -#: infoscreen/templates/infoscreen_admin.html:84 +#: infoscreen/templates/infoscreen_admin.html:90 msgid "Rotation" msgstr "" #: infoscreen/templates/infoscreen_admin.html:69 -#: infoscreen/templates/infoscreen_admin.html:74 +msgid "id" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:70 +#: infoscreen/templates/infoscreen_admin.html:77 msgid "Select" msgstr "" +#: infoscreen/templates/infoscreen_admin.html:71 #: infoscreen/templates/infoscreen_admin.html:78 +msgid "Preview" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:82 msgid "Name" msgstr "" -#: infoscreen/templates/infoscreen_admin.html:79 +#: infoscreen/templates/infoscreen_admin.html:83 msgid "Create new" msgstr "" -#: infoscreen/templates/infoscreen_admin.html:85 +#: infoscreen/templates/infoscreen_admin.html:91 msgid "Instances in currently selected rotation" msgstr "" -#: infoscreen/templates/infoscreen_admin.html:88 +#: infoscreen/templates/infoscreen_admin.html:94 msgid "Instance" msgstr "" -#: infoscreen/templates/infoscreen_admin.html:89 +#: infoscreen/templates/infoscreen_admin.html:95 msgid "Duration" msgstr "" @@ -205,11 +214,11 @@ msgstr "" msgid "Member register of SIK ry" msgstr "" -#: sikweb/settings-sample.py:141 sikweb/settings.py:146 +#: sikweb/settings-sample.py:146 sikweb/settings.py:146 msgid "English" msgstr "" -#: sikweb/settings-sample.py:142 sikweb/settings.py:147 +#: sikweb/settings-sample.py:147 sikweb/settings.py:147 msgid "Finnish" msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 5459a1777f6765bd730135d8f95745a9759e177c..6943d15486f7ad6dabda949ab5a6447e041ec1f7 100644 GIT binary patch delta 984 zcmXZaPe@cz6vy%NdQWE@Q<=$O98xqBEB`cqpuc1gHef9(QkbPh3@MHa|Dc;-Du^OP zl1C7$*U>U3M7S`fj_xn87F@B22@FgnGCTiXmR-099 zmyQy8WQk%u60#I3aWhQ>+mQ*@<;FQw!c)%kc!2R`OyUG8-+erck5GBvVGVx7I@Y&! z7x;===sPCx7pkzosGUVwU6nUt8aq%4&pP{21r4CyA4KIFMpD>K)WYMa!e%vQeY;JE z+a5X>Fva)@s({y6j~{T1sP`67NAetXB(G4v*$)~m z^asgpyQoS%8dYA4+DRPsUK%y8)5SBW_fEKRAL`2#umvw-D~_Q4Ru51coU7scEAWB< zw=L4B;$_qVYp9ApJ2y}T{C4AQ)R6>y_daYyEqoOkk=yRjXrptn;{US> z324GIB&RK+5-p>4{ucM+D(Y-EPz(P=PQ==IbTPCho=kYo@Ah)xxS#U6!+U;fyjMTF z>ku9d-}sr9E_w%Dv;(uQuVc)IUa+s~2)&+_bZ~r6(xs$lRW;|Km za^5!~vtDfQD0td^vnX~r?_weCek{R?H)|vBUHRuti?rC+)d2KcUZ*ww(B|$ zPz!y+I3A%A`+?foZ&cm7F0s*sPVnX6zfMVID|@Q)V0Sk%=$K?3eHg^ zaS^rfIu_#wPI4{VuD_Bf>d!d4Pzm=TKO3Ql;TUS%9O^2TQCIN-`Pm^wP78gdLTvkn z%JdYK`A^h|{6UQi@sX+(qxzGmaVgiXL7hkjEATd^Z~*mpnnrE#v1_m9bNwB$4hi5 zz*E%Do?{ulMorj7Ex3=|gjMtEp=sB68-qcwKGYmM@sgpsV9iU#8uZycw=ffY@R};p w)NZ)mo7m*)y1r}>^RMVQt$r)*w_OUx!h3nmZI#)M&erT!UF3lmtVSpQ1OA&%mH+?% diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index dff19d9..ca0b6e7 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-06 19:51+0200\n" +"POT-Creation-Date: 2017-02-10 20:12+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,10 +48,10 @@ msgid "Add to rotation" msgstr "Lisää rotaatioon" #: infoscreen/templates/infoscreen_admin.html:39 -#: infoscreen/templates/infoscreen_admin.html:70 -#: infoscreen/templates/infoscreen_admin.html:75 -#: infoscreen/templates/infoscreen_admin.html:90 -#: infoscreen/templates/infoscreen_admin.html:94 +#: infoscreen/templates/infoscreen_admin.html:72 +#: infoscreen/templates/infoscreen_admin.html:79 +#: infoscreen/templates/infoscreen_admin.html:96 +#: infoscreen/templates/infoscreen_admin.html:100 #: members/templates/member_list.html:63 msgid "Delete" msgstr "Poista" @@ -73,32 +73,43 @@ msgid "Select rotation to edit" msgstr "Valitse muokattava rotaatio" #: infoscreen/templates/infoscreen_admin.html:68 -#: infoscreen/templates/infoscreen_admin.html:84 +#: infoscreen/templates/infoscreen_admin.html:90 msgid "Rotation" msgstr "Rotaatio" #: infoscreen/templates/infoscreen_admin.html:69 -#: infoscreen/templates/infoscreen_admin.html:74 +#, fuzzy +#| msgid "Paid" +msgid "id" +msgstr "Maksettu" + +#: infoscreen/templates/infoscreen_admin.html:70 +#: infoscreen/templates/infoscreen_admin.html:77 msgid "Select" msgstr "Valitse" +#: infoscreen/templates/infoscreen_admin.html:71 #: infoscreen/templates/infoscreen_admin.html:78 +msgid "Preview" +msgstr "Esikatsele" + +#: infoscreen/templates/infoscreen_admin.html:82 msgid "Name" msgstr "Nimi" -#: infoscreen/templates/infoscreen_admin.html:79 +#: infoscreen/templates/infoscreen_admin.html:83 msgid "Create new" msgstr "Luo uusi" -#: infoscreen/templates/infoscreen_admin.html:85 +#: infoscreen/templates/infoscreen_admin.html:91 msgid "Instances in currently selected rotation" msgstr "Nykyisen rotaation diat" -#: infoscreen/templates/infoscreen_admin.html:88 +#: infoscreen/templates/infoscreen_admin.html:94 msgid "Instance" msgstr "Dia" -#: infoscreen/templates/infoscreen_admin.html:89 +#: infoscreen/templates/infoscreen_admin.html:95 msgid "Duration" msgstr "Kesto" @@ -206,11 +217,11 @@ msgstr "Jäsenhakemus" msgid "Member register of SIK ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" -#: sikweb/settings-sample.py:141 sikweb/settings.py:146 +#: sikweb/settings-sample.py:146 sikweb/settings.py:146 msgid "English" msgstr "englanti" -#: sikweb/settings-sample.py:142 sikweb/settings.py:147 +#: sikweb/settings-sample.py:147 sikweb/settings.py:147 msgid "Finnish" msgstr "suomi" From ea2ea26f4577bf8f342c05090a43a7f62bc0bbe4 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 10 Feb 2017 21:18:34 +0200 Subject: [PATCH 09/15] Add some translations --- infoscreen/templates/infoscreen_admin.html | 4 ++-- locale/en/LC_MESSAGES/django.po | 2 +- locale/fi/LC_MESSAGES/django.po | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/infoscreen/templates/infoscreen_admin.html b/infoscreen/templates/infoscreen_admin.html index ca4bb9c..4a59d84 100644 --- a/infoscreen/templates/infoscreen_admin.html +++ b/infoscreen/templates/infoscreen_admin.html @@ -41,8 +41,8 @@ {$ i.name $} - - + +

    {% trans "Create new item" %}

    diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 8eb532c..d3769ac 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/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: 2017-02-10 20:12+0200\n" +"POT-Creation-Date: 2017-02-10 21:16+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index ca0b6e7..4ce34b7 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-10 20:12+0200\n" +"POT-Creation-Date: 2017-02-10 21:16+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 8d53885820932df4dbb4af0aecfd009d621c2b3f Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 10 Feb 2017 21:23:40 +0200 Subject: [PATCH 10/15] Add more translations --- locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes locale/fi/LC_MESSAGES/django.mo | Bin 2807 -> 2845 bytes locale/fi/LC_MESSAGES/django.po | 4 +--- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 9bc6b5fd2686523bfaebfd67c30741619ce0cc90..2d301659bb54adb640f597967244ddca0996a301 100644 GIT binary patch delta 14 Wcmeyx^owc2WEMj!L$is~9|Hg^(FOeg delta 14 Wcmeyx^owc2WEKM}L!*h)9|Hg^x&`e&h-RWHopYX%LRY@-ei-LbQlol+R-e-bVX-j9Gk+_WK#@a1I+8Km3Rf z{-6UnN;A}=6Kh9TmPKdYhi!NW?eJ9eEIOeQTK^*2Um58-Tt^4Kg--0QWyTK=x#0>= zqAzd_EpGP;0k$QAC9t;9*R-VAy)Z?WvzeBy>H z)G$2z$0{)94PBumi_%1KvPiucvkFzbl=J z58feHsE|41S#*H!=!}0y=g|o?u-`s!Lyx8h4`4q!@HpE33fkXQbO$DoD?F-a|6S=6 zCC}_7+TaZ`MyQ}2&7v#+g6;SXtv`>++f2cu$si|_wB3Rx`?HQILs)Msv7PY!3%dzl zs4U^RnR3J~!r3mSwcM;G9N6TFHWKRzccYc)Ax!Q{6XD`KlEvgFzM0q=A2@z;1lnsx z@@!n~Hev_i=j1MUcBbwHlFw~Zy!ZdZ#D*kk6}darnUogJKkxluq0l)tGInOoG7ol5m^I=?@^Z@RbULsiviG5iO`9aa1Q delta 1125 zcmXxkO-NNi7=YpL>dD`WiX4V!lC2{uBJVTYw!}T!W&qPx6|M6VGZp^xDTJB<1C=>En-E5hMjmH9rq1Z;ybKi{`ibO>Vg2 zZgK*fXg@>~c!jn27B6x|bqgp2AThPP2!+KHa! xyOoc~{|9ch#jUdJBz6<-jJvRf=pZ~xOY6+JY^-GRSJ~;T=TM<{X1IK|^dGndOl$xE diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 4ce34b7..a773067 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -78,10 +78,8 @@ msgid "Rotation" msgstr "Rotaatio" #: infoscreen/templates/infoscreen_admin.html:69 -#, fuzzy -#| msgid "Paid" msgid "id" -msgstr "Maksettu" +msgstr "id" #: infoscreen/templates/infoscreen_admin.html:70 #: infoscreen/templates/infoscreen_admin.html:77 From 255b3bfe83501c607bee35386b5744763ccadb65 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 12 Feb 2017 00:49:22 +0200 Subject: [PATCH 11/15] Add dummy SIKAdmin at /sikadmin --- .gitignore | 3 +- locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes locale/en/LC_MESSAGES/django.po | 39 ++++++++++++- locale/fi/LC_MESSAGES/django.mo | Bin 2845 -> 3200 bytes locale/fi/LC_MESSAGES/django.po | 41 ++++++++++++- sikweb/urls.py | 2 + webapp/templates/admin_index.html | 8 +++ webapp/templates/admin_navigation.html | 12 ++++ webapp/templates/base.html | 45 +++++++++++++++ webapp/templates/main_index.html | 76 +++---------------------- webapp/templates/navigation.html | 36 ++++++++++++ webapp/views.py | 10 +++- 12 files changed, 196 insertions(+), 76 deletions(-) create mode 100644 webapp/templates/admin_index.html create mode 100644 webapp/templates/admin_navigation.html create mode 100644 webapp/templates/base.html create mode 100644 webapp/templates/navigation.html diff --git a/.gitignore b/.gitignore index 03098ab..24b8660 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,5 @@ infoscreen/migrations/* webapp/migrations/* .idea/ logs/ -logs/* static/ -static/* +node_modules/ diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 2d301659bb54adb640f597967244ddca0996a301..8f61f20b5fa5a93ad99080787901d74e717c5488 100644 GIT binary patch delta 16 Ycmeyx^owc21U4fD0|P6QiPN3{05zuuN&o-= delta 16 Ycmeyx^owc21U3T&BSS00iPN3{05zQkNB{r; diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index d3769ac..7a4c335 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/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: 2017-02-10 21:16+0200\n" +"POT-Creation-Date: 2017-02-12 00:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,6 +47,7 @@ msgid "Add to rotation" msgstr "" #: infoscreen/templates/infoscreen_admin.html:39 +#: infoscreen/templates/infoscreen_admin.html:45 #: infoscreen/templates/infoscreen_admin.html:72 #: infoscreen/templates/infoscreen_admin.html:79 #: infoscreen/templates/infoscreen_admin.html:96 @@ -55,6 +56,10 @@ msgstr "" msgid "Delete" msgstr "" +#: infoscreen/templates/infoscreen_admin.html:44 +msgid "Add" +msgstr "" + #: infoscreen/templates/infoscreen_admin.html:48 msgid "Create new item" msgstr "" @@ -225,3 +230,35 @@ msgstr "" #: templates/footer.html:11 msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "" + +#: webapp/templates/admin_index.html:6 +msgid "SIK Admin" +msgstr "" + +#: webapp/templates/main_index.html:7 +msgid "Members" +msgstr "" + +#: webapp/templates/main_index.html:8 +msgid "Infoscreen" +msgstr "" + +#: webapp/templates/main_index.html:9 +msgid "Admin tools" +msgstr "" + +#: webapp/templates/navigation.html:29 +msgid "Event calendar" +msgstr "" + +#: webapp/templates/navigation.html:30 +msgid "International" +msgstr "" + +#: webapp/templates/navigation.html:31 +msgid "Sössö" +msgstr "" + +#: webapp/templates/navigation.html:32 +msgid "Contact" +msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 7faff22ec3fd2491a15d77a7b8f8d949c9d9ec5d..052a8562ad1be22090075a560095b3dfd7ac38b9 100644 GIT binary patch delta 1590 zcmYk6U2IHg7{}kzkC~#hilR8w_vfHmAL-HvZ5JU*q8kaPofF2)oMGlnWiFU<;X+(U z4i}qUH_{uCxRF!{5=NG6HX*y44GBUbB3!r;7b~*+``6pVlk{syRh z9m^$fHhzos_rXcTH+{S)Kmjgv3Kj4sjKaIN|B?0ofeQ2r*1>mB34ejAK!iaZ zs2)y*bD{S8!E!UKCcf$9MGLwik2yf26CQ#JoQ6v9xb+7t&q89E3zomYDfpM661fF= z%tIPg=rJ4xU&18U{2CTDaR*U&H$Op5?6o`wb+Q4d1VUH~f3@S+tbYfpVvnKrdjYvy z^B!uQ!#${f5mdr0kRj7nP5pJ!4my;;4m)u#)WTk<1d?|AB-H#f);|YT(hG0~{240H z4LA!vfcj|PKvm`)RH7=k`fJ8ee`QifhfdZA6?i$+#8%5KP#bq!{~*-e`mhb2gi7Q# z)cSi+`~418(dUrZ<^xm(K0_Y!wMeT4QFb3r1Wv?ngxW9$Rhcz#I&6bl*kk)Ws6^6G zcY6YIwPrC|ikC=Y5)2!n_T}wUEcd-h6Z>=~@ zh$0Nz5?YmiCR&D6VcF7eFcb8T5W|^+)+3eHwD?Z5m#wY_94q4drsBq40U-k;+w0EVjP+`u3`(vhYx3|I$u3 zl}ZpJD3pehZYm#`ohdI!W}JREn|3#vp2LAx$OQ>6o>3O3YxlTE-NQjX?J}EOyll8D z+7X_OwvFrhK8x$WMaP#->?V(q2uEGt^HPcM@9LK6HY2mEG??g51f@ZT{c?Geh@1Zb DZppqi delta 1272 zcmXxkO-K}B9LMozOLyII-Fzua%^K5kd$ZLPAuKVH=mpB?VnJl>!Y;Nf?7BuBS}CYQ zb%;SCCzO(3-#|%30ii4^aI*!x+9o_4@_GxP%pq zZ+_Ybe^CQzlxiqLO{@X6vKVUSomhuQP#s>dUPetQg{q%N^;bl?Hg`}1-$zaCp~{SJ zo^r!wo?BnzM#^td6PU*+e#15R3x_$T-}d+O^rqia)~l!m+(s_*h^z`HQ1xa|M>C5> zoy`I_TqeZyG+-stw`oMpxP?qBXhW^26IHJV)$W*meg;+VoGo8O?NACEF@sz2F6#Aq z5oZ6j(kc7kBXXHJGR=4qHNX$ljQ?1dQ4@%;-+Eq$I+|8Ih~21x3#j(jQT^RQ?Z7y4 znMsHJ*Gi`->CE1s8hk*;FmtGm7EvqziVgT3Reu@%x0!;DrXD#NzwHiGQh%zWR8Oeh zPGS$C_s?_?dZA*3&P}O}h!dLaYTCrjdO`y$X+_(JErfQXmS`oEv@4Z_7N;XwP5Q*Q z6Z`A~jqe|U+@*}9v(ajI6MG4LPTB>Xol?sR{^!kxukn7TX6G*T(Z|2E4}Ge1qZxLu-AJRT=2$29p2|qIv965 z+7Gl(A1Z4Oc8d$BJDDC$ QkIYWGnW5o)!K4%BKW=Vxd;kCd diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index a773067..95dd028 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-02-10 21:16+0200\n" +"POT-Creation-Date: 2017-02-12 00:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,6 +48,7 @@ msgid "Add to rotation" msgstr "Lisää rotaatioon" #: infoscreen/templates/infoscreen_admin.html:39 +#: infoscreen/templates/infoscreen_admin.html:45 #: infoscreen/templates/infoscreen_admin.html:72 #: infoscreen/templates/infoscreen_admin.html:79 #: infoscreen/templates/infoscreen_admin.html:96 @@ -56,6 +57,10 @@ msgstr "Lisää rotaatioon" msgid "Delete" msgstr "Poista" +#: infoscreen/templates/infoscreen_admin.html:44 +msgid "Add" +msgstr "Lisää" + #: infoscreen/templates/infoscreen_admin.html:48 msgid "Create new item" msgstr "Luo uusi dia" @@ -227,5 +232,35 @@ msgstr "suomi" msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" -#~ msgid "Change language" -#~ msgstr "Vaihda kieli" +#: webapp/templates/admin_index.html:6 +msgid "SIK Admin" +msgstr "SIK Hallintapaneeli" + +#: webapp/templates/main_index.html:7 +#, fuzzy +msgid "Members" +msgstr "Jäsenlistaus" + +#: webapp/templates/main_index.html:8 +msgid "Infoscreen" +msgstr "Infonäyttö" + +#: webapp/templates/main_index.html:9 +msgid "Admin tools" +msgstr "Hallintatyökalut" + +#: webapp/templates/navigation.html:29 +msgid "Event calendar" +msgstr "Tapahtumakalenteri" + +#: webapp/templates/navigation.html:30 +msgid "International" +msgstr "International" + +#: webapp/templates/navigation.html:31 +msgid "Sössö" +msgstr "Sössö" + +#: webapp/templates/navigation.html:32 +msgid "Contact" +msgstr "Yhteystiedot" diff --git a/sikweb/urls.py b/sikweb/urls.py index 3f956cc..40e268b 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -24,6 +24,7 @@ from django.contrib.staticfiles import views as static_views # main from webapp.views import main_index +from webapp.views import admin_index # login from webapp.views import login_view from webapp.views import logout_view @@ -72,6 +73,7 @@ favicon_view = RedirectView.as_view(url='static/img/favicon.ico', permanent=True urlpatterns = [ # main url(r'^$', main_index), + url(r'^sikadmin$', admin_index), # admin url(r'^admin/', admin.site.urls), # login stuff diff --git a/webapp/templates/admin_index.html b/webapp/templates/admin_index.html new file mode 100644 index 0000000..704abbe --- /dev/null +++ b/webapp/templates/admin_index.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block content %} + +

    {% trans "SIK Admin" %}

    + +{% endblock %} diff --git a/webapp/templates/admin_navigation.html b/webapp/templates/admin_navigation.html new file mode 100644 index 0000000..9e44ee5 --- /dev/null +++ b/webapp/templates/admin_navigation.html @@ -0,0 +1,12 @@ +{% load i18n %} + + diff --git a/webapp/templates/base.html b/webapp/templates/base.html new file mode 100644 index 0000000..8e86b50 --- /dev/null +++ b/webapp/templates/base.html @@ -0,0 +1,45 @@ +{% load i18n %} +{% load static %} +{% load staticfiles %} + + + + + + + + + + + Aalto-yliopiston Sähköinsinöörikilta ry + + + + + + + + + + + + + + + + + + + + + + +
    + {% include "navigation.html" %} + {% block content %} + {% endblock %} +
    + + {% include "footer.html" %} + + diff --git a/webapp/templates/main_index.html b/webapp/templates/main_index.html index 2a249ed..92b7a52 100644 --- a/webapp/templates/main_index.html +++ b/webapp/templates/main_index.html @@ -1,73 +1,11 @@ - - - - - - - - - Aalto-yliopiston Sähköinsinöörikilta ry - - - - - - - - - - - - - - - - - - {%load staticfiles %} - - - - - +{% extends "base.html" %} +{% load i18n %} +{% block content %}

    HURDURR DUMMY SITE

    +{% endblock %} diff --git a/webapp/templates/navigation.html b/webapp/templates/navigation.html new file mode 100644 index 0000000..92fbfcf --- /dev/null +++ b/webapp/templates/navigation.html @@ -0,0 +1,36 @@ +{% load i18n %} + diff --git a/webapp/views.py b/webapp/views.py index 7711971..0cbeab0 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -1,6 +1,8 @@ from django.shortcuts import render, redirect from django.contrib.auth import login, logout, authenticate from django.views.decorators.http import require_http_methods +from django.views.decorators.csrf import ensure_csrf_cookie +from django.contrib.auth.decorators import permission_required from django.conf import settings import logging @@ -10,7 +12,13 @@ logging.basicConfig(format='[%(levelname)s]%(asctime)s %(message)s', level=setti @require_http_methods(["GET"]) def main_index(request, *args, **kwargs): - return render(request, "main_index.html", {}) + return render(request, "main_index.html", {}) + +@require_http_methods(["GET", "POST"]) +@ensure_csrf_cookie +@permission_required('members.change_member', login_url='/login') +def admin_index(request, *args, **kwargs): + return render(request, "admin_index.html", {}) @require_http_methods(["GET", "POST"]) def login_view(request, *args, **kwargs): From 22e8e3d99596bd3401458ce335d8a47da7363b00 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 12 Feb 2017 17:23:38 +0200 Subject: [PATCH 12/15] Fix footer styles --- global_static/css/footer.css | 6 ++++++ members/static/css/jasenlista.css | 1 + webapp/templates/admin_index.html | 7 ++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/global_static/css/footer.css b/global_static/css/footer.css index fb85dda..6022105 100644 --- a/global_static/css/footer.css +++ b/global_static/css/footer.css @@ -1,5 +1,11 @@ .footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; text-align: center; + background-color: #cfcfcf; + padding: 1rem; } #fi-button { diff --git a/members/static/css/jasenlista.css b/members/static/css/jasenlista.css index 0b6068d..93c0541 100644 --- a/members/static/css/jasenlista.css +++ b/members/static/css/jasenlista.css @@ -5,6 +5,7 @@ .content-area { padding-left: 15px; padding-right: 15px; + padding-bottom: 2rem; } .content-area-title { diff --git a/webapp/templates/admin_index.html b/webapp/templates/admin_index.html index 704abbe..1af227e 100644 --- a/webapp/templates/admin_index.html +++ b/webapp/templates/admin_index.html @@ -4,5 +4,10 @@ {% block content %}

    {% trans "SIK Admin" %}

    - +

    +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam consectetur vitae arcu at bibendum. Nam vel vulputate massa, sit amet volutpat tellus. Fusce varius lectus iaculis nunc laoreet, ac ultricies nulla luctus. Nam fringilla ipsum vel tincidunt viverra. Fusce vestibulum, metus et tincidunt commodo, leo mauris vulputate magna, ut euismod magna nisi eu sem. Integer venenatis, enim in feugiat tempus, erat urna ornare turpis, in varius eros ligula vitae libero. Aliquam erat volutpat. Curabitur ac interdum quam. Duis ornare, eros ac laoreet finibus, libero arcu molestie tellus, id finibus velit lacus nec nibh. Morbi vehicula dolor vel imperdiet pharetra. Maecenas purus lorem, vulputate eget lacus ut, pharetra eleifend sem. Sed aliquam eleifend posuere. Maecenas ac scelerisque odio. Nunc facilisis cursus ornare. Sed neque turpis, sodales id rhoncus eget, vestibulum id urna. Nam ornare urna quis felis porta, vel mollis leo laoreet. +

    +

    +Proin sed odio a nisi aliquet blandit quis at dolor. Sed tincidunt neque vel ex pulvinar, auctor elementum magna euismod. Pellentesque vel porta justo, quis pulvinar diam. Pellentesque consectetur convallis tellus faucibus lobortis. Mauris ornare erat ac varius condimentum. Sed neque augue, semper quis iaculis a, tincidunt sed diam. Donec volutpat non justo quis mollis. Maecenas nisi enim, mollis sed hendrerit nec, mattis eu diam. Nunc a faucibus neque, scelerisque fermentum ligula. Pellentesque tempus pharetra tempor. Quisque tincidunt orci vel ullamcorper venenatis. Phasellus blandit et purus molestie facilisis. Maecenas auctor accumsan pellentesque. Ut vel mi sem. Etiam porttitor metus vitae nulla pulvinar, nec efficitur metus tincidunt. +

    {% endblock %} From beb36064f9becd2519e978a7caae9601e98dec85 Mon Sep 17 00:00:00 2001 From: Juhana Date: Wed, 22 Feb 2017 15:19:15 +0200 Subject: [PATCH 13/15] Add entry to urls.py for media files --- media/REMOVE_ME | 0 sikweb/urls.py | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 media/REMOVE_ME diff --git a/media/REMOVE_ME b/media/REMOVE_ME new file mode 100644 index 0000000..e69de29 diff --git a/sikweb/urls.py b/sikweb/urls.py index 40e268b..e2ec561 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -127,5 +127,7 @@ urlpatterns = [ # staticfiles default view for static files in development url(r'^static/(?P.*)$', static_views.serve), + url(r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), + ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) From bafc094f400f058cdefccbd5aa30d397de734cec Mon Sep 17 00:00:00 2001 From: Juhana Date: Wed, 22 Feb 2017 15:31:09 +0200 Subject: [PATCH 14/15] Add missing setting entries --- sikweb/settings-sample.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sikweb/settings-sample.py b/sikweb/settings-sample.py index 348b0ff..39636a1 100644 --- a/sikweb/settings-sample.py +++ b/sikweb/settings-sample.py @@ -175,6 +175,8 @@ STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'global_static'), ) +MEDIA_ROOT = os.path.join(BASE_DIR, 'media') +MEDIA_URL = '/media/' HSL_USERHASH = 'YOUR HSL USERHASH HERE' HSL_DEPARTURE_THRESHOLD = 8 From 5fc218323c38fe08ec60e646ffa2750889afa7ba Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 22 Feb 2017 15:43:19 +0200 Subject: [PATCH 15/15] Fix deprecation warnings --- .gitignore | 1 + sikweb/urls.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 24b8660..ad0bc3e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ webapp/migrations/* logs/ static/ node_modules/ +media/ diff --git a/sikweb/urls.py b/sikweb/urls.py index e2ec561..60812e7 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -17,6 +17,7 @@ Including another URLconf from django.conf.urls import url from django.contrib import admin from django.views.generic.base import RedirectView +from django.views.static import serve as static_serve from django.conf.urls import include from django.conf.urls.static import static from django.conf import settings @@ -127,7 +128,7 @@ urlpatterns = [ # staticfiles default view for static files in development url(r'^static/(?P.*)$', static_views.serve), - url(r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), + url(r'^media/(?P.*)$', static_serve, {'document_root': settings.MEDIA_ROOT}), ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)