diff --git a/app/assets/stylesheets/themengruppen.css.scss b/app/assets/stylesheets/themengruppen.css.scss index a6d8688..bbd0ddb 100644 --- a/app/assets/stylesheets/themengruppen.css.scss +++ b/app/assets/stylesheets/themengruppen.css.scss @@ -1,22 +1,17 @@ // Place all the styles related to the themengruppen controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ -div.themengruppe -{padding:10px; -margin:2px; -border-radius: 10px; -min-width:13em; -border: #91B4FF solid 0px; -height: 90% -} -a.themengruppe:hover -{ - box-shadow: 1px 1px 2px 2px lightgray; -} -a.themengruppe +div.sticker { - padding: 5px; - display:block; + width: 90%; + text-align: center; + padding: 5px +} +div.sticker-red +{ background: red; +} +div.sticker-yellow +{ background: yellow; } \ No newline at end of file diff --git a/app/assets/stylesheets/themes/blue1/application.css.scss b/app/assets/stylesheets/themes/blue1/application.css.scss index f4e4f19..8f85488 100755 --- a/app/assets/stylesheets/themes/blue1/application.css.scss +++ b/app/assets/stylesheets/themes/blue1/application.css.scss @@ -59,7 +59,7 @@ $sansFontFamily: Helvetica, Arial; @import 'bootstrap/image-gallery'; @import 'font-awesome'; @import 'neuigkeiten'; - +@import 'themengruppen'; div.header { display: block; diff --git a/app/controllers/fetprofiles_controller.rb b/app/controllers/fetprofiles_controller.rb index 77850e1..bedb427 100644 --- a/app/controllers/fetprofiles_controller.rb +++ b/app/controllers/fetprofiles_controller.rb @@ -91,9 +91,14 @@ class FetprofilesController < ApplicationController if @fetprofile.update_attributes(params[:fetprofile]) format.html { unless params[:button]=="continue" || params[:commit]=="continue" - redirect_to @fetprofile, notice: 'Fetprofile was successfully updated.' + + redirect_to @fetprofile, notice: 'profile was successfully updated.' else - redirect_to edit_fetprofile_path(@fetprofile), notice: 'Fetprofile was successfully updated.' + @memberships=@fetprofile.memberships.order(:typ) + @memberships<< Membership.new + @memberships<< Membership.new + @memberships<< Membership.new + render action: "edit", notice: 'profile was successfully updated.' end } format.json { head :no_content } diff --git a/app/controllers/themengruppen_controller.rb b/app/controllers/themengruppen_controller.rb index c321236..a648f77 100644 --- a/app/controllers/themengruppen_controller.rb +++ b/app/controllers/themengruppen_controller.rb @@ -22,8 +22,11 @@ class ThemengruppenController < ApplicationController # GET /themengruppen/1.json def show @themengruppe = Themengruppe.find(params[:id]) + if can? :showdraft , Thema @themen = @themengruppe.themen.order(:priority).reverse - + else + @themen = @themengruppe.themen.where(:isdraft=>false).order(:priority).reverse + end @toolbar_elements = [] @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.manage"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe diff --git a/app/models/ability.rb b/app/models/ability.rb index d2a1a9e..0f57417 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -38,7 +38,7 @@ class Ability can [:show, :index], Lva can [:show,:index], Gallery can [:show, :index,:faqs], Themengruppe - can [:show], Thema + can [:show], Thema, :isdraft=>false can [:create], Beispiel can [:show, :index], Fetprofile can [:show, :index],Gremium @@ -53,7 +53,7 @@ class Ability if( user.has_role?("fetuser") || user.has_role?("fetadmin")) can :manage,:all can :manage, Modulgruppe - + can :showdraft , Thema can [:show,:index], Calendar can [:edit, :update,:new,:create,:verwalten], Calendar can [:edit, :update,:new,:create,:verwalten], Calentry diff --git a/app/models/thema.rb b/app/models/thema.rb index 589ae6c..5d98ce0 100644 --- a/app/models/thema.rb +++ b/app/models/thema.rb @@ -21,11 +21,12 @@ include Rails.application.routes.url_helpers validates :themengruppe, :presence => true validates :title, :presence => true validates :text, :presence => true + scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} - scope :outdated, -> {where("updated_at < ?", 1.week.ago)} + scope :outdated, -> {where("updated_at < ?", 2.month.ago)} translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true def is_outdated? - updated_at < 1.week.ago + updated_at < 1.month.ago end def is_wiki? !(wikiname.nil? || wikiname.empty?) diff --git a/app/models/themengruppe.rb b/app/models/themengruppe.rb index ccb5e5a..b60f5c2 100644 --- a/app/models/themengruppe.rb +++ b/app/models/themengruppe.rb @@ -21,7 +21,7 @@ class Themengruppe < ActiveRecord::Base translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true - scope :intern,-> {where(:public=>false)} + scope :intern,-> {where("NOT public")} scope :public,-> {where(:public=>true)} def self.find_wiki_default diff --git a/app/uploaders/attachment_uploader.rb b/app/uploaders/attachment_uploader.rb index 2973828..be7212e 100644 --- a/app/uploaders/attachment_uploader.rb +++ b/app/uploaders/attachment_uploader.rb @@ -26,6 +26,12 @@ end version :thumb_small do process :resize_to_fill => [32, 32] end + version :thumb_big do + process :resize_to_fill => [200,200] + end + version :resized do + process :resize_to_fit => [1024,1024] + end # Provide a default URL as a default if there hasn't been a file uploaded: # def default_url diff --git a/app/views/themen/_form.html.erb b/app/views/themen/_form.html.erb index 5d99eb7..0185a60 100644 --- a/app/views/themen/_form.html.erb +++ b/app/views/themen/_form.html.erb @@ -33,8 +33,10 @@ <% unless I18n.locale == :de %> -@thema.text -<% end %> +<% I18n.with_locale(:de) do %> +<%= raw(@thema.text) %> +<% end %><% end %> + <%= f.actions do %> <%= f.action :submit, :as => :button, :label=> I18n.t("thema.save" ) %> <%= f.action :submit, :as => :button, :label=> I18n.t("thema.savecont"), :button_html=>{:value=>"continue"} %> diff --git a/app/views/themen/_small.html.erb b/app/views/themen/_small.html.erb index a2094b2..e3b6652 100644 --- a/app/views/themen/_small.html.erb +++ b/app/views/themen/_small.html.erb @@ -2,10 +2,10 @@

<%= small.title %> <%= link_to fa_icon("pencil"), verwalten_thema_path(small) if can? :edit, small %>

<% if small.is_outdated? %> -
Outdated
+
<%= I18n.t("thema.outdated") %>
<% end %> <% if small.isdraft %> -
isdraft
+
<%= I18n.t("thema.isdraft") %>
<% end %> <%= raw(small.text) %> @@ -19,8 +19,9 @@ <%= raw(frage.text) %>

<% end %> - +<% unless small.hideattachment %> <%= render partial: "themen/attachment_list", object: small.attachments, locals:{editor: false} unless small.attachments.empty? %> +<% end %>
diff --git a/app/views/themengruppen/_themengruppe.html.erb b/app/views/themengruppen/_themengruppe.html.erb index 5a760cf..a310498 100644 --- a/app/views/themengruppen/_themengruppe.html.erb +++ b/app/views/themengruppen/_themengruppe.html.erb @@ -26,7 +26,7 @@
diff --git a/config/locales/themen.de.yml b/config/locales/themen.de.yml index 6f5de2e..ae5550b 100644 --- a/config/locales/themen.de.yml +++ b/config/locales/themen.de.yml @@ -19,6 +19,8 @@ de: created: "Thema erfolgreich erstellt" updated: "Thema erfolgreich gespeichert" sure: "Sicher, dass Sie dieses Thema löschen möchten?" + isdraft: "Entwurf" + outdated: "Veraltete Information" frage: add: "Frage hinzufügen" edit: "Frage bearbeiten" @@ -33,6 +35,9 @@ de: title: "Themen Überschrift" text: "Text" themengruppe: "Gruppe" + isdraft: "Entwurf" + hideattachment: "Anhangtabelle ausblenden" + hidelink: "Thema in Überblick nicht anzeigen" themengruppe: title: "Überschrift" priority: "Sortierung" diff --git a/config/routes.rb b/config/routes.rb index 8d41d4d..37c23ef 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,235 +1,160 @@ - Fetsite::Application.routes.draw do - themes_for_rails - devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } - resources :home, :only=>[:index] do - - end - #get 'home',:controller=>home,:action=>:index,:as=>"home_index" - scope '(:locale)/admin' do - resources :users, :only=>[] do - collection do - get :index - post :all_update - end - member do - get :fb_set_default_publish_page - end - end - get 'users/:id/add_role/:role', :controller=>:users, :action=>:add_role, :as=>'user_add_role' - get 'users/:id/do_confirm', :controller=>:users, :action=>:do_confirm, :as=>'user_do_confirm' - get 'config',:controller=>:config,:action=>:index , :as => 'config' - - end - - devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"} - scope '(:locale)' do - scope '(t/:theme)' do - - get "wiki/:name", action: :wiki, controller: :wikis - resources :wikis do - member do - - end - end - end - - end - - # end - # end - scope '(:locale)' do - scope '(t/:theme)' do - # Studien - - scope '(:ansicht)' do - resources :studien, :only=>[:new,:edit,:update,:destroy,:show] do - member do - get :edit_lvas - end - end - end - - resources :modulgruppen,:only =>[:create,:index] do - end - - resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do - resources :modulgruppen, :path => "(:locale)/modulgruppen" - - end - get 'verwalten/studien', :controller=>:studien, :action=>:verwalten, :as=>'studien_verwalten' - - resources :fetzneditions - resources :galleries do - collection do - get 'verwalten' - end - resources :fotos - end - - resources :gremien do - collection do - get 'verwalten' - end - end - resources :fetprofiles do - collection do - get 'verwalten' - get 'internlist' - end - resources :memberships, :only => [:new, :edit, :update,:destroy,:create] - end - resources :lecturers - resources :semesters - resources :moduls do - member do - get 'edit_lvas' - post 'update_lvas' - get 'load_tiss' - post 'show_tiss' - end - collection do - get 'edit_bulk' - get 'new_bulk' - post 'update_bulk' - end - - end - resources :beispiele#, :only=>[:show,:index,:create] - resources :lvas do - member do - get 'compare_tiss' - get 'load_tiss' - end - resources :beispiele#, :only=>[:show,:index,:create] - - end - - resources :fragen - # get 'rubriken/verwalten', :controller=>:rubriken, :action=>:alle_verwalten, :as=>'alle_verwalten_rubrik' - #resources :neuigkeiten, :except => [:index] do - - #end - resources :neuigkeiten, :only =>[:show] - - resources :rubriken do - collection do - get 'verwalten' , :action => :alle_verwalten - get 'intern' - end - member do - get 'verwalten' - put 'addmoderator' - get 'removemoderator' - end - resources :neuigkeiten, :except => [:index] do - member do - get 'publish' - get 'unpublish' - get 'add_calentry' - get 'rm_calentry' - get 'create_link' - get 'find_link' - get 'publish_to_facebook' - end - end - end - - # put 'rubriken/(:id)/addmoderator',:controller=>:rubriken,:action=>:addmoderator - # get 'rubriken/:id/verwalten',:controller=>:rubriken,:action=>:verwalten, :as=>'verwalten_rubrik' - # get 'rubriken/verwalten',:controller=>:rubriken,:action=>:alle_verwalten, :as=>'rubriken_verwalten' - - resources :home, :only=>[:index] do - get :search, :on => :collection - collection do - get 'intern' - get 'admin' - get 'dev' - get 'startdev' - get 'linksnotimplemented' - get 'kontakt' - end +Fetsite::Application.routes.draw do + themes_for_rails + devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } + resources :home, :only=>[:index] do + end + + scope '(:locale)/admin' do + resources :users, :only=>[] do + collection do + get :index + post :all_update + end + member do + get :fb_set_default_publish_page + end end - - resources :themen do - member do - get :attachments - get :fragen - get :verwalten - end - resources :attachments - end - - resources :themengruppen do - get :verwalten - get :verwalten_all,:on=>:collection - get :faqs, :on=>:collection - post :sort_themen - post :sort_themengruppen, :on=>:collection - resources :themen, :only=>[:new, :show] - end - - resources :calendars - get 'verwalten/calendars', :controller=>:calendars, :action=>:verwalten, :as=>'calendars_verwalten' - - resources :calentries - end + get 'users/:id/add_role/:role', :controller=>:users, :action=>:add_role, :as=>'user_add_role' + get 'users/:id/do_confirm', :controller=>:users, :action=>:do_confirm, :as=>'user_do_confirm' + get 'config',:controller=>:config,:action=>:index , :as => 'config' + end + devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"} + + scope '(:locale)' do + scope '(t/:theme)' do + get "wiki/:name", action: :wiki, controller: :wikis + resources :wikis + end + end + + scope '(:locale)' do + scope '(t/:theme)' do + + scope '(:ansicht)' do + resources :studien, :only=>[:new,:edit,:update,:destroy,:show] do + member do + get :edit_lvas + end + end + end + + resources :modulgruppen,:only =>[:create,:index] do + end + + resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do + resources :modulgruppen, :path => "(:locale)/modulgruppen" + end + get 'verwalten/studien', :controller=>:studien, :action=>:verwalten, :as=>'studien_verwalten' + + resources :lecturers + resources :semesters + resources :moduls do + member do + get 'edit_lvas' + post 'update_lvas' + get 'load_tiss' + post 'show_tiss' + end + collection do + get 'edit_bulk' + get 'new_bulk' + post 'update_bulk' + end + + end + resources :beispiele#, :only=>[:show,:index,:create] + resources :lvas do + member do + get 'compare_tiss' + get 'load_tiss' + end + resources :beispiele#, :only=>[:show,:index,:create] + + end + + resources :fetzneditions + resources :galleries do + collection do + get 'verwalten' + end + resources :fotos + end + + resources :gremien do + collection do + get 'verwalten' + end + end + resources :fetprofiles do + collection do + get 'verwalten' + get 'internlist' + end + end + + resources :fragen, :only =>[:new, :edit, :update, :destroy, :create] + + + + resources :rubriken do + collection do + get 'verwalten' , :action => :alle_verwalten + get 'intern' + end + member do + get 'verwalten' + put 'addmoderator' + get 'removemoderator' + end + + resources :neuigkeiten, :except => [:index] do + member do + get 'publish' + get 'unpublish' + get 'add_calentry' + get 'rm_calentry' + get 'create_link' + get 'find_link' + get 'publish_to_facebook' + end + end + end + + resources :home, :only=>[:index] do + get :search, :on => :collection + collection do + get 'intern' + get 'admin' + get 'dev' + get 'startdev' + get 'linksnotimplemented' + get 'kontakt' + end + end + + resources :themengruppen do + get :verwalten + get :verwalten_all,:on=>:collection + get :faqs, :on=>:collection + post :sort_themen + post :sort_themengruppen, :on=>:collection + resources :themen, :only=>[:new, :show] + end + + resources :themen do + member do + get :attachments + get :fragen + get :verwalten + end + resources :attachments + end + + resources :calendars + get 'verwalten/calendars', :controller=>:calendars, :action=>:verwalten, :as=>'calendars_verwalten' + resources :calentries + end + end + root :to => 'home#index' end - # The priority is based upon order of creation: - # first created -> highest priority. - # Sample of regular route: - # match 'products/:id' => 'catalog#view' - # Keep in mind you can assign values other than :controller and :action - - # Sample of named route: - # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase - # This route can be invoked with purchase_url(:id => product.id) - - # Sample resource route (maps HTTP verbs to controller actions automatically): - # resources :products - - # Sample resource route with options: - # resources :products do - # member do - # get 'short' - # post 'toggle' - # end - # - # collection do - # get 'sold' - # end - # end - - # Sample resource route with sub-resources: - # resources :products do - # resources :comments, :sales - # resource :seller - # end - - # Sample resource route with more complex sub-resources - # resources :products do - # resources :comments - # resources :sales do - # get 'recent', :on => :collection - # end - # end - - # Sample resource route within a namespace: - # namespace :admin do - # # Directs /admin/products/* to Admin::ProductsController - # # (app/controllers/admin/products_controller.rb) - # resources :products - # end - - # You can have the root of your site routed with "root" - # just remember to delete public/index.html. - - root :to => 'home#index' - - # See how all your routes lay out with "rake routes" - - # This is a legacy wild controller route that's not recommended for RESTful applications. - # Note: This route will make all actions in every controller accessible via GET requests. - # match ':controller(/:action(/:id))(.:format)' - end -