Merge remote-tracking branch 'origin/master' into stable-production

This commit is contained in:
2018-05-14 20:26:09 +02:00
21 changed files with 652 additions and 110 deletions

View File

@@ -5,7 +5,7 @@ gem 'sprockets', '2.2.2'
gem 'webrick', '1.3.1' gem 'webrick', '1.3.1'
# Bundle edge Rails instead: # Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git' # gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'mysql2' gem 'mysql2', '~>0.3.10'
gem 'sqlite3' gem 'sqlite3'
gem 'execjs', '~>1.4.0' gem 'execjs', '~>1.4.0'

View File

View File

0
Short,
View File

View File

View File

@@ -0,0 +1,134 @@
html {
background-color: #fff;
overflow: hidden;
}
body {
display: flex;
flex-flow: wrap;
height: 100vh;
justify-content: space-between;
flex-direction: column;
}
.header {
height: 200px;
width: 100%
}
svg {
padding-top: 2em;
}
.impulsPath {
fill: none;
stroke: #04669c;
stroke-miterlimit: 1;
stroke-width: 6px;
stroke-dasharray: 1946.243;
stroke-dashoffset: 0;
stroke-linejoin: round;
stroke-linecap: round;
animation: dash 10s ease-out infinite;
animation-direction: normal;
}
.FET-logotext-stroke {
fill: #fff;
}
#FET-logotext {
opacity: 0;
animation: logotext 10s ease-in infinite;
}
.content-area {
height: auto;
width: 100%;
}
.footer {
width: 100%;
height: 150px;
background-color: #04669c;
padding-bottom: 10px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
color: #fff;
flex-basis: bottom;
}
.footer h3,
p {
margin: 0;
padding: 0 20px;
font-family: Helvetica, Arial;
letter-spacing: 0.1em;
}
.footer h3 {
padding-top: 20px;
}
.footer .adress {
margin: auto;
text-align: left;
}
.footer .contact {
margin: auto;
text-align: center;
}
.footer .servicecontainer{
display: inline-flex;
margin: auto;
}
.footer .servicecontainer .servicetime {
margin: auto;
text-align: right;
}
.footer .servicecontainer .servicetime #time {
font-size: 0.7em
}
.footer .servicecontainer .servicestatus{
margin: auto;
width:20px;
height: 100%
padding-right: 30px;
background-color: #fff;
}
/*K E Y F R A M E S*/
@keyframes dash {
from {
stroke-dashoffset: 1946.243;
opacity: 0;
stroke-width: 0.5;
}
to {
opacity: 1;
stroke-dashoffset: 0;
stroke-width: 5px;
}
}
@keyframes logotext {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@@ -16,7 +16,7 @@ class RubrikenController < ApplicationController
@rubriken= Rubrik.accessible_by(current_ability, :show) @rubriken= Rubrik.accessible_by(current_ability, :show)
@neuigkeiten = Neuigkeit.accessible_by(current_ability, :list).page(params[:page]).per(3) @neuigkeiten = Neuigkeit.accessible_by(current_ability, :list).page(params[:page]).per(3)
@calentries= (@rubriken.map {|r| r.calendar.calentries.of_month(Date.new(params[:year],params[:month],1))}).flatten.select {|c| c.object !=nil} @calentries= (@rubriken.map {|r| r.calendar.calentries.of_month(Date.new(params[:year].to_i,params[:month].to_i,1))}).flatten.select {|c| c.object !=nil}
respond_to do |format| respond_to do |format|
format.html format.html
format.js {render action: :show} format.js {render action: :show}

View File

@@ -24,7 +24,7 @@ class Document < ActiveRecord::Base
"document_"+self.id.to_s "document_"+self.id.to_s
end end
def self.ether def self.ether
EtherpadLite.connect('http://www.fet.at/etherpad', File.new('/srv/etherpad/etherpad-lite/APIKEY.txt')) EtherpadLite.connect('https://www.fet.at/etherpad', File.new('config/etherpad/APIKEY.txt'))#https://www.etherpad.fet.at
end end
def create_pdf def create_pdf
require "open3" require "open3"
@@ -71,6 +71,7 @@ class Document < ActiveRecord::Base
def move_to_etherpad def move_to_etherpad
unless self.is_etherpad? || self.id.nil? unless self.is_etherpad? || self.id.nil?
self.etherpadkey="document_"+ self.id.to_s self.etherpadkey="document_"+ self.id.to_s
if self.text.nill? if self.text.nill?
self.ep_pad.html = '<div>'+"text"+'</div>' self.ep_pad.html = '<div>'+"text"+'</div>'
else else

View File

@@ -135,6 +135,16 @@ class Neuigkeit < ActiveRecord::Base
end end
end end
def text_infoscreen_words
md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
words=md[:text].split(" ") unless md.nil?
if words.nil? || words.empty?
"...."
else
words[0..1000].join(" ")+ " ..." unless words.nil?
end
end
def has_calentries? def has_calentries?
!self.calentries.nil? && !self.calentries.empty? !self.calentries.nil? && !self.calentries.empty?
end end

View File

@@ -9,7 +9,7 @@
</li> </li>
</ul> </ul>
</p> </p>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %> <!--<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br /> <div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div> <%= f.email_field :email, :autofocus => true %></div>
@@ -23,4 +23,6 @@
<div><%= f.submit "Sign in" %></div> <div><%= f.submit "Sign in" %></div>
<% end %> <% end %>
-->
<%= render "devise/shared/links" %> <%= render "devise/shared/links" %>

View File

@@ -1 +1 @@
<%= link_to "weiter" , "http://www.fet.at/etherpad/p/"+@document.ep_pad.id , target: :blank %> <%= link_to "weiter" , "https://www.fet.at/etherpad/p/"+@document.ep_pad.id , target: :blank %>

View File

@@ -3,26 +3,27 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %> <%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %> <%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
<%= stylesheet_link_tag "infoscreenframe.css" %>
<%= javascript_include_tag "application" %> <%= javascript_include_tag "application" %>
<%= javascript_include_tag "jmpress" %> <%= javascript_include_tag "jmpress" %>
</head> </head>
<body> <body>
<div id ="jmpress">
<% i=1 %>
<% @neuigkeiten.each do |n| %>
<div class="step contentbox" id="step-<%=i%>" data-x="<%= i *2000 %>" data-y="<%= Random.rand(0..5)*200 %>" data-rotate="<%= Random.rand(0..18)*10 %>" style="width:1000px; height:500px; padding: 50px; display:block" data-duration="10000"><% @toolbar_elements=[];@questions=[] %> <%= content_tag(:iframe,'', width: "100%", height: "100%", name: "targetframe", allowTransparency:"true", scrolling:"no", frameborder:"0", src: "/iframe/infoscreenframe.html") %> <%#header picture/animation %>
<div class="media" style="width: 660px; height:340px; transform: scale(1.5) translate(120px,50px)" > <div id ="jmpress">
<% i=1 %>
<% @neuigkeiten.each do |n| %>
<div class="pull-left" href="#" style="max-width:200px;"> <div class="step" id="step-<%=i%>" data-x="<%= i *2000 %>" data-y="<%= Random.rand(0..5)*200 %>" style="position:absolute; height:540px; width:1230px; display: block;" data-duration="10000">
<% unless n.picture_robust.big_thumb.to_s.empty? %> <div class="media" style="width:'95%'; height:480px;" >
<div class="pull-left" href="#" style="max-width:250px;">
<% unless n.picture_robust.big_thumb.to_s.empty? %>
<p> <p>
<br><%= link_to image_tag(n.picture_robust.big_thumb),n.picture_robust.try(:url) %> <br><%= link_to image_tag(n.picture_robust.big_thumb),n.picture_robust.try(:url) %></p>
</p> <% end %>
<% end %> <h3>
<h3>
<% if n.has_calentries? %> <% if n.has_calentries? %>
<div href="#"> <div href="#">
<%= fa_icon("calendar 2x") %> <%= fa_icon("calendar 2x") %>
@@ -43,44 +44,60 @@
<%= raw(n.title) %> <%#= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(n.rubrik, n), remote: true if can? :edit, n %> <%= raw(n.title) %> <%#= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(n.rubrik, n), remote: true if can? :edit, n %>
</h1> </h1>
<div itemprop="articleBody" style="font-size:large"> <div itemprop="articleBody" style="font-size:large">
<%= raw(n.text_first_words) %> <%= raw(n.text_infoscreen_words) %>
</div>
</div>
</div>
</div>
<% i = i+1 %>
<% end %>
</div> </div>
</div> <script>
</div> var d = new Date();
var n = d.getDay();
var now = d.getHours() + "." + d.getMinutes();
var weekdays = [
["Sunday"],
["Monday", 9.00, 14.00],
["Tuesday", 9.00, 14.00],
["Wednesday", 9.00, 14.00],
["Thursday", 9.00, 14.00],
["Friday", 9.00, 12.00],
["Saturday"] // we are closed, sorry!
];
var day = weekdays[n];
if (now > day[1] && now < day[2]) {
document.write("<div id='footer' style='background: green; height:25px; width:50px; margin:10px; position:absolute'>");
document.write("OPEN");
document.write("</div>");
}
else {
document.write("<div id='footer' style='background: red; height:25px; width:60px; margin:10px; position:absolute'>");
document.write("CLOSED");
document.write("</div>");
}
</script>
</div>
<% i = i+1 %>
<% end %>
</div>
<div class="ui-progressbar ui-widget ui-widget-content ui-corner-all" style="height:10px; z-index: 2000; left: 5px; right: 5px; bottom: 5px; height: 10px; position:absolute"> <script>
<div id="" class="ui-progressbar-value ui-widget-header ui-corner-left" style=""></div> $(function () {
</div> $('#jmpress').jmpress({
<script>
$(function () {
$('#jmpress').jmpress({
duration: {
barPropertyStart: '0',
barSelector: '.ui-progressbar-value'
},
initStep: function(element, eventData) { initStep: function(element, eventData) {
console.log('We\'re changing to step: #' + $(element).attr('id') + '!'); console.log('We\'re changing to step: #' + $(element).attr('id') + '!');
} }
}); });
setTimeout(function(){ setTimeout(function(){
window.location.reload(); window.location.reload();
/* or window.location = window.location.href; */ /* or window.location = window.location.href; */
}, 100000); }, 100000);
}); });
</script> </script>
</body> </body>

View File

@@ -10,10 +10,15 @@ production:
development: development:
solr: solr:
hostname: solr hostname: triton-amp.local
port: 8983 port: 8080
log_level: INFO log_level: INFO
path: /solr/mycore path: /solr/mycore
# solr:
# hostname: localhost
# port: 8983
# log_level: INFO
# path: /solr/mycore
test: test:
solr: solr:

View File

@@ -1,7 +1,7 @@
#! /bin/bash #! /bin/bash
ruby_command="ruby" ruby_command="ruby"
rake_command="rake" rake_command="rake"
bundler_command="bundler" bundler_command="bundle"
# Are the necessary programs installed? # Are the necessary programs installed?
command -v $ruby_command >/dev/null 2>&1 || { echo >&2 "The given ruby command does not exist. Please change the command or install ruby"; exit 1; } command -v $ruby_command >/dev/null 2>&1 || { echo >&2 "The given ruby command does not exist. Please change the command or install ruby"; exit 1; }
@@ -17,11 +17,12 @@ cp -u config/omniauth_secrets.yml.example config/omniauth_secrets.yml
touch config/crawl_config.yml touch config/crawl_config.yml
echo "Bundle install..." echo "Bundle install..."
# Run Bundler # Run Bundler
$bundler_command install #|| {echo "Bundler failed. Please run \"$bundle\_command install\" seperately and debug the errors, before running this script again"; exit 1;} $bundler_command install || { echo "Bundler failed. Please run \"$bundle\_command install\" seperately and debug the errors, before running this script again";exit 1; }
echo "Migrate the database..." echo "Migrate the database..."
# Run the migration # Run the migration
$rake_command db:migrate #||{echo "Migration failed. Please run \"$rake\_command db:migrate\" seperately and debug the errors, before running this script again"; exit 1} $rake_command db:migrate || { echo "Migration failed. Please run \"$rake\_command db:migrate\" seperately and debug the errors, before running this script again"; exit 1; }
echo "Start the sunspot server" echo "Start the sunspot server"
# Run Sunspot # Run Sunspot
@@ -35,7 +36,7 @@ if [ ! -f config/start_topic.yml ]; then
echo "1" > config/start_topic.yml echo "1" > config/start_topic.yml
fi fi
# Generate fetadmin user "admin@fet.at", password: 12345678 touch config/crawl_config.yml

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1,134 @@
html {
background-color: #fff;
overflow: hidden;
}
body {
display: flex;
flex-flow: wrap;
height: 100vh;
justify-content: space-between;
flex-direction: column;
}
.header {
height: 200px;
width: 100%
}
svg {
padding-top: 2em;
}
.impulsPath {
fill: none;
stroke: #04669c;
stroke-miterlimit: 1;
stroke-width: 6px;
stroke-dasharray: 1946.243;
stroke-dashoffset: 0;
stroke-linejoin: round;
stroke-linecap: round;
animation: dash 10s ease-out infinite;
animation-direction: normal;
}
.FET-logotext-stroke {
fill: #fff;
}
#FET-logotext {
opacity: 0;
animation: logotext 10s ease-in infinite;
}
.content-area {
height: auto;
width: 100%;
}
.footer {
width: 100%;
height: 150px;
background-color: #04669c;
padding-bottom: 10px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
color: #fff;
flex-basis: bottom;
}
.footer h3,
p {
margin: 0;
padding: 0 20px;
font-family: Helvetica, Arial;
letter-spacing: 0.1em;
}
.footer h3 {
padding-top: 20px;
}
.footer .adress {
margin: auto;
text-align: left;
}
.footer .contact {
margin: auto;
text-align: center;
}
.footer .servicecontainer{
display: inline-flex;
margin: auto;
}
.footer .servicecontainer .servicetime {
margin: auto;
text-align: right;
}
.footer .servicecontainer .servicetime #time {
font-size: 0.7em
}
.footer .servicecontainer .servicestatus{
margin: auto;
width:20px;
height: 100%
padding-right: 30px;
background-color: #fff;
}
/*K E Y F R A M E S*/
@keyframes dash {
from {
stroke-dashoffset: 1946.243;
opacity: 0;
stroke-width: 0.5;
}
to {
opacity: 1;
stroke-dashoffset: 0;
stroke-width: 5px;
}
}
@keyframes logotext {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@@ -0,0 +1,134 @@
html {
background-color: #fff;
overflow: hidden;
}
body {
display: flex;
flex-flow: wrap;
height: 100vh;
justify-content: space-between;
flex-direction: column;
}
.header {
height: 200px;
width: 100%
}
svg {
padding-top: 2em;
}
.impulsPath {
fill: none;
stroke: #04669c;
stroke-miterlimit: 1;
stroke-width: 6px;
stroke-dasharray: 1946.243;
stroke-dashoffset: 0;
stroke-linejoin: round;
stroke-linecap: round;
animation: dash 10s ease-out infinite;
animation-direction: normal;
}
.FET-logotext-stroke {
fill: #fff;
}
#FET-logotext {
opacity: 0;
animation: logotext 10s ease-in infinite;
}
.content-area {
height: auto;
width: 100%;
}
.footer {
width: 100%;
height: 150px;
background-color: #04669c;
padding-bottom: 10px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
color: #fff;
flex-basis: bottom;
}
.footer h3,
p {
margin: 0;
padding: 0 20px;
font-family: Helvetica, Arial;
letter-spacing: 0.1em;
}
.footer h3 {
padding-top: 20px;
}
.footer .adress {
margin: auto;
text-align: left;
}
.footer .contact {
margin: auto;
text-align: center;
}
.footer .servicecontainer{
display: inline-flex;
margin: auto;
}
.footer .servicecontainer .servicetime {
margin: auto;
text-align: right;
}
.footer .servicecontainer .servicetime #time {
font-size: 0.7em
}
.footer .servicecontainer .servicestatus{
margin: auto;
width:20px;
height: 100%
padding-right: 30px;
background-color: #fff;
}
/*K E Y F R A M E S*/
@keyframes dash {
from {
stroke-dashoffset: 1946.243;
opacity: 0;
stroke-width: 0.5;
}
to {
opacity: 1;
stroke-dashoffset: 0;
stroke-width: 5px;
}
}
@keyframes logotext {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@@ -0,0 +1,104 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Infoscreen</title>
<style media="screen">
pre.code {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
padding: 10px;
height: 280px;
overflow: auto;
background: #181818;
border: solid 2px #181818;
}
#codelines {
display: none;
}
#svg {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
border: solid 2px #ccc;
width: 300px;
height: 300px;
float: left;
margin-right: 10px;
font: 1em source-sans-pro, Source Sans Pro, Helvetica, sans-serif;
}
</style>
<link rel="stylesheet" href="./infoscreenframe.css">
</head>
<body>
<div class="header">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 200">
<path id="impulsPath" class="impulsPath" d="M0,61.43H1018c2.41,0,6.77-2.28,9.12-2.28,2.66,0,8.3,6.58,11.65,6.58,3.16,0,7.47-15.07,10-15.07,4.3,0,10.38,29.62,14.18,29.62s11.89-55.47,13.67-55.47c5.32,0,10.63,86.34,14.18,86.34,4.3,0,10.63-111.15,13.42-111.15,3.54,0,8.86,123.56,13.17,123.56,3.8,0,8.36-116.85,13.55-116.85,3.42,0,8.74,100,13.67,100,3.67,0,9.24-71.15,12.91-71.15,3.42,0,10.51,41.78,12.91,41.78,3.42,0,8.48-24.56,12.41-24.56,4.43,0,7.93,12.91,12.41,12.91,5.7,0,8.3-6.58,11.65-6.58s6.77,2.28,9.12,2.28h64"/>
<g id="FET-logotext"><g id="F"><path d="M1042,82.71l12.7-35.9v-.1c.2-.3,3.8-8.5,13.1-9.6h37.9l-4,11.6h-25.8a7.19,7.19,0,0,0-4.8,3.7l-.6,1.6h14.1l-4.1,11.7h-14l-6.1,17Z"/><path class="FET-logotext-stroke" d="M1102.9,39l-2.6,7.6h-24.6a9.18,9.18,0,0,0-6.4,5l-1.6,4.4h14.1l-2.7,7.7h-14l-6.1,17h-14.2l11.7-33.2s3.3-7.5,11.5-8.5h34.9m5.7-4h-40.9c-10.4,1.3-14.5,10.4-14.7,10.8l-.1.1V46L1041,79.31l-1.9,5.3h22.7l.9-2.7,5.1-14.4H1082l.9-2.7,2.7-7.7,1.9-5.3h-13.7a5.48,5.48,0,0,1,2.3-1.4h27.1l.9-2.7,2.6-7.6,1.9-5.1Z"/></g><g id="E"><path d="M1101.3,82.71h-.2a8.59,8.59,0,0,1-6.2-3.8,9.86,9.86,0,0,1-.7-7.9l8.8-24.9.1-.1c.2-.3,4.3-8.1,13.3-9H1154l-4,11.7-26-.1a7.1,7.1,0,0,0-4.6,3.7l-.6,1.7h14.1l-4.1,11.7h-14.2l-1.1,3.1a2.37,2.37,0,0,0,.2,1.6,2.23,2.23,0,0,0,1.2.7h27l-4,11.7h-36.6Z"/><path class="FET-logotext-stroke" d="M1151.2,39l-2.6,7.7-24.8-.1a9.21,9.21,0,0,0-6.2,5l-1.7,4.4H1130l-2.7,7.7h-14.1l-1.6,4.5s-1.1,4.1,3,4.9H1139l-2.6,7.7h-35c-7.8-1.3-5.3-9.1-5.3-9.1l8.7-24.6s3.7-7.1,11.7-7.9l34.7-.2m5.6-4h-40.6c-10.1,1-14.7,9.7-14.9,10l-.1.3-.1.3-8.7,24.6v.2c-.2.5-1.6,5.4.9,9.6a10.41,10.41,0,0,0,7.5,4.7l.3.1h38.2l.9-2.7,2.6-7.7,1.8-5.3h-29l.5-1.4h14.1l.9-2.7,2.7-7.7,1.9-5.3H1122a6.42,6.42,0,0,1,2.2-1.4l24.3.1h2.9l.9-2.7,2.6-7.7,1.9-5.3Z"/></g><g id="T"><path d="M1154.3,82.71l12-34-15.1-.1.9-2.6a14.39,14.39,0,0,1,11.5-9H1204l-4.1,11.7h-15l-12.1,34.1h-18.5Z"/><path class="FET-logotext-stroke" d="M1201.2,38.91l-2.7,7.7h-15l-12.1,34.1h-14.3l12-34-15.1-.1a12.54,12.54,0,0,1,9.9-7.7h37.3m5.7-4h-43.6a16.53,16.53,0,0,0-13.1,10.3l-1.8,5.3h5.6l9.5.1-10.1,28.7-1.9,5.3h22.7l.9-2.7,11.1-31.4h15l.9-2.7,2.7-7.7,2.1-5.2Z"/></g></g>
</svg>
</div>
<div class="content-area">
<!-- Inhaltsbereich -->
</div>
<div class="footer">
<div class="adress">
<h3>Fachschaft Elektrotechnik</h3><br>
<p>Gußhausstraße 25-27<br>Room CD 01 09 (1st floor)<br>1040 Vienna</p>
</div>
<div class="contact">
<h3>Contact</h3><br>
<p>E-Mail: service@fet.at<br>Phone: +43-1-58801 49553<br></p>
</div>
<div class="servicecontainer">
<div class="servicetime">
<h3>Service times</h3><br>
<p style="text-align: right">Mon to Thur: 9am to 02pm<br>Fri: 9am to 12am<br>
<span id="time"></span>
</p>
</div>
<div class="servicestatus">
<!-- <svg class="servicestatusled">
<circle id="servicestatusled" cx="10" cy="15" r="10" style="fill: red" />
</svg> -->
</div>
</div>
</div>
<script>
var today = new Date();
today = today;
document.getElementById('time').innerHTML = today;
</script>
</body>
</html>

0
test1
View File