diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index a2b6ea5..846c82b 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -11,4 +11,19 @@ class HomeController < ApplicationController def linksnotimplemented render 'links_notimplemented' end + def search + unless params['query'].nil? || params['query'].empty? + @neuigkeiten=Neuigkeit.search(params['query']) + @fetprofiles = Fetprofile.search(params['query']) + @themen=Thema.search(params['query']) + else + @neuigkeiten=[] + @fetprofiles=[] + @themen=[] + end + respond_to do |format| + format.html + format.js + end + end end diff --git a/app/models/fetprofile.rb b/app/models/fetprofile.rb index 7c23182..92bfb28 100644 --- a/app/models/fetprofile.rb +++ b/app/models/fetprofile.rb @@ -24,6 +24,7 @@ validates :desc, :presence=>true validates :nachname, length:{minimum: 3},:presence=>true validates :vorname, length:{minimum: 3},:presence=>true has_many :users + scope :search, ->(query) {where("nachname like ? or vorname like ? or short like ?", "%#{query}%", "%#{query}%", "%#{query}%")} accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:gremium_id].blank?}, :allow_destroy=>true diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index 21fe98c..2a0f582 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -24,9 +24,10 @@ class Neuigkeit < ActiveRecord::Base has_many :calentries, as: :object 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 :recent, -> { published.order(:datum).reverse_order.limit(15)} scope :unpublished, -> {where("datum >= ? OR datum IS NULL", Date.today)} scope :public, ->{includes(:rubrik).where("rubriken.public"=>:true)} + scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} accepts_nested_attributes_for :calentries, :allow_destroy=>true , :reject_if=> lambda{|a| a[:start].blank?} before_validation :sanitize def datum_nilsave diff --git a/app/models/thema.rb b/app/models/thema.rb index 22128cd..58097ac 100644 --- a/app/models/thema.rb +++ b/app/models/thema.rb @@ -18,6 +18,7 @@ class Thema < ActiveRecord::Base has_one :gremium validates :themengruppe, :presence => true validates :title, :presence => true + scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true end diff --git a/app/views/fetprofiles/_compact.html.erb b/app/views/fetprofiles/_compact.html.erb new file mode 100644 index 0000000..fe1f3df --- /dev/null +++ b/app/views/fetprofiles/_compact.html.erb @@ -0,0 +1,18 @@ +
<%= fetprofile.fetmail %>
+ <% if false %> +<%= fetprofile.desc %>
+ <% end %> + +<%= fetprofile.fetmail %>
-<%= fetprofile.desc.split(" ")[1..20].join(" ") %>
-<%= fetprofile.active %>
-
<%= image_tag neuigkeit.picture.thumb.url unless neuigkeit.picture.url.nil? %>
+
<%= image_tag neuigkeit.picture.thumb.url unless neuigkeit.picture.url.nil? %>
-