Merge branch 'feature-events' into 'develop'

Feature events



See merge request !16
This commit is contained in:
Jan Tuomi
2017-03-29 15:47:28 +03:00
8 changed files with 109 additions and 1 deletions
+11
View File
@@ -136,6 +136,17 @@ class SossoInfoItem(InfoItem):
def get_create_template_url():
return "/static/html/sosso_create.html"
class EventInfoItem(InfoItem):
display_name = _("Events")
def get_template_url(self):
return "/static/html/events.html"
@staticmethod
def get_create_template_url():
return "/static/html/events_create.html"
class ImageInfoItem(InfoItem):
display_name = _("Image")
+42
View File
@@ -0,0 +1,42 @@
.event {
font-size: 5vh;
font-family: 'Droid Sans Mono', monospace;
}
.event-col{
padding-top:1vh;
padding-bottom:1vh;
}.event:nth-child(odd){
background-color: #d4e2fd;
}
.black {
color: black;
}
.header-row{
background: #d4e2fd;
font-size: 7vh;
font-family: 'Droid Sans Mono', monospace;
padding-bottom:20px;
}
.container {
width: 100vw;
padding: 0 0 0 0;
margin-left: 20px;
margin-right: 20px;
}
.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;
}
+14
View File
@@ -0,0 +1,14 @@
<link rel="stylesheet" href="/static/css/events.css">
<link href="https://fonts.googleapis.com/css?family=Droid+Sans+Mono" rel="stylesheet">
<div class="container" ng-app="myApp" ng-controller="EventController">
<div class="header-row row">
<div class="col-sm-6">Tapahtuma</div>
<div class="col-sm-2">Aika</div>
<div class="col-sm-4">Paikka</div>
</div>
<div class="repeat-item row event" ng-repeat="event in events">
<div class="col-sm-6 event-col">{{event.name}}</div>
<div class="col-sm-2 event-col">{{event.event_start}}</div>
<div class="col-sm-4 event-col">{{event.location}}</div>
</div>
</div>
+10
View File
@@ -0,0 +1,10 @@
<div ng-controller="infoadmin_eventitem_create" style="margin-top:20px;">
<div>
Create new item to show events Name is used only as identifier
</div>
<div class="form-group">
<label>Name:</label>
<input type="text" ng-model="item.name"></input>
</div>
<input type="button" class="btn btn-success" ng-click="send()" value="create"></input>
</div>
@@ -141,6 +141,13 @@ app.controller('infoadmin_sossoitem_create', function($scope, $http,ItemList){
$http.post("/infoscreen/create_sossoitem", $scope.item).then(ItemList.loadItems)
}
});
app.controller('infoadmin_eventitem_create', function($scope, $http,ItemList){
$scope.item = {}
$scope.send = function(){
$http.post("/infoscreen/create_eventitem", $scope.item).then(ItemList.loadItems)
}
});
app.controller('infoadmin_hslitem_create', function($scope, $http,ItemList){
$scope.item = {}
$scope.send = function(){
+21 -1
View File
@@ -48,7 +48,7 @@ app.filter('trusted_url', ['$sce', function ($sce) {
app.controller('ABBController', function($scope, $http){
$scope.jobs = [];
var min_date = moment().subtract(30,'days').format("YYYY-MM-DD%20HH:mm:ss");
var url = "http://sahkoinsinoorikilta.fi/api/news.php";
var url = "https://sahkoinsinoorikilta.fi/api/news.php";
var params = "?type=11&lang=fi&title_search=ABB&min_date="+min_date
$http.get(url+params).then(function(response){
$scope.jobs = _.filter(response.data, function(job){
@@ -73,6 +73,26 @@ app.controller('SossoController', function($scope, $http) {
$scope.data = response.data;
})
});
app.controller('EventController', function($scope, $http) {
$scope.data = [];
$http.get("https://sik.ayy.fi/api/events.php?limit=10").then(function(response)
{
$scope.events = response.data;
$scope.events = _.each($scope.events, function(ev){
var time = moment(ev.event_start);
ev.event_start = time;
ev.event_start = time.format("ddd DD.MM");
// lets not trust locale
ev.event_start = ev.event_start.replace("Mon", "Ma");
ev.event_start = ev.event_start.replace("Tue", "Ti");
ev.event_start = ev.event_start.replace("Wed", "Ke");
ev.event_start = ev.event_start.replace("Thu", "To");
ev.event_start = ev.event_start.replace("Fri", "Pe");
ev.event_start = ev.event_start.replace("Sat", "La");
ev.event_start = ev.event_start.replace("Sun", "Su");
});
})
});
app.controller('timetableCtrl',
function($scope, $http, $interval) {
+2
View File
@@ -7,6 +7,7 @@ from django.contrib.auth.decorators import permission_required
from infoscreen.models import Rotation, InfoItem, InfoInstance
from infoscreen.models import ABBInfoItem, ExternalImageInfoItem, ImageInfoItem, SossoInfoItem, HslInfoItem
from infoscreen.models import EventInfoItem
from infoscreen.models import ExternalWebsiteInfoItem
from infoscreen.models import ImageUploadForm
from infoscreen.models import HSLDataModel
@@ -215,3 +216,4 @@ createSossoItem = create_item_generator(SossoInfoItem)
createHslItem = create_item_generator(HslInfoItem)
createExternalImageInfoItem = create_item_generator(ExternalImageInfoItem)
createExternalWebsiteItem = create_item_generator(ExternalWebsiteInfoItem)
createEventItem = create_item_generator(EventInfoItem)
+2
View File
@@ -62,6 +62,7 @@ from infoscreen.views import create_image_item
from infoscreen.views import createABBItem
from infoscreen.views import createSossoItem
from infoscreen.views import createHslItem
from infoscreen.views import createEventItem
from infoscreen.views import createExternalWebsiteItem
from infoscreen.views import create_rotation
from infoscreen.views import delete_rotation
@@ -123,6 +124,7 @@ urlpatterns = [
url(r'^infoscreen/create_image$', create_image_item),
url(r'^infoscreen/create_abbitem$', createABBItem),
url(r'^infoscreen/create_sossoitem$', createSossoItem),
url(r'^infoscreen/create_eventitem$', createEventItem),
url(r'^infoscreen/create_hslitem$', createHslItem),
url(r'^infoscreen/create_websiteitem$', createExternalWebsiteItem),
url(r'^infoscreen/admin$', infoscreen_admin),