From 4dbe3f90b46c0ef29f8ff57b42bc1693e5ebd960 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 1 Sep 2013 10:44:27 +0200 Subject: [PATCH] Neugkeiten Verwalten.. --- app/controllers/rubriken_controller.rb | 31 ++++++++++++--- app/models/neuigkeit.rb | 2 + app/views/gremien/verwalten.html.erb | 45 ++++++++++++---------- app/views/rubriken/_admin_liste.html.erb | 27 ++++++++++--- app/views/rubriken/alle_verwalten.html.erb | 14 ++++++- app/views/rubriken/verwalten.html.erb | 32 +++++++++------ 6 files changed, 106 insertions(+), 45 deletions(-) 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 @@

Listing gremien

- - - - - - - - - - - +
<% @gremien.each do |gremium| %> -
- - - - - - - +
+
+ <%= gremium.typ %> +
+
+ <%= gremium.name %> + <%= gremium.desc %> +
+
+ <%= link_to 'Show', gremium %> + <%= link_to 'Edit', edit_gremium_path(gremium) %> + <%= link_to 'Destroy', gremium, method: :delete, data: { confirm: 'Are you sure?' } %> +
+
<% end %> + + + + + + + + +
NameDescTyp
<%= 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?' } %>

- +<%= render 'layouts/pretty_toolbar' %> <%= link_to 'New Gremium', new_gremium_path %> diff --git a/app/views/rubriken/_admin_liste.html.erb b/app/views/rubriken/_admin_liste.html.erb index febe11e..e5bae28 100755 --- a/app/views/rubriken/_admin_liste.html.erb +++ b/app/views/rubriken/_admin_liste.html.erb @@ -1,8 +1,23 @@ -<% rubriken.each do |r| %> -<% r.neuigkeiten.each do |n| %> - - -<% end -end %> + <% neuigkeiten.each do |n| %> + <% r = n.rubrik %> + + + + + + + <% end %>
<%= 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 %> +
diff --git a/app/views/rubriken/alle_verwalten.html.erb b/app/views/rubriken/alle_verwalten.html.erb index 9e38681..7d44657 100755 --- a/app/views/rubriken/alle_verwalten.html.erb +++ b/app/views/rubriken/alle_verwalten.html.erb @@ -1,5 +1,15 @@ +

Neuigkeiten Verwaltung

+

Rubriken

+ +

Nicht veröffentlicht

+<%= render :partial=>"admin_liste", :locals=>{:neuigkeiten=>@neuigkeiten_unpublished} %> +

Öffentlich veröffentlicht

+<%= render :partial=>"admin_liste", :locals=>{:neuigkeiten=>@neuigkeiten_public_published} %> -<%= render :partial=>"admin_liste", :locals=>{:rubriken=>@rubriken} %> +<%= render 'layouts/pretty_toolbar' %> -<%= link_to 'New Rubrik', new_rubrik_path unless cannot?(:new, Rubrik) %> diff --git a/app/views/rubriken/verwalten.html.erb b/app/views/rubriken/verwalten.html.erb index aca6824..5fe9f4f 100755 --- a/app/views/rubriken/verwalten.html.erb +++ b/app/views/rubriken/verwalten.html.erb @@ -1,22 +1,32 @@

<%= @rubrik.name %>

-

<%= notice %>

-<%= render :partial=>'admin_liste', :locals=>{:rubriken => [@rubrik]} %> - + +

<%= notice %>

+

Nicht Veröffentlicht

+<%= render :partial=>'admin_liste', :locals=>{:neuigkeiten => @neuigkeiten_unpublished} %> +

Veröffentlicht

+<%= render :partial=>'admin_liste', :locals=>{:neuigkeiten => @neuigkeiten_published} %> + +Moderatoren: -Moderatoren: -<% @moderatoren.each do |m|%> - -<% end%> + <% @moderatoren.each do |m|%> + + + + + <% end%> +
-<%= m.email%>Entfernen
+ <%= m.email%> + + <%= link_to "Entfernen" , removemoderator_rubrik_path(:rubrik,{:moderator=>m.id})%> +
- - -<%= semantic_form_for @rubrik, :url=> url_for(:action => 'addmoderator',:id=>@rubrik.id) do |f| %> +<%= semantic_form_for [@rubrik], :url=> url_for(:action => 'addmoderator',:id=>@rubrik.id) do |f| %> <%= f.inputs do %> <%= f.input :moderator, :as => :select, :collection => Hash[User.all.map{|b| [b.email,b.id]}] ,:label=>"Hinzufuegen"%> <% end %> <%= f.action :submit %> <% end %> + <%= link_to 'Edit', edit_rubrik_path(@rubrik) %> | <%= link_to 'Anzeigen', rubrik_path(@rubrik) %> <%= link_to 'Destroy', @rubrik, method: :delete, data: { confirm: 'Are you sure?' } %>