diff --git a/Gemfile b/Gemfile index ec3165b..ac45d67 100755 --- a/Gemfile +++ b/Gemfile @@ -72,8 +72,9 @@ gem 'paperclip' ,'~>3.4.0' gem 'git' gem 'haml' -#gem 'RedCloth' -#gem 'gollum' +gem 'RedCloth' +gem 'wikicloth' +gem 'gollum-lib' gem 'awesome_nested_set' gem 'annotate', ">=2.5.0" gem 'carrierwave', "~>0.9.0" diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index ba318ee..2aa11d6 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -12,6 +12,7 @@ class HomeController < ApplicationController def intern authorize! :seeintern, User @neuigkeiten = Neuigkeit.intern.recent + @themengruppen=Themengruppe.intern end def startdev render 'setup_fetsite_dev' diff --git a/app/controllers/themen_controller.rb b/app/controllers/themen_controller.rb index 3a95e58..4462131 100644 --- a/app/controllers/themen_controller.rb +++ b/app/controllers/themen_controller.rb @@ -32,6 +32,10 @@ class ThemenController < ApplicationController end def verwalten @thema = Thema.find(params[:id]) + unless (@thema.wikiname.empty? || @thema.wikiname.nil?) + redirect_to verwalten_wiki_path(Wiki.find(@thema.id)) + end + @fragen=@thema.fragen @toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>"Verwalten", :path=>verwalten_thema_path(@thema)}] @@ -54,6 +58,7 @@ class ThemenController < ApplicationController # GET /themen/1/edit def edit @thema = Thema.find(params[:id]) + respond_to do |format| format.html format.js diff --git a/app/controllers/wikis_controller.rb b/app/controllers/wikis_controller.rb new file mode 100644 index 0000000..1033d07 --- /dev/null +++ b/app/controllers/wikis_controller.rb @@ -0,0 +1,46 @@ +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_wiki_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 verwalten + @wiki = Wiki.find(params[:id]) + @toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('wiki.edit'), :path=>edit_wiki_path(@wiki)}] + + end + def edit + @wiki = Wiki.find(params[:id]) + + 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 @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 c32149c..2a3a9c4 100644 --- a/app/models/thema.rb +++ b/app/models/thema.rb @@ -22,7 +22,9 @@ class Thema < ActiveRecord::Base validates :text, :presence => true scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true - + def is_wiki? + wikiname.empty? || wikiname.nil? + end def text_first_words md = /
(? <%= link_to "FAQS", faqs_themengruppen_path,class: :btn %>
+ <%= link_to "FAQS", faqs_themengruppen_path,class: :btn %>
+
+<%= link_to I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %>
+ Die Webseite befindet sich derzeit in einem Entwicklungsstadium,
+ volle Funktionsfähigkeit ist noch nicht erreicht. Bitte Featurerequests und
+ Fehlermeldungen auf GitHub melden.
+
+ <%= link_to "Issues", "http://www.github.com/fetsite/fetsite/issues" %>
+
+ Bezüglich Design und Steuerung sind Vorschläge erwünscht.
+ <%= link_to "Steuerelemente und Komponenten", "http://getbootstrap.com/2.3.2/index.html" %> Um bei der Entwicklung mitzuhelfen braucht nur Ruby on Rails installiert werden <%= link_to "Getting Started" , startdev_home_index_path %> Das Kalender Feature wird überarbeitet, in Zukunft soll folgender Link nicht mehr funktionieren <%= link_to "Kalender", calendars_path %>
+ <%= notice %>
+
+
+
Neuigkeiten
diff --git a/app/views/themen/show.html.erb b/app/views/themen/show.html.erb
index aa8912a..534a436 100644
--- a/app/views/themen/show.html.erb
+++ b/app/views/themen/show.html.erb
@@ -5,5 +5,3 @@
<%= render :partial=>'layouts/pretty_toolbar' %>
-<%= link_to new_thema_attachment_path(@thema) ,:remote=>true do %> new Attachment <% end %>
-<%= render :partial => "themen/select", :object => @thema, :locals=>{:editor => :false} %>
diff --git a/app/views/themengruppen/index.html.erb b/app/views/themengruppen/index.html.erb
index a083311..40e7649 100644
--- a/app/views/themengruppen/index.html.erb
+++ b/app/views/themengruppen/index.html.erb
@@ -1,31 +1,23 @@
-
-
+
+ <% end %>
+
-
+
<%= I18n.t('home.willkommen') %>
+Beta Test
+
+ <% @neuigkeiten.each do |n| %>
+
+Verschiedene Styles
+
+
+Attachments:
+
+
+
diff --git a/app/views/wikis/edit.html.erb b/app/views/wikis/edit.html.erb
new file mode 100644
index 0000000..de6c7a3
--- /dev/null
+++ b/app/views/wikis/edit.html.erb
@@ -0,0 +1,5 @@
+Editing thema
+<%= render 'form' %>
+
+<%= 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
new file mode 100644
index 0000000..a2e6f28
--- /dev/null
+++ b/app/views/wikis/verwalten.html.erb
@@ -0,0 +1,8 @@
+verwalte ein wiki
+
+<%= @wiki %>
+
+<%= render :partial=>'layouts/pretty_toolbar' %>
+
+<%= debug @wiki %>
+<%= debug params %>
diff --git a/config/routes.rb b/config/routes.rb
index a3d5cd6..8c50b6c 100755
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,5 +1,5 @@
Fetsite::Application.routes.draw do
- themes_for_rails
+ themes_for_rails
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
resources :home, :only=>[:index] do
@@ -16,10 +16,24 @@
get 'users/:id/do_confirm', :controller=>:users, :action=>:do_confirm, :as=>'user_do_confirm'
get 'config',:controller=>:config,:action=>:index , :as => 'config'
- end
+ 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 do
+ member do
+ get :verwalten
+ end
+ end
+ end
+
+ end
+
+ # end
+ # end
scope ':locale' do
scope '(t/:theme)' do
# Studien
diff --git a/db/migrate/20140529120536_add_wiki_to_thema.rb b/db/migrate/20140529120536_add_wiki_to_thema.rb
new file mode 100644
index 0000000..0c5ccca
--- /dev/null
+++ b/db/migrate/20140529120536_add_wiki_to_thema.rb
@@ -0,0 +1,7 @@
+class AddWikiToThema < ActiveRecord::Migration
+ def change
+ add_column :themen, :wikiname, :string
+ add_column :themen, :wikiformat, :integer
+ add_column :themen, :hidelink, :boolea
+ end
+end
diff --git a/db/migrate/20140601114003_add_wiki_to_themengruppen.rb b/db/migrate/20140601114003_add_wiki_to_themengruppen.rb
new file mode 100644
index 0000000..d715a5c
--- /dev/null
+++ b/db/migrate/20140601114003_add_wiki_to_themengruppen.rb
@@ -0,0 +1,5 @@
+class AddWikiToThemengruppen < ActiveRecord::Migration
+ def change
+ add_column :themengruppen, :wiki_default, :boolean
+ end
+end