diff --git a/.gitignore b/.gitignore index 47ca469..ad0bc3e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,6 @@ infoscreen/migrations/* webapp/migrations/* .idea/ logs/ -logs/* +static/ +node_modules/ +media/ diff --git a/global_static/css/footer.css b/global_static/css/footer.css new file mode 100644 index 0000000..6022105 --- /dev/null +++ b/global_static/css/footer.css @@ -0,0 +1,26 @@ +.footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; + text-align: center; + background-color: #cfcfcf; + padding: 1rem; +} + +#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 0000000..5bd938a Binary files /dev/null and b/global_static/img/en.png differ diff --git a/global_static/img/favicon.ico b/global_static/img/favicon.ico new file mode 100644 index 0000000..0799dd3 Binary files /dev/null and b/global_static/img/favicon.ico differ diff --git a/global_static/img/fi.png b/global_static/img/fi.png new file mode 100644 index 0000000..264b919 Binary files /dev/null and b/global_static/img/fi.png differ 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 @@ -
- - - - - - - - - - - - - - - - - -
- 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/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,96 @@ +
+
+
+

{% 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 "id" %}{% trans "Select" %}{% trans "Preview" %}{% trans "Delete" %}
{$ r.name $}{$ r.id $}
-
+

{% 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 new file mode 100644 index 0000000..8f61f20 Binary files /dev/null and b/locale/en/LC_MESSAGES/django.mo differ diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..7a4c335 --- /dev/null +++ b/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,264 @@ +# 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-12 00:46+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" + +#: 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:45 +#: 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 "" + +#: infoscreen/templates/infoscreen_admin.html:44 +msgid "Add" +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:90 +msgid "Rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:69 +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:83 +msgid "Create new" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:91 +msgid "Instances in currently selected rotation" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:94 +msgid "Instance" +msgstr "" + +#: infoscreen/templates/infoscreen_admin.html:95 +msgid "Duration" +msgstr "" + +#: members/templates/member_list.html:13 members/templates/member_list.html:45 +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:46 +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:33 +msgid "Download CSV" +msgstr "" + +#: members/templates/member_list.html:39 +msgid "Last name" +msgstr "" + +#: members/templates/member_list.html:40 +msgid "First name" +msgstr "" + +#: members/templates/member_list.html:41 +msgid "Email" +msgstr "" + +#: members/templates/member_list.html:42 +msgid "AYY member" +msgstr "" + +#: members/templates/member_list.html:43 +msgid "JAS recipient" +msgstr "" + +#: members/templates/member_list.html:44 +msgid "Residence" +msgstr "" + +#: 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:62 +msgid "Edit" +msgstr "" + +#: members/templates/member_list.html:63 +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:62 +msgid "Member register of SIK ry" +msgstr "" + +#: sikweb/settings-sample.py:146 sikweb/settings.py:146 +msgid "English" +msgstr "" + +#: sikweb/settings-sample.py:147 sikweb/settings.py:147 +msgid "Finnish" +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 new file mode 100644 index 0000000..052a856 Binary files /dev/null and b/locale/fi/LC_MESSAGES/django.mo differ diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 0000000..95dd028 --- /dev/null +++ b/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,266 @@ +# 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-12 00:46+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" + +#: 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:45 +#: 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" + +#: infoscreen/templates/infoscreen_admin.html:44 +msgid "Add" +msgstr "Lisää" + +#: 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:90 +msgid "Rotation" +msgstr "Rotaatio" + +#: infoscreen/templates/infoscreen_admin.html:69 +msgid "id" +msgstr "id" + +#: 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:83 +msgid "Create new" +msgstr "Luo uusi" + +#: infoscreen/templates/infoscreen_admin.html:91 +msgid "Instances in currently selected rotation" +msgstr "Nykyisen rotaation diat" + +#: infoscreen/templates/infoscreen_admin.html:94 +msgid "Instance" +msgstr "Dia" + +#: infoscreen/templates/infoscreen_admin.html:95 +msgid "Duration" +msgstr "Kesto" + +#: members/templates/member_list.html:13 members/templates/member_list.html:45 +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:46 +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:33 +msgid "Download CSV" +msgstr "Lataa CSV" + +#: members/templates/member_list.html:39 +msgid "Last name" +msgstr "Sukunimi" + +#: members/templates/member_list.html:40 +msgid "First name" +msgstr "Etunimi" + +#: members/templates/member_list.html:41 +msgid "Email" +msgstr "Sähköposti" + +#: members/templates/member_list.html:42 +msgid "AYY member" +msgstr "AYY:n jäsen" + +#: members/templates/member_list.html:43 +msgid "JAS recipient" +msgstr "JAS-vastaanottaja" + +#: members/templates/member_list.html:44 +msgid "Residence" +msgstr "Asuinpaikka" + +#: 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:62 +msgid "Edit" +msgstr "Muokkaa" + +#: members/templates/member_list.html:63 +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:62 +msgid "Member register of SIK ry" +msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" + +#: sikweb/settings-sample.py:146 sikweb/settings.py:146 +msgid "English" +msgstr "englanti" + +#: sikweb/settings-sample.py:147 sikweb/settings.py:147 +msgid "Finnish" +msgstr "suomi" + +#: templates/footer.html:11 +msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" +msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" + +#: 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/media/REMOVE_ME b/media/REMOVE_ME new file mode 100644 index 0000000..e69de29 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/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/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..2f00c86 --- /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..5cdf71c 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..bbd76ab --- /dev/null +++ b/members/templates/member_list.html @@ -0,0 +1,75 @@ +{% extends "members_base.html" %} + +{% load static %} +{% load i18n %} +{% block content %} + +
+
+
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+

{% trans "Member register" %}

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
{% 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.last_name $}{$ x.first_name $}{$ x.email $}{$ x.AYY $}{$ x.jas $}{$ x.POR $}{$ x.created $}{$ x.paid $} + + {% trans "Edit" %} + +
+
+
+ Tommy +
+
+
+
+{% endblock content %} diff --git a/members/templates/members_base.html b/members/templates/members_base.html new file mode 100644 index 0000000..e4ac434 --- /dev/null +++ b/members/templates/members_base.html @@ -0,0 +1,76 @@ +{% load staticfiles %} +{% load static %} +{% load i18n %} + + + + + + + + + + {% trans "Member register" %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + {% block content %} + {% endblock content %} +
+ {% include "footer.html" %} + + 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/settings-sample.py b/sikweb/settings-sample.py index 866a8a2..39636a1 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', @@ -63,14 +65,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', ], }, }, @@ -138,7 +142,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' @@ -151,8 +166,17 @@ 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'), +) +MEDIA_ROOT = os.path.join(BASE_DIR, 'media') +MEDIA_URL = '/media/' HSL_USERHASH = 'YOUR HSL USERHASH HERE' HSL_DEPARTURE_THRESHOLD = 8 diff --git a/sikweb/urls.py b/sikweb/urls.py index a63cf05..60812e7 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -17,13 +17,23 @@ 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 +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 # 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 +41,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,51 +65,70 @@ 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) 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/$', mindex), - 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), - #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), + url(r'^sikadmin$', admin_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')), + + # staticfiles default view for static files in development + url(r'^static/(?P.*)$', static_views.serve), + url(r'^media/(?P.*)$', static_serve, {'document_root': settings.MEDIA_ROOT}), + + +] + 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 %} + + diff --git a/webapp/templates/admin_index.html b/webapp/templates/admin_index.html new file mode 100644 index 0000000..1af227e --- /dev/null +++ b/webapp/templates/admin_index.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} +{% load i18n %} + +{% 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 %} 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):