-<%= ffi1_icon "academic" %><%= link_to I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %>
-
<%= 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 @@
-
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 %>
+
+
+
<%= thema.title %> <%= link_to thema_path(thema),:remote=>true do %> <%= fa_icon('eye') %> <% end %><%= link_to edit_thema_path(thema),:remote=>true do %> <%= ff_icon('icon-pencil') %> <% 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 %>
+
<% 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' %>
-
- <%= link_to fa_icon("question")+ I18n.t("themengruppe.faqs"), faqs_themengruppen_path,class: :linkbox %>
-
-
-
-
+
+
+ <% @themengruppen.each do |themengruppe| %>
+ -
-
+ <%= render themengruppe if can?(:show,themengruppe)%>
+
+
+ <% end %>
+
+
+
+ $(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 %>
- - <%= link_to ffi1_icon("live2")+"ET-Forum",@lva.forumlink, class: :linkbox unless @lva.forumlink.nil? or @lva.forumlink.empty?%>
+ -
+ <%= link_to ffi1_icon("live2")+"ET-Forum",@lva.forumlink, class: :linkbox unless @lva.forumlink.nil? or @lva.forumlink.empty?%>
+
Prüfungsinformation
@@ -17,13 +26,12 @@
<%= @lva.lernaufwand %>
+
Beschreibung
<%= @lva.desc.to_s.html_safe %>
-
-
-
-
- <%= 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
+
<% if can? :find_link, @neuigkeit %>
<%= semantic_form_for :find_link, :url=>find_link_rubrik_neuigkeit_path(@rubrik,@neuigkeit), :html=>{:id=>"search_form", :method=>'get'} , :remote=> true do |f| %>
<%= f.input :query, :input_html => { :name => 'query' },:label=>false %>
<% end %>
+<%= render partial: 'nlink_list_search_whole', object: @nlink_search %>
+
<% end %>
+
+
+
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? %>
+
+ <% 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 @@
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? %>
-
- <% 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 @@
-
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? %>
-
-<% 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| %>
-
- | <%= link_to 'Show', comment %> |
- <%= link_to 'Edit', edit_comment_path(comment) %> |
- <%= link_to 'Destroy', comment, method: :delete, data: { confirm: 'Are you sure?' } %> |
-
-<% end %>
-
-
-
-
-<%= 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
-
+<% end %>
+
+
+
<% if can? :find_link, @neuigkeit %>
<%= semantic_form_for :find_link, :url=>find_link_rubrik_neuigkeit_path(@rubrik,@neuigkeit), :html=>{:id=>"search_form", :method=>'get'} , :remote=> true do |f| %>
<%= f.input :query, :input_html => { :name => 'query' },:label=>false %>
@@ -67,5 +74,3 @@ $(function(){
$("#findlink-open").on("click",function(){dialog.dialog("open")})
});
-
-
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' %>