diff --git a/app/controllers/rubriken_controller.rb b/app/controllers/rubriken_controller.rb index b34ef46..e7a20e5 100755 --- a/app/controllers/rubriken_controller.rb +++ b/app/controllers/rubriken_controller.rb @@ -5,7 +5,6 @@ class RubrikenController < ApplicationController @rubriken = Rubrik.all @neuigkeiten = Neuigkeit.recent end - def show @rubrik = Rubrik.find(params[:id]) @@ -20,7 +19,6 @@ class RubrikenController < ApplicationController def edit @rubrik = Rubrik.find(params[:id]) end - def create @rubrik = Rubrik.new(params[:rubrik]) @@ -51,6 +49,16 @@ class RubrikenController < ApplicationController format.html { redirect_to @rubrik,:notice => response_notice } end end + + def removemoderator + rubrik = Rubrik.find(params[:id]) + m = User.find(params[:moderator]) + if m.has_role?(:newsmoderator,rubrik) + m.remove_role(:newsmoderator,rubrik) + end + redirect_to verwalten_rubrik_path(rubrik) + end + def update @rubrik = Rubrik.find(params[:id]) @@ -64,13 +72,24 @@ class RubrikenController < ApplicationController end end end + def verwalten - @rubrik = Rubrik.find(params[:id]) - @moderatoren=User.with_role(:newsmoderator,@rubrik) - end + @rubrik = Rubrik.find(params[:id]) + @neuigkeiten_unpublished = @rubrik.neuigkeiten.unpublished + @neuigkeiten_published=@rubrik.neuigkeiten.published + @moderatoren=User.with_role(:newsmoderator,@rubrik) + end + + # Alle Rubriken verwalten und Sachen einstellen.. def alle_verwalten - @rubriken =Rubrik.all + @rubriken =Rubrik.all + @neuigkeiten_unpublished = Neuigkeit.unpublished + @neuigkeiten_public_published = Neuigkeit.published.public + + @toolbar_elements << {:text=>I18n.t('common.new'),:path=>new_rubrik_path() ,:icon=>:plus} if can? :new, Rubrik + end + # DELETE /rubriken/1 # DELETE /rubriken/1.json def destroy diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index f7b8b2b..52342fa 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -24,6 +24,8 @@ class Neuigkeit < ActiveRecord::Base mount_uploader :picture, PictureUploader scope :published, -> {where("datum <= ? AND datum IS NOT NULL", Time.now.to_date).order(:datum).reverse_order} scope :recent, -> { published.where("updated_at >= ? ",Time.now - 7.days)} + scope :unpublished, -> {where("datum >= ? OR datum IS NULL", Date.today)} + scope :public, ->{includes(:rubrik).where("rubriken.public"=>:true)} def datum_nilsave self.datum.nil? ? Time.now + 42.years : self.datum end diff --git a/app/views/gremien/verwalten.html.erb b/app/views/gremien/verwalten.html.erb index 99309c1..0205204 100644 --- a/app/views/gremien/verwalten.html.erb +++ b/app/views/gremien/verwalten.html.erb @@ -1,27 +1,32 @@
| Name | -Desc | -Typ | -- | - | - |
|---|---|---|---|---|---|
| <%= gremium.name %> | -<%= gremium.desc %> | -<%= gremium.typ %> | -<%= link_to 'Show', gremium %> | -<%= link_to 'Edit', edit_gremium_path(gremium) %> | -<%= link_to 'Destroy', gremium, method: :delete, data: { confirm: 'Are you sure?' } %> | -
| <%= r.name %> | <%= n.title %> | ||
| <%= r.public%> | +<%= r.name %> | ++ <%= n.title %> + + | ++ <%= unless n.datum.nil? + I18n.l(n.datum) + else + link_to "publish", publish_rubrik_neuigkeit_path(r,n) if can?(:publish, n) + end + %> + + <%= link_to "edit", edit_rubrik_neuigkeit_path(r,n) if can? :publish, n %> + | +
<%= notice %>
-<%= render :partial=>'admin_liste', :locals=>{:rubriken => [@rubrik]} %> - + +<%= notice %>
+| -<%= m.email%> | Entfernen |
| + <%= m.email%> + | ++ <%= link_to "Entfernen" , removemoderator_rubrik_path(:rubrik,{:moderator=>m.id})%> + | +