Merge branch 'feature-infoadmin' into develop

This commit is contained in:
Juhana Luomanen
2017-06-01 19:40:18 +03:00
7 changed files with 355 additions and 200 deletions
+55 -5
View File
@@ -1,5 +1,55 @@
td{
max-width:12vw;
overflow:hidden;
word-wrap:break-word;
}
html {
font-size: 16px;
}
body {
padding: 1.5rem;
margin: 0.5rem;
}
tbody {
border: 1px solid #ddd;
}
div {
margin-bottom: 0.5rem;
}
td {
max-width: 12vw;
overflow: hidden;
word-wrap: break-word;
}
@media (min-width: 760px) {
body {
font-size: 1rem;
}
}
@media (max-width: 760px) {
body {
font-size: 0.7rem;
padding: 0;
}
h1 {
font-size: 2.5rem;
}
h2 {
font-size: 1.5rem;
}
.logout-button {
margin: 0;
}
table>tbody>tr>td,
table>tbody>tr>th {
white-space: normal;
padding: 0.2rem !important;
max-width: 100%;
}
}
#header {
max-width: 100%;
}
+137 -76
View File
@@ -4,7 +4,7 @@
<!DOCTYPE html>
<html ng-app="infoAdmin">
<head>
<meta charset="utf-8">
<meta charset="utf-8" name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1" />
<title>Infoscreen admin</title>
<script src="{% static "js/lib/angular.js" %}"></script>
<script src="{% static "js/lib/ng-file-upload-bower-12.2.11/ng-file-upload-all.js" %}"></script>
@@ -25,87 +25,148 @@
</form>
</div>
</div>
<div class="container">
<div class="container" ng-controller="infoadmin_ctrl">
<div class="row">
<div class="col-md-12">
<h1>{% trans "Infoscreen Admin Pane" %}</h1>
</div>
</div>
<div class="row" ng-controller="infoadmin_ctrl">
<div class="col-xs-12 col-md-6">
<h2>{% trans "Info items" %}</h2>
<div>{% trans "Infoitems available for rotations" %}</div>
<table class="table table-striped">
<tr>
<th>{% trans "Item" %}</th>
<th>{% trans "Type" %}</th>
<th>{% trans "Set duration" %}</th>
<th>{% trans "Add to rotation" %}</th>
<th>{% trans "Delete" %}</th>
</tr>
<tr ng-repeat="i in infoitems | orderBy:['display_name','name']">
<td>{$ i.name $}</td>
<td>{$ i.display_name $}</td>
<td><input type="number" min="1" max="60" class="form-control" ng-model="i.duration"></input></td>
<td><input type="button" class="btn btn-success" ng-click="createInstance(selected_rot.id, i.id, i.item_type, i.duration);" value="{% trans "Add" %}"></input></td>
<td><input type="button" class="btn btn-danger" ng-click="deleteItem(i.item_type, i.id);" value="{% trans "Delete" %}"></input></td>
</tr>
</table>
<h2>{% trans "Create new item" %}</h2>
<table class="table table-striped">
<tr>
<td>{% trans "Item type" %}</td>
<td>
<select class="form-control form-control-sm" ng-model="createtype", ng-options="t.name for t in infotypes">
<option value=""></option>
</select>
</td>
</tr>
</table>
<div ng-include="createtype.create_template_url"></div>
</div>
<div class="col-xs-12 col-md-6">
<h2>{% trans "Rotations" %}</h2>
<div>
{% trans "Select rotation to edit" %}:
</div>
<table class="table table-striped">
<tr>
<th>{% trans "Rotation" %}</th>
<th>{% trans "id" %}</th>
<th>{% trans "Select" %}</th>
<th>{% trans "Preview" %}</th>
<th>{% trans "Delete" %}</th>
</tr>
<tr ng-repeat="r in rotations">
<td>{$ r.name $}</td>
<td>{$ r.id $}</td>
<td><input type="button" class="btn btn-info" ng-click="selectRotation(r.id)" value="{% trans "Select" %}"></td>
<td><a href="/infoscreen/{$ r.id $}"><input type="button" class="btn btn-primary" value="{% trans "Preview" %}"></a></td>
<td><input type="button" class="btn btn-danger" ng-click="deleteRotation(r.id)" value="{% trans "Delete" %}"></input></td>
</tr>
<tr>
<td><input type="text" class="form-control" ng-model="r.name" placeholder="{% trans "Name" %}"></input></td>
<td><input type="button" class="btn btn-success" ng-click="createRotation(r.name)" value="{% trans "Create new" %}"></input></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a data-toggle="tab" href="#slides" role="tab">{% trans "Manage Slides" %}</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="#">{% trans "Manage Rotations" %}<span class="caret"></span></a>
<ul class="dropdown-menu">
<li ng-repeat="r in rotations"><a href="#rotations" ng-click="selectRotation(r.id)" data-toggle="tab">{$ r.name $}</a></li>
<li class="divider">
<li class="nav-item"><a data-toggle="tab" href="#deleterot" role="tab">{% trans "Create/Delete" %}</a></li>
</ul>
<li><a data-toggle="tab" href="#settings" role="tab">{% trans "Settings" %}</a></li>
</ul>
<div class="tab-content row">
<div id="slides" class="tab-pane active">
<div ng-controller="infoadmin_ctrl">
<div class="col-xs-12 col-md-6">
<h2>{% trans "Create new item" %}</h2>
<div>{% trans "Create a new item by type" %}</div>
<table class="table table-striped">
<tr>
<td>{% trans "Item type" %}</td>
<td>
<select class="form-control form-control-sm" ng-model="createtype", ng-options="t.name for t in infotypes | orderBy: 'name'">
<option value=""></option>
</select>
</td>
</tr>
</table>
<div ng-include="createtype.create_template_url"></div>
</div>
<div class="col-xs-12 col-md-6">
<h2>{% trans "Info items" %}</h2>
<div>{% trans "Infoitems available for rotations" %}</div>
<table class="table table-striped">
<tr>
<th>{% trans "Item" %}</th>
<th>{% trans "Type" %}</th>
<th>{% trans "Delete" %}</th>
</tr>
<tr ng-repeat="i in infoitems | orderBy:['display_name','name']">
<td>{$ i.name $}</td>
<td>{$ i.display_name $}</td>
<td><input type="button" class="btn btn-danger" ng-click="deleteItem(i.item_type, i.id);" value="{% trans "Delete" %}"></input></td>
</tr>
</table>
<h2>{% trans "Rotation" %}: {$ selected_rot.name $}</h2>
<div>{% trans "Instances in currently selected rotation" %}:</div>
<table class="table table-striped">
<tr>
<th>{% trans "Instance" %}</th>
<th>{% trans "Duration" %}</th>
<th>{% trans "Delete" %}</th>
</tr>
<tr ng-repeat="i in selected_rot.instances">
<td>{$ i.item.name $}</td><td>{$ i.duration $} s</td>
<td><input type="button" ng-click="deleteInstance(i.id);" value="{% trans "Delete" %}" class="btn btn-danger"></input></td>
</tr>
</table>
</div>
</div>
</div>
<div id="rotations" class="tab-pane" ng-controller="infoadmin_ctrl">
<div class="col-xs-12 col-md-6">
<h2>{% trans "Info items" %}</h2>
<div>{% trans "Infoitems available for rotations" %}</div>
<table class="table table-striped">
<tr>
<th>{% trans "Item" %}</th>
<th>{% trans "Type" %}</th>
<th>{% trans "Set duration" %}</th>
<th>{% trans "Add to rotation" %}</th>
<th>{% trans "Delete" %}</th>
</tr>
<tr ng-repeat="i in infoitems | orderBy:['display_name','name']">
<td>{$ i.name $}</td>
<td>{$ i.display_name $}</td>
<td><input type="number" min="1" max="60" class="form-control" ng-model="i.duration"></input></td>
<td><input type="button" class="btn btn-success" ng-click="createInstance(selected_rot.id, i.id, i.item_type, i.duration);" value="{% trans "Add" %}"></input></td>
<td><input type="button" class="btn btn-danger" ng-click="deleteItem(i.item_type, i.id);" value="{% trans "Delete" %}"></input></td>
</tr>
</table>
</div>
<div class="col-xs-12 col-md-6">
<h2>{% trans "Rotation" %}: {$ selected_rot.name $}<a href="/infoscreen/{$ selected_rot.id $}"><input type="button" class="btn btn-primary pull-right" value="{% trans "Preview" %}"></a></h2>
<div>{% trans "Instances in currently selected rotation" %}:</div>
<table class="table table-striped">
<tr>
<th>{% trans "Instance" %}</th>
<th>{% trans "Duration" %}</th>
<th>{% trans "Delete" %}</th>
</tr>
<tr ng-repeat="i in selected_rot.instances">
<td>{$ i.item.name $}</td><td>{$ i.duration $} s</td>
<td><input type="button" ng-click="deleteInstance(i.id);" value="{% trans "Delete" %}" class="btn btn-danger"></input></td>
</tr>
</table>
</div>
</div>
<div id="deleterot" class="tab-pane">
<div class="col-xs-12 " ng-controller="infoadmin_ctrl">
<h2>{% trans "Rotations" %}</h2>
<div>
{% trans "Select rotation to edit" %}:
</div>
<table class="table table-striped">
<tr>
<th>{% trans "Rotation" %}</th>
<th>{% trans "id" %}</th>
<th>{% trans "Preview" %}</th>
<th>{% trans "Delete" %}</th>
</tr>
<tr ng-repeat="r in rotations">
<td>{$ r.name $}</td>
<td>{$ r.id $}</td>
<td><a href="/infoscreen/{$ r.id $}"><input type="button" class="btn btn-primary" value="{% trans "Preview" %}"></a></td>
<td><input type="button" class="btn btn-danger" ng-click="deleteRotation(r.id)" value="{% trans "Delete" %}"></input></td>
</tr>
<tr>
<td><input type="text" class="form-control" ng-model="r.name" placeholder="{% trans "Name" %}"></input></td>
<td><input type="button" class="btn btn-success" ng-click="createRotation(r.name)" value="{% trans "Create new" %}"></input></td>
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
<div id="settings" class="tab-pane">
<div>
<div class="col-md-12">
<h2>{% trans "Settings" %}</h2>
</div>
<form action="/i18n/setlang/" method="post" class="form-group"> {% csrf_token %}
<div class="col-md-12">
<h4>{% trans "Language" %}</h4>
</div>
<div class="col-md-6">
<select name="language" class="form-control">
<option value="fi" {% if LANGUAGE_CODE == "fi" %} selected {% endif %}>{% trans "Finnish" %}</option>
<option value="en" {% if LANGUAGE_CODE == "en" %} selected {% endif %}>{% trans "English" %}</option>
</select>
</div>
<div class="col-md-3">
<input type="submit" class="btn btn-success" value="{% trans "Submit" %}">
</div>
</form>
</div>
</div>
</div>
<div style="margin-top: 100px;">
Binary file not shown.
+82 -59
View File
@@ -58,99 +58,119 @@ msgstr "Log out"
msgid "Infoscreen Admin Pane"
msgstr "Infoscreen Admin Pane"
#: infoscreen/templates/infoscreen_admin.html:36
#: infoscreen/templates/infoscreen_admin.html:35
msgid "Manage Slides"
msgstr ""
#: infoscreen/templates/infoscreen_admin.html:37
msgid "Manage Rotations"
msgstr "Manage Rotations"
#: infoscreen/templates/infoscreen_admin.html:41
msgid "Create/Delete"
msgstr "Create/Delete"
#: infoscreen/templates/infoscreen_admin.html:48
msgid "Create new item"
msgstr "Create new item"
#: infoscreen/templates/infoscreen_admin.html:49
#, fuzzy
#| msgid "Create new item"
msgid "Create a new item by type"
msgstr "Create new item"
#: infoscreen/templates/infoscreen_admin.html:52
msgid "Item type"
msgstr "Item type"
#: infoscreen/templates/infoscreen_admin.html:63
#: infoscreen/templates/infoscreen_admin.html:83
msgid "Info items"
msgstr "Info items"
#: infoscreen/templates/infoscreen_admin.html:37
#: infoscreen/templates/infoscreen_admin.html:64
#: infoscreen/templates/infoscreen_admin.html:84
msgid "Infoitems available for rotations"
msgstr "Infoitems available for rotations"
#: infoscreen/templates/infoscreen_admin.html:40
#: infoscreen/templates/infoscreen_admin.html:67
#: infoscreen/templates/infoscreen_admin.html:87
msgid "Item"
msgstr "Item"
#: infoscreen/templates/infoscreen_admin.html:41
#: infoscreen/templates/infoscreen_admin.html:68
#: infoscreen/templates/infoscreen_admin.html:88
msgid "Type"
msgstr "Type"
#: infoscreen/templates/infoscreen_admin.html:42
msgid "Set duration"
msgstr "Set duration"
#: infoscreen/templates/infoscreen_admin.html:43
msgid "Add to rotation"
msgstr "Add to rotation"
#: infoscreen/templates/infoscreen_admin.html:44
#: infoscreen/templates/infoscreen_admin.html:51
#: infoscreen/templates/infoscreen_admin.html:78
#: infoscreen/templates/infoscreen_admin.html:85
#: infoscreen/templates/infoscreen_admin.html:102
#: infoscreen/templates/infoscreen_admin.html:106
#: infoscreen/templates/infoscreen_admin.html:69
#: infoscreen/templates/infoscreen_admin.html:74
#: infoscreen/templates/infoscreen_admin.html:91
#: infoscreen/templates/infoscreen_admin.html:98
#: infoscreen/templates/infoscreen_admin.html:112
#: infoscreen/templates/infoscreen_admin.html:116
#: infoscreen/templates/infoscreen_admin.html:134
#: infoscreen/templates/infoscreen_admin.html:140
#: members/templates/member_edit.html:20 members/templates/payment_edit.html:20
msgid "Delete"
msgstr "Delete"
#: infoscreen/templates/infoscreen_admin.html:50
#: infoscreen/templates/infoscreen_admin.html:89
msgid "Set duration"
msgstr "Set duration"
#: infoscreen/templates/infoscreen_admin.html:90
msgid "Add to rotation"
msgstr "Add to rotation"
#: infoscreen/templates/infoscreen_admin.html:97
msgid "Add"
msgstr "Add"
#: infoscreen/templates/infoscreen_admin.html:54
msgid "Create new item"
msgstr "Create new item"
#: infoscreen/templates/infoscreen_admin.html:57
msgid "Item type"
msgstr "Item type"
#: infoscreen/templates/infoscreen_admin.html:68
msgid "Rotations"
msgstr "Rotations"
#: infoscreen/templates/infoscreen_admin.html:70
msgid "Select rotation to edit"
msgstr "Select rotation to edit"
#: infoscreen/templates/infoscreen_admin.html:74
#: infoscreen/templates/infoscreen_admin.html:96
#: infoscreen/templates/infoscreen_admin.html:106
#: infoscreen/templates/infoscreen_admin.html:131
msgid "Rotation"
msgstr "Rotation"
#: infoscreen/templates/infoscreen_admin.html:75
msgid "id"
msgstr "id"
#: infoscreen/templates/infoscreen_admin.html:76
#: infoscreen/templates/infoscreen_admin.html:83
msgid "Select"
msgstr "Select"
#: infoscreen/templates/infoscreen_admin.html:77
#: infoscreen/templates/infoscreen_admin.html:84
#: infoscreen/templates/infoscreen_admin.html:106
#: infoscreen/templates/infoscreen_admin.html:133
#: infoscreen/templates/infoscreen_admin.html:139
msgid "Preview"
msgstr "Preview"
#: infoscreen/templates/infoscreen_admin.html:88
msgid "Name"
msgstr "Name"
#: infoscreen/templates/infoscreen_admin.html:89
msgid "Create new"
msgstr "Create new"
#: infoscreen/templates/infoscreen_admin.html:97
#: infoscreen/templates/infoscreen_admin.html:107
msgid "Instances in currently selected rotation"
msgstr "Instances in currently selected rotation"
#: infoscreen/templates/infoscreen_admin.html:100
#: infoscreen/templates/infoscreen_admin.html:110
msgid "Instance"
msgstr "Instance"
#: infoscreen/templates/infoscreen_admin.html:101
#: infoscreen/templates/infoscreen_admin.html:111
msgid "Duration"
msgstr "Duration"
#: infoscreen/templates/infoscreen_admin.html:125
msgid "Rotations"
msgstr "Rotations"
#: infoscreen/templates/infoscreen_admin.html:127
msgid "Select rotation to edit"
msgstr "Select rotation to edit"
#: infoscreen/templates/infoscreen_admin.html:132
msgid "id"
msgstr "id"
#: infoscreen/templates/infoscreen_admin.html:143
msgid "Name"
msgstr "Name"
#: infoscreen/templates/infoscreen_admin.html:144
msgid "Create new"
msgstr "Create new"
#: members/models.py:16
msgid "First name"
msgstr "First name"
@@ -542,3 +562,6 @@ msgstr "Sössö"
#: webapp/templates/navigation.html:32
msgid "Contact"
msgstr "Contact"
#~ msgid "Select"
#~ msgstr "Select"
Binary file not shown.
+80 -59
View File
@@ -59,99 +59,117 @@ msgstr "Kirjaudu ulos"
msgid "Infoscreen Admin Pane"
msgstr "Infonäyttöjen hallintapaneeli"
#: infoscreen/templates/infoscreen_admin.html:36
#: infoscreen/templates/infoscreen_admin.html:35
msgid "Manage Slides"
msgstr "Hallinnoi dioja"
#: infoscreen/templates/infoscreen_admin.html:37
msgid "Manage Rotations"
msgstr "Hallinnoi Rotaatioita"
#: infoscreen/templates/infoscreen_admin.html:41
msgid "Create/Delete"
msgstr "Lisää/Poista"
#: infoscreen/templates/infoscreen_admin.html:48
msgid "Create new item"
msgstr "Luo uusi dia"
#: infoscreen/templates/infoscreen_admin.html:49
msgid "Create a new item by type"
msgstr "Luo uusi dia tyypin perusteella"
#: infoscreen/templates/infoscreen_admin.html:52
msgid "Item type"
msgstr "Diatyyppi"
#: infoscreen/templates/infoscreen_admin.html:63
#: infoscreen/templates/infoscreen_admin.html:83
msgid "Info items"
msgstr "Diat"
#: infoscreen/templates/infoscreen_admin.html:37
#: infoscreen/templates/infoscreen_admin.html:64
#: infoscreen/templates/infoscreen_admin.html:84
msgid "Infoitems available for rotations"
msgstr "Rotaatioon lisättävät diat"
#: infoscreen/templates/infoscreen_admin.html:40
#: infoscreen/templates/infoscreen_admin.html:67
#: infoscreen/templates/infoscreen_admin.html:87
msgid "Item"
msgstr "Dia"
#: infoscreen/templates/infoscreen_admin.html:41
#: infoscreen/templates/infoscreen_admin.html:68
#: infoscreen/templates/infoscreen_admin.html:88
msgid "Type"
msgstr "Tyyppi"
#: infoscreen/templates/infoscreen_admin.html:42
msgid "Set duration"
msgstr "Aseta kesto"
#: infoscreen/templates/infoscreen_admin.html:43
msgid "Add to rotation"
msgstr "Lisää rotaatioon"
#: infoscreen/templates/infoscreen_admin.html:44
#: infoscreen/templates/infoscreen_admin.html:51
#: infoscreen/templates/infoscreen_admin.html:78
#: infoscreen/templates/infoscreen_admin.html:85
#: infoscreen/templates/infoscreen_admin.html:102
#: infoscreen/templates/infoscreen_admin.html:106
#: infoscreen/templates/infoscreen_admin.html:69
#: infoscreen/templates/infoscreen_admin.html:74
#: infoscreen/templates/infoscreen_admin.html:91
#: infoscreen/templates/infoscreen_admin.html:98
#: infoscreen/templates/infoscreen_admin.html:112
#: infoscreen/templates/infoscreen_admin.html:116
#: infoscreen/templates/infoscreen_admin.html:134
#: infoscreen/templates/infoscreen_admin.html:140
#: members/templates/member_edit.html:20 members/templates/payment_edit.html:20
msgid "Delete"
msgstr "Poista"
#: infoscreen/templates/infoscreen_admin.html:50
#: infoscreen/templates/infoscreen_admin.html:89
msgid "Set duration"
msgstr "Aseta kesto"
#: infoscreen/templates/infoscreen_admin.html:90
msgid "Add to rotation"
msgstr "Lisää rotaatioon"
#: infoscreen/templates/infoscreen_admin.html:97
msgid "Add"
msgstr "Lisää"
#: infoscreen/templates/infoscreen_admin.html:54
msgid "Create new item"
msgstr "Luo uusi dia"
#: infoscreen/templates/infoscreen_admin.html:57
msgid "Item type"
msgstr "Diatyyppi"
#: infoscreen/templates/infoscreen_admin.html:68
msgid "Rotations"
msgstr "Rotaatiot"
#: infoscreen/templates/infoscreen_admin.html:70
msgid "Select rotation to edit"
msgstr "Valitse muokattava rotaatio"
#: infoscreen/templates/infoscreen_admin.html:74
#: infoscreen/templates/infoscreen_admin.html:96
#: infoscreen/templates/infoscreen_admin.html:106
#: infoscreen/templates/infoscreen_admin.html:131
msgid "Rotation"
msgstr "Rotaatio"
#: infoscreen/templates/infoscreen_admin.html:75
msgid "id"
msgstr "id"
#: infoscreen/templates/infoscreen_admin.html:76
#: infoscreen/templates/infoscreen_admin.html:83
msgid "Select"
msgstr "Valitse"
#: infoscreen/templates/infoscreen_admin.html:77
#: infoscreen/templates/infoscreen_admin.html:84
#: infoscreen/templates/infoscreen_admin.html:106
#: infoscreen/templates/infoscreen_admin.html:133
#: infoscreen/templates/infoscreen_admin.html:139
msgid "Preview"
msgstr "Esikatsele"
#: infoscreen/templates/infoscreen_admin.html:88
msgid "Name"
msgstr "Nimi"
#: infoscreen/templates/infoscreen_admin.html:89
msgid "Create new"
msgstr "Luo uusi"
#: infoscreen/templates/infoscreen_admin.html:97
#: infoscreen/templates/infoscreen_admin.html:107
msgid "Instances in currently selected rotation"
msgstr "Nykyisen rotaation diat"
#: infoscreen/templates/infoscreen_admin.html:100
#: infoscreen/templates/infoscreen_admin.html:110
msgid "Instance"
msgstr "Dia"
#: infoscreen/templates/infoscreen_admin.html:101
#: infoscreen/templates/infoscreen_admin.html:111
msgid "Duration"
msgstr "Kesto"
#: infoscreen/templates/infoscreen_admin.html:125
msgid "Rotations"
msgstr "Rotaatiot"
#: infoscreen/templates/infoscreen_admin.html:127
msgid "Select rotation to edit"
msgstr "Valitse muokattava rotaatio"
#: infoscreen/templates/infoscreen_admin.html:132
msgid "id"
msgstr "id"
#: infoscreen/templates/infoscreen_admin.html:143
msgid "Name"
msgstr "Nimi"
#: infoscreen/templates/infoscreen_admin.html:144
msgid "Create new"
msgstr "Luo uusi"
#: members/models.py:16
msgid "First name"
msgstr "Etunimi"
@@ -546,3 +564,6 @@ msgstr "Sössö"
#: webapp/templates/navigation.html:32
msgid "Contact"
msgstr "Yhteystiedot"
#~ msgid "Select"
#~ msgstr "Valitse"
+1 -1
View File
@@ -20,7 +20,7 @@
<option value="fi" {% if LANGUAGE_CODE == "fi" %} selected {% endif %}>{% trans "Finnish" %}</option>
<option value="en" {% if LANGUAGE_CODE == "en" %} selected {% endif %}>{% trans "English" %}</option>
</select>
<input type="submit" class="btn btn-success">
<input type="submit" class="btn btn-success" value="{% trans "Submit" %}">
</form>
</div>
</div>