From caebc366447aa4b239f9ca79c0b1c50068215534 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Wed, 23 Jul 2014 22:57:14 +0530 Subject: [PATCH 01/31] contact page new --- app/controllers/config_controller.rb | 2 + app/controllers/home_controller.rb | 7 +++ app/controllers/lvas_controller.rb | 11 ++++- app/controllers/neuigkeiten_controller.rb | 2 +- app/controllers/users_controller.rb | 2 +- app/views/home/admin.html.erb | 8 ++++ app/views/home/kontakt.html.erb | 14 +++--- app/views/themengruppen/show.html.erb | 16 +++---- app/views/themes/blue1/home/index.html.erb | 21 +++++---- .../white_1/themengruppen/show.html.erb | 47 +++++++++++-------- config/routes.rb | 4 +- 11 files changed, 87 insertions(+), 47 deletions(-) diff --git a/app/controllers/config_controller.rb b/app/controllers/config_controller.rb index 5caffd0..53cb795 100755 --- a/app/controllers/config_controller.rb +++ b/app/controllers/config_controller.rb @@ -4,4 +4,6 @@ class ConfigController < ApplicationController end + def choose_contact_topics + end end diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 516cabb..df28c51 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -8,6 +8,8 @@ class HomeController < ApplicationController end def kontakt + t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml") + @themen = Thema.where(:id=>t) end def intern authorize! :seeintern, User @@ -51,4 +53,9 @@ class HomeController < ApplicationController format.js end end + def choose_contact_topics +File.open("config/contact_topic.yml",'w'){|f| f.write(params[:themen].to_yaml)} + redirect_to admin_home_index_path + end + end diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index 5423e28..ee2732c 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -1,7 +1,7 @@ class LvasController < ApplicationController # GET /lvas require 'zip' - before_filter :load_toolbar, :only => [:show] + before_filter :load_toolbar, :only => [:verwalten] load_and_authorize_resource def index @lvas = Lva.all @@ -43,6 +43,15 @@ class LvasController < ApplicationController def show @lva = Lva.find_by_id(params[:id]) @beispiel=Beispiel.new + @toolbar_elements =[] + @toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.manage'),:path => verwalten_lva_path(@lva)} if can? :verwalten, @lva + + end + def verwalten + @lva = Lva.find_by_id(params[:id]) + @beispiel=Beispiel.new + + render :show end # GET /lvas/new diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb index 0af5eac..3e05c2c 100755 --- a/app/controllers/neuigkeiten_controller.rb +++ b/app/controllers/neuigkeiten_controller.rb @@ -69,7 +69,7 @@ class NeuigkeitenController < ApplicationController unless @neuigkeit.published? redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit muss veröffentlicht sein um sie auf Facebook zu posten.' else - page=YAML.load_file("#{::Rails.root.to_s}/tmp/page.yml") + page=YAML.load_file("#{::Rails.root.to_s}/config/page.yml") page.feed!(:access_token=>page.access_token, :message=>@neuigkeit.text_first_words, :name=>@neuigkeit.title, :link=>rubrik_neuigkeit_url(@neuigkeit.rubrik, @neuigkeit)+".html", :picture=>@neuigkeit.picture.url) redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit auf Facebook gepostet' diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index f5a0334..35a3051 100755 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -17,7 +17,7 @@ class UsersController < ApplicationController redirect_to intern_home_index_path else @fbu=FbGraph::User.new(current_user.uid.to_s).fetch(:access_token=>session["fbuser_access_token"]) - File.open("tmp/page.yml",'w'){|f| f.write(@fbu.accounts(:access_token=>session["fbuser_access_token"]).select { |p| p.name == params["page"] }.first.to_yaml)} + File.open("config/page.yml",'w'){|f| f.write(@fbu.accounts(:access_token=>session["fbuser_access_token"]).select { |p| p.name == params["page"] }.first.to_yaml)} logger.debug @fbu.to_s redirect_to admin_home_index_path end diff --git a/app/views/home/admin.html.erb b/app/views/home/admin.html.erb index 55cc15d..1c65a34 100644 --- a/app/views/home/admin.html.erb +++ b/app/views/home/admin.html.erb @@ -9,4 +9,12 @@ <%= semantic_form_for :set_page, url: fb_set_default_publish_page_user_path(current_user), html:{method: :get} do |f| %> <%= f.input :page , :input_html => { :name => 'page' }%> <% end %> + +<%= semantic_form_for :set_thema, url: choose_contact_topics_home_index_path, html:{method: :get} do |f| %> +<%= f.input :themen, :input_html=> {:name=>'themen'}, :as=>:select ,:multiple=>true,:collection =>Thema.all%> + + <%= f.actions do %> + <%= f.action :submit, :as => :button, :label=> I18n.t("common.save" ) %> +<% end %> +<% end %>

diff --git a/app/views/home/kontakt.html.erb b/app/views/home/kontakt.html.erb index f2d4a8b..68ff483 100644 --- a/app/views/home/kontakt.html.erb +++ b/app/views/home/kontakt.html.erb @@ -1,12 +1,10 @@

<%= I18n.t "kontakt.H1" %>

-

- <%= I18n.t "kontakt.text" %> -

-

<%= I18n.t "kontakt.service" %>

- <%= raw(I18n.t( "kontakt.service_text")) %> -

<%= I18n.t "kontakt.adresse" %>

-

<%= raw(I18n.t("kontakt.adresse_text")) %>

-

<%= raw(I18n.t ("kontakt.telefon_text")) %>

+<% @themen.each do |th| %> +<%= render partial: "themen/small", object: th %> +<% end %> + + +
diff --git a/app/views/themengruppen/show.html.erb b/app/views/themengruppen/show.html.erb index 73681e3..3764af0 100644 --- a/app/views/themengruppen/show.html.erb +++ b/app/views/themengruppen/show.html.erb @@ -1,13 +1,13 @@
+ <% if @themengruppe.public %> +
  • <%= link_to fa_icon("arrow-circle-left 2x")+I18n.t("themengruppe.showall"), themengruppen_path, :class=>"linkbox" %>
  • + <% else %> +
  • <%= link_to fa_icon("arrow-circle-left 2x")+I18n.t("common.intern"), intern_home_index_path, :class=>"linkbox" %>
  • + <% end %> +
  • <%= link_to fa_icon("question 2x")+ I18n.t("themengruppe.faqs"), faqs_themengruppen_path(:anchor=>"themengruppe_"+@themengruppe.id.to_s), :class=>"linkbox" %> +
  • + <%= render :partial=>'layouts/pretty_toolbar' %>

    <% unless @themengruppe.icon.nil? or @themengruppe.icon.empty? %> diff --git a/app/views/themes/blue1/home/index.html.erb b/app/views/themes/blue1/home/index.html.erb index 65429b0..5160276 100644 --- a/app/views/themes/blue1/home/index.html.erb +++ b/app/views/themes/blue1/home/index.html.erb @@ -3,11 +3,18 @@
    - - -

    -<%= ffi1_icon "academic" %><%= link_to I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %> -

    + +

    Beta Test

    Die Webseite befindet sich derzeit in einem Entwicklungsstadium, @@ -28,9 +35,7 @@

    - <%= link_to "Entwicklungsstatus" , dev_home_index_path %> -

    - <%= link_to "FAQS", faqs_themengruppen_path,class: :btn %> +

    <%= render 'beispiele' %> diff --git a/app/views/themes/white_1/themengruppen/show.html.erb b/app/views/themes/white_1/themengruppen/show.html.erb index 6da95cd..36f2358 100644 --- a/app/views/themes/white_1/themengruppen/show.html.erb +++ b/app/views/themes/white_1/themengruppen/show.html.erb @@ -1,29 +1,38 @@ -

    <%= @themengruppe.title %>

    - +

    <% unless @themengruppe.icon.nil? or @themengruppe.icon.empty? %> + <% end %><%= @themengruppe.title %>

    <%= @themengruppe.text %>

    <% @themen.each do |thema| %> -
    - -
    -
    - <% unless thema.gremium.nil? %> -

    <%= link_to "Zu dem Gremium ..." , thema.gremium %> -

    -<% end %> - <%= render :partial => 'themen/small', :object => thema %> - +
    + +
    +
    -
    -
    -
    + <%= render :partial => 'themen/small', :object => thema %> +
      + <% unless thema.gremium.nil? %> +
    • + <%= link_to fa_icon("users 2x")+thema.gremium.name , thema.gremium,:class=>"linkbox" %> +
    • + <% end %> + + <% thema.nlinks.each do |l| %> +
    • + <%= render l.neuigkeit if can? :show, l.neuigkeit%> +
    • + <% end %> + +
    +
    +
    +
    <% end %>
    diff --git a/config/routes.rb b/config/routes.rb index 07d5b8f..d01752e 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -73,6 +73,7 @@ Fetsite::Application.routes.draw do get 'beispiel_sammlung' get 'compare_tiss' get 'load_tiss' + get 'verwalten' end resources :beispiele#, :only=>[:show,:index,:create] @@ -135,7 +136,8 @@ Fetsite::Application.routes.draw do get 'dev' get 'startdev' get 'linksnotimplemented' - get 'kontakt' + get 'kontakt' + get 'choose_contact_topics' end end From 74546b1d8db80176c5ae821a989c3086c3cd7a77 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Wed, 23 Jul 2014 22:57:25 +0530 Subject: [PATCH 02/31] geburtstag anzeigen --- app/views/fetprofiles/_interninfo.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/fetprofiles/_interninfo.html.erb b/app/views/fetprofiles/_interninfo.html.erb index bd5fc1f..4ea0119 100644 --- a/app/views/fetprofiles/_interninfo.html.erb +++ b/app/views/fetprofiles/_interninfo.html.erb @@ -1,5 +1,5 @@

    -Geburtstag <%= %> +Geburtstag <%= I18n.l(interninfo.birthday,format: :short) %>

    Adresse: From 3347ac89d9ef27a082b4a11a053a1f1c71e1724b Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Wed, 23 Jul 2014 22:57:40 +0530 Subject: [PATCH 03/31] thmen nur rendern wenn erlaubt --- app/views/layouts/_pretty_toolbar.html.erb | 4 ++-- app/views/themen/_small.html.erb | 4 ++++ app/views/themen/_thema.html.erb | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/views/layouts/_pretty_toolbar.html.erb b/app/views/layouts/_pretty_toolbar.html.erb index 3ec90f4..096cac6 100644 --- a/app/views/layouts/_pretty_toolbar.html.erb +++ b/app/views/layouts/_pretty_toolbar.html.erb @@ -6,8 +6,8 @@ Verwendung: Aufruf mit --> <% toolbar_elements = !pretty_toolbar.nil? ? pretty_toolbar : @toolbar_elements %> <% unless toolbar_elements.nil? || toolbar_elements.empty? %> -<%= I18n.t("common.actions")%> -

    +
    <% toolbar_elements.each do |t| %> <% unless t[:method]==:versions %> <% text=''.html_safe+t[:text] %> diff --git a/app/views/themen/_small.html.erb b/app/views/themen/_small.html.erb index dfa0fc3..2e4b269 100644 --- a/app/views/themen/_small.html.erb +++ b/app/views/themen/_small.html.erb @@ -1,3 +1,4 @@ +<% if can? :show, small %>

    <%= small.title %> <%= link_to fa_icon("pencil"), verwalten_thema_path(small) if can? :edit, small %>

    @@ -30,3 +31,6 @@ @small_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>small} if can? :edit, small @small_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('thema.remove'), :path=>small, :method=>:delete,:confirm=>I18n.t('thema.sure')} if can? :delete, small %> <% render :partial=>'layouts/pretty_toolbar', :object=>@small_elements unless @small_elements.empty? %> +<% else %> +Error +<% end %> diff --git a/app/views/themen/_thema.html.erb b/app/views/themen/_thema.html.erb index ede7bb2..7d24eff 100644 --- a/app/views/themen/_thema.html.erb +++ b/app/views/themen/_thema.html.erb @@ -1,2 +1,2 @@ - <%= thema.title%> + <%= thema.title if can? :show , thema %> From af9da058ab26d45829eceb3ec37089a9f6da7ea3 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 11 Aug 2014 14:38:14 +0530 Subject: [PATCH 04/31] Interface Neuigkeiten & Attachment --- app/controllers/neuigkeiten_controller.rb | 23 ++++++++++------ app/models/ability.rb | 1 + app/models/attachment.rb | 7 +++++ app/models/thema.rb | 4 ++- app/uploaders/attachment_uploader.rb | 9 ++++--- app/views/layouts/_pretty_toolbar.html.erb | 24 ++++++++++++++--- .../neuigkeiten/_nlink_list_search.html.erb | 3 ++- app/views/neuigkeiten/create_link.js.erb | 2 ++ app/views/themen/_attachment_list.html.erb | 12 ++++++--- app/views/themen/_select.html.erb | 26 ++++++++++++++----- app/views/themen/_verw_liste.html.erb | 17 +++++++----- .../themengruppen/_themengruppe.html.erb | 3 ++- app/views/themengruppen/index.html.erb | 24 ++++++++--------- 13 files changed, 111 insertions(+), 44 deletions(-) create mode 100644 app/views/neuigkeiten/create_link.js.erb diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb index 3e05c2c..29a54b9 100755 --- a/app/controllers/neuigkeiten_controller.rb +++ b/app/controllers/neuigkeiten_controller.rb @@ -113,9 +113,14 @@ class NeuigkeitenController < ApplicationController render action:"show" end def create_link - Nlink.create(:link=>params[:link_type].constantize.find(params[:link_id]),:neuigkeit=>Neuigkeit.find(params[:id])) + @neuigkeit = Neuigkeit.find(params[:id]) - redirect_to action:"show" + Nlink.create(:link=>params[:link_type].constantize.find(params[:link_id]),:neuigkeit=>Neuigkeit.find(params[:id])) + @nlinks=@neuigkeit.nlinks + respond_to do |format| + format.html { edirect_to action:"show" } + format.js + end end def create @@ -159,21 +164,23 @@ private def load_toolbar_elements @neuigkeit=Neuigkeit.find(params[:id]) @toolbar_elements=[] - @toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('neuigkeit.publish'),:path => publish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=> I18n.t('neuigkeit.publish_sure') } if can?(:publish, @neuigkeit) && !@neuigkeit.published? - @toolbar_elements << {:hicon=>'icon-facebook', :text=> I18n.t('neuigkeit.publishfb'),:path => publish_to_facebook_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>I18n.t('neuigkeit.publishfb_sure') } if can?(:publish, @neuigkeit) && @neuigkeit.published? + actions=[] + actions << {:hicon=>'icon-plus', :text=> I18n.t('neuigkeit.publish'),:path => publish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=> I18n.t('neuigkeit.publish_sure') } if can?(:publish, @neuigkeit) && !@neuigkeit.published? + actions << {:hicon=>'ffi1-facebook1', :text=> I18n.t('neuigkeit.publishfb'),:path => publish_to_facebook_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>I18n.t('neuigkeit.publishfb_sure') } if can?(:publish, @neuigkeit) && @neuigkeit.published? -@toolbar_elements << {:hicon=>'icon-facebook', :text=> I18n.t('neuigkeit.publishfetmail'),:path => mail_to_fet_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>I18n.t('neuigkeit.publishfetmail_sure') } if can?(:publish, @neuigkeit) && @neuigkeit.published? +actions << {:hicon=>'icon-facebook', :text=> I18n.t('neuigkeit.publishfetmail'),:path => mail_to_fet_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>I18n.t('neuigkeit.publishfetmail_sure') } if can?(:publish, @neuigkeit) && @neuigkeit.published? - @toolbar_elements << {:hicon=>'icon-minus', :text=> I18n.t('neuigkeit.unpublish'),:path => unpublish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=> I18n.t('neuigkeit.unpublish_sure') } if can?(:unpublish, @neuigkeit) && @neuigkeit.published? + actions << {:hicon=>'icon-minus', :text=> I18n.t('neuigkeit.unpublish'),:path => unpublish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=> I18n.t('neuigkeit.unpublish_sure') } if can?(:unpublish, @neuigkeit) && @neuigkeit.published? + @toolbar_elements << {:text=>I18n.t('common.edit'),:path=>edit_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:icon=>:pencil} if can? :edit, @neuigkeit.rubrik @versions= @neuigkeit.translation.versions.select([:created_at]).reverse @toolbar_elements <<{:path=>rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:method=>:versions,:versions=>@versions} - @toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :method=> :delete,:confirm=>'Sure?' } if can? :delete, @neuigkeit - + actions << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :method=> :delete,:confirm=>'Sure?' } if can? :delete, @neuigkeit + @toolbar_elements << {:text => "action", :method => :dropdown, :elements=> actions} end diff --git a/app/models/ability.rb b/app/models/ability.rb index 616979b..99fe04a 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -40,6 +40,7 @@ class Ability can :showintern, Thema can :manage, Thema can :manage, Themengruppe + can :manage, Attachment end unless user.has_role?("fetadmin") cannot :delete, Themengruppe diff --git a/app/models/attachment.rb b/app/models/attachment.rb index c61214f..3301381 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -18,6 +18,13 @@ class Attachment < ActiveRecord::Base validates :thema, :presence => true validates :name, :presence => true + def image? + + # data_ext = datei.file.extension.downcase + # %w(jpg png jpeg).include?(data_ext) + datei.image?(datei.file) + end + def to_jq_upload { "id" => read_attribute(:id), diff --git a/app/models/thema.rb b/app/models/thema.rb index 3f73b38..d61bf46 100644 --- a/app/models/thema.rb +++ b/app/models/thema.rb @@ -49,7 +49,9 @@ include Rails.application.routes.url_helpers def fix_links(host) full_url= URI.parse(root_url(:host=>host)) - self.text.gsub!(/src="[^"]*attachment\/datei\/(\d+)[^"]*"/){|s| full_url.path=Attachment.find($1.to_i).datei.url; 'src="'+full_url.to_s+'"'} + self.text.gsub!(/src="[\.\/]*uploads\/attachment\/datei\/(\d+)\/thumb_big[^"]*"/){|s| full_url.path=Attachment.find($1.to_i).datei.thumb_big.url; 'src="'+full_url.to_s+'"'} + self.text.gsub!(/src="[\.\/^"]*uploads\/attachment\/datei\/(\d+)\/[^"]*"/){|s| full_url.path=Attachment.find($1.to_i).datei.url; 'src="'+full_url.to_s+'"'} + self.text.gsub!(/href="[^"]*themen\/(\d+)[^"]*"/){|s| full_url.path=thema_path(Thema.find($1.to_i)); 'href="'+full_url.to_s+'"'} end diff --git a/app/uploaders/attachment_uploader.rb b/app/uploaders/attachment_uploader.rb index c7d10a4..d08f8cd 100644 --- a/app/uploaders/attachment_uploader.rb +++ b/app/uploaders/attachment_uploader.rb @@ -89,8 +89,11 @@ end # def filename # "something.jpg" if original_filename # end -protected - def image?(file) - %w(jpg png jpeg).include?(File.extname(full_filename(file))) + def extention + File.extname(full_filename(file.file)).downcase + end + + def image?(for_file) + %w(.jpg .png .jpeg).include?(File.extname(full_filename(for_file.file)).downcase) end end diff --git a/app/views/layouts/_pretty_toolbar.html.erb b/app/views/layouts/_pretty_toolbar.html.erb index 096cac6..8405a4c 100644 --- a/app/views/layouts/_pretty_toolbar.html.erb +++ b/app/views/layouts/_pretty_toolbar.html.erb @@ -10,8 +10,26 @@ Verwendung: Aufruf mit -->
    <% toolbar_elements.each do |t| %> <% unless t[:method]==:versions %> - <% text=''.html_safe+t[:text] %> + <% unless t[:method]==:dropdown %> + + <% text=ff_icon(t[:hicon])+t[:text] %> <%= link_to text, t[:path], :method=>t[:method], :confirm=>t[:confirm].to_s, :data=>t[:data], :class=>((t[:method].to_s=='delete') ? "btn btn-danger" : "btn") ,:remote=>(t[:remote])?true : false %> + <% else %> +
    + + <%= t[:text] %> + + +<% end %> <% else %>
    @@ -28,9 +46,9 @@ Verwendung: Aufruf mit q= q.merge(URI.decode_www_form(uri.query)) unless uri.query.nil? uri.query= URI.encode_www_form(q<<["version",i.to_s]) - %> + %> <%= link_to I18n.l(v[:created_at]).to_s,uri.to_s ,:version=>v[:id] %> -<% end %> + <% end %> <% end %> diff --git a/app/views/neuigkeiten/_nlink_list_search.html.erb b/app/views/neuigkeiten/_nlink_list_search.html.erb index be5a2c9..c50ead3 100644 --- a/app/views/neuigkeiten/_nlink_list_search.html.erb +++ b/app/views/neuigkeiten/_nlink_list_search.html.erb @@ -1,11 +1,12 @@
  • <%= link_to nlink_list_search.title, nlink_list_search %> - <%= link_to "add:"+nlink_list_search.title, create_link_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit, :link_id=>nlink_list_search.id, :link_type=>nlink_list_search.class.to_s) %> + <%= link_to create_link_rubrik_neuigkeit_path(@neuigkeit.rubrik, @neuigkeit, :link_id=>nlink_list_search.id, :link_type=>nlink_list_search.class.to_s), remote: true do %>
    <% p = nlink_list_search.class.to_s.downcase.pluralize+"/nlink" %> <%= render :partial=>p, :object=>nlink_list_search %>
    +<% end %>
  • diff --git a/app/views/neuigkeiten/create_link.js.erb b/app/views/neuigkeiten/create_link.js.erb new file mode 100644 index 0000000..d24f9fc --- /dev/null +++ b/app/views/neuigkeiten/create_link.js.erb @@ -0,0 +1,2 @@ +$('#nlink_list_search').html(""); +$('#nlink_list').html("<%= escape_javascript( render partial:"nlink_list", collection: @nlinks )%>"); \ No newline at end of file diff --git a/app/views/themen/_attachment_list.html.erb b/app/views/themen/_attachment_list.html.erb index a210446..818aa05 100644 --- a/app/views/themen/_attachment_list.html.erb +++ b/app/views/themen/_attachment_list.html.erb @@ -8,9 +8,15 @@ <% if editor %> -<%= link_to "Edit", edit_thema_attachment_path(a.thema,a) %> -<%= link_to "Delete", thema_attachment_path(a.thema,a), method: "DELETE", confirm: "Sure?" %> - +
    <% end %> diff --git a/app/views/themen/_select.html.erb b/app/views/themen/_select.html.erb index a693ec0..02401a7 100644 --- a/app/views/themen/_select.html.erb +++ b/app/views/themen/_select.html.erb @@ -2,19 +2,33 @@ <% select.attachments.each_slice(6) do |row| %>
    <% row.each do |attachment| - data_ext = attachment.datei.file.extension.downcase %> +%>
    - <%= link_to attachment.name, edit_thema_attachment_path(@thema,attachment) %>
    - <% if (!["jpg","png","jpeg"].find_index(data_ext).nil?) %> +
    <% end %>
    diff --git a/app/views/themen/_verw_liste.html.erb b/app/views/themen/_verw_liste.html.erb index 777a730..0c6f554 100644 --- a/app/views/themen/_verw_liste.html.erb +++ b/app/views/themen/_verw_liste.html.erb @@ -1,8 +1,13 @@ <% verw_liste.each do |thema| %> -
  • <%= thema.title %>
    - -<%= link_to thema_path(thema),:remote=>true do %> Show <% end %> -<%= link_to edit_thema_path(thema),:remote=>true do %> Edit <% end %> -<%= link_to fragen_thema_path(thema),:remote=>true do %> Fragen <% end %> -<%= link_to attachments_thema_path(thema),:remote=>true do %> Attachments <% end %>
  • +
  • +
  • <% end %> diff --git a/app/views/themengruppen/_themengruppe.html.erb b/app/views/themengruppen/_themengruppe.html.erb index 7e99e23..73c5c4f 100644 --- a/app/views/themengruppen/_themengruppe.html.erb +++ b/app/views/themengruppen/_themengruppe.html.erb @@ -1,4 +1,5 @@ <%= link_to themengruppe,{:class=>'linkbox color-1-dark'} do %> +
    @@ -45,5 +46,5 @@
    - +
    <% end %> diff --git a/app/views/themengruppen/index.html.erb b/app/views/themengruppen/index.html.erb index 9e5acf4..f2cc8a9 100644 --- a/app/views/themengruppen/index.html.erb +++ b/app/views/themengruppen/index.html.erb @@ -2,21 +2,21 @@ <%= render :partial=>'layouts/pretty_toolbar' %> -

    - +

    + + +
    + $(document).ready(function(){ + $('.datetimepicker').map($(this).datetimepicker({format: 'd.m.Y H:i', startDate: (!($(this).attr("value")==undefined))? $(this).attr("value"): ""})) + }) + $(document).ready(function(){$('.datetimepicker').datetimepicker({format: 'd.m.Y H:i', startDate: (!($(this).attr("value")==undefined))? $(this).attr("value"): ""})}) + <%= tinymce %> From b11773ac856bd250cd36f628ee17933549721dbd Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 14 Sep 2014 18:29:29 +0200 Subject: [PATCH 18/31] beispielsammlungs link --- app/views/themes/blue1/home/index.html.erb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/themes/blue1/home/index.html.erb b/app/views/themes/blue1/home/index.html.erb index 5160276..ad120f3 100644 --- a/app/views/themes/blue1/home/index.html.erb +++ b/app/views/themes/blue1/home/index.html.erb @@ -14,6 +14,7 @@
  • <%= link_to "FAQS", faqs_themengruppen_path,class: :btn ,class: :linkbox %>
  • +
  • <%= link_to "Beispielsammlung", studium_path(Studium.first) ,class: :btn ,class: :linkbox %>
  • Beta Test

    From e8576d532f8e708065ed7882d792a70399a582ce Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 14 Sep 2014 18:30:56 +0200 Subject: [PATCH 19/31] membership gremium scope --- app/controllers/gremien_controller.rb | 2 +- app/models/membership.rb | 1 + app/views/gremien/_nlink.html.erb | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/gremien_controller.rb b/app/controllers/gremien_controller.rb index 93c3b42..6ef948b 100644 --- a/app/controllers/gremien_controller.rb +++ b/app/controllers/gremien_controller.rb @@ -33,7 +33,7 @@ class GremienController < ApplicationController def show @gremium = Gremium.find(params[:id]) @gremientabs=Gremium.tabs - @memberships=@gremium.memberships.active.includes(:fetprofile).order(:typ,"fetprofiles.vorname","fetprofiles.nachname") + @memberships=@gremium.memberships.visible_in_gremium respond_to do |format| format.html # show.html.erb diff --git a/app/models/membership.rb b/app/models/membership.rb index 272980b..752d91a 100644 --- a/app/models/membership.rb +++ b/app/models/membership.rb @@ -19,6 +19,7 @@ class Membership < ActiveRecord::Base belongs_to :fetprofile belongs_to :gremium scope :active, -> {where("stop >= ? OR stop IS NULL", Time.now.to_date)} + scope :visible_in_gremium, ->{active.includes(:fetprofile).order(:typ,"fetprofiles.vorname","fetprofiles.nachname")} validates :typ, :presence=>true validates :fetprofile, :presence=>true validates :start, :presence=>true diff --git a/app/views/gremien/_nlink.html.erb b/app/views/gremien/_nlink.html.erb index 62535a0..9566d87 100644 --- a/app/views/gremien/_nlink.html.erb +++ b/app/views/gremien/_nlink.html.erb @@ -1,2 +1,6 @@

    <%=fa_icon("users 2x")+ nlink.name %>

    -

    <%= raw(nlink.desc) %>

    + + <% nlink.memberships.visible_in_gremium.each do |m| %> + <%= image_tag m.fetprofile.try(:picture).try(:thumb) %> + + <% end %> From 017e3cb8c1a242da072427b0e2e4cb64ba821da7 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 14 Sep 2014 18:32:03 +0200 Subject: [PATCH 20/31] lva paper_trail fix --- Gemfile | 2 +- app/models/lva.rb | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index 6250ceb..363e073 100755 --- a/Gemfile +++ b/Gemfile @@ -54,7 +54,7 @@ gem "tinymce-rails" , '~>4.1.0' gem "globalize" ,'~>3.0.4'#,:git =>'git://github.com/globalize/globalize.git' gem 'globalize-versioning' # Version controll -gem "paper_trail" , '>=2.7.0', :git=>'git://github.com/airblade/paper_trail.git' +gem "paper_trail" , '~>3.0.5', :git=>'git://github.com/airblade/paper_trail.git' # User management gem "devise" ,'~>2.2.3' diff --git a/app/models/lva.rb b/app/models/lva.rb index dcd7e17..bc5bd2f 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -25,20 +25,19 @@ # id :integer not null, primary key # name :string(255) # desc :text -# ects :decimal(, ) +# ects :decimal # lvanr :string(255) -# stunden :decimal(, ) +# stunden :decimal # created_at :datetime not null # updated_at :datetime not null # modul_id :integer -# semester_id :integer - # +# semester_id :integer class Lva < ActiveRecord::Base ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'andere']; - + translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=> :paper_trail #true #{:gem=>:paper_trail} has_paper_trail :ignore=>[:desc, :pruefungsinformation]# Versionsverfolgung - translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=>true + attr_accessible :desc, :ects, :lvanr, :name, :stunden, :modul_ids, :semester_ids, :pruefungsinformation, :lernaufwand, :typ, :lecturer_ids, :forumlink From 3365303b617c2f288f69fe140309411b908971e4 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 14 Sep 2014 18:32:31 +0200 Subject: [PATCH 21/31] nlink fix --- app/controllers/neuigkeiten_controller.rb | 12 +++++++++-- app/views/lvas/show.html.erb | 19 +++++++++-------- app/views/neuigkeiten/_nlink_list.html.erb | 8 ++++++-- app/views/neuigkeiten/show.html.erb | 24 +++++++++++++++++++++- app/views/studien/_tabs.html.erb | 2 +- config/routes.rb | 1 + 6 files changed, 52 insertions(+), 14 deletions(-) diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb index 52701ff..60e5ce3 100755 --- a/app/controllers/neuigkeiten_controller.rb +++ b/app/controllers/neuigkeiten_controller.rb @@ -131,7 +131,15 @@ class NeuigkeitenController < ApplicationController format.js end end - + def delete_link + @neuigkeit = Neuigkeit.find(params[:id]) + @nlink = @neuigkeit.nlinks.find(params[:nlink_id]) + @nlink.destroy + respond_to do |format| + format.html { redirect_to @neuigkeit } + format.js + end + end def create @neuigkeit = Neuigkeit.new(params[:neuigkeit]) @neuigkeit.author=current_user @@ -167,7 +175,7 @@ class NeuigkeitenController < ApplicationController format.html { redirect_to rubrik } end - end + end private def load_toolbar_elements diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb index 60c311e..9fe7bb7 100755 --- a/app/views/lvas/show.html.erb +++ b/app/views/lvas/show.html.erb @@ -1,11 +1,20 @@
    <%= render 'studien/tabs'%>

    <%= notice %>

    + +
    +
    + <%= render 'layouts/pretty_toolbar' %> +
    +
    +

    <%= @lva.full_name %>

    Prüfungsinformation

    @@ -17,13 +26,12 @@
    <%= @lva.lernaufwand %>
    +

    Beschreibung

    <%= @lva.desc.to_s.html_safe %>
    - -
    @@ -79,11 +87,6 @@
    -
    -
    - <%= render 'layouts/pretty_toolbar' %> -
    -
    <%= render 'beispiele/form_bulk' %> diff --git a/app/views/neuigkeiten/_nlink_list.html.erb b/app/views/neuigkeiten/_nlink_list.html.erb index f6d9eb5..f011fba 100644 --- a/app/views/neuigkeiten/_nlink_list.html.erb +++ b/app/views/neuigkeiten/_nlink_list.html.erb @@ -1,9 +1,13 @@ - <%= link_to nlink_list.link do %> -
    +<%= link_to nlink_list.link do %> +
    +
    <% p = nlink_list.link_type.downcase.pluralize+"/nlink" %> <%= raw(strip_links(render :partial=>p, :object=>nlink_list.link )) %> +
    +<%= link_to "DELETE", delete_link_rubrik_neuigkeit_path(nlink_list.neuigkeit.rubrik,nlink_list.neuigkeit.id, :nlink_id=>nlink_list.id) %>
    + <% end %> diff --git a/app/views/neuigkeiten/show.html.erb b/app/views/neuigkeiten/show.html.erb index 53f946f..66b2e13 100755 --- a/app/views/neuigkeiten/show.html.erb +++ b/app/views/neuigkeiten/show.html.erb @@ -28,10 +28,32 @@ <%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
    <%= render partial: 'nlink_list_whole', :object=>@neuigkeit.nlinks %> -<%= render partial: 'nlink_list_search_whole', object: @nlink_search %> + + Neue Verknüpfungen + + + +
    diff --git a/app/views/studien/_tabs.html.erb b/app/views/studien/_tabs.html.erb index b35a622..788997d 100644 --- a/app/views/studien/_tabs.html.erb +++ b/app/views/studien/_tabs.html.erb @@ -20,6 +20,6 @@ <% else %>
  • <% end %> -<%= link_to I18n.t("studien.verwaltung.title"), studien_verwalten_path if can? :verwalten, Studium %> +<%= link_to I18n.t("studien.verwaltung.title"), studien_verwalten_path if can? :verwalten, Studium %>
  • diff --git a/config/routes.rb b/config/routes.rb index 2c76fb0..54ea679 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -124,6 +124,7 @@ Fetsite::Application.routes.draw do get 'add_calentry' get 'rm_calentry' get 'create_link' + get 'delete_link' get 'find_link' get 'publish_to_facebook' get 'mail_to_fet' From fbd51caf3ed61d17e8ded76dda47bbfafad53dab Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Wed, 24 Sep 2014 14:39:59 +0200 Subject: [PATCH 22/31] pagination update --- Gemfile | 7 +- app/assets/javascripts/pagination.js.coffee | 1 + app/controllers/beispiele_controller.rb | 2 +- app/controllers/comments_controller.rb | 33 ++++++---- app/controllers/rubriken_controller.rb | 8 +-- app/controllers/themen_controller.rb | 5 ++ app/models/comment.rb | 7 ++ app/views/beispiele/_beispiel.html.erb | 71 ++++++++++++--------- app/views/comments/_comment.html.erb | 8 ++- app/views/comments/_comments.html.erb | 3 + app/views/comments/hide.js.erb | 3 + app/views/comments/index.html.erb | 1 + app/views/comments/index.js.erb | 2 + app/views/rubriken/index.html.erb | 2 +- app/views/rubriken/show.html.erb | 4 +- app/views/rubriken/show.js.erb | 2 +- config/routes.rb | 7 +- 17 files changed, 109 insertions(+), 57 deletions(-) create mode 100644 app/views/comments/hide.js.erb create mode 100644 app/views/comments/index.js.erb diff --git a/Gemfile b/Gemfile index 363e073..c7dd22e 100755 --- a/Gemfile +++ b/Gemfile @@ -103,6 +103,7 @@ gem 'themes_for_rails' gem 'rubyzip' gem 'acts_as_votable' - -gem 'will_paginate' -gem 'bootstrap-will_paginate' +gem 'kaminari' +gem 'bootstrap-kaminari-views', :git=>'git://github.com/matenia/bootstrap-kaminari-views.git' +#gem 'will_paginate', :git=>'git://github.com/mislav/will_paginate.git' +#gem 'bootstrap-will_paginate' diff --git a/app/assets/javascripts/pagination.js.coffee b/app/assets/javascripts/pagination.js.coffee index 1ae1daa..59903ef 100644 --- a/app/assets/javascripts/pagination.js.coffee +++ b/app/assets/javascripts/pagination.js.coffee @@ -1,4 +1,5 @@ + $ -> if $('#infinite-scrolling').size() > 0 more_posts_url = $('.pagination .next_page a').attr('href') diff --git a/app/controllers/beispiele_controller.rb b/app/controllers/beispiele_controller.rb index 1917613..f82871c 100755 --- a/app/controllers/beispiele_controller.rb +++ b/app/controllers/beispiele_controller.rb @@ -18,7 +18,7 @@ class BeispieleController < ApplicationController # @lva = params([:lva]) unless params([:lva]).nil? @beispiel = Beispiel.find(params[:id]) respond_to do |format| - format.html { redirect_to @beispiel.lva } + format.html { redirect_to lva_path(@beispiel.lva , show_comments: params[:show_comments])} format.js end end diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 7501c65..39e0490 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -1,10 +1,25 @@ class CommentsController < ApplicationController - def index - @comments=Comment.all - end + def index + @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? + @comments=@commentable.comments.order(:created_at).roots.page(params[:page]).per(2).reverse_order + respond_to do |format| + format.html # new.html.erb + format.json { render json: @comment } + format.js + end + + end + def hide + @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? + respond_to do |format| + format.js + end + + end def show @comment = Comment.find(params[:id]) + respond_to do |format| format.html # show.html.erb format.json { render json: @comment } @@ -33,15 +48,9 @@ class CommentsController < ApplicationController c = params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil? @comment = Comment.build_for(c, current_user,"", params_new) - #raise @comment.to_yaml.to_s - # @comment.commentable= c - - - - respond_to do |format| if @comment - format.html { redirect_to @comment.commentable, notice: 'Comment was successfully created.' } + format.html { redirect_to @comment.commentable, notice: 'Comment was successfully created.', show_comments: true } format.json { render json: @comment, status: :created, location: @comment } else format.html { render action: "new" } @@ -73,11 +82,13 @@ class CommentsController < ApplicationController # DELETE /comments/1.json def destroy @comment = Comment.find(params[:id]) + @commentable=@comment.commentable @comment.destroy respond_to do |format| - format.html { redirect_to comments_url } + format.html { redirect_to @commentable, :action=>"show"} format.json { head :no_content } + end end end diff --git a/app/controllers/rubriken_controller.rb b/app/controllers/rubriken_controller.rb index 7e94f1d..0ccc5fe 100755 --- a/app/controllers/rubriken_controller.rb +++ b/app/controllers/rubriken_controller.rb @@ -4,10 +4,10 @@ class RubrikenController < ApplicationController def index if can?(:showintern, Rubrik) @rubriken = Rubrik.all - @neuigkeiten = Neuigkeit.paginate(page: params[:page], per_page:3) + @neuigkeiten = Neuigkeit.page(params[:page]).per(3) else @rubriken = Rubrik.where(:public=>true) - @neuigkeiten = Neuigkeit.public.published.paginate(page: params[:page], per_page:3) + @neuigkeiten = Neuigkeit.public.published.page(params[:page]).per(3) end @calentries= @rubriken.collect(&:calentries).flatten @@ -31,9 +31,9 @@ class RubrikenController < ApplicationController @moderatoren=User.with_role(:newsmoderator,@rubrik) @calentries= @rubrik.calentries if can?(:showunpublished, Neuigkeit) - @neuigkeiten = @rubrik.neuigkeiten.paginate(page: params[:page], per_page:3) + @neuigkeiten = @rubrik.neuigkeiten.page(params[:page]).per(3) else - @neuigkeiten = @rubrik.neuigkeiten.published.paginate(page: params[:page], per_page:3) + @neuigkeiten = @rubrik.neuigkeiten.published..page(params[:page]).per(3) end @toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'), :path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik @toolbar_elements << {:text=>I18n.t('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik diff --git a/app/controllers/themen_controller.rb b/app/controllers/themen_controller.rb index 5b4d39c..9b44767 100644 --- a/app/controllers/themen_controller.rb +++ b/app/controllers/themen_controller.rb @@ -18,6 +18,11 @@ class ThemenController < ApplicationController format.js end end + def sanitize + @thema = Thema.find(params[:id]) + @fragen=@thema.fragen + + end def verwalten @thema = Thema.find(params[:id]) @attachment=Attachment.new diff --git a/app/models/comment.rb b/app/models/comment.rb index a074fd7..dd238b5 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -32,6 +32,13 @@ class Comment < ActiveRecord::Base t_url= user.fetprofile.picture.thumb.url unless user.nil? or user.fetprofile.nil? t_url end + def self.wrapid_for(c) + "comments_" + c.class.to_s + "_" + c.id.to_s + end + + def self.switchshowid_for(c) + "show_comments_" + c.class.to_s + "_" + c.id.to_s + end def divid "comment_" + id.to_s end diff --git a/app/views/beispiele/_beispiel.html.erb b/app/views/beispiele/_beispiel.html.erb index d7b9290..0cc3a5f 100644 --- a/app/views/beispiele/_beispiel.html.erb +++ b/app/views/beispiele/_beispiel.html.erb @@ -1,41 +1,50 @@
    -
    -
    +
    +
    - <%=link_to ffi1_icon("note20")+" " + beispiel.name, beispiel.beispieldatei.url, title: beispiel.desc %> + <%=link_to ffi1_icon("note20")+" " + beispiel.name, beispiel.beispieldatei.url, title: beispiel.desc %> -<%= I18n.t("file.size") + ": " + (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
    -<%= -if can?(:like, beispiel) -link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true -else -"liked by " + beispiel.get_likes.size.to_s -end -%> + <%= I18n.t("file.size") + ": " + (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
    + + <%= + if can?(:like, beispiel) + link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true + else + "liked by " + beispiel.get_likes.size.to_s + end + %> -<%= -if can?(:dislike, beispiel) -link_to ffi1_icon("dislike")+" dislike" + "("+beispiel.get_dislikes.size.to_s+")", dislike_beispiel_path(beispiel),title:"disliked by " + ((current_user.disliked?(beispiel)) ? ("you and " + ((beispiel.get_dislikes.size - 1).to_s + " others")) : beispiel.get_dislikes.size.to_s) , remote: true -else -"disliked by " + beispiel.get_dislikes.size.to_s -end + <%= + if can?(:dislike, beispiel) + link_to ffi1_icon("dislike")+" dislike" + "("+beispiel.get_dislikes.size.to_s+")", dislike_beispiel_path(beispiel),title:"disliked by " + ((current_user.disliked?(beispiel)) ? ("you and " + ((beispiel.get_dislikes.size - 1).to_s + " others")) : beispiel.get_dislikes.size.to_s) , remote: true + else + "disliked by " + beispiel.get_dislikes.size.to_s + end -%> + %> -<%= link_to ff_icon("icon-pencil")+" edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%> -<%= link_to ff_icon("icon-remove")+" delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %> -<%= link_to "Refresh", beispiel, remote: true %>
    -
    -
    -
    -<%= beispiel.desc %> -
    -
    -<%= link_to "comment" , new_comment_path( commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true if can? :comment, beispiel %> + <%= link_to ff_icon("icon-pencil")+" edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%> + <%= link_to ff_icon("icon-remove")+" delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %> + <%= link_to "Refres1h", beispiel_path(beispiel,show_comments: true), remote: true %>
    + +
    +
    + <%= beispiel.desc %> +
    +
    + + <%= link_to "comment" , new_comment_path( commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true if can? :comment, beispiel %> + <%= link_to "comments:.."+beispiel.comments.count().to_s, comments_path(commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true, id: Comment.switchshowid_for(beispiel) %>
    -<% unless beispiel.comments.roots.empty? %> -
    <%= render partial:"comments/comments", object: beispiel.comments.order(:created_at).roots.reverse_order %>
    -<% end %> + <% unless beispiel.comments.roots.empty? %> +
    +
    +
    + <%= render partial:"comments/comments", object: beispiel.comments.order(:created_at).roots.reverse_order if params[:show_comments] %> +
    +
    +
    + <% end %>
    diff --git a/app/views/comments/_comment.html.erb b/app/views/comments/_comment.html.erb index 810365e..2740c2f 100644 --- a/app/views/comments/_comment.html.erb +++ b/app/views/comments/_comment.html.erb @@ -1,17 +1,19 @@
    <%= image_tag comment.thumb_url %>
    - <%= comment.user.try(:email) %> (<%= I18n.l(comment.created_at) %>): + + <%= (!comment.anonym) ? comment.user.try(:email) : "Anonym" %> (<%= I18n.l(comment.created_at) %>) <%= link_to ffi1_icon("remove9"), comment, method: :delete, data: { confirm: 'Are you sure?' } %>:

    <%= comment.text %> <% if can?(:comment, comment.commentable) %>
    <%= link_to "comment" , new_comment_path( commentable_type: "Comment", commentable_id: comment.id), remote:true %> <% end %>

    +
    +
    + <%= render partial:"comments/comments", object: comment.children.order(:created_at).reverse_order if comment.children.size >0 %>
    -
    -
    diff --git a/app/views/comments/_comments.html.erb b/app/views/comments/_comments.html.erb index 1d2f091..4cda60e 100644 --- a/app/views/comments/_comments.html.erb +++ b/app/views/comments/_comments.html.erb @@ -6,4 +6,7 @@ <% end %>
    +<% if comments.first.root? %> +<%= paginate comments, :remote=>true , :theme=>'twitter-bootstrap'%> +<% end %> <% end %> diff --git a/app/views/comments/hide.js.erb b/app/views/comments/hide.js.erb new file mode 100644 index 0000000..53ca8af --- /dev/null +++ b/app/views/comments/hide.js.erb @@ -0,0 +1,3 @@ +$("#<%= Comment.wrapid_for(@commentable) %>").html("<%= escape_javascript "" %>") + +$("#<%= Comment.switchshowid_for(@commentable) %>").attr("href","<%= escape_javascript comments_path(commentable_type: @commentable.class.to_s, commentable_id: @commentable.id) %>") diff --git a/app/views/comments/index.html.erb b/app/views/comments/index.html.erb index bfa38fe..d97f147 100644 --- a/app/views/comments/index.html.erb +++ b/app/views/comments/index.html.erb @@ -1,4 +1,5 @@

    Listing comments

    +<%= render partial:"comments/comments", object: @comments %> diff --git a/app/views/comments/index.js.erb b/app/views/comments/index.js.erb new file mode 100644 index 0000000..13d7356 --- /dev/null +++ b/app/views/comments/index.js.erb @@ -0,0 +1,2 @@ +$("#<%= Comment.wrapid_for(@commentable) %>").html("<%= escape_javascript render partial:"comments/comments", object: @comments %>") +$("#<%= Comment.switchshowid_for(@commentable) %>").attr("href","<%= escape_javascript hide_comments_path(commentable_type: @commentable.class.to_s, commentable_id: @commentable.id) %>") diff --git a/app/views/rubriken/index.html.erb b/app/views/rubriken/index.html.erb index 5b471dc..e07d4d7 100755 --- a/app/views/rubriken/index.html.erb +++ b/app/views/rubriken/index.html.erb @@ -21,7 +21,7 @@ <% end %>
    -<%= will_paginate @neuigkeiten %> +<%= paginate @neuigkeiten, theme:'twitter-bootstrap' %>
    diff --git a/app/views/rubriken/show.html.erb b/app/views/rubriken/show.html.erb index a16df8d..5a6e478 100755 --- a/app/views/rubriken/show.html.erb +++ b/app/views/rubriken/show.html.erb @@ -32,7 +32,9 @@
    -<%= will_paginate @neuigkeiten %> +<%= paginate @neuigkeiten, theme:'twitter-bootstrap' %> + +
    diff --git a/app/views/rubriken/show.js.erb b/app/views/rubriken/show.js.erb index 632afb1..bd61a44 100644 --- a/app/views/rubriken/show.js.erb +++ b/app/views/rubriken/show.js.erb @@ -1,6 +1,6 @@ $('#neuigkeiten').append('<%= j render @neuigkeiten, :wrap_in => :li %>'); <% if @neuigkeiten.next_page %> - $('.pagination').replaceWith('<%= j will_paginate @neuigkeiten %>'); + $('.pagination').replaceWith('<%= j paginate @neuigkeiten, theme: 'twitter-bootstrap' %>'); <% else %> $(window).off('scroll'); $('.pagination').remove(); diff --git a/config/routes.rb b/config/routes.rb index 54ea679..c29e992 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -132,7 +132,11 @@ Fetsite::Application.routes.draw do end end end - resources :comments + resources :comments do + collection do + get 'hide' + end + end resources :home, :only=>[:index] do get :search, :on => :collection collection do @@ -160,6 +164,7 @@ Fetsite::Application.routes.draw do get :attachments get :fragen get :verwalten + get :sanitize end resources :attachments end From 6a4d2ff536a1d6dc4231635a3375a348a8b4f888 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 4 Oct 2014 09:49:19 +0200 Subject: [PATCH 23/31] meta tags neuigkeit --- Gemfile | 4 ++-- Gemfile.lock | 29 ++++++++++++++++++-------- app/controllers/rubriken_controller.rb | 2 +- app/views/neuigkeiten/show.html.erb | 12 +++++++++++ 4 files changed, 35 insertions(+), 12 deletions(-) diff --git a/Gemfile b/Gemfile index c7dd22e..c89b9cc 100755 --- a/Gemfile +++ b/Gemfile @@ -54,7 +54,7 @@ gem "tinymce-rails" , '~>4.1.0' gem "globalize" ,'~>3.0.4'#,:git =>'git://github.com/globalize/globalize.git' gem 'globalize-versioning' # 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' # User management gem "devise" ,'~>2.2.3' @@ -63,7 +63,7 @@ gem "omniauth-facebook" gem "omniauth-ldap" gem "fb_graph" - +gem "meta-tags" # Roles for users gem "rolify" # Abilities diff --git a/Gemfile.lock b/Gemfile.lock index b4e46ea..b85cb39 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,10 +1,10 @@ GIT - remote: git://github.com/airblade/paper_trail.git - revision: 802b7d4ead71703860fcb9befc2c9b2ee05a8b9f + remote: git://github.com/matenia/bootstrap-kaminari-views.git + revision: 411876644d4231433ed73af8655affa33a35eadc specs: - paper_trail (3.0.0) - activerecord (>= 3.0, < 5.0) - activesupport (>= 3.0, < 5.0) + bootstrap-kaminari-views (0.0.5) + kaminari (>= 0.13) + rails (>= 3.1) GEM remote: https://rubygems.org/ @@ -94,8 +94,8 @@ GEM railties (>= 3.2, < 5.0) formtastic (2.2.1) actionpack (>= 3.0) - formtastic-bootstrap (2.1.3) - formtastic (~> 2.2) + formtastic-bootstrap (3.0.0) + formtastic (>= 2.2) git (1.2.6) github-markup (0.7.5) gitlab-grit (2.6.0) @@ -136,10 +136,15 @@ GEM json (1.8.1) jwt (0.1.8) multi_json (>= 1.5) + kaminari (0.16.1) + actionpack (>= 3.0.0) + activesupport (>= 3.0.0) libv8 (3.16.14.3) mail (2.5.4) mime-types (~> 1.16) treetop (~> 1.4.8) + meta-tags (2.0.0) + actionpack (>= 3.0.0) mime-types (1.25.1) mini_portile (0.5.2) multi_json (1.8.4) @@ -168,6 +173,9 @@ GEM oauth2 (~> 0.8.0) omniauth (~> 1.0) orm_adapter (0.5.0) + paper_trail (3.0.5) + activerecord (>= 3.0, < 5.0) + activesupport (>= 3.0, < 5.0) paperclip (3.4.2) activemodel (>= 3.0.0) activerecord (>= 3.0.0) @@ -277,6 +285,7 @@ DEPENDENCIES annotate (>= 2.5.0) awesome_nested_set bootstrap-addons-rails + bootstrap-kaminari-views! bootstrap-sass (~> 2.3.2.1) cancan carrierwave (~> 0.9.0) @@ -287,7 +296,7 @@ DEPENDENCIES fb_graph font-awesome-rails formtastic (~> 2.2.1) - formtastic-bootstrap (~> 2.1.3) + formtastic-bootstrap (~> 3.0.0) git globalize (~> 3.0.4) globalize-versioning @@ -297,11 +306,13 @@ DEPENDENCIES jquery-fileupload-rails jquery-rails jquery-ui-rails (~> 4.1.1) + kaminari + meta-tags mysql2 omniauth omniauth-facebook omniauth-ldap - paper_trail (>= 2.7.0)! + paper_trail (~> 3.0.5) paperclip (~> 3.4.0) rails (= 3.2.13) rmagick diff --git a/app/controllers/rubriken_controller.rb b/app/controllers/rubriken_controller.rb index 0ccc5fe..8f8857b 100755 --- a/app/controllers/rubriken_controller.rb +++ b/app/controllers/rubriken_controller.rb @@ -33,7 +33,7 @@ class RubrikenController < ApplicationController if can?(:showunpublished, Neuigkeit) @neuigkeiten = @rubrik.neuigkeiten.page(params[:page]).per(3) else - @neuigkeiten = @rubrik.neuigkeiten.published..page(params[:page]).per(3) + @neuigkeiten = @rubrik.neuigkeiten.published.page(params[:page]).per(3) end @toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'), :path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik @toolbar_elements << {:text=>I18n.t('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik diff --git a/app/views/neuigkeiten/show.html.erb b/app/views/neuigkeiten/show.html.erb index 66b2e13..0f6d05f 100755 --- a/app/views/neuigkeiten/show.html.erb +++ b/app/views/neuigkeiten/show.html.erb @@ -1,3 +1,15 @@ +<%= content_for :header do %> +Fetsite - <%= @neuigkeit.title %> (<%= @neuigkeit.rubrik.name %>) +<% set_meta_tags :author => fetprofile_path(@neuigkeit.author.fetprofile) %> +<% set_meta_tags :og => { + :image => @neuigkeit.picture.url.to_s, + :title => @neuigkeit.title.to_s + " (" + @neuigkeit.rubrik.name.to_s + ")", + :type => "article" +} +%> +<%= display_meta_tags %> +<% end %> + <%= render 'rubriken/tabs' %>

    <%= notice %>

    From 6ee1468ce3f54c32f01fb21653e3350e0ade83e5 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 4 Oct 2014 12:09:56 +0200 Subject: [PATCH 24/31] removecomments --- app/controllers/comments_controller.rb | 94 -------------------- app/models/ability.rb | 2 +- app/models/beispiel.rb | 2 +- app/models/comment.rb | 51 ----------- app/views/beispiele/_beispiel.html.erb | 13 --- app/views/comments/_comment.html.erb | 19 ---- app/views/comments/_comments.html.erb | 12 --- app/views/comments/_form.html.erb | 14 --- app/views/comments/edit.html.erb | 6 -- app/views/comments/hide.js.erb | 3 - app/views/comments/index.html.erb | 22 ----- app/views/comments/index.js.erb | 2 - app/views/comments/new.html.erb | 5 -- app/views/comments/new.js.erb | 1 - app/views/comments/show.html.erb | 6 -- config/application.rb | 2 +- config/routes.rb | 8 +- db/migrate/20140723172934_create_comments.rb | 19 ---- lib/is_commentable.rb | 20 ----- 19 files changed, 5 insertions(+), 296 deletions(-) delete mode 100644 app/controllers/comments_controller.rb delete mode 100644 app/models/comment.rb delete mode 100644 app/views/comments/_comment.html.erb delete mode 100644 app/views/comments/_comments.html.erb delete mode 100644 app/views/comments/_form.html.erb delete mode 100644 app/views/comments/edit.html.erb delete mode 100644 app/views/comments/hide.js.erb delete mode 100644 app/views/comments/index.html.erb delete mode 100644 app/views/comments/index.js.erb delete mode 100644 app/views/comments/new.html.erb delete mode 100644 app/views/comments/new.js.erb delete mode 100644 app/views/comments/show.html.erb delete mode 100644 db/migrate/20140723172934_create_comments.rb delete mode 100644 lib/is_commentable.rb diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb deleted file mode 100644 index 39e0490..0000000 --- a/app/controllers/comments_controller.rb +++ /dev/null @@ -1,94 +0,0 @@ -class CommentsController < ApplicationController - def index - @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? - @comments=@commentable.comments.order(:created_at).roots.page(params[:page]).per(2).reverse_order - respond_to do |format| - format.html # new.html.erb - format.json { render json: @comment } - format.js - end - - end - def hide - @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? - respond_to do |format| - format.js - end - - end - def show - @comment = Comment.find(params[:id]) - - - respond_to do |format| - format.html # show.html.erb - format.json { render json: @comment } - end - end - def new - @comment = Comment.new - @comment.commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil? - respond_to do |format| - format.html # new.html.erb - format.json { render json: @comment } - format.js - end - end - - # GET /comments/1/edit - def edit - @comment = Comment.find(params[:id]) - end - - # POST /comments - # POST /comments.json - def create - params_new= params[:comment].select {|i| !["commentable_id", "commentable_type"].include?(i)} - - c = params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil? - - @comment = Comment.build_for(c, current_user,"", params_new) - respond_to do |format| - if @comment - format.html { redirect_to @comment.commentable, notice: 'Comment was successfully created.', show_comments: true } - format.json { render json: @comment, status: :created, location: @comment } - else - format.html { render action: "new" } - format.json { render json: @comment.errors, status: :unprocessable_entity } - end - end - end - - # PUT /comments/1 - # PUT /comments/1.json - def update - - params[:comment].select! {|i| !["commentable_id", "commentable_type"].include?(i)} - @comment = Comment.find(params[:id]) - @comment.commentable=params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil? - respond_to do |format| - - if @comment.update_attributes(params[:comment]) - format.html { redirect_to @comment.commentable, notice: 'Comment was successfully updated.' } - format.json { head :no_content } - else - format.html { render action: "edit" } - format.json { render json: @comment.errors, status: :unprocessable_entity } - end - end - end - - # DELETE /comments/1 - # DELETE /comments/1.json - def destroy - @comment = Comment.find(params[:id]) - @commentable=@comment.commentable - @comment.destroy - - respond_to do |format| - format.html { redirect_to @commentable, :action=>"show"} - format.json { head :no_content } - - end - end -end diff --git a/app/models/ability.rb b/app/models/ability.rb index 3a6397c..56ba247 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -5,7 +5,7 @@ class Ability loggedin=!(user.nil?) user ||= User.new # guest user (not logged in) - can :manage, Comment + #----------------------------------------------------- # Rechteverwaltung fuer Studien Modul can [:show, :index], Studium diff --git a/app/models/beispiel.rb b/app/models/beispiel.rb index 9d94c06..2fbf52f 100755 --- a/app/models/beispiel.rb +++ b/app/models/beispiel.rb @@ -16,7 +16,7 @@ class Beispiel < ActiveRecord::Base attr_accessible :desc, :name, :lva_id, :beispieldatei, :beispieldatei_cache, :datum acts_as_votable belongs_to :lva - include IsCommentable + mount_uploader :beispieldatei, AttachmentUploader validates :beispieldatei, :presence => true validates :name, :presence => true diff --git a/app/models/comment.rb b/app/models/comment.rb deleted file mode 100644 index dd238b5..0000000 --- a/app/models/comment.rb +++ /dev/null @@ -1,51 +0,0 @@ -class Comment < ActiveRecord::Base - attr_accessible :text,:anonym, :intern, :hidden - # commentable depth, official, intern, anonym - acts_as_votable - acts_as_nested_set :scope => [:commentable_id, :commentable_type] - belongs_to :commentable, :polymorphic=> true - belongs_to :user - validate :text, :presence=>true - validate :user, :presence=>true - validate :commentable, :presence=>true - include IsCommentable - - def self.build_for(set_commentable, user, text,attr={}) - c = new - raise "Tried to build comment for non commentable" unless set_commentable.try(:is_commentable?) - c.user=user - c.text=text - c.assign_attributes(attr) - - unless set_commentable.class.to_s == "Comment" - c.commentable=set_commentable - c.save - else - - c.commentable=set_commentable.commentable - c.save - c.move_to_child_of(set_commentable) - end - c - end - def thumb_url - t_url= user.fetprofile.picture.thumb.url unless user.nil? or user.fetprofile.nil? - t_url - end - def self.wrapid_for(c) - "comments_" + c.class.to_s + "_" + c.id.to_s - end - - def self.switchshowid_for(c) - "show_comments_" + c.class.to_s + "_" + c.id.to_s - end - def divid - "comment_" + id.to_s - end - def formid -"comment_form_" + commentable_type + "_" + commentable_id.to_s - end - def self.formid_for(c) - "comment_form_" + c.class.to_s + "_" + c.id.to_s - end -end diff --git a/app/views/beispiele/_beispiel.html.erb b/app/views/beispiele/_beispiel.html.erb index 0cc3a5f..cabf958 100644 --- a/app/views/beispiele/_beispiel.html.erb +++ b/app/views/beispiele/_beispiel.html.erb @@ -33,18 +33,5 @@
    - <%= link_to "comment" , new_comment_path( commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true if can? :comment, beispiel %> - <%= link_to "comments:.."+beispiel.comments.count().to_s, comments_path(commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true, id: Comment.switchshowid_for(beispiel) %> -
    -
    - <% unless beispiel.comments.roots.empty? %> -
    -
    -
    - <%= render partial:"comments/comments", object: beispiel.comments.order(:created_at).roots.reverse_order if params[:show_comments] %> -
    -
    -
    - <% end %> diff --git a/app/views/comments/_comment.html.erb b/app/views/comments/_comment.html.erb deleted file mode 100644 index 2740c2f..0000000 --- a/app/views/comments/_comment.html.erb +++ /dev/null @@ -1,19 +0,0 @@ -
    - <%= image_tag comment.thumb_url %> -
    - - <%= (!comment.anonym) ? comment.user.try(:email) : "Anonym" %> (<%= I18n.l(comment.created_at) %>) <%= link_to ffi1_icon("remove9"), comment, method: :delete, data: { confirm: 'Are you sure?' } %>: -

    <%= comment.text %> -<% if can?(:comment, comment.commentable) %> -
    <%= link_to "comment" , new_comment_path( commentable_type: "Comment", commentable_id: comment.id), remote:true %> -<% end %> -

    -
    -
    - - <%= render partial:"comments/comments", object: comment.children.order(:created_at).reverse_order if comment.children.size >0 %> - - -
    - -
    diff --git a/app/views/comments/_comments.html.erb b/app/views/comments/_comments.html.erb deleted file mode 100644 index 4cda60e..0000000 --- a/app/views/comments/_comments.html.erb +++ /dev/null @@ -1,12 +0,0 @@ -<% unless comments.empty? %> -
    -
      -<% comments.each do |c| %> -
    • <%= render c %>
    • -<% end %> -
    -
    -<% if comments.first.root? %> -<%= paginate comments, :remote=>true , :theme=>'twitter-bootstrap'%> -<% end %> -<% end %> diff --git a/app/views/comments/_form.html.erb b/app/views/comments/_form.html.erb deleted file mode 100644 index 0f9d2c8..0000000 --- a/app/views/comments/_form.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -
    - <%= semantic_form_for form , remote:true, html: {class: "form-inline"} do |f| %> - <%= f.inputs do %> - <%= f.input :commentable_id, as: :hidden %> - <%= f.input :commentable_type, as: :hidden %> - <%= f.input :text, as: :string %> - <%= f.input :anonym %> - <% end %> - - <%= f.actions do %> - <%= f.action :submit, :as => :input %> - <% end %> -<% end %> -
    diff --git a/app/views/comments/edit.html.erb b/app/views/comments/edit.html.erb deleted file mode 100644 index ba1980e..0000000 --- a/app/views/comments/edit.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

    Editing comment

    - -<%= render 'form', object: @comment %> - -<%= link_to 'Show', @comment %> | -<%= link_to 'Back', comments_path %> diff --git a/app/views/comments/hide.js.erb b/app/views/comments/hide.js.erb deleted file mode 100644 index 53ca8af..0000000 --- a/app/views/comments/hide.js.erb +++ /dev/null @@ -1,3 +0,0 @@ -$("#<%= Comment.wrapid_for(@commentable) %>").html("<%= escape_javascript "" %>") - -$("#<%= Comment.switchshowid_for(@commentable) %>").attr("href","<%= escape_javascript comments_path(commentable_type: @commentable.class.to_s, commentable_id: @commentable.id) %>") diff --git a/app/views/comments/index.html.erb b/app/views/comments/index.html.erb deleted file mode 100644 index d97f147..0000000 --- a/app/views/comments/index.html.erb +++ /dev/null @@ -1,22 +0,0 @@ -

    Listing comments

    -<%= render partial:"comments/comments", object: @comments %> - -
    - - - - - - -<% @comments.each do |comment| %> - - - - - -<% end %> -
    <%= link_to 'Show', comment %><%= link_to 'Edit', edit_comment_path(comment) %><%= link_to 'Destroy', comment, method: :delete, data: { confirm: 'Are you sure?' } %>
    - -
    - -<%= link_to 'New Comment', new_comment_path %> diff --git a/app/views/comments/index.js.erb b/app/views/comments/index.js.erb deleted file mode 100644 index 13d7356..0000000 --- a/app/views/comments/index.js.erb +++ /dev/null @@ -1,2 +0,0 @@ -$("#<%= Comment.wrapid_for(@commentable) %>").html("<%= escape_javascript render partial:"comments/comments", object: @comments %>") -$("#<%= Comment.switchshowid_for(@commentable) %>").attr("href","<%= escape_javascript hide_comments_path(commentable_type: @commentable.class.to_s, commentable_id: @commentable.id) %>") diff --git a/app/views/comments/new.html.erb b/app/views/comments/new.html.erb deleted file mode 100644 index 4d10894..0000000 --- a/app/views/comments/new.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

    New comment

    - -<%= render partial: 'form', object: @comment %> - -<%= link_to 'Back', comments_path %> diff --git a/app/views/comments/new.js.erb b/app/views/comments/new.js.erb deleted file mode 100644 index 814b5c9..0000000 --- a/app/views/comments/new.js.erb +++ /dev/null @@ -1 +0,0 @@ -$("#<%= @comment.formid %>").replaceWith("<%= escape_javascript render partial: "form", object: @comment %>") \ No newline at end of file diff --git a/app/views/comments/show.html.erb b/app/views/comments/show.html.erb deleted file mode 100644 index a0e0552..0000000 --- a/app/views/comments/show.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

    <%= notice %>

    - -<%= render @comment %> - -<%= link_to 'Edit', edit_comment_path(@comment) %> | -<%= link_to 'Back', comments_path %> diff --git a/config/application.rb b/config/application.rb index 4c31c97..eccce65 100755 --- a/config/application.rb +++ b/config/application.rb @@ -2,7 +2,7 @@ require File.expand_path('../boot', __FILE__) require 'rails/all' require File.expand_path('lib/like_voteable.rb') -require File.expand_path('lib/is_commentable.rb') + if defined?(Bundler) # If you precompile assets before deploying to production, use this line diff --git a/config/routes.rb b/config/routes.rb index c29e992..14ce523 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,5 @@ Fetsite::Application.routes.draw do - resources :comments + themes_for_rails @@ -132,11 +132,7 @@ Fetsite::Application.routes.draw do end end end - resources :comments do - collection do - get 'hide' - end - end + resources :home, :only=>[:index] do get :search, :on => :collection collection do diff --git a/db/migrate/20140723172934_create_comments.rb b/db/migrate/20140723172934_create_comments.rb deleted file mode 100644 index 8b0ab02..0000000 --- a/db/migrate/20140723172934_create_comments.rb +++ /dev/null @@ -1,19 +0,0 @@ -class CreateComments < ActiveRecord::Migration - def change - create_table :comments do |t| - t.integer :user_id - t.integer :commentable_id - t.string :commentable_type - t.text :text - t.integer :parent_id - t.integer :lft - t.integer :rgt - t.integer :depth - t.boolean :hidden - t.boolean :official - t.boolean :intern - t.boolean :anonym - t.timestamps - end - end -end diff --git a/lib/is_commentable.rb b/lib/is_commentable.rb deleted file mode 100644 index c5c1d56..0000000 --- a/lib/is_commentable.rb +++ /dev/null @@ -1,20 +0,0 @@ -module IsCommentable - def self.included(base) - base.class_eval do - include InstanceMethods - has_many :comments, as: :commentable, dependent: :destroy -# extend ClassMethods - - end - - end - module InstanceMethods - def is_commentable? - true - end - def comment(user, text, attr={}) - comments << Comment.build_for(self, user, text, attr) - end - end - -end From 4815f57a830cfd8109369cf466db2a6a1ef032c1 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Tue, 14 Oct 2014 13:29:48 +0200 Subject: [PATCH 25/31] beispielcontroller fix :show_comments --- app/controllers/beispiele_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/beispiele_controller.rb b/app/controllers/beispiele_controller.rb index f82871c..79da712 100755 --- a/app/controllers/beispiele_controller.rb +++ b/app/controllers/beispiele_controller.rb @@ -18,7 +18,7 @@ class BeispieleController < ApplicationController # @lva = params([:lva]) unless params([:lva]).nil? @beispiel = Beispiel.find(params[:id]) respond_to do |format| - format.html { redirect_to lva_path(@beispiel.lva , show_comments: params[:show_comments])} + format.html { redirect_to lva_path(@beispiel.lva )} format.js end end From 33b30119ea732905b86b88a665030cdf65cc90d3 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Thu, 16 Oct 2014 21:44:22 +0200 Subject: [PATCH 26/31] thmen sanitize --- Gemfile | 5 +++-- app/controllers/themen_controller.rb | 23 ++++++++++++++++++++--- app/views/rubriken/index.html.erb | 1 + app/views/themen/show.html.erb | 3 ++- 4 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index c89b9cc..dea0ce9 100755 --- a/Gemfile +++ b/Gemfile @@ -9,7 +9,8 @@ gem 'webrick', '1.3.1' gem 'sqlite3' gem 'execjs', '~>1.4.0' - gem 'sanitize' + gem 'sanitize', :git=>'git://github.com/rgrove/sanitize' + # Gems used only for assets and not required # in production environments by default. gem 'sass-rails', '~> 3.2' @@ -77,7 +78,7 @@ gem 'git' gem 'haml' gem 'RedCloth' gem 'wikicloth' -gem 'gollum-lib' +#gem 'gollum-lib' gem 'awesome_nested_set' gem 'annotate', ">=2.5.0" gem 'carrierwave', "~>0.9.0" diff --git a/app/controllers/themen_controller.rb b/app/controllers/themen_controller.rb index 9b44767..f56126f 100644 --- a/app/controllers/themen_controller.rb +++ b/app/controllers/themen_controller.rb @@ -1,8 +1,9 @@ + class ThemenController < ApplicationController # GET /themen # GET /themen.json load_and_authorize_resource - + def show @thema = Thema.find(params[:id]) @fragen=@thema.fragen @@ -19,9 +20,25 @@ class ThemenController < ApplicationController end end def sanitize + require 'sanitize' @thema = Thema.find(params[:id]) - @fragen=@thema.fragen - + @fragen = @thema.fragen + trans_icons= lambda do |env| + node=env[:node] + node_name=env[:node_name] + return if env[:is_whitelisted] || !node.element? + return unless node_name == 'span' + # return unless node["class"] =~ /.*ffi.*/ + Sanitize.node!(node,{:elements=>["span"],:attributes=>{"span"=>["class","style"]},:css=>{:properties=>["color"]}}) + {:node_whitelist=>[node]} + end + @thema.text = Sanitize.fragment(@thema.text, {:elements=>['table','tr','td','p','h3','h4','a','th','img','ul','li','i','b','em'],:attributes=>{'p'=>['class'],'table'=>['class'],'a'=>['href','data'],'img'=>['src','width','height'],:all=>['class']},:css=>{:properties=>['float']},:transformers=>[trans_icons]}) + # # # + # # + # # + # + # @thema.text = @thema.text.sanitize + render :show end def verwalten @thema = Thema.find(params[:id]) diff --git a/app/views/rubriken/index.html.erb b/app/views/rubriken/index.html.erb index e07d4d7..1a58ce4 100755 --- a/app/views/rubriken/index.html.erb +++ b/app/views/rubriken/index.html.erb @@ -20,6 +20,7 @@
  • <%= render n if can?(:show, n) %>
  • <% end %> +
    <%= paginate @neuigkeiten, theme:'twitter-bootstrap' %>
    diff --git a/app/views/themen/show.html.erb b/app/views/themen/show.html.erb index 534a436..78a47ea 100644 --- a/app/views/themen/show.html.erb +++ b/app/views/themen/show.html.erb @@ -1,7 +1,8 @@

    <%= notice %>

    <%= link_to "Zurück", @thema.themengruppe %>
    +
    <%= render :partial=>"themen/small", :object=>@thema %> - +
    <%= render :partial=>'layouts/pretty_toolbar' %> From 629c7941cf99f3d96669ee9afa219c2818442821 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Thu, 16 Oct 2014 21:44:29 +0200 Subject: [PATCH 27/31] glock --- Gemfile.lock | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b85cb39..c96e8dc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -6,6 +6,15 @@ GIT kaminari (>= 0.13) rails (>= 3.1) +GIT + remote: git://github.com/rgrove/sanitize + revision: c62e83b34296f6433213cc008af8dee1421c5d1e + specs: + sanitize (3.0.2) + crass (~> 0.2.0) + nokogiri (>= 1.4.4) + nokogumbo (= 1.1.12) + GEM remote: https://rubygems.org/ specs: @@ -56,7 +65,6 @@ GEM activemodel (>= 3.2.0) activesupport (>= 3.2.0) json (>= 1.7) - charlock_holmes (0.6.9.4) climate_control (0.0.3) activesupport (>= 3.0) cocaine (0.5.3) @@ -68,6 +76,7 @@ GEM coffee-script-source execjs coffee-script-source (1.6.3) + crass (0.2.1) devise (2.2.8) bcrypt-ruby (~> 3.0) orm_adapter (~> 0.1) @@ -97,25 +106,12 @@ GEM formtastic-bootstrap (3.0.0) formtastic (>= 2.2) git (1.2.6) - github-markup (0.7.5) - gitlab-grit (2.6.0) - charlock_holmes (~> 0.6.9) - diff-lcs (~> 1.1) - mime-types (~> 1.15) - posix-spawn (~> 0.3.6) globalize (3.0.4) activemodel (>= 3.0.0, < 4.0.0) activerecord (>= 3.0.0, < 4.0.0) globalize-versioning (0.1.0.alpha.1) globalize (>= 3, < 5) paper_trail (~> 3.0.0) - gollum-lib (2.0.0) - github-markup (>= 0.7.5, < 1.0.0) - gitlab-grit (= 2.6.0) - nokogiri (~> 1.6.0) - rouge (~> 1.3.1) - sanitize (~> 2.0.6) - stringex (~> 2.1.0) haml (4.0.5) tilt hashie (2.0.5) @@ -146,13 +142,15 @@ GEM meta-tags (2.0.0) actionpack (>= 3.0.0) mime-types (1.25.1) - mini_portile (0.5.2) + mini_portile (0.6.0) multi_json (1.8.4) multipart-post (1.2.0) mysql2 (0.3.14) net-ldap (0.3.1) - nokogiri (1.6.1) - mini_portile (~> 0.5.0) + nokogiri (1.6.3.1) + mini_portile (= 0.6.0) + nokogumbo (1.1.12) + nokogiri oauth2 (0.8.1) faraday (~> 0.8) httpauth (~> 0.1) @@ -183,7 +181,6 @@ GEM cocaine (~> 0.5.0) mime-types polyglot (0.3.3) - posix-spawn (0.3.8) pyu-ruby-sasl (0.0.3.3) rack (1.4.5) rack-cache (1.2) @@ -220,7 +217,6 @@ GEM rinku (1.7.3) rmagick (2.13.2) rolify (3.2.0) - rouge (1.3.4) rspec-core (2.14.7) rspec-expectations (2.14.4) diff-lcs (>= 1.1.3, < 2.0) @@ -235,8 +231,6 @@ GEM rspec-mocks (~> 2.14.0) rubyntlm (0.1.1) rubyzip (1.1.6) - sanitize (2.0.6) - nokogiri (>= 1.4.4) sass (3.2.13) sass-rails (3.2.6) railties (~> 3.2.0) @@ -251,7 +245,6 @@ GEM rack (~> 1.0) tilt (~> 1.1, != 1.3.0) sqlite3 (1.3.8) - stringex (2.1.2) themes_for_rails (0.5.1) rails (>= 3.0.0) therubyracer (0.12.0) @@ -300,7 +293,6 @@ DEPENDENCIES git globalize (~> 3.0.4) globalize-versioning - gollum-lib haml jquery-datetimepicker-rails jquery-fileupload-rails @@ -319,7 +311,7 @@ DEPENDENCIES rolify rspec-rails rubyzip - sanitize + sanitize! sass-rails (~> 3.2) seed_dump (~> 0.5.3) simple_calendar (~> 0.1.9) From e1d5cc8d7b3fdc94b5c5d1e294a064e2bb2fb5ee Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Thu, 16 Oct 2014 21:50:41 +0200 Subject: [PATCH 28/31] rmeove wiki --- app/controllers/wikis_controller.rb | 46 ------------------ app/models/thema.rb | 4 +- app/models/wiki.rb | 73 ----------------------------- app/views/wikis/_form.html.erb | 38 --------------- app/views/wikis/edit.html.erb | 5 -- app/views/wikis/edit.js.erb | 1 - app/views/wikis/show.html.erb | 9 ---- app/views/wikis/verwalten.html.erb | 8 ---- config/routes.rb | 6 --- 9 files changed, 1 insertion(+), 189 deletions(-) delete mode 100644 app/controllers/wikis_controller.rb delete mode 100644 app/models/wiki.rb delete mode 100644 app/views/wikis/_form.html.erb delete mode 100644 app/views/wikis/edit.html.erb delete mode 100644 app/views/wikis/edit.js.erb delete mode 100644 app/views/wikis/show.html.erb delete mode 100644 app/views/wikis/verwalten.html.erb diff --git a/app/controllers/wikis_controller.rb b/app/controllers/wikis_controller.rb deleted file mode 100644 index 46b6b15..0000000 --- a/app/controllers/wikis_controller.rb +++ /dev/null @@ -1,46 +0,0 @@ -class WikisController < ApplicationController - load_and_authorize_resource - - def show - @wiki = Wiki.find(params[:id]) - @fragen = @wiki.fragen - @toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('wiki.edit'), :path=>verwalten_thema_path(@wiki)}] - end - - def wiki - @wiki = Wiki.find_or_init(params[:name]) - @fragen = @wiki.fragen - @toolbar_elements = [] -# @toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('wiki.edit'), :path=>verwalten_wiki_path(@wiki)}] - - redirect_to wiki_path(@wiki) - end - - - def edit - @wiki = Wiki.find(params[:id]) - respond_to do |format| - format.html - format.js - end - - end - - def update - @wiki = Wiki.find(params[:id]) - @themen = @wiki.themengruppe.themen.order(:priority).reverse - @wiki.raw_data=params[:wiki][:raw_data] - respond_to do |format| - if @wiki.update_attributes(params[:wiki]) - format.html { redirect_to verwalten_thema_path(@wiki), notice: 'Thema was successfully updated.' } - format.json { head :no_content } - format.js - else - format.html { render action: "edit" } - format.json { render json: @wiki.errors, status: :unprocessable_entity } - format.js { render action: "edit" } - end - end - - end -end diff --git a/app/models/thema.rb b/app/models/thema.rb index d61bf46..73f77fe 100644 --- a/app/models/thema.rb +++ b/app/models/thema.rb @@ -33,9 +33,7 @@ include Rails.application.routes.url_helpers false end end - def is_wiki? - !(wikiname.nil? || wikiname.empty?) - end + def text_first_words md = /

    (?[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p']) words=md[:text].split(" ") unless md.nil? diff --git a/app/models/wiki.rb b/app/models/wiki.rb deleted file mode 100644 index 23cd374..0000000 --- a/app/models/wiki.rb +++ /dev/null @@ -1,73 +0,0 @@ -class Wiki < Thema - validates :wikiname, :uniqueness=>true, :presence=>true - after_initialize :load_wiki - attr_accessible :wikiname, :wikiformat, :hidelink, :raw_data - WIKIFORMATS={nil=> :textile, 0 =>:textile, 1=> :mediawiki} - - def self.find_or_init(name) - w = Wiki.where(:wikiname=>name).first - page = is_file_availaible(name) - if w.nil? - unless page.nil? - w=Wiki.new(:wikiname=>name, :title=>name, :wikiformat=>Wiki::WIKIFORMATS.invert[page.format], :hidelink=>true) - else - w=Wiki.new(:wikiname=>name, :title=>name, :wikiformat=>0, :hidelink=>true) - wiki = Gollum::Wiki.new("../wiki.git", :base_path => "/wiki") - page=wiki.write_page(name, :textile, "ioi", self.commit) - w.reload_page - end - - w.themengruppe = Themengruppe.find_wiki_default - w.raw_data="Neues Wiki" - w.save - end - w - end - - def raw_data - self.page.raw_data - end - - def raw_data=(data) - self.get_page(self.wikiname) - self.wiki.update_page(self.page, self.wikiname, Wiki::WIKIFORMATS[self.wikiformat], data, self.commit) - self.text=self.page.formatted_data - - end - - def page - self.get_page(wikiname) if @page.nil? - @page - end - - def wiki - @wiki - end - def reload_page - self.get_page(self.wikiname) - end - protected - - - def self.is_file_availaible(name) - wiki = Gollum::Wiki.new("../wiki.git", :base_path => "/wiki") - wiki.page(name) - end - - def load_wiki - @wiki = Gollum::Wiki.new("../wiki.git", :base_path => "/wiki") - end - - def get_page(name) - @page= @wiki.page(name) - @page=self.wiki.write_page(self.wikiname, Wiki::WIKIFORMATS[self.wikiformat]," ",self.commit) if @page.nil? - @page - end - def commit - {message: "RailsUpdate", name:"SomeUser", email: "ttt@t"} - end - - def self.commit - {message: "RailsUpdate", name:"SomeUser", email: "ttt@t"} - end -end diff --git a/app/views/wikis/_form.html.erb b/app/views/wikis/_form.html.erb deleted file mode 100644 index b17a9e9..0000000 --- a/app/views/wikis/_form.html.erb +++ /dev/null @@ -1,38 +0,0 @@ -<%= tinymce_assets %> -

    - <%= semantic_form_for @wiki, :remote=>remote do |f| %> - <%= f.inputs do %> -
    -
    - <%= f.input :title %> -
    -
    - <%= f.input :themengruppe %> -
    -
    -
    -
    - <%= f.input :wikiformat, :as=>:select, :collection=>Wiki::WIKIFORMATS.invert %> -
    -
    - <%= f.input :hidelink, :as=>:boolean %> - - <%= @wiki.wikiname %> -
    -
    - -
    -
    - <%= f.input :raw_data, :label=>false,:as=>:text, :input_html=>{:rows=>20,:class=>"row-fluid"} %> -
    -
    - <%= f.actions do %> - <%= f.action :submit, :as => :button %> - <%= f.action :cancel, :as => :link %> - <% end %> - <% end %><% end %> - <%= tinymce %> -

    Attachments:

    - - - diff --git a/app/views/wikis/edit.html.erb b/app/views/wikis/edit.html.erb deleted file mode 100644 index 93d58a1..0000000 --- a/app/views/wikis/edit.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -
    -

    Editing thema

    -<%= render 'form', :remote=>false, :locals=>{:remote=>false} %> -
    -
    <%= link_to 'Back', @thema %> diff --git a/app/views/wikis/edit.js.erb b/app/views/wikis/edit.js.erb deleted file mode 100644 index 0255518..0000000 --- a/app/views/wikis/edit.js.erb +++ /dev/null @@ -1 +0,0 @@ -$("#themaview").html("<%= escape_javascript(raw("

    "+I18n.t('wiki.edit')+"

    ")+render(:partial=>"wikis/form", :locals=>{:remote=>true}) )%>"); diff --git a/app/views/wikis/show.html.erb b/app/views/wikis/show.html.erb deleted file mode 100644 index 9917dee..0000000 --- a/app/views/wikis/show.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -

    <%= notice %>

    -<%= link_to "Zurück", @wiki.themengruppe %> -
    -<%= debug @wiki %> -<%= render :partial=>"themen/small", :object=>@wiki %> - - -<%= render :partial=>'layouts/pretty_toolbar' %> - diff --git a/app/views/wikis/verwalten.html.erb b/app/views/wikis/verwalten.html.erb deleted file mode 100644 index a2e6f28..0000000 --- a/app/views/wikis/verwalten.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -verwalte ein wiki - -<%= @wiki %> - -<%= render :partial=>'layouts/pretty_toolbar' %> - -<%= debug @wiki %> -<%= debug params %> diff --git a/config/routes.rb b/config/routes.rb index 14ce523..ec9e760 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -23,12 +23,6 @@ Fetsite::Application.routes.draw do end devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"} - scope '(:locale)' do - scope '(t/:theme)' do - get "wiki/:name", action: :wiki, controller: :wikis - resources :wikis - end - end scope '(:locale)' do scope '(t/:theme)' do From 35a95c092215f8d624ff8c34b4bf79bd3d5e5ea1 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Thu, 16 Oct 2014 22:00:58 +0200 Subject: [PATCH 29/31] remove wiki gems --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index dea0ce9..3f1d5ee 100755 --- a/Gemfile +++ b/Gemfile @@ -76,8 +76,8 @@ gem 'paperclip' ,'~>3.4.0' gem 'git' gem 'haml' -gem 'RedCloth' -gem 'wikicloth' +#gem 'RedCloth' +#gem 'wikicloth' #gem 'gollum-lib' gem 'awesome_nested_set' gem 'annotate', ">=2.5.0" From 599ec23167636ac051eca7c17e716438402f5bc2 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Fri, 17 Oct 2014 10:09:24 +0200 Subject: [PATCH 30/31] =?UTF-8?q?small=20fix=20neue=20verkn=C3=BCpfung=20d?= =?UTF-8?q?ialog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile.lock | 9 --------- app/views/neuigkeiten/show.html.erb | 13 +++++++++---- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c96e8dc..105de97 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -18,7 +18,6 @@ GIT GEM remote: https://rubygems.org/ specs: - RedCloth (4.2.9) actionmailer (3.2.13) actionpack (= 3.2.13) mail (~> 2.5.3) @@ -86,7 +85,6 @@ GEM erubis (2.7.0) execjs (1.4.0) multi_json (~> 1.0) - expression_parser (0.9.0) factory_girl (4.3.0) activesupport (>= 3.0.0) factory_girl_rails (4.3.0) @@ -214,7 +212,6 @@ GEM rdoc (3.12.2) json (~> 1.4) ref (1.0.5) - rinku (1.7.3) rmagick (2.13.2) rolify (3.2.0) rspec-core (2.14.7) @@ -264,16 +261,11 @@ GEM warden (1.2.3) rack (>= 1.0) webrick (1.3.1) - wikicloth (0.8.1) - builder - expression_parser - rinku PLATFORMS ruby DEPENDENCIES - RedCloth acts_as_votable annotate (>= 2.5.0) awesome_nested_set @@ -322,4 +314,3 @@ DEPENDENCIES tinymce-rails (~> 4.1.0) uglifier (>= 1.0.3) webrick (= 1.3.1) - wikicloth diff --git a/app/views/neuigkeiten/show.html.erb b/app/views/neuigkeiten/show.html.erb index 0f6d05f..eb2a47d 100755 --- a/app/views/neuigkeiten/show.html.erb +++ b/app/views/neuigkeiten/show.html.erb @@ -40,9 +40,16 @@ <%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
    <%= render partial: 'nlink_list_whole', :object=>@neuigkeit.nlinks %> - +<% if can? :find_link , @neuigkeit %> Neue Verknüpfungen - + + From d26c11b93fdfc7d5e6ed4db6b4f6bac16ed06849 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Fri, 17 Oct 2014 10:09:40 +0200 Subject: [PATCH 31/31] header studium show seitentitel --- app/views/studien/show.html.erb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/views/studien/show.html.erb b/app/views/studien/show.html.erb index 01dcdcd..020cec1 100644 --- a/app/views/studien/show.html.erb +++ b/app/views/studien/show.html.erb @@ -1,3 +1,7 @@ +<%= content_for :header do %> +Fetsite - <%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>) +<% end %> + <%= render 'studien/tabs' %>

    <%= notice %>