This commit is contained in:
2015-07-11 20:07:28 +02:00
15 changed files with 210 additions and 24 deletions

View File

@@ -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'

View File

@@ -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" }

View File

@@ -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

View File

@@ -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 )

View File

@@ -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)

View File

@@ -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:
<p>
<%= beispiel.desc %>
</p>
<p> <%=link_to beispiel.lva.name, lva_path(beispiel.lva.id) unless beispiel.lva.nil? %>
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">

View File

@@ -1 +1 @@
$("<%= '#' + @beispiel.divid %>").replaceWith("<%= escape_javascript render @beispiel %>") $("<%= '#' + @beispiel.divid %>").replaceWith("<%= escape_javascript render @beispiel %>");

View File

@@ -12,9 +12,14 @@
<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">
<%= @neuigkeit.text_de if I18n.locale == :en %>
</div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid">

View File

@@ -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>

View 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>

View File

@@ -0,0 +1 @@
$("<%= '#' + @beispiel.divid %>").replaceWith("<%= escape_javascript render(partial: "beispiele/beispiel_form", object: @beispiel, locals: {:beispiel=> @beispiel}) %>")

View 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>

View 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>

View File

@@ -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
@@ -33,10 +33,11 @@
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
get 'verwalten'
get 'internlist'
end
end
resources :members , controller: :fetprofiles , as: :fetprofiles do
collection do collection do
get 'verwalten' get 'verwalten'
get 'internlist' get 'internlist'
end end
end end
resources :fragen, :only =>[:new, :edit, :update, :destroy, :create] resources :fragen, :only =>[:new, :edit, :update, :destroy, :create]

View File

@@ -0,0 +1,6 @@
class AddSidToThemen < ActiveRecord::Migration
def change
add_column :themen,:sid, :string
add_index :themen,:sid, unique: true
end
end