diff --git a/Gemfile b/Gemfile index 4d026e7..ba1a015 100755 --- a/Gemfile +++ b/Gemfile @@ -117,6 +117,8 @@ gem 'whenever' gem 'yaml_db' gem 'etherpad-lite' +gem 'opengraph_parser' + # Image gallery gem 'blueimp-gallery' gem 'blueimp-gallery-rails' \ No newline at end of file diff --git a/app/assets/stylesheets/themes/blue2/application.css.scss b/app/assets/stylesheets/themes/blue2/application.css.scss index 773d11f..f7ad6bc 100755 --- a/app/assets/stylesheets/themes/blue2/application.css.scss +++ b/app/assets/stylesheets/themes/blue2/application.css.scss @@ -126,6 +126,6 @@ $box-background: white; @import 'extra'; body { -background: url('http://www.fet.at/stvn.jpg') fixed no-repeat; +background: $color_schema_1_dark; background-size:100%; } diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 59ea3df..d05b234 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -13,6 +13,15 @@ class AttachmentsController < ApplicationController # GET /attachments/1 # GET /attachments/1.json + def set_titlepic + @attachment = Attachment.find(params[:id]) + if @attachment.image? + @attachment.flag_titlepic = params[:titlepic] + @attachment.thema.titlepics << @attachment + @attachment.save + end + redirect_to @attachment.thema + end def show @attachment = Attachment.find(params[:id]) @@ -27,7 +36,7 @@ class AttachmentsController < ApplicationController def new @attachment = Attachment.new @thema = Thema.find(params[:thema_id]) - @attachment.thema = @thema + @attachment.thema = @thema respond_to do |format| format.html # new.html.erb diff --git a/app/controllers/fotos_controller.rb b/app/controllers/fotos_controller.rb index b97f105..b0f0e76 100644 --- a/app/controllers/fotos_controller.rb +++ b/app/controllers/fotos_controller.rb @@ -1,5 +1,6 @@ class FotosController < ApplicationController before_filter {@toolbar_elements=[]} + load_and_authorize_resource # GET /fotos # GET /fotos.json def index @@ -17,7 +18,13 @@ class FotosController < ApplicationController @foto = Foto.find(params[:id]) respond_to do |format| - format.html # show.html.erb + format.html { + if params[:plain] + render "show", layout: false + else + redirect_to gallery_path(@foto.gallery,:params=>{fotoid: @foto.id}) + end + } format.json { render json: @foto } end end diff --git a/app/controllers/galleries_controller.rb b/app/controllers/galleries_controller.rb index 978f200..7a047ca 100644 --- a/app/controllers/galleries_controller.rb +++ b/app/controllers/galleries_controller.rb @@ -27,9 +27,18 @@ class GalleriesController < ApplicationController end @page = params[:page].nil? ? 1 : params[:page].to_i + + # @fotos = Foto.where(:gallery_id => params[:id]).limit(@pppage_array[@pppage]).offset(@pppage_array[@pppage]*(@page-1)) @fotos = Foto.where(:gallery_id => params[:id]) - if @fotos.nil? || @fotos.empty? + unless params[:fotoid].nil? + foto_ind = @fotos.find_index(Foto.find(params[:fotoid])) + # @page=(@fotos.count/foto_ind).to_i+1 + @openfotoid=params[:fotoid] + else +@openfotoid=0 + end + if @fotos.nil? || @fotos.empty? @fotos_p = [] @fotos_n = [] @pages = 1 diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 0410a28..3d49f08 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -8,6 +8,7 @@ class HomeController < ApplicationController else @starttopic=@themen = nil end + @stickythemen = Thema.where(:sticky_startpage=>true) end def dev @@ -23,10 +24,20 @@ class HomeController < ApplicationController end def admin authorize! :doadmin, User - + t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml") + @kontaktthemen = Thema.where(:id=>t) end - + def log + authorize! :doadmin, User + lines = params[:lines] + if Rails.env == "production" + @logs = `tail -n #{lines} log/production.log | grep -v 'actionpack\\|railties\\|activesupport\\|::Translation'` + else + @logs = `tail -n #{lines} log/development.log | grep -v 'actionpack\\|railties\\|activesupport\\|::Translation'` + end + + end def startdev render 'setup_fetsite_dev' end @@ -71,7 +82,14 @@ class HomeController < ApplicationController end end def choose_contact_topics - File.open("config/contact_topic.yml",'w'){|f| f.write(params[:themen].to_yaml)} + t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml") + unless params[:themen].nil? + t=([t].flatten+params[:themen]).uniq + end + unless params[:rmthema].nil? + t=t-[params[:rmthema]] + end + File.open("config/contact_topic.yml",'w'){|f| f.write(t.to_yaml)} redirect_to admin_home_index_path end diff --git a/app/controllers/meetings_controller.rb b/app/controllers/meetings_controller.rb index 8801689..c666945 100644 --- a/app/controllers/meetings_controller.rb +++ b/app/controllers/meetings_controller.rb @@ -6,9 +6,9 @@ class MeetingsController < ApplicationController unless parent.nil? #authorize! :show, parent if params[:filter]=="upcomming" - @meetings=parent.meetings.includes(:calentry).where("calentries.start>?",1.hour.ago) + @meetings=parent.meetings.upcomming else - @meetings=parent.meetings + @meetings=parent.meetings end @parent=parent end diff --git a/app/controllers/meetingtyps_controller.rb b/app/controllers/meetingtyps_controller.rb index b8884a1..885292d 100644 --- a/app/controllers/meetingtyps_controller.rb +++ b/app/controllers/meetingtyps_controller.rb @@ -1,2 +1,76 @@ class MeetingtypsController < ApplicationController + load_and_authorize_resource + def index + @meetingtyps=Meetingtyp.all + end + def show + redirect_to action: :index + end + def edit + @meetingtyp = Meetingtyp.find(params[:id]) + end + def new + @meetingtyp=Meetingtyp.new + end + def create_protocol_and_agenda + @meetingtyp = Meetingtyp.find(params[:id]) + if @meetingtyp.agenda.nil? + d=Document.new + d.typ=11 + d.name="Agendavorlage" + d.save + @meetingtyp.agenda=d + end + if @meetingtyp.protocol.nil? + d=Document.new + d.typ=10 + d.name="Protokollvorlage" + d.save + @meetingtyp.protocol=d + end + redirect_to action: :index + end + + + def create + @meetingtyp = Meetingtyp.new(params[:meetingtyp]) + @meetingtyp.assign_attributes(params[:meetingtyp]) + + respond_to do |format| + if @meetingtyp.save + format.html { redirect_to @meetingtyp, notice: 'Meeting was successfully created.' } + #format.json { render json: @meeting, status: :created, location: @meeting } + format.js + else + format.html { render action: "new" } + # format.json { render json: @meeting.errors, status: :unprocessable_entity } + format.js { render action: "new" } + end + end + end + +def update + @meetingtyp = Meetingtyp.find(params[:id]) + respond_to do |format| + if @meetingtyp.update_attributes(params[:meetingtyp]) + format.html { redirect_to @meetingtyp, notice: 'Meeting was successfully updated.' } + # format.json { head :no_content } + format.js + else + format.html { render action: "edit" } + # format.json { render json: @meeting.errors, status: :unprocessable_entity } + format.js { render action: "edit" } + end + end + end + def destroy + @meetingtyp = Meeting.find(params[:id]) + @meetingtyp.destroy + respond_to do |format| + format.html { redirect_to action: :index} + end + end + + + end diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb index 05af5d3..937aab4 100755 --- a/app/controllers/neuigkeiten_controller.rb +++ b/app/controllers/neuigkeiten_controller.rb @@ -69,14 +69,14 @@ class NeuigkeitenController < ApplicationController @neuigkeit = Neuigkeit.find(params[:id]) unless @neuigkeit.picture.url.nil? picture_url=URI(root_url) - picture_url.path=@neuigkeit.picture.url + picture_url.path=@neuigkeit.picture.url(:locale=>nil, :theme=>nil) end unless @neuigkeit.published? redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit muss veröffentlicht sein um sie auf Facebook zu posten.' else page=YAML.load_file("#{::Rails.root.to_s}/config/page.yml") # page.feed!(:access_token=>page.access_token, :message=>@neuigkeit.text_first_words, :name=>@neuigkeit.title, :link=>rubrik_neuigkeit_url(@neuigkeit.rubrik, @neuigkeit)+".html", :picture=>@neuigkeit.picture.url) - page.feed!(:access_token=>page.access_token, :message=>@neuigkeit.text_first_words, :name=>@neuigkeit.title, :link=>rubrik_neuigkeit_url(@neuigkeit.rubrik, @neuigkeit)+".html", :picture=>picture_url) + page.feed!(:access_token=>page.access_token, :message=>@neuigkeit.text_first_words, :name=>@neuigkeit.title, :link=>rubrik_neuigkeit_url(@neuigkeit.rubrik, @neuigkeit)+".html")# , :picture=>picture_url) redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit auf Facebook gepostet' end diff --git a/app/controllers/rubriken_controller.rb b/app/controllers/rubriken_controller.rb index 141dbd6..2a75c97 100755 --- a/app/controllers/rubriken_controller.rb +++ b/app/controllers/rubriken_controller.rb @@ -2,15 +2,18 @@ class RubrikenController < ApplicationController before_filter {@toolbar_elements=[]} load_and_authorize_resource def index - if can?(:showintern, Rubrik) - @rubriken = Rubrik.all - @neuigkeiten = Neuigkeit.page(params[:page]).per(3) - else - @rubriken = Rubrik.where(:public=>true) - @neuigkeiten = Neuigkeit.public.published.page(params[:page]).per(3) - end + # if can?(:showintern, Rubrik) + # @rubriken = Rubrik.all + # @neuigkeiten = Neuigkeit.page(params[:page]).per(3) + # else + # @rubriken = Rubrik.where(:public=>true) + # @neuigkeiten = Neuigkeit.public.published.page(params[:page]).per(3) + # end - @calentries= (@rubriken.map {|r| r.calendar}).collect(&:calentries).flatten + @rubriken= Rubrik.accessible_by(current_ability, :show) + @neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).page(params[:page]).per(3) + + @calentries= (@rubriken.map {|r| r.calendar}).collect(&:calentries).flatten.select {|c| c.object !=nil} respond_to do |format| format.html format.js {render action: :show} @@ -21,20 +24,13 @@ class RubrikenController < ApplicationController end def show - if can?(:shownonpublic, Rubrik) - @rubriken = Rubrik.all - else - @rubriken = Rubrik.where(:public=>true) - end - + @rubriken= Rubrik.accessible_by(current_ability, :show) @rubrik = Rubrik.find(params[:id]) @moderatoren=User.with_role(:newsmoderator,@rubrik) - @calentries= @rubrik.calendar.calentries - if can?(:showunpublished, Neuigkeit) - @neuigkeiten = @rubrik.neuigkeiten.page(params[:page]).per(3) - else - @neuigkeiten = @rubrik.neuigkeiten.published.page(params[:page]).per(3) - end + + @calentries= @rubrik.calendar.calentries.select {|c| c.object !=nil} + @neuigkeiten = @rubrik.neuigkeiten.accessible_by(current_ability, :show).page(params[:page]).per(3) + @toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'), :path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik @toolbar_elements << {:text=>I18n.t('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik @@ -47,7 +43,6 @@ class RubrikenController < ApplicationController def new @rubrik = Rubrik.new - end def edit diff --git a/app/controllers/themen_controller.rb b/app/controllers/themen_controller.rb index 3490b13..15a03ec 100644 --- a/app/controllers/themen_controller.rb +++ b/app/controllers/themen_controller.rb @@ -3,7 +3,11 @@ class ThemenController < ApplicationController # GET /themen # GET /themen.json load_and_authorize_resource - + def index + @themen = Thema.accessible_by(current_ability,:show) + @themen_drafts = Thema.accessible_by(current_ability,:show).where(:isdraft=>true) + + end def show @thema = Thema.find(params[:id]) @fragen=@thema.fragen @@ -14,7 +18,7 @@ class ThemenController < ApplicationController respond_to do |format| format.html { - redirect_to :controller=>'themengruppen', :id=>@thema.themengruppe.id, :action=>:show, :anchor=> "thema_"+params[:id].to_s +# redirect_to :controller=>'themengruppen', :id=>@thema.themengruppe.id, :action=>:show, :anchor=> "thema_"+params[:id].to_s } format.js end diff --git a/app/controllers/themengruppen_controller.rb b/app/controllers/themengruppen_controller.rb index d47a734..0a6f0c8 100644 --- a/app/controllers/themengruppen_controller.rb +++ b/app/controllers/themengruppen_controller.rb @@ -3,7 +3,7 @@ class ThemengruppenController < ApplicationController # GET /themengruppen.json load_and_authorize_resource def index - @themengruppen = Themengruppe.where(:public=>true).order(:priority).reverse + @themengruppen = Themengruppe.accessible_by(current_ability, :show).public.order(:priority).reverse_order @toolbar_elements = [] @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.new'), :path=>new_themengruppe_path()} if can? :new, Themengruppe @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.manage_all'), :path=>verwalten_all_themengruppen_path()} if can? :verwalten_all, Themengruppe @@ -14,7 +14,7 @@ class ThemengruppenController < ApplicationController end end def faqs - @themengruppen = Themengruppe.order("themengruppen.priority").includes(:themen,{themen: :fragen}).order("themen.priority") + @themengruppen = Themengruppe.accessible_by(current_ability, :show).order("themengruppen.priority").includes(:themen,{themen: :fragen}).order("themen.priority") end @@ -22,11 +22,8 @@ class ThemengruppenController < ApplicationController # GET /themengruppen/1.json def show @themengruppe = Themengruppe.find(params[:id]) - if can? :showdraft , Thema - @themen = @themengruppe.themen - else - @themen = @themengruppe.themen.public - end + @themen=@themengruppe.themen.accessible_by(current_ability, :show) + @toolbar_elements = [] @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.manage"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe @@ -53,7 +50,7 @@ class ThemengruppenController < ApplicationController end def verwalten_all @themengruppen =Themengruppe.public.order(:priority).reverse -@themengruppen_intern =Themengruppe.intern.order(:priority).reverse + @themengruppen_intern =Themengruppe.intern.order(:priority).reverse @toolbar_elements = [{:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.new'), :path=>new_themengruppe_path()}] end @@ -63,7 +60,6 @@ class ThemengruppenController < ApplicationController @toolbar_elements =[] @toolbar_elements << {:text=>I18n.t('themengruppe.show'), :path=>themengruppe_path(@themengruppe)} if can? :show, @themengruppe - @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('themengruppe.edit'), :path=>edit_themengruppe_path(@themengruppe)} if can? :edit, @themengruppe @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('thema.add'), :path=>new_themengruppe_thema_path(@themengruppe), :remote=>true} if can? :new, Thema @toolbar_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('themengruppe.remove'), :path=>themengruppe_path(@themengruppe), :method=>:delete,:confirm=>I18n.t('themengruppe.sure')} if can? :delete, @themengruppe diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 35a3051..1e73890 100755 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -13,15 +13,17 @@ class UsersController < ApplicationController redirect_to users_url end def fb_set_default_publish_page - if params["page"].nil? || !(current_user.provider=="facebook") - redirect_to intern_home_index_path - else - @fbu=FbGraph::User.new(current_user.uid.to_s).fetch(:access_token=>session["fbuser_access_token"]) - File.open("config/page.yml",'w'){|f| f.write(@fbu.accounts(:access_token=>session["fbuser_access_token"]).select { |p| p.name == params["page"] }.first.to_yaml)} - logger.debug @fbu.to_s - redirect_to admin_home_index_path + if Fetsite::Application.config.facebookconfig_enabled + if params["page"].nil? || !(current_user.provider=="facebook") + redirect_to intern_home_index_path + else + @fbu=FbGraph::User.new(current_user.uid.to_s).fetch(:access_token=>session["fbuser_access_token"]) + File.open("config/page.yml",'w'){|f| f.write(@fbu.accounts(:access_token=>session["fbuser_access_token"]).select { |p| p.name == params["page"] }.first.to_yaml)} + logger.info @fbu.to_s + logger.info "FbGraph Access" + session["fbuser_access_token"] + redirect_to admin_home_index_path + end end - end def all_update diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 400de60..23d9f2f 100755 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -94,4 +94,12 @@ end end raw(html) end + def absurl(path) + if path.nil? + return nil + end + url=URI(root_url) + url.path=path + return url + end end diff --git a/app/models/ability.rb b/app/models/ability.rb index ccee975..8d8e51b 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -49,6 +49,7 @@ class Ability can :manage, Themengruppe can :manage, Attachment end + can [:update,:edit,:verwalten, :showdraft], Thema, :id=>Thema.with_role(:editor, user).pluck(:id) unless user.has_role?("fetadmin") cannot :delete, Themengruppe cannot :delete, Thema @@ -62,6 +63,7 @@ class Ability end if( user.has_role?("fetuser") || user.has_role?("fetadmin")) can :manage, Gallery + can :show, Foto end unless user.has_role?("fetadmin") cannot :delete, Gallery @@ -91,6 +93,7 @@ class Ability if loggedin end if( user.has_role?("fetuser") || user.has_role?("fetadmin")) + can :showversions, Neuigkeit can :showintern, Neuigkeit can :showintern, Rubrik diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 3301381..b1e7883 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -12,12 +12,12 @@ class Attachment < ActiveRecord::Base has_paper_trail - attr_accessible :name, :datei, :datei_cache + attr_accessible :name, :datei, :datei_cache,:flag_titlepic belongs_to :thema mount_uploader :datei, AttachmentUploader validates :thema, :presence => true validates :name, :presence => true - + belongs_to :parent, :polymorphic=>true def image? # data_ext = datei.file.extension.downcase diff --git a/app/models/gallery.rb b/app/models/gallery.rb index 2dcbadc..1bb18fc 100644 --- a/app/models/gallery.rb +++ b/app/models/gallery.rb @@ -15,7 +15,7 @@ class Gallery < ActiveRecord::Base attr_accessible :datum, :desc, :name, :foto_ids has_many :fotos, :dependent => :destroy # Delete fotos if gallery is destroyed has_many :nlinks, as: :link -# scope :search, ->(query) {where("name like ? or galleries.desc like ?", "%#{query}%", "%#{query}%")} + default_scope order("galleries.datum").reverse_order searchable do text :desc text :name, :boost=>3.0 diff --git a/app/models/meeting.rb b/app/models/meeting.rb index d86a024..da1a8ea 100644 --- a/app/models/meeting.rb +++ b/app/models/meeting.rb @@ -10,7 +10,7 @@ class Meeting < ActiveRecord::Base has_one :calentry, as: :object has_one :calendar, :through=>:meetingtyp has_one :rubrik, :through=>:meetingtyp - + scope :upcomming, includes(:calentry).where("calentries.start>?",1.hour.ago) accepts_nested_attributes_for :calentry # validate :agenda, :presence=>true # validate :protocol, :presence=>true @@ -50,26 +50,32 @@ class Meeting < ActiveRecord::Base end def create_protocol if self.protocol.nil? - d=Document.new - d.typ=10 + d=Document.new + d.typ=10 d.name="Protokoll" - d.save - self.protocol=d - end + unless self.meetingtyp.protocol.nil? + d.text=self.meetingtyp.protocol.text + end + d.save + self.protocol=d + end end def create_calentry if self.calentry.nil? -ce =Calentry.new -ce.typ=2 -self.calentry=ce -end -end + ce =Calentry.new + ce.typ=2 + self.calentry=ce + end + end def create_agenda if self.agenda.nil? d=Document.new d.typ=11 d.name="Agenda" + unless self.meetingtyp.agenda.nil? + d.text=self.meetingtyp.agenda.text + end d.save self.agenda=d end diff --git a/app/models/meetingtyp.rb b/app/models/meetingtyp.rb index 24760f0..bcbdd19 100644 --- a/app/models/meetingtyp.rb +++ b/app/models/meetingtyp.rb @@ -1,7 +1,12 @@ class Meetingtyp < ActiveRecord::Base - attr_accessible :agendaintern, :desc, :name, :protocolintern + attr_accessible :agendaintern, :desc, :name, :protocolintern, :rubrik_id belongs_to :rubrik validate :rubrik, :presence=>true has_many :meetings has_one :calendar, through: :rubrik + has_one :protocol, :class_name=>'Document', :conditions=>{:typ=>10}, :as=>:parent + has_one :agenda , :as=>:parent, :conditions=>{:typ=>11}, :class_name=>'Document' +def text +self.name +end end diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index caeec97..19091b0 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -33,7 +33,7 @@ class Neuigkeit < ActiveRecord::Base scope :intern, ->{includes(:rubrik).where("rubriken.public"=>false)} # scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} - LINKTYPES=["Thema", "Gallery", "Lva","Studium","Fetprofile", "Gremium"] + LINKTYPES=["Thema", "Themengruppe", "Gallery", "Lva","Studium","Fetprofile", "Gremium"] accepts_nested_attributes_for :calentries, :allow_destroy=>true , :reject_if=> lambda{|a| a[:start].blank?} before_validation :sanitize @@ -64,6 +64,18 @@ class Neuigkeit < ActiveRecord::Base def name self.title end + def load_from_facebook(link) + event=FbGraph::Event.new(link).fetch(:access_token=>"CAABtfB8SO7kBADyHVHnWHqsxsU1bqqmeDdZCp7V1KF9G4o3oFHcZBq0IB8X3ird4muVIPuWKZB8jL1o9JCON60Lmnvk8rkZA2dyZAuU95dC0SWzOEnhtAEkyzZCN6hkKXdl87o38OloLBivc2kjJYmpUVKzdZAD5ywxKG7Hv5FWxXf6amWA782JSmcxgWsRDH4ZAZBXsUrhpnILNOVoKSBf1mGyfrFiPvA3QZD") + self.title=event.name + self.text=event.description + unless event.start_time.nil? + ce=Calentry.new(:start=>event.start_time, :ende=>event.end_time , :typ=>1) + ce.ende=ce.start if ce.ende.nil? + self.calentries<< ce + ce.save + + end + end def text_first_words md = /

(?[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p']) words=md[:text].split(" ") unless md.nil? diff --git a/app/models/thema.rb b/app/models/thema.rb index 11e97aa..2149dcd 100644 --- a/app/models/thema.rb +++ b/app/models/thema.rb @@ -13,7 +13,7 @@ require 'uri' class Thema < ActiveRecord::Base include Rails.application.routes.url_helpers - attr_accessible :text, :title, :themengruppe_id,:isdraft, :hidelink, :hideattachment + attr_accessible :text, :title, :themengruppe_id,:isdraft, :hidelink, :hideattachment, :sticky_startpage,:sticky_intern has_many :fragen has_many :attachments belongs_to :themengruppe, :foreign_key => "themengruppe_id" @@ -22,21 +22,23 @@ include Rails.application.routes.url_helpers validates :themengruppe, :presence => true validates :title, :presence => true validates :text, :presence => true + has_many :titlepics, :as=>:parent, :class_name=>'Attachment', :conditions=>{:flag_titlepic=>true} has_many :meetings, :as=>:parent has_many :documents, :as=>:parent scope :public, where(:isdraft=>false).includes(:themengruppe).where("themengruppen.public"=>true) default_scope order("themen.priority").reverse_order # scope :search, ->(query) {where("themen.text like ? or themen.title like ?", "%#{query}%", "%#{query}%")} + resourcify searchable do text :text text :title, :boost=>4.0 end - scope :outdated, -> {includes(:translations).where("thema_translations.updated_atI18n.t.locale) + scope :outdated, -> {includes(:translations).where("thema_translations.updated_atI18n.t.locale) } translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true def is_outdated? unless translation.try(:updated_at).nil? - translation.updated_at < 2.month.ago + translation.updated_at < 7.month.ago else false end diff --git a/app/views/calentries/_calentry.html.erb b/app/views/calentries/_calentry.html.erb index b591e28..d96f6b6 100644 --- a/app/views/calentries/_calentry.html.erb +++ b/app/views/calentries/_calentry.html.erb @@ -8,6 +8,8 @@ format =:default end %> <%= calentry.text %> +<% if !(defined? manage) || manage %> <%= link_to "edit", edit_calentry_path(calentry),:remote=>true if can? :edit, calentry %> <%= link_to 'Delete', calentry, method: :delete, data: { confirm: 'Are you sure?' } , remote: true if can? :delete, calentry %> +<% end %> diff --git a/app/views/fotos/show.html.erb b/app/views/fotos/show.html.erb index 9183e5e..c33d0d4 100644 --- a/app/views/fotos/show.html.erb +++ b/app/views/fotos/show.html.erb @@ -1,31 +1,14 @@ -

- - -
-
- <%= link_to image_tag(@foto.datei.resized.url), gallery_foto_path(@foto.gallery, ((@foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].nil?) ? (@foto.gallery.fotos[0].try(:id).to_i) : @foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].try(:id).to_i) ) %> -
-
- -
-
-

<%= @foto.title %>

-

<%= @foto.desc %>

-
-
-

- <%= link_to 'last' , gallery_foto_path(@foto.gallery, @foto.gallery.fotos[@foto.gallery.fotos.index(@foto)-1].try(:id).to_i) unless @foto.gallery.fotos.index(@foto)==0 %> - <%= link_to 'next' , gallery_foto_path(@foto.gallery, @foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].try(:id).to_i) unless @foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].nil? %> - <%= link_to 'Edit', edit_foto_path(@foto) %> | - <%= link_to 'Back', gallery_path(@foto.gallery) %> -

-
-
-
-
+ <%= image_tag @foto.datei.resized.url, :style=>"margin: auto; +position: absolute; +left: 0; +right: 0; +bottom: 0; +top: 0;" %> +<% #, gallery_foto_path(@foto.gallery, ((@foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].nil?) ? (@foto.gallery.fotos[0].try(:id).to_i) : @foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].try(:id).to_i) ) %> +
+<%= link_to ff_icon('icon-circle-arrow-down').html_safe, @foto.datei.url, + :class=>"btn",title: I18n.t('fotos.download')+': '+@foto.title,:target=>:blank, :style=>"" %>

<%= notice %>

-
-
diff --git a/app/views/galleries/show.html.erb b/app/views/galleries/show.html.erb index d7193ea..1f4a5a0 100644 --- a/app/views/galleries/show.html.erb +++ b/app/views/galleries/show.html.erb @@ -1,18 +1,26 @@ +<%= content_for :header do %> +Fet - Fotos: <%= @gallery.name %> +<% end %> +

<%= notice %>

<%= @gallery.fotos.size.to_s + " " + I18n.t('fotos.bilder')%> - <%=I18n.l(@gallery.try(:datum).try(:to_date)) unless @gallery.try(:datum).try(:to_date).nil? %>
-

+ <%=I18n.l(@gallery.try(:datum).try(:to_date)) unless @gallery.try(:datum).try(:to_date).nil? %>
+

<%= @gallery.name %>

- -

+ +

<%= @gallery.desc %>

- - +
diff --git a/app/views/home/_beispiele.html.erb b/app/views/home/_beispiele.html.erb index 23d90c4..042288c 100644 --- a/app/views/home/_beispiele.html.erb +++ b/app/views/home/_beispiele.html.erb @@ -7,7 +7,7 @@ <%= link_to I18n.t("beispiel.add"), new_beispiel_path, :class=>"linkbox"%>
-