diff --git a/app/assets/stylesheets/rubriken.css.scss b/app/assets/stylesheets/rubriken.css.scss index c2314eb..13073e0 100755 --- a/app/assets/stylesheets/rubriken.css.scss +++ b/app/assets/stylesheets/rubriken.css.scss @@ -1,4 +1,3 @@ // Place all the styles related to the rubriken controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ - diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb index dabdad6..9a83193 100755 --- a/app/controllers/neuigkeiten_controller.rb +++ b/app/controllers/neuigkeiten_controller.rb @@ -3,7 +3,8 @@ class NeuigkeitenController < ApplicationController load_and_authorize_resource def show - @neuigkeit = Neuigkeit.find(params[:id]) + @neuigkeit = Neuigkeit.find(params[:id]) +@rubrik=@neuigkeit.rubrik if !params[:version].nil? @neuigkeit.versions.reverse[params[:version].to_i].reify.save! @neuigkeit=Neuigkeit.find(params[:id]) @@ -30,6 +31,8 @@ class NeuigkeitenController < ApplicationController @neuigkeit = Neuigkeit.new @rubrik=Rubrik.find(params[:rubrik_id]) unless params[:rubrik_id].nil? @neuigkeit.rubrik=@rubrik unless @rubrik.nil? + @calentries= [Calentry.new] + end def add_calentry @neuigkeit=Neuigkeit.find(params[:id]) diff --git a/app/controllers/rubriken_controller.rb b/app/controllers/rubriken_controller.rb index 639fc9d..dd24fea 100755 --- a/app/controllers/rubriken_controller.rb +++ b/app/controllers/rubriken_controller.rb @@ -4,6 +4,7 @@ class RubrikenController < ApplicationController def index @rubriken = Rubrik.all @neuigkeiten = Neuigkeit.recent + @calentries= Calentry.all end def show diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index 8413e74..5667519 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -27,7 +27,7 @@ class Neuigkeit < ActiveRecord::Base scope :unpublished, -> {where("datum >= ? OR datum IS NULL", Date.today)} scope :public, ->{includes(:rubrik).where("rubriken.public"=>:true)} accepts_nested_attributes_for :calentries, :allow_destroy=>true , :reject_if=> lambda{|a| a[:start].blank?} -before_validation :sanitize + before_validation :sanitize def datum_nilsave self.datum.nil? ? Time.now + 42.years : self.datum end @@ -51,6 +51,9 @@ end md = /

(?[\w\s,\.!\?]*)/.match self.text md[:text].split(" ")[0..100].join(" ")+ " ..." end +def has_calentries? +!self.calentries.nil? && !self.calentries.empty? +end private def sanitize self.calentries.each do |calentry| diff --git a/app/models/rubrik.rb b/app/models/rubrik.rb index f98a143..67810de 100755 --- a/app/models/rubrik.rb +++ b/app/models/rubrik.rb @@ -16,13 +16,22 @@ class Rubrik < ActiveRecord::Base has_many :calentries, :through => :neuigkeiten, :as=>:object resourcify has_one :calendar -validates :calender , :presence=>true + validates :calendar , :presence=>true + before_validation :sanitize def moderator u=User.with_role(:newsmoderator).first if !u.nil? u.id end end - - + def sanitize + if self.calendar.nil? + self.calendar=Calendar.new + + +end + self.calendar.name=self.name +self.calendar.public=self.public +self.calendar.save +end end diff --git a/app/views/calendars/_calendar.html.erb b/app/views/calendars/_calendar.html.erb new file mode 100644 index 0000000..51ba10a --- /dev/null +++ b/app/views/calendars/_calendar.html.erb @@ -0,0 +1,3 @@ +<%= calendar calendar.calentries do |entry| %> +

<%= link_to entry.name.to_s, polymorphic_path(entry.object) %>
+<% end %> diff --git a/app/views/calendars/_calentries.html.erb b/app/views/calendars/_calentries.html.erb new file mode 100644 index 0000000..fbd7775 --- /dev/null +++ b/app/views/calendars/_calentries.html.erb @@ -0,0 +1,3 @@ +<%= calendar object do |entry| %> +
<%= link_to entry.name.to_s, polymorphic_path(entry.object) %>
+<% end %> diff --git a/app/views/calentries/_calentry.html.erb b/app/views/calentries/_calentry.html.erb index 2b2fbe7..13b95c0 100644 --- a/app/views/calentries/_calentry.html.erb +++ b/app/views/calentries/_calentry.html.erb @@ -1,9 +1,9 @@
-<%= image_tag("/icon_kalender_small.png") %> +<%= image_tag("/calendar-day-icon-small.png") %> <% if calentry.start.to_date == calentry.ende.to_date format=:timeonly else format =:default end%> -<%= link_to I18n.l(calentry.start) +" bis "+ I18n.l(calentry.ende,:format=>format), calendar_path(calentry.calendar) %> +<%= link_to I18n.l(calentry.start) +" bis "+ I18n.l(calentry.ende,:format=>format), calentry_path(calentry) %>
diff --git a/app/views/calentries/_form.html.erb b/app/views/calentries/_form.html.erb index 8be3ccc..8682ccc 100644 --- a/app/views/calentries/_form.html.erb +++ b/app/views/calentries/_form.html.erb @@ -16,7 +16,7 @@
- <%= f.input :calendars, :as=> :radio %> + <%= f.input :calendar, :as=> :radio %>
<%= f.input :typ %> diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index 58f3332..1e4bd1e 100755 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -14,6 +14,9 @@ Bezüglich Design und Steuerung sind Vorschläge erwünscht.

<%= link_to "Steuerelemente und Komponenten", "http://getbootst

Um bei der Entwicklung mitzuhelfen braucht nur Ruby on Rails installiert werden

<%= link_to "Getting Started" , home_startdev_path%>

+

Das Kalender Feature wird überarbeitet, in Zukunft soll folgender Link nicht mehr funktionieren <%= link_to "Kalender", calendars_path %> +

+

<%= I18n.t('home.hallobeiderfet') %>

<%= render 'beispiele' %> diff --git a/app/views/neuigkeiten/_neuigkeit.html.erb b/app/views/neuigkeiten/_neuigkeit.html.erb index 98ae3b2..3ed4a22 100755 --- a/app/views/neuigkeiten/_neuigkeit.html.erb +++ b/app/views/neuigkeiten/_neuigkeit.html.erb @@ -10,7 +10,8 @@ <%= neuigkeit.rubrik.name %> <%= "am "+ I18n.l(neuigkeit.try(:datum).try(:to_date)) unless neuigkeit.try(:datum).try(:to_date).nil? %>
-

<%= neuigkeit.title%>

+

<%= image_tag("/calendar-day-icon-small.png") if neuigkeit.has_calentries? %> +<%= neuigkeit.title%>

<%= raw(neuigkeit.text_first_words) unless neuigkeit.text.nil?%> diff --git a/app/views/rubriken/index.html.erb b/app/views/rubriken/index.html.erb index 1c0e9bd..3a41d72 100755 --- a/app/views/rubriken/index.html.erb +++ b/app/views/rubriken/index.html.erb @@ -1,11 +1,28 @@ <%= render 'tabs' %> -

<%= I18n.t("rubrik.title")%>

+

<%= notice %>

- +
+
+
+ +

<%= I18n.t("rubrik.title")%>

+
+
+
+ +
+ + +
+
+ <%= render 'calendars/calentries', :object=>@calentries %> +
+
+
diff --git a/app/views/rubriken/show.html.erb b/app/views/rubriken/show.html.erb index a024b9a..368bb4c 100755 --- a/app/views/rubriken/show.html.erb +++ b/app/views/rubriken/show.html.erb @@ -1,7 +1,8 @@ <%= render 'tabs' %>

<%= notice %>

- - +
+
+

<%= @rubrik.name %>

<%= @rubrik.desc %> @@ -12,8 +13,10 @@ <%= m.email%>, <% end%> +

+
- +
<% @neuigkeiten.each_slice(1) do |row| %>
    <% row.each do |neuigkeit| %> @@ -24,10 +27,18 @@
<% end %> +
+
+<%= render 'calendars/calentries', :object=>@rubrik.calendar.calentries %> +
+ +
+
<%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %> +
diff --git a/public/calendar-day-icon-small.png b/public/calendar-day-icon-small.png new file mode 100644 index 0000000..5fd9e39 Binary files /dev/null and b/public/calendar-day-icon-small.png differ diff --git a/public/calendar-day-icon.png b/public/calendar-day-icon.png new file mode 100644 index 0000000..971d839 Binary files /dev/null and b/public/calendar-day-icon.png differ diff --git a/public/icon_kalender.png b/public/icon_kalender.png new file mode 100644 index 0000000..b533090 Binary files /dev/null and b/public/icon_kalender.png differ