From 2afbd0fa4538b1cf62ef494d6acc59a9cb413e4c Mon Sep 17 00:00:00 2001 From: Pet Date: Tue, 15 May 2018 20:15:01 +0200 Subject: [PATCH] Added the verleihkalender view --- .../images/infoscreen_header_provisorisch.png | Bin 0 -> 43560 bytes app/controllers/home_controller.rb | 7 ++- app/models/ability.rb | 49 ++++++++++-------- 3 files changed, 32 insertions(+), 24 deletions(-) create mode 100644 app/assets/images/infoscreen_header_provisorisch.png diff --git a/app/assets/images/infoscreen_header_provisorisch.png b/app/assets/images/infoscreen_header_provisorisch.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6f6717944e827b6df4a836e44c3bff95e8bdcb GIT binary patch literal 43560 zcmY(q1z1}_pFJEX6bi+PyA>(!UaU|kPLbg56n72o*5VGu-QB&oyQFAvcL`s*@9uy1 zd$Dod5t-?0?^IfV2z(*i9toZ}O5zn~3D-xTLXOXb-SkgwB#0&R^_o zY)oyP0bd+V4V_I*DBLWaEhwbE$twZ<(eVKQ3cxoBF;(}K<4lhX6E%;!uA)PAHM`mM z*}AGRHdMC0Lu4xCKMeG>h(6f3%G>Gf;q0`P7xH>}A3HnQ!)XWUiLmpG66C`u{uKK4 z2{84(e^bZSSH8|U%h{m{Ty#vnf-3v8*{!!WxBy*%KoNam$;pb=QGQ64(K1mPjXV}sBfdqduH-}Spi8c|Ri>t|C%$q{$Ka&IwyJHv1!Hnn zt

iH80*>tqq~ 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 literal 0 HcmV?d00001 diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index bb0be2b..1c6ab33 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -21,10 +21,15 @@ class HomeController < ApplicationController end def infoscreen - authorize! :infoscreen, User + authorize! :infoscreen, User @neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).where(flag_infoscreen: true) render layout: false end + def verleihkalender + authorize! :verleihkalender, User + #@neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).where(flag_infoscreen: true) + render layout: false + end def kontakt t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml") @themen = Thema.where(:id=>t) diff --git a/app/models/ability.rb b/app/models/ability.rb index 6af31a3..0516cdb 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -4,7 +4,7 @@ class Ability include CanCan::Ability def initialize(user,request=nil,key=nil) tunet=IPAddr.new("128.131.95.0/24") -local=IPAddr.new("127.0.0.1") + local=IPAddr.new("127.0.0.1") loggedin=!(user.nil?) unless key.nil? k=Key.find_by_uuid(key) @@ -16,6 +16,9 @@ local=IPAddr.new("127.0.0.1") if (user.has_role?("fetuser") || user.has_role?("fetadmin") || tunet.include?(IPAddr.new(request.remote_ip)) || local.include?(IPAddr.new(request.remote_ip))) can :infoscreen, User end + if (user.has_role?("fetuser") || user.has_role?("fetadmin") || tunet.include?(IPAddr.new(request.remote_ip)) || local.include?(IPAddr.new(request.remote_ip))) + can :verleihkalender, User + end if( user.has_role?("fetuser") || user.has_role?("fetadmin")) can [:show,:answer, :create,:new, :create_from_template, :flag], Survey::Question @@ -29,10 +32,10 @@ local=IPAddr.new("127.0.0.1") can [:delete,:flag_template], Survey::Question end #--------------------------------------------------- - + can [:index,:hide], Comment can :show, Comment - + if loggedin can [:create,:new], Comment can [:comment], Comment @@ -52,7 +55,7 @@ cannot :destroy, Comment can [:create, :show], Beispiel, flag_delete: false if loggedin can :like, Beispiel - can :dislike, Beispiel + can :dislike, Beispiel end if ((user.has_role?("moderator",Beispiel)) || user.has_role?("fetuser") || user.has_role?("fetadmin")) can :flag, Beispiel @@ -76,22 +79,22 @@ cannot :destroy, Comment can :manage, Studium #can :manage, Beispiel can :comment, Beispiel - + can :manage, Lecturer - + end unless user.has_role?("fetadmin") - cannot :delete, Studium + cannot :delete, Studium cannot :delete, Modulgruppe cannot :delete, Modul - + end if user.has_role?("fetadmin") can [:index, :parse, :show], Crawlobject end #----------------------------------------------------- # Rechteverwaltung fuer Informationen - can [:show, :index,:faqs], Themengruppe, :public=>true + can [:show, :index,:faqs], Themengruppe, :public=>true can [:show], Thema, :isdraft=>false, :themengruppe=>{:public=>true} can :show, Frage if loggedin @@ -133,7 +136,7 @@ end unless user.has_role?("fetadmin") cannot :delete, Gallery end - + #----------------------------------------------------- # Rechteverwaltung fuer Mitarbeiter can [:show, :index], Fetprofile @@ -149,7 +152,7 @@ end cannot :delete, Fetprofile cannot :delete ,Gremium end - + #----------------------------------------------------- # Rechteverwaltung fuer Neuigkeiten can :index, Rubrik @@ -171,9 +174,9 @@ end can :shownonpublic, Rubrik can :manage, Nlink end - if user.has_role?("newsadmin") || user.has_role?("fetadmin") + if user.has_role?("newsadmin") || user.has_role?("fetadmin") can :addmoderator, Rubrik - end + end if user.has_role?("fetadmin") can :addfetuser, User can :addfetadmin, User @@ -184,8 +187,8 @@ end can :manage, User can :set_preferred_theme, User end - - if user.has_role?("newsadmin") || user.has_role?( "fetadmin") || user.has_role?( "fetuser") + + if user.has_role?("newsadmin") || user.has_role?( "fetadmin") || user.has_role?( "fetuser") can :manage, Rubrik can :manage, Neuigkeit can :showunpublished, Neuigkeit @@ -200,7 +203,7 @@ end can [:show, :edit, :update,:new,:create,:write, :write_etherpad, :read_from_etherpad, :dump_to_etherpad, :search], Document can :manage, Meeting can :manage, Meetingtyp - end + end if user.has_role?("fetadmin") can :manage, Document end @@ -213,19 +216,19 @@ end end if user.has_role?( "fetadmin") can :manage, Meetingtyp - + end - - # Rechteverwaltung Kalender - can [:show, :index], Calendar, :public => true + + # Rechteverwaltung Kalender + can [:show, :index], Calendar, :public => true can [:showics], Calendar # can [:show], Calentry - if (!k.nil? && k.typ==1 && (k.user.has_role?("fetuser")||k.user.has_role?("fetadmin"))) + if (!k.nil? && k.typ==1 && (k.user.has_role?("fetuser")||k.user.has_role?("fetadmin"))) if k.parent.nil? can [:show,:index], Calendar else can [:show], Calendar, id: k.parent_id - end + end end if( user.has_role?("fetuser") || user.has_role?("fetadmin")) @@ -242,6 +245,6 @@ end if user.has_role?("fetadmin") can :emails,User end - + end end