forked from bofh/fetsite
Merge branch 'master' of https://github.com/fetsite/fetsite
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -54,6 +54,7 @@ gem "tinymce-rails" , '~>4.1.0'
|
|||||||
#gem "globalize3" ,'~>3.0.4'
|
#gem "globalize3" ,'~>3.0.4'
|
||||||
gem "globalize" ,'~>3.0.4'#,:git =>'git://github.com/globalize/globalize.git'
|
gem "globalize" ,'~>3.0.4'#,:git =>'git://github.com/globalize/globalize.git'
|
||||||
gem 'globalize-versioning'
|
gem 'globalize-versioning'
|
||||||
|
gem 'globalize-accessors'
|
||||||
# Version controll
|
# Version controll
|
||||||
gem "paper_trail" , '~>3.0.5'#, :git=>'git://github.com/airblade/paper_trail.git'
|
gem "paper_trail" , '~>3.0.5'#, :git=>'git://github.com/airblade/paper_trail.git'
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,11 @@ class BeispieleController < ApplicationController
|
|||||||
include LikeVoteable
|
include LikeVoteable
|
||||||
acts_as_flagable
|
acts_as_flagable
|
||||||
def index
|
def index
|
||||||
@beispiele = Beispiel.all
|
unless params[:lva_id].nil?
|
||||||
|
@beispiele= Lva.find(params[:lva_id]).beispiele.accessible_by(current_ability, :show)
|
||||||
|
else
|
||||||
|
@beispiele = Beispiel.accessible_by(current_ability, :show)
|
||||||
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html # index.html.erb
|
format.html # index.html.erb
|
||||||
format.json { render json: @beispiele }
|
format.json { render json: @beispiele }
|
||||||
@@ -115,6 +118,7 @@ class BeispieleController < ApplicationController
|
|||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @beispiel.update_attributes(params[:beispiel])
|
if @beispiel.update_attributes(params[:beispiel])
|
||||||
format.html { redirect_to @backlink, notice: 'Beispiel was successfully updated.' }
|
format.html { redirect_to @backlink, notice: 'Beispiel was successfully updated.' }
|
||||||
|
format.js {render action: "show"}
|
||||||
format.json { head :no_content }
|
format.json { head :no_content }
|
||||||
else
|
else
|
||||||
format.html { render action: "edit" }
|
format.html { render action: "edit" }
|
||||||
|
|||||||
@@ -94,7 +94,11 @@ class HomeController < ApplicationController
|
|||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
def language
|
||||||
|
redirect_to request.referer || root_path
|
||||||
|
end
|
||||||
def choose_contact_topics
|
def choose_contact_topics
|
||||||
|
authorize! :doadmin, User
|
||||||
t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml")
|
t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml")
|
||||||
unless params[:themen].nil?
|
unless params[:themen].nil?
|
||||||
t=([t].flatten+params[:themen]).uniq
|
t=([t].flatten+params[:themen]).uniq
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ m.save
|
|||||||
|
|
||||||
|
|
||||||
def switch_locale_url(target_locale)
|
def switch_locale_url(target_locale)
|
||||||
current_url1({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/"
|
# current_url1({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/"
|
||||||
|
language_path(locale: target_locale)
|
||||||
end
|
end
|
||||||
def ffi1_icon (name)
|
def ffi1_icon (name)
|
||||||
content_tag("i","", class: "ffi1-"+name )
|
content_tag("i","", class: "ffi1-"+name )
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ class Neuigkeit < ActiveRecord::Base
|
|||||||
validates :rubrik, :presence=>true
|
validates :rubrik, :presence=>true
|
||||||
validates :author, :presence=>true
|
validates :author, :presence=>true
|
||||||
translates :title,:text, :versioning=>{:gem=>:paper_trail, :options=>{:fallbacks_for_empty_translations => true}}
|
translates :title,:text, :versioning=>{:gem=>:paper_trail, :options=>{:fallbacks_for_empty_translations => true}}
|
||||||
|
globalize_accessors :locales => [:de, :en], :attributes =>[:text,:title]
|
||||||
mount_uploader :picture, PictureUploader
|
mount_uploader :picture, PictureUploader
|
||||||
|
|
||||||
default_scope order(:cache_order).includes(:calentries).includes(:title_pic)
|
default_scope order(:cache_order).includes(:calentries).includes(:title_pic)
|
||||||
|
|||||||
@@ -1,19 +1,13 @@
|
|||||||
<div class="beispiel">
|
<div class="beispiel">
|
||||||
<p>
|
|
||||||
<b>
|
<b>
|
||||||
<%=link_to beispiel.name, beispiel.beispieldatei.url%>
|
<%=link_to beispiel.name, beispiel.beispieldatei.url%>
|
||||||
</b>
|
</b>
|
||||||
<p>
|
|
||||||
Beschreibung:
|
<%=link_to beispiel.lva.name, lva_path(beispiel.lva.id) unless beispiel.lva.nil? %>
|
||||||
<p>
|
|
||||||
<%= beispiel.desc %>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
LVA: <%=link_to beispiel.lva.name, lva_path(beispiel.lva.id)%>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<%= link_to 'Show', beispiel %>
|
<%= link_to 'Show', beispiel %>
|
||||||
<%= link_to 'Edit', edit_beispiel_path(beispiel) %>
|
<%= link_to 'Edit', edit_beispiel_path(beispiel) %>
|
||||||
<%= link_to 'Destroy', beispiel, method: :delete, data: { confirm: 'Are you sure?' } %>
|
|
||||||
</div class="beispiel">
|
</div class="beispiel">
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
$("<%= '#' + @beispiel.divid %>").replaceWith("<%= escape_javascript render @beispiel %>")
|
$("<%= '#' + @beispiel.divid %>").replaceWith("<%= escape_javascript render @beispiel %>");
|
||||||
|
|||||||
@@ -12,11 +12,16 @@
|
|||||||
<div class="span6">
|
<div class="span6">
|
||||||
<%= f.input :flag_important, :placeholder=> "Titel" %>
|
<%= f.input :flag_important, :placeholder=> "Titel" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="span12">
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<div class="span8">
|
||||||
<%= f.input :text, :as=> :tinymce_text %>
|
<%= f.input :text, :as=> :tinymce_text %>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="span4">
|
||||||
</div>
|
<%= @neuigkeit.text_de if I18n.locale == :en %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span6">
|
<div class="span6">
|
||||||
<% f.input :datum, :as=> :datepicker %>
|
<% f.input :datum, :as=> :datepicker %>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<%= flag_link(beispiel, "badquality")%>
|
<%= flag_link(beispiel, "badquality")%>
|
||||||
<%= flag_link(beispiel, "delete")%>
|
<%= flag_link(beispiel, "delete")%>
|
||||||
<%= like_dislike_for(beispiel) %>
|
<%= like_dislike_for(beispiel) %>
|
||||||
<%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%>
|
<%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel), remote: true if can? :edit, beispiel%>
|
||||||
<%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %>
|
<%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %>
|
||||||
<% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %></br>
|
<% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %></br>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
37
app/views/themes/blue2/beispiele/_beispiel_form.html.erb
Normal file
37
app/views/themes/blue2/beispiele/_beispiel_form.html.erb
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
<div id="<%= beispiel.divid %>" class="contentbox">
|
||||||
|
<%= semantic_form_for @beispiel, :html => { :multipart => true }, :remote=>true do |f| %>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span5" >
|
||||||
|
<%= f.input :name, label: false %> <%=f.input :datum , :as => :string, :label=> false %>
|
||||||
|
<%= f.input :desc, label: false %>
|
||||||
|
|
||||||
|
<b><%link_to ffi1_icon("note20")+" " + beispiel_form.name + " " + I18n.l(beispiel_form.datum), beispiel_form.beispieldatei.url, title: beispiel_form.desc %></b>
|
||||||
|
</div>
|
||||||
|
<div class="span1" >
|
||||||
|
<%= (beispiel_form.beispieldatei.size/1024.0).round(2).to_s %>KiB
|
||||||
|
</div>
|
||||||
|
<div class="span2" >
|
||||||
|
<%= beispiel_form.lecturer.try(:name).to_s %>
|
||||||
|
</div>
|
||||||
|
<div class="span4">
|
||||||
|
<%= flag_link(beispiel_form, "goodquality")%>
|
||||||
|
<%= flag_link(beispiel_form, "badquality")%>
|
||||||
|
<%= flag_link(beispiel_form, "delete")%>
|
||||||
|
<% like_dislike_for(beispiel_form) %>
|
||||||
|
<%= link_to ff_icon("icon-pencil")+"show", beispiel_path(beispiel_form), remote: true if can? :edit, beispiel_form%>
|
||||||
|
<%= f.action :submit, :as => :input %>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% unless beispiel_form.desc.nil? || beispiel_form.desc.empty? %>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<%= beispiel_form.desc %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
1
app/views/themes/blue2/beispiele/edit.js.erb
Normal file
1
app/views/themes/blue2/beispiele/edit.js.erb
Normal file
@@ -0,0 +1 @@
|
|||||||
|
$("<%= '#' + @beispiel.divid %>").replaceWith("<%= escape_javascript render(partial: "beispiele/beispiel_form", object: @beispiel, locals: {:beispiel=> @beispiel}) %>")
|
||||||
65
app/views/themes/blue2/layouts/application.html.erb
Executable file
65
app/views/themes/blue2/layouts/application.html.erb
Executable file
@@ -0,0 +1,65 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link rel="shortcut icon" href="<%= absurl("/logo2014_64.png")%>">
|
||||||
|
|
||||||
|
<link rel="alternate" hreflang="de" href="<%= url_for(params.merge(:locale=>:de))%>" />
|
||||||
|
<link rel="alternate" hreflang="en" href="<%= url_for(params.merge(:locale=>:en))%>" />
|
||||||
|
|
||||||
|
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
|
||||||
|
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
|
||||||
|
<%= javascript_include_tag "application" %>
|
||||||
|
<%= csrf_meta_tags %>
|
||||||
|
<% if content_for?(:header) %>
|
||||||
|
<%= yield :header %>
|
||||||
|
<% else %>
|
||||||
|
<title>Fetsite</title>
|
||||||
|
<% end %>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="maincontainer" class="container-fluid">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span10 offset1 header_span">
|
||||||
|
<% cache("menu_u"+user_signed_in?.to_s+current_user.try(:id).to_s+"l"+I18n.locale.to_s+ can?(:seeintern, User).to_s+ can?(:index,Gallery).to_s+params[:theme].to_s, expires_in: 24.hours) do %>
|
||||||
|
<div class="header_wrap">
|
||||||
|
<div class="header hidden-print">
|
||||||
|
<%= link_to home_index_path do %>
|
||||||
|
<!-- <span class="feticon-fet_logo fa-4x color-1"> </span>-->
|
||||||
|
<%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<div class="header visible-print">
|
||||||
|
<%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %>
|
||||||
|
</div>
|
||||||
|
<div class="visible-print">
|
||||||
|
Fachschaft Elektrotechnik
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div id="menudiv" style="margin-top:12px" class="hidden-print">
|
||||||
|
<%= render :template => 'layouts/menu' %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span10 offset1" id="contentdiv">
|
||||||
|
<%= yield %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$('.dropdown-toggle').click(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
setTimeout($.proxy(function() {
|
||||||
|
if ('ontouchstart' in document.documentElement) {
|
||||||
|
$(this).siblings('.dropdown-backdrop').off().remove();
|
||||||
|
}
|
||||||
|
}, this), 0);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
62
app/views/themes/blue2/layouts/menu.html.erb
Normal file
62
app/views/themes/blue2/layouts/menu.html.erb
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<div class="navbar">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<!-- <a class="brand" href="#"><% t 'home.mtitle'%></a>-->
|
||||||
|
<a class ="btn btn-navbar" data-toggle="collapse" data-parent="#menudiv" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</a>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
<ul class="nav nav-pills nav-stacked">
|
||||||
|
<li><%= link_to I18n.t(:home,:scope=>'home' ), home_index_path %>
|
||||||
|
</li>
|
||||||
|
<li><%= link_to I18n.t(:news,:scope=>'home' ),rubriken_path %></li>
|
||||||
|
|
||||||
|
<li><%= link_to I18n.t(:info,:scope=>'home' ),themengruppen_path %></li>
|
||||||
|
<li><%= link_to I18n.t('mitarbeiter',:scope=>'home' ),fetprofiles_path %></li>
|
||||||
|
<% if can? :index, Gallery %>
|
||||||
|
<li><%= link_to I18n.t('fotos',:scope=>'home' ),galleries_path %></li>
|
||||||
|
<% end %>
|
||||||
|
<li><%= link_to I18n.t(:studien,:scope=>'home' ), studien_path %></li>
|
||||||
|
<li> <%= link_to I18n.t("home.search"), search_home_index_path %></li>
|
||||||
|
<li> <%= link_to I18n.t("home.kontakt"), kontakt_home_index_path %></li>
|
||||||
|
<% if can?(:seeintern, User) %>
|
||||||
|
<li>
|
||||||
|
<%= link_to 'Intern' , intern_home_index_path %>
|
||||||
|
</li><% end %>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav nav-pills nav-stacked pull-right">
|
||||||
|
<li>
|
||||||
|
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" > <%= image_tag("/flaggen/png/"+I18n.locale.to_s+".png") + " " +I18n.t('sprache',:scope=>'home')%><b class="caret"></b></a>-->
|
||||||
|
<!-- Split button -->
|
||||||
|
<div class="btn-group navbar-btn">
|
||||||
|
<button type="button" class="btn btn-link dropdown-toggle" data-hover="dropdown" aria-expanded="false">
|
||||||
|
<%= image_tag("/flaggen/png/"+I18n.locale.to_s+".png") + " " +I18n.t('sprache',:scope=>'home')%>
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-link dropdown-toggle" data-hover="dropdown" data-toggle="dropdown" >
|
||||||
|
<span class="caret"></span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu" role="menu">
|
||||||
|
<li><%= link_to image_tag("/flaggen/png/at.png") + " Deutsch" ,switch_locale_url(:de)%> </li>
|
||||||
|
|
||||||
|
<li><%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%> </li>
|
||||||
|
|
||||||
|
</ul></div>
|
||||||
|
</li>
|
||||||
|
<%= render 'layouts/login' %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!--<span class="pull-right"><%if I18n.locale == :en %>
|
||||||
|
<%= link_to image_tag("/flaggen/png/at.png") + " Deutsch" ,switch_locale_url(:de)%>
|
||||||
|
<% elsif I18n.locale == :de %>
|
||||||
|
<%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%>
|
||||||
|
<%end %>
|
||||||
|
</span>-->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
|
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
|
||||||
resources :home, :only=>[:index] do
|
resources :home, :only=>[:index] do
|
||||||
end
|
end
|
||||||
|
get ':locale', constraints: {locale: /en|de/}, action: :language,controller: :home, as: "language"
|
||||||
scope '(:locale)/admin' do
|
scope '(:locale)/admin' do
|
||||||
resources :users, :only=>[] do
|
resources :users, :only=>[] do
|
||||||
collection do
|
collection do
|
||||||
@@ -31,12 +31,13 @@
|
|||||||
end
|
end
|
||||||
devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"}
|
devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"}
|
||||||
|
|
||||||
|
|
||||||
scope '(:locale)', constraints: {:locale=>/en|de/i} do
|
scope '(:locale)', constraints: {:locale=>/en|de/i} do
|
||||||
|
get 't/:theme/:url', to: redirect('/%{url}')
|
||||||
scope '(t/:theme)' do
|
scope '(t/:theme)' do
|
||||||
get "" , controller: :home, action: :index
|
get "" , controller: :home, action: :index
|
||||||
get "intern" , controller: :home, action: :intern
|
get "intern" , controller: :home, action: :intern
|
||||||
|
get "beispielsammlung", to: redirect('/studien')
|
||||||
scope '(:ansicht)' do
|
scope '(:ansicht)' do
|
||||||
resources :studien, :only=>[:new,:edit,:update,:destroy,:show] do
|
resources :studien, :only=>[:new,:edit,:update,:destroy,:show] do
|
||||||
member do
|
member do
|
||||||
@@ -101,13 +102,18 @@
|
|||||||
get 'verwalten'
|
get 'verwalten'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
resources :fetprofiles do
|
resources :fetprofiles, as: :fetprofiles_bak do
|
||||||
collection do
|
collection do
|
||||||
get 'verwalten'
|
get 'verwalten'
|
||||||
get 'internlist'
|
get 'internlist'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
resources :members , controller: :fetprofiles , as: :fetprofiles do
|
||||||
|
collection do
|
||||||
|
get 'verwalten'
|
||||||
|
get 'internlist'
|
||||||
|
end
|
||||||
|
end
|
||||||
resources :fragen, :only =>[:new, :edit, :update, :destroy, :create]
|
resources :fragen, :only =>[:new, :edit, :update, :destroy, :create]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
6
db/migrate/20150710082704_add_sid_to_themen.rb
Normal file
6
db/migrate/20150710082704_add_sid_to_themen.rb
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
class AddSidToThemen < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :themen,:sid, :string
|
||||||
|
add_index :themen,:sid, unique: true
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user