From 72be6c2f109bed78eb0848ac16a9e3eb2e995470 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 15 Jun 2015 15:21:22 +0200 Subject: [PATCH 01/19] ability search document --- app/models/ability.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/ability.rb b/app/models/ability.rb index 65087d3..1b460d5 100755 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -145,7 +145,7 @@ end # Calendar if( user.has_role?("fetuser") || user.has_role?("fetadmin")) - can [:show, :edit, :update,:new,:create,:write, :write_etherpad, :read_from_etherpad, :dump_to_etherpad], Document + can [:show, :edit, :update,:new,:create,:write, :write_etherpad, :read_from_etherpad, :dump_to_etherpad, :search], Document can :manage, Meeting can :manage, Meetingtyp end From 01521104cee69cac8319f549702714bf98e9f21c Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 15 Jun 2015 15:21:49 +0200 Subject: [PATCH 02/19] crawler link --- app/views/themes/blue2/home/intern.html.erb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/views/themes/blue2/home/intern.html.erb b/app/views/themes/blue2/home/intern.html.erb index 2f5aab7..ed26900 100644 --- a/app/views/themes/blue2/home/intern.html.erb +++ b/app/views/themes/blue2/home/intern.html.erb @@ -12,6 +12,10 @@
  • <%= link_to "Treeview" , treeview_home_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
  • +
  • + <%= link_to "Crawler" , crawler_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %> +
  • +
    Suche nach Protokollen <%= semantic_form_for :search,:remote=>true, :url=>search_documents_path, :html=>{:id=>"search_form",:class=>"", :method=>'get'} do |f| %> From e3624263f5a53ff1bb6bd2fc787f5e1e3f3d431d Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 15 Jun 2015 15:39:03 +0200 Subject: [PATCH 03/19] crawler type 6 --- app/controllers/crawler_controller.rb | 8 +++-- app/models/crawlobject.rb | 4 +-- app/views/crawler/index.html.erb | 46 ++++++++++++++++++++++----- 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/app/controllers/crawler_controller.rb b/app/controllers/crawler_controller.rb index 25e571a..c5a9903 100644 --- a/app/controllers/crawler_controller.rb +++ b/app/controllers/crawler_controller.rb @@ -4,6 +4,8 @@ class CrawlerController < ApplicationController authorize! :doadmin, User @crawlobjs=Crawlobject.where(:objtype=>5).order(:published_at).reverse_order + @crawlobjs_etit=Crawlobject.where(:objtype=>6).order(:published_at).reverse_order + end def load_attachments authorize! :doadmin, User @@ -21,9 +23,11 @@ class CrawlerController < ApplicationController authorize! :doadmin, User co=Crawlobject.find(params[:id]) - if co.objtype == 5 - co.move_to_neuigkeit(User.find(Rails.configuration.crawlconfig[5]["user_id"]), Rubrik.find(Rails.configuration.crawlconfig[5]["rubrik_id"])) + if co.objtype == 5 || co.objtype==6 + co.move_to_neuigkeit(User.find(Rails.configuration.crawlconfig[co.objtype]["user_id"]), Rubrik.find(Rails.configuration.crawlconfig[co.objtype]["rubrik_id"])) redirect_to co.something end + + end end diff --git a/app/models/crawlobject.rb b/app/models/crawlobject.rb index 4b00a7c..da31d88 100644 --- a/app/models/crawlobject.rb +++ b/app/models/crawlobject.rb @@ -15,7 +15,7 @@ class Crawlobject < ActiveRecord::Base end end def move_to_neuigkeit(user,rubrik) - if self.objtype == 5 and self.something.nil? + if ( self.objtype == 5 || self.objtype == 6 )and self.something.nil? n=Neuigkeit.new n.title=self.name n.text=self.text @@ -27,7 +27,7 @@ class Crawlobject < ActiveRecord::Base self.something=n self.save return n - elsif self.objtype == 5 + elsif ( self.objtype == 5 || self.objtype==6) n=self.something n.title=self.name n.text=self.text diff --git a/app/views/crawler/index.html.erb b/app/views/crawler/index.html.erb index 08eeeb1..6d271a4 100644 --- a/app/views/crawler/index.html.erb +++ b/app/views/crawler/index.html.erb @@ -1,9 +1,39 @@

    HTU News

    - -<% @crawlobjs.each do |co| %> - -<% end %> -
    <%= render co %> -<%= link_to "move_to_news",move_to_news_crawler_path(co) %> -<%= render co.something unless co.something.nil? %> -
    + +
    + + +
    + + <% @crawlobjs.each do |co| %> + + + + + <% end %> +
    <%= render co %> + <%= link_to "move_to_news",move_to_news_crawler_path(co) %> + <%= render co.something unless co.something.nil? %> +
    + +
    +
    + + <% @crawlobjs_etit.each do |co| %> + + + + + <% end %> +
    <%= render co %> + <%= link_to "move_to_news",move_to_news_crawler_path(co) %> + <%= render co.something unless co.something.nil? %> +
    + +
    + +
    + From 67c3fc8089bcc124ac63e76ddcdaad770d5449e6 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 15 Jun 2015 15:39:09 +0200 Subject: [PATCH 04/19] intend --- app/views/studien/_form.html.erb | 52 ++++++++++++++++---------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/app/views/studien/_form.html.erb b/app/views/studien/_form.html.erb index 7d0bef3..9cdf61d 100755 --- a/app/views/studien/_form.html.erb +++ b/app/views/studien/_form.html.erb @@ -10,32 +10,32 @@

    -

    +

    - -
    - <%= f.input :abkuerzung %> - <%= f.input :zahl %> - <%= f.input :typ, :as=>:select, :include_blank=>false, :collection=>["Bachelor","Master"] %> - - <%= image_tag(@studium.picture.thumb.url) unless @studium.picture.nil? %> - <%= f.file_field :picture %> - <%= f.hidden_field :picture_cache %> -
    - -
    -
    - <%= raw(@studium.desc) %> -
    - <%= f.input :desc, :as=>:hidden %> -
    - + +
    + <%= f.input :abkuerzung %> + <%= f.input :zahl %> + <%= f.input :typ, :as=>:select, :include_blank=>false, :collection=>["Bachelor","Master"] %> + + <%= image_tag(@studium.picture.thumb.url) unless @studium.picture.nil? %> + <%= f.file_field :picture %> + <%= f.hidden_field :picture_cache %> +
    + +
    +
    + <%= raw(@studium.desc) %> +
    + <%= f.input :desc, :as=>:hidden %> +
    +
    <%= raw(@studium.qualifikation) %> @@ -65,7 +65,7 @@ <%= tinymce :inline_div %> <%= f.actions do %> <%= f.action :submit, :as => :input %> - <%= link_to 'Back', studien_path, :data=>{:locale=>I18n.locale}, class: :btn%> + <%= link_to 'Back', studien_path, :data=>{:locale=>I18n.locale}, class: :btn %> <% end %> <% end %>
    From 3618db1376e960b56e9ef5cbc98a1d2a8fc154ed Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 15 Jun 2015 17:03:08 +0200 Subject: [PATCH 05/19] AutoCommit Mon Jun 15 17:03:08 CEST 2015 --- .../themes/blue2/application.css.scss | 26 +++++++++++++++++++ app/controllers/.#crawler_controller.rb | 1 + app/controllers/crawler_controller.rb | 10 ++++--- app/views/themes/blue2/home/intern.html.erb | 14 +++++----- config/routes.rb | 1 + 5 files changed, 42 insertions(+), 10 deletions(-) create mode 120000 app/controllers/.#crawler_controller.rb diff --git a/app/assets/stylesheets/themes/blue2/application.css.scss b/app/assets/stylesheets/themes/blue2/application.css.scss index 6276bbd..18fdadb 100755 --- a/app/assets/stylesheets/themes/blue2/application.css.scss +++ b/app/assets/stylesheets/themes/blue2/application.css.scss @@ -128,3 +128,29 @@ body { background: #FFF; //#EFEFEF; background-size:100%; } + +ul.linklist_block a.linkbox +{ +max-width:100%; +padding:0; +margin:5px; +width: 6em; +text-align:center; +} +ul.linklist_block a.linkbox:hover +{background:lighten($color_schema_1,40%); +} +ul.linklist_block li +{text-decoration: none; +list-style:none; +margin-bottom:2px; +float:left; +} +ul.linklist_block li a i{ +display:block; +vertical-align:middle; +margin-right:6px; +font-size:5em; +line-height:70px; +} +ul.linklist_block { clear:left; float:none;} diff --git a/app/controllers/.#crawler_controller.rb b/app/controllers/.#crawler_controller.rb new file mode 120000 index 0000000..038438c --- /dev/null +++ b/app/controllers/.#crawler_controller.rb @@ -0,0 +1 @@ +andreas@andreas-ThinkPad-S430.4992:1434372676 \ No newline at end of file diff --git a/app/controllers/crawler_controller.rb b/app/controllers/crawler_controller.rb index c5a9903..21304f2 100644 --- a/app/controllers/crawler_controller.rb +++ b/app/controllers/crawler_controller.rb @@ -20,14 +20,16 @@ class CrawlerController < ApplicationController end end def move_to_news - authorize! :doadmin, User - + authorize! :doadmin, User co=Crawlobject.find(params[:id]) if co.objtype == 5 || co.objtype==6 co.move_to_neuigkeit(User.find(Rails.configuration.crawlconfig[co.objtype]["user_id"]), Rubrik.find(Rails.configuration.crawlconfig[co.objtype]["rubrik_id"])) redirect_to co.something end - - + end + def do_crawl_news + Crawlobject.crawl_news(5) + Crawlobject.crawl_news(6) + redirect_to action: :index end end diff --git a/app/views/themes/blue2/home/intern.html.erb b/app/views/themes/blue2/home/intern.html.erb index ed26900..3fdfd18 100644 --- a/app/views/themes/blue2/home/intern.html.erb +++ b/app/views/themes/blue2/home/intern.html.erb @@ -2,21 +2,23 @@
    -
    +
    Suche nach Protokollen <%= semantic_form_for :search,:remote=>true, :url=>search_documents_path, :html=>{:id=>"search_form",:class=>"", :method=>'get'} do |f| %> <%= f.input :query, :input_html => { :name => 'query' } , :label=>false, :class=>"search-query" %> diff --git a/config/routes.rb b/config/routes.rb index 75fc02b..197d4d5 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -21,6 +21,7 @@ resources :crawler, :only=>[] do collection do get :index + get :do_crawl_news end member do get :move_to_news From 3c5ca56b13205f95aed27e31fbadd47f4d71276b Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Mon, 15 Jun 2015 18:03:04 +0200 Subject: [PATCH 06/19] AutoCommit Mon Jun 15 18:03:04 CEST 2015 --- app/controllers/crawler_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/crawler_controller.rb b/app/controllers/crawler_controller.rb index 21304f2..d47f3c5 100644 --- a/app/controllers/crawler_controller.rb +++ b/app/controllers/crawler_controller.rb @@ -27,6 +27,7 @@ class CrawlerController < ApplicationController redirect_to co.something end end + def do_crawl_news Crawlobject.crawl_news(5) Crawlobject.crawl_news(6) From efe17c681f5de76fc5ae038c4d7310d2552c10e0 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Tue, 16 Jun 2015 16:03:07 +0200 Subject: [PATCH 07/19] AutoCommit Die Jun 16 16:03:07 CEST 2015 --- app/controllers/application_controller.rb | 2 +- config/routes.rb | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index eb8fb64..60164ec 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -51,6 +51,6 @@ def current_ability @current_ability ||= Ability.new(current_user, request, params[:key]) end def default_url_options - {locale: I18n.locale, theme: nil , ansicht: nil} + {locale: nil, theme: nil , ansicht: nil} # I18n.locale end end diff --git a/config/routes.rb b/config/routes.rb index 197d4d5..7a522f8 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -32,9 +32,11 @@ devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"} - scope '(:locale)' do + scope '(:locale)', constraints: {:locale=>/en|de/i} do scope '(t/:theme)' do - + get "" , controller: :home, action: :index + get "intern" , controller: :home, action: :intern + scope '(:ansicht)' do resources :studien, :only=>[:new,:edit,:update,:destroy,:show] do member do @@ -107,7 +109,8 @@ resources :fragen, :only =>[:new, :edit, :update, :destroy, :create] - resources :neuigkeiten, :only => [:show] + resources :neuigkeiten, :only => [:show] , constraints: {id: /\d+/i} + get "neuigkeiten", controller: :rubriken, action: :index, as: "neuigkeiten" resources :rubriken do collection do get 'verwalten' , :action => :alle_verwalten From 7ce34e9d296615721ad956b1d71c12667e973a75 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Wed, 17 Jun 2015 13:03:07 +0200 Subject: [PATCH 08/19] AutoCommit Mit Jun 17 13:03:07 CEST 2015 --- Gemfile | 2 +- app/models/neuigkeit.rb | 9 +++++---- config/initializers/query_trace.rb | 1 + .../20150617105704_add_index_for_neuigkeiten.rb | 12 ++++++++++++ 4 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 config/initializers/query_trace.rb create mode 100644 db/migrate/20150617105704_add_index_for_neuigkeiten.rb diff --git a/Gemfile b/Gemfile index bf54489..e923aac 100755 --- a/Gemfile +++ b/Gemfile @@ -22,7 +22,7 @@ group :assets do gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end - +gem 'active_record_query_trace' gem 'jquery-rails' diff --git a/app/models/neuigkeit.rb b/app/models/neuigkeit.rb index 32a1dc4..3d2004d 100755 --- a/app/models/neuigkeit.rb +++ b/app/models/neuigkeit.rb @@ -21,7 +21,7 @@ class Neuigkeit < ActiveRecord::Base has_many :nlinks, :dependent=> :destroy has_one :meeting has_many :attachments, :as=>:parent - + has_one :title_pic, :class_name=>"Attachment", :as=>:parent, :conditions=>["attachments.flag_titlepic =?", true] validates :rubrik, :presence=>true @@ -29,7 +29,7 @@ class Neuigkeit < ActiveRecord::Base translates :title,:text, :versioning=>{:gem=>:paper_trail, :options=>{:fallbacks_for_empty_translations => true}} mount_uploader :picture, PictureUploader - default_scope order(:cache_order) + default_scope order(:cache_order).includes(:calentries).includes(:title_pic) scope :recent, -> { published.limit(10)} scope :unpublished, -> {where("datum > ? OR datum IS NULL", Time.now)} scope :published_scope, ->{where("datum <= ? AND datum IS NOT NULL", Time.now)} @@ -66,8 +66,9 @@ class Neuigkeit < ActiveRecord::Base if self.has_meeting? return self.meeting.meetingtyp.picture else - unless self.attachments.where(flag_titlepic: true).first.nil? - return self.attachments.where(flag_titlepic: true).first.datei + unless self.title_pic.nil? + # return self.attachments.where(flag_titlepic: true).first.datei + return self.title_pic.datei else return self.picture end diff --git a/config/initializers/query_trace.rb b/config/initializers/query_trace.rb new file mode 100644 index 0000000..a2c486b --- /dev/null +++ b/config/initializers/query_trace.rb @@ -0,0 +1 @@ +ActiveRecordQueryTrace.enabled=true diff --git a/db/migrate/20150617105704_add_index_for_neuigkeiten.rb b/db/migrate/20150617105704_add_index_for_neuigkeiten.rb new file mode 100644 index 0000000..1a58c39 --- /dev/null +++ b/db/migrate/20150617105704_add_index_for_neuigkeiten.rb @@ -0,0 +1,12 @@ +class AddIndexForNeuigkeiten < ActiveRecord::Migration + def up + add_index :neuigkeiten, :rubrik_id + add_index :calentries, [:object_type, :object_id] + add_index :attachments, [:parent_type, :parent_id] + add_index :attachments, [:flag_titlepic, :parent_type, :parent_id] + add_index :neuigkeit_translations, :neuigkeit_id + end + + def down + end +end From 815c81add0c755027417806336009e3237d15431 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Wed, 17 Jun 2015 14:03:07 +0200 Subject: [PATCH 09/19] AutoCommit Mit Jun 17 14:03:07 CEST 2015 --- db/migrate/20150617105704_add_index_for_neuigkeiten.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/db/migrate/20150617105704_add_index_for_neuigkeiten.rb b/db/migrate/20150617105704_add_index_for_neuigkeiten.rb index 1a58c39..ae03b04 100644 --- a/db/migrate/20150617105704_add_index_for_neuigkeiten.rb +++ b/db/migrate/20150617105704_add_index_for_neuigkeiten.rb @@ -1,12 +1,11 @@ class AddIndexForNeuigkeiten < ActiveRecord::Migration - def up + def change add_index :neuigkeiten, :rubrik_id + add_index :neuigkeiten, :cache_is_published add_index :calentries, [:object_type, :object_id] add_index :attachments, [:parent_type, :parent_id] add_index :attachments, [:flag_titlepic, :parent_type, :parent_id] - add_index :neuigkeit_translations, :neuigkeit_id + add_index :rubriken, :public end - def down - end end From a3346e4c7a972be2970ffd65b308f3f245d2f80b Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 11:03:04 +0200 Subject: [PATCH 10/19] AutoCommit Sam Jun 20 11:03:04 CEST 2015 --- app/views/neuigkeiten/_compact.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/neuigkeiten/_compact.html.erb b/app/views/neuigkeiten/_compact.html.erb index b0e2648..e6ac96a 100644 --- a/app/views/neuigkeiten/_compact.html.erb +++ b/app/views/neuigkeiten/_compact.html.erb @@ -13,7 +13,7 @@ <% end %> <% else %> <% end %>

    - <%= neuigkeit.title%> + <%= raw(neuigkeit.title) %>

    <%= raw(neuigkeit.text_first_words) unless neuigkeit.text.nil?%>
    From 6e05c3d589314e7b87c260b14ef57a5601ca1fb5 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 12:03:03 +0200 Subject: [PATCH 11/19] AutoCommit Sam Jun 20 12:03:03 CEST 2015 --- app/controllers/beispiele_controller.rb | 1 + config/routes.rb | 1 + lib/flagable.rb | 25 +++++++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 lib/flagable.rb diff --git a/app/controllers/beispiele_controller.rb b/app/controllers/beispiele_controller.rb index ee8390e..7c75fa5 100755 --- a/app/controllers/beispiele_controller.rb +++ b/app/controllers/beispiele_controller.rb @@ -3,6 +3,7 @@ class BeispieleController < ApplicationController load_and_authorize_resource include LikeVoteable + acts_as_flagable def index @beispiele = Beispiel.all diff --git a/config/routes.rb b/config/routes.rb index 7a522f8..dd339d5 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -73,6 +73,7 @@ member do get 'like' get 'dislike' + get 'flag' end end resources :lvas do diff --git a/lib/flagable.rb b/lib/flagable.rb new file mode 100644 index 0000000..882562e --- /dev/null +++ b/lib/flagable.rb @@ -0,0 +1,25 @@ +module Flagable + module ActsAsFlagable + extend ActiveSupport::Concern + included do + + end + module ClassMethods + def acts_as_flagable(options={}) + include Flagable::ActsAsFlagable::LocalInstanceMethods + #extend class methods + end + end + module LocalInstanceMethods + def flag + @obj=controller_name.classify.constantize.find(params[:id]) + text @obj.to_yaml + end + end + end +end +ActionController::Base.send :include, Flagable::ActsAsFlagable +ActionController.send :include, Flagable::ActsAsFlagable + +ApplicationController.send :include, Flagable::ActsAsFlagable +BeispielController.send :include, Flagable::ActsAsFlagable From 67404cc605f1960ea2035f0d781274f750e32fc9 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 13:03:01 +0200 Subject: [PATCH 12/19] AutoCommit Sam Jun 20 13:03:01 CEST 2015 --- config/initializers/init_flagable.rb | 2 ++ .../20150620101949_add_flags_to_beispiel.rb | 14 ++++++++++++++ lib/flagable.rb | 15 ++++++++++----- 3 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 config/initializers/init_flagable.rb create mode 100644 db/migrate/20150620101949_add_flags_to_beispiel.rb diff --git a/config/initializers/init_flagable.rb b/config/initializers/init_flagable.rb new file mode 100644 index 0000000..a2702e6 --- /dev/null +++ b/config/initializers/init_flagable.rb @@ -0,0 +1,2 @@ +require 'flagable' +ActionController::Base.send :include, Flagable::ActsAsFlagable diff --git a/db/migrate/20150620101949_add_flags_to_beispiel.rb b/db/migrate/20150620101949_add_flags_to_beispiel.rb new file mode 100644 index 0000000..45c0d81 --- /dev/null +++ b/db/migrate/20150620101949_add_flags_to_beispiel.rb @@ -0,0 +1,14 @@ +class AddFlagsToBeispiel < ActiveRecord::Migration + def change + add_column :beispiele, :flag_badquality, :boolean + add_column :beispiele, :flag_duplicate, :boolean + add_column :beispiele, :flag_delete, :boolean + add_column :beispiele, :flag_goodquality, :boolean + add_column :beispiele, :lecturer_id, :integer + add_index :beispiele, :flag_badquality + add_index :beispiele, :flag_duplicate + add_index :beispiele, :flag_delete + add_index :beispiele, :flag_goodquality + + end +end diff --git a/lib/flagable.rb b/lib/flagable.rb index 882562e..a1db136 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -13,13 +13,18 @@ module Flagable module LocalInstanceMethods def flag @obj=controller_name.classify.constantize.find(params[:id]) - text @obj.to_yaml + lflag=("flag_"+params[:flag]).to_sym + unless params[:flag].nil? || params[:flag].empty? || params[:value].nil? + @obj.try(lflag)#=params[:value] + @obj.send(lflag.to_s+"=",params[:value]) + end + respond_to do |format| + format.html {render :text=>@obj.to_yaml} + format.js {render :text => "alert(#{lflag.to_s} #{@obj.to_yaml})"} + end end end end end -ActionController::Base.send :include, Flagable::ActsAsFlagable -ActionController.send :include, Flagable::ActsAsFlagable -ApplicationController.send :include, Flagable::ActsAsFlagable -BeispielController.send :include, Flagable::ActsAsFlagable + From aadf180670912cd986153f1ff1cf9d77514ca1ed Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 14:03:01 +0200 Subject: [PATCH 13/19] AutoCommit Sam Jun 20 14:03:01 CEST 2015 --- app/models/beispiel.rb | 1 + .../themes/blue2/beispiele/_beispiel.html.erb | 41 +++++++++++++++++++ config/initializers/init_flagable.rb | 4 +- lib/.#flagable.rb | 1 + lib/flagable.rb | 41 ++++++++++++++++--- 5 files changed, 81 insertions(+), 7 deletions(-) create mode 100644 app/views/themes/blue2/beispiele/_beispiel.html.erb create mode 120000 lib/.#flagable.rb diff --git a/app/models/beispiel.rb b/app/models/beispiel.rb index 2fbf52f..2e42daf 100755 --- a/app/models/beispiel.rb +++ b/app/models/beispiel.rb @@ -15,6 +15,7 @@ class Beispiel < ActiveRecord::Base has_paper_trail attr_accessible :desc, :name, :lva_id, :beispieldatei, :beispieldatei_cache, :datum acts_as_votable + acts_as_flagable belongs_to :lva mount_uploader :beispieldatei, AttachmentUploader diff --git a/app/views/themes/blue2/beispiele/_beispiel.html.erb b/app/views/themes/blue2/beispiele/_beispiel.html.erb new file mode 100644 index 0000000..bbb9148 --- /dev/null +++ b/app/views/themes/blue2/beispiele/_beispiel.html.erb @@ -0,0 +1,41 @@ +
    +
    +
    + <%=link_to ffi1_icon("note20")+" " + beispiel.name + " " + I18n.l(beispiel.datum), beispiel.beispieldatei.url, title: beispiel.desc %> +
    +
    + <%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB +
    +
    + <%= flag_link(beispiel, :badquality)%> + <%= + if can?(:like, beispiel) + link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true + else + "liked by " + beispiel.get_likes.size.to_s + end + %> + + <%= + if can?(:dislike, beispiel) + link_to ffi1_icon("dislike")+" dislike" + "("+beispiel.get_dislikes.size.to_s+")", dislike_beispiel_path(beispiel),title:"disliked by " + ((current_user.disliked?(beispiel)) ? ("you and " + ((beispiel.get_dislikes.size - 1).to_s + " others")) : beispiel.get_dislikes.size.to_s) , remote: true + else + "disliked by " + beispiel.get_dislikes.size.to_s + end + + %> + + <%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%> + <%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %> + <% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %>
    +
    +
    + <% unless beispiel.desc.nil? || beispiel.desc.empty? %> +
    +
    + + <%= beispiel.desc %> +
    +
    + <% end %> +
    diff --git a/config/initializers/init_flagable.rb b/config/initializers/init_flagable.rb index a2702e6..48ef1d2 100644 --- a/config/initializers/init_flagable.rb +++ b/config/initializers/init_flagable.rb @@ -1,2 +1,4 @@ require 'flagable' -ActionController::Base.send :include, Flagable::ActsAsFlagable +ActionController::Base.send :include, Flagable::ActsAsFlagableController +ActiveRecord::Base.send :include, Flagable::ActsAsFlagableRecord +ActionView::Base.send :include, Flagable::FlagableHelper diff --git a/lib/.#flagable.rb b/lib/.#flagable.rb new file mode 120000 index 0000000..d96c12d --- /dev/null +++ b/lib/.#flagable.rb @@ -0,0 +1 @@ +andreas@andreas-ThinkPad-S430.11733:1434727463 \ No newline at end of file diff --git a/lib/flagable.rb b/lib/flagable.rb index a1db136..5827b82 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -1,12 +1,12 @@ module Flagable - module ActsAsFlagable + module ActsAsFlagableController extend ActiveSupport::Concern included do end module ClassMethods def acts_as_flagable(options={}) - include Flagable::ActsAsFlagable::LocalInstanceMethods + include Flagable::ActsAsFlagableController::LocalInstanceMethods #extend class methods end end @@ -15,16 +15,45 @@ module Flagable @obj=controller_name.classify.constantize.find(params[:id]) lflag=("flag_"+params[:flag]).to_sym unless params[:flag].nil? || params[:flag].empty? || params[:value].nil? - @obj.try(lflag)#=params[:value] + if @obj.respond_to?(lflag.to_s+"=") @obj.send(lflag.to_s+"=",params[:value]) + end end respond_to do |format| format.html {render :text=>@obj.to_yaml} - format.js {render :text => "alert(#{lflag.to_s} #{@obj.to_yaml})"} + format.js {render :text => "alert('#{lflag.to_s} #{ ActionController::Base.helpers.escape_javascript(@obj.to_yaml.to_s)}')"} end end end end + + module ActsAsFlagableRecord + extend ActiveSupport::Concern + included do + + end + module ClassMethods + def acts_as_flagable(options={}) + include Flagable::ActsAsFlagableRecord::LocalInstanceMethods + #extend class methods + end + end + module LocalInstanceMethods + def get_flag(flag) + v= @obj.send("flag_"+flag.to_s) if @obj.respond_to?("flag_"+flag.to_s) + v= false if v.nil? + v + end + def flagtagid(flag) + return self.class.to_s + "_" + self.id.to_s + "_flag_"+flag.to_s + end + end + end + module FlagableHelper + def flag_link(obj, flag, value=false) + value=obj.get_flag(flag) + color=(value) ? "red" :"grey" +link_to fa_icon("flag"), flag_beispiel_path(obj,{flag: flag, value: !value}), remote: true, style:("color:" +color ) + end + end end - - From 99e32424c70251d23a96f589b2f50dd4d19bbd6f Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 15:03:01 +0200 Subject: [PATCH 14/19] AutoCommit Sam Jun 20 15:03:01 CEST 2015 --- app/views/themes/blue2/beispiele/_beispiel.html.erb | 2 +- lib/flagable.rb | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/views/themes/blue2/beispiele/_beispiel.html.erb b/app/views/themes/blue2/beispiele/_beispiel.html.erb index bbb9148..abb083c 100644 --- a/app/views/themes/blue2/beispiele/_beispiel.html.erb +++ b/app/views/themes/blue2/beispiele/_beispiel.html.erb @@ -7,7 +7,7 @@ <%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
    - <%= flag_link(beispiel, :badquality)%> + <%= flag_link(beispiel, :badquality, fa_icon("flag"))%> <%= if can?(:like, beispiel) link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true diff --git a/lib/flagable.rb b/lib/flagable.rb index 5827b82..102cfc0 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -21,7 +21,7 @@ module Flagable end respond_to do |format| format.html {render :text=>@obj.to_yaml} - format.js {render :text => "alert('#{lflag.to_s} #{ ActionController::Base.helpers.escape_javascript(@obj.to_yaml.to_s)}')"} + format.js {render :text => "$(\"#{@obj.flaglinkid(params[:flag])}\").replaceWith("+ActionController::Base.helpers.escape_javascript(ActionController::Base.helpers.flag_link(@obj,params[:flag],ActionController::Base.helpers.content_tag("i", "", class:"fa fa-flag")))+ "); alert('#{lflag.to_s} #{ ActionController::Base.helpers.escape_javascript(@obj.to_yaml.to_s)}');"} end end end @@ -44,16 +44,18 @@ module Flagable v= false if v.nil? v end - def flagtagid(flag) + def flaglinkid(flag) return self.class.to_s + "_" + self.id.to_s + "_flag_"+flag.to_s end end end module FlagableHelper - def flag_link(obj, flag, value=false) + + def flag_link(obj, flag, text) value=obj.get_flag(flag) color=(value) ? "red" :"grey" -link_to fa_icon("flag"), flag_beispiel_path(obj,{flag: flag, value: !value}), remote: true, style:("color:" +color ) +link_to text, Rails.application.routes.url_helpers.flag_beispiel_path(obj,{flag: flag, value: !value, theme: nil, locale: nil}), remote: true, style:("color:" +color ), id: obj.flaglinkid(flag) end end end +ActionView::Base.send :include, Flagable::FlagableHelper From bd0f24603e75e9a699477ff59685e385cb908ef4 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 18:03:01 +0200 Subject: [PATCH 15/19] AutoCommit Sam Jun 20 18:03:01 CEST 2015 --- app/views/flags/.#_flaglink.html.erb | 1 + app/views/flags/_flaglink.html.erb | 1 + lib/flagable.rb | 11 ++++++----- 3 files changed, 8 insertions(+), 5 deletions(-) create mode 120000 app/views/flags/.#_flaglink.html.erb create mode 100644 app/views/flags/_flaglink.html.erb diff --git a/app/views/flags/.#_flaglink.html.erb b/app/views/flags/.#_flaglink.html.erb new file mode 120000 index 0000000..d96c12d --- /dev/null +++ b/app/views/flags/.#_flaglink.html.erb @@ -0,0 +1 @@ +andreas@andreas-ThinkPad-S430.11733:1434727463 \ No newline at end of file diff --git a/app/views/flags/_flaglink.html.erb b/app/views/flags/_flaglink.html.erb new file mode 100644 index 0000000..aef4ae1 --- /dev/null +++ b/app/views/flags/_flaglink.html.erb @@ -0,0 +1 @@ +<%= flag_link(@obj,flag, content_tag("i", "", class:"fa fa-flag").to_s) %> diff --git a/lib/flagable.rb b/lib/flagable.rb index 102cfc0..a08c9ae 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -12,16 +12,17 @@ module Flagable end module LocalInstanceMethods def flag - @obj=controller_name.classify.constantize.find(params[:id]) + @obj=controller_name.classify.constantize.find(params[:id]) lflag=("flag_"+params[:flag]).to_sym unless params[:flag].nil? || params[:flag].empty? || params[:value].nil? if @obj.respond_to?(lflag.to_s+"=") - @obj.send(lflag.to_s+"=",params[:value]) + @obj.send(lflag.to_s+"=",params[:value]) + @obj.save end end respond_to do |format| - format.html {render :text=>@obj.to_yaml} - format.js {render :text => "$(\"#{@obj.flaglinkid(params[:flag])}\").replaceWith("+ActionController::Base.helpers.escape_javascript(ActionController::Base.helpers.flag_link(@obj,params[:flag],ActionController::Base.helpers.content_tag("i", "", class:"fa fa-flag")))+ "); alert('#{lflag.to_s} #{ ActionController::Base.helpers.escape_javascript(@obj.to_yaml.to_s)}');"} + format.html {render partial: "flags/flaglink", locals: {flag: params[:flag]}} + format.js {render :text => "$(\"\##{@obj.flaglinkid(params[:flag])}\").replaceWith("+ActionController::Base.helpers.escape_javascript(render partial: "flags/flaglink", locals: {flag: params[:flag]})+ "); alert('#{lflag.to_s} #{ ActionController::Base.helpers.escape_javascript(@obj.to_yaml.to_s)}');"} end end end @@ -54,7 +55,7 @@ module Flagable def flag_link(obj, flag, text) value=obj.get_flag(flag) color=(value) ? "red" :"grey" -link_to text, Rails.application.routes.url_helpers.flag_beispiel_path(obj,{flag: flag, value: !value, theme: nil, locale: nil}), remote: true, style:("color:" +color ), id: obj.flaglinkid(flag) + link_to text, flag_beispiel_path(obj,{flag: flag, value: !value, theme: nil, locale: nil}), remote: true, style:("color:" +color ), id: obj.flaglinkid(flag) end end end From 08c901c04f02afecccadca7a666252eb50ff5971 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 19:03:05 +0200 Subject: [PATCH 16/19] AutoCommit Sam Jun 20 19:03:05 CEST 2015 --- app/models/beispiel.rb | 1 + app/views/flags/_flag.js.erb | 1 + app/views/flags/_flaglink.html.erb | 2 +- .../themes/blue2/beispiele/_beispiel.html.erb | 4 +++- lib/flagable.rb | 19 +++++++++++++------ 5 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 app/views/flags/_flag.js.erb diff --git a/app/models/beispiel.rb b/app/models/beispiel.rb index 2e42daf..5811ac8 100755 --- a/app/models/beispiel.rb +++ b/app/models/beispiel.rb @@ -17,6 +17,7 @@ class Beispiel < ActiveRecord::Base acts_as_votable acts_as_flagable belongs_to :lva + FLAG_ICONS = {"badquality"=>"fa fa-flag", "delete"=>"icon-trash"} mount_uploader :beispieldatei, AttachmentUploader validates :beispieldatei, :presence => true diff --git a/app/views/flags/_flag.js.erb b/app/views/flags/_flag.js.erb new file mode 100644 index 0000000..fe82719 --- /dev/null +++ b/app/views/flags/_flag.js.erb @@ -0,0 +1 @@ +$('#<%=@obj.flaglinkid(params[:flag]) %>').replaceWith("<%= escape_javascript( render(partial: "flags/flaglink", format: "html", locals: {flag: params[:flag]}) )%>"); diff --git a/app/views/flags/_flaglink.html.erb b/app/views/flags/_flaglink.html.erb index aef4ae1..1c72811 100644 --- a/app/views/flags/_flaglink.html.erb +++ b/app/views/flags/_flaglink.html.erb @@ -1 +1 @@ -<%= flag_link(@obj,flag, content_tag("i", "", class:"fa fa-flag").to_s) %> +<%= flag_link(@obj,flag, content_tag("i", "", class: icon")) %> diff --git a/app/views/themes/blue2/beispiele/_beispiel.html.erb b/app/views/themes/blue2/beispiele/_beispiel.html.erb index abb083c..25b7bb9 100644 --- a/app/views/themes/blue2/beispiele/_beispiel.html.erb +++ b/app/views/themes/blue2/beispiele/_beispiel.html.erb @@ -7,7 +7,9 @@ <%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
    - <%= flag_link(beispiel, :badquality, fa_icon("flag"))%> + <%= flag_link(beispiel, "badquality", ff_icon(Beispiel.FLAG_ICONS["badquality"]))%> + <%= flag_link(beispiel, "delete", fa_icon("flag"))%> + <%= if can?(:like, beispiel) link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true diff --git a/lib/flagable.rb b/lib/flagable.rb index a08c9ae..7193c2c 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -7,22 +7,28 @@ module Flagable module ClassMethods def acts_as_flagable(options={}) include Flagable::ActsAsFlagableController::LocalInstanceMethods - #extend class methods + extend Flagable::ActsAsFlagableController::LocalClassMethods end end + module LocalClassMethods + FLAG_ICONS = {"badquality"=>"fa fa-flag", "delete"=>"icon-trash"} + + end module LocalInstanceMethods + def flag - @obj=controller_name.classify.constantize.find(params[:id]) + + @obj=controller_name.classify.constantize.find(params[:id]) lflag=("flag_"+params[:flag]).to_sym unless params[:flag].nil? || params[:flag].empty? || params[:value].nil? if @obj.respond_to?(lflag.to_s+"=") - @obj.send(lflag.to_s+"=",params[:value]) + @obj.send(lflag.to_s+"=",params[:value]=="true") @obj.save end end respond_to do |format| - format.html {render partial: "flags/flaglink", locals: {flag: params[:flag]}} - format.js {render :text => "$(\"\##{@obj.flaglinkid(params[:flag])}\").replaceWith("+ActionController::Base.helpers.escape_javascript(render partial: "flags/flaglink", locals: {flag: params[:flag]})+ "); alert('#{lflag.to_s} #{ ActionController::Base.helpers.escape_javascript(@obj.to_yaml.to_s)}');"} + format.html {render partial: "flags/flaglink", locals: {flag: params[:flag],icon: controller_name.classify.constantize.FLAG_ICONS[params[:flag]]}} + format.js {render partial: "flags/flag", locals: {flag: params[:flag],icon: controller_name.classify.constantize.FLAG_ICONS[params[:flag]]}} end end end @@ -53,7 +59,8 @@ module Flagable module FlagableHelper def flag_link(obj, flag, text) - value=obj.get_flag(flag) + flag=flag.to_s + value=obj.send("flag_"+flag) color=(value) ? "red" :"grey" link_to text, flag_beispiel_path(obj,{flag: flag, value: !value, theme: nil, locale: nil}), remote: true, style:("color:" +color ), id: obj.flaglinkid(flag) end From 916f2246f2a9926ac72f58e68f7782736fb76bbd Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 20 Jun 2015 20:03:01 +0200 Subject: [PATCH 17/19] AutoCommit Sam Jun 20 20:03:01 CEST 2015 --- app/views/flags/_flaglink.html.erb | 3 ++- app/views/themes/blue2/beispiele/_beispiel.html.erb | 5 +++-- lib/flagable.rb | 12 ++++++------ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/views/flags/_flaglink.html.erb b/app/views/flags/_flaglink.html.erb index 1c72811..3c515df 100644 --- a/app/views/flags/_flaglink.html.erb +++ b/app/views/flags/_flaglink.html.erb @@ -1 +1,2 @@ -<%= flag_link(@obj,flag, content_tag("i", "", class: icon")) %> +<% fi = {"badquality"=>"fa fa-flag", "delete"=>"fa fa-trash"} %> +<%= flag_link(@obj,flag, ff_icon(fi[flag])) %> diff --git a/app/views/themes/blue2/beispiele/_beispiel.html.erb b/app/views/themes/blue2/beispiele/_beispiel.html.erb index 25b7bb9..2fd1ed6 100644 --- a/app/views/themes/blue2/beispiele/_beispiel.html.erb +++ b/app/views/themes/blue2/beispiele/_beispiel.html.erb @@ -7,8 +7,9 @@ <%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
    - <%= flag_link(beispiel, "badquality", ff_icon(Beispiel.FLAG_ICONS["badquality"]))%> - <%= flag_link(beispiel, "delete", fa_icon("flag"))%> +<% fi = {"badquality"=>"fa fa-flag", "delete"=>"fa fa-trash"} %> + <%= flag_link(beispiel, "badquality", ff_icon(fi["badquality"]))%> + <%= flag_link(beispiel, "delete", ff_icon(fi["delete"]))%> <%= if can?(:like, beispiel) diff --git a/lib/flagable.rb b/lib/flagable.rb index 7193c2c..5add5e0 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -11,14 +11,14 @@ module Flagable end end module LocalClassMethods - FLAG_ICONS = {"badquality"=>"fa fa-flag", "delete"=>"icon-trash"} - + end module LocalInstanceMethods - + def flag + fi = {"badquality"=>"fa fa-flag", "delete"=>"fa fa-trash"} - @obj=controller_name.classify.constantize.find(params[:id]) + @obj=controller_name.classify.constantize.find(params[:id]) lflag=("flag_"+params[:flag]).to_sym unless params[:flag].nil? || params[:flag].empty? || params[:value].nil? if @obj.respond_to?(lflag.to_s+"=") @@ -27,8 +27,8 @@ module Flagable end end respond_to do |format| - format.html {render partial: "flags/flaglink", locals: {flag: params[:flag],icon: controller_name.classify.constantize.FLAG_ICONS[params[:flag]]}} - format.js {render partial: "flags/flag", locals: {flag: params[:flag],icon: controller_name.classify.constantize.FLAG_ICONS[params[:flag]]}} + format.html {render partial: "flags/flaglink", locals: {flag: params[:flag],icon: fi[params[:flag]]}} + format.js {render partial: "flags/flag", locals: {flag: params[:flag], icon: fi[params[:flag]]}} end end end From c62b3b34dd50e11df524e6e1a9a84e221c0ae1eb Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 21 Jun 2015 00:03:01 +0200 Subject: [PATCH 18/19] AutoCommit Son Jun 21 00:03:01 CEST 2015 --- app/assets/stylesheets/layout.css.scss | 7 +- app/controllers/lvas_controller.rb | 3 + app/models/beispiel.rb | 10 +- .../themes/blue2/beispiele/_beispiel.html.erb | 7 +- app/views/themes/blue2/lvas/show.html.erb | 143 ++++++++++++++++++ lib/flagable.rb | 9 +- 6 files changed, 168 insertions(+), 11 deletions(-) create mode 100755 app/views/themes/blue2/lvas/show.html.erb diff --git a/app/assets/stylesheets/layout.css.scss b/app/assets/stylesheets/layout.css.scss index 1f5a328..7c655ed 100755 --- a/app/assets/stylesheets/layout.css.scss +++ b/app/assets/stylesheets/layout.css.scss @@ -205,4 +205,9 @@ form.inline input { form.inline { float:clear; } -@import 'tinymce'; \ No newline at end of file +@import 'tinymce'; + +a.flag-true { color: $color_schema_3_dark} +a.flag-true.flag-goodquality-true { color: green} + +a.flag-false { color: #CCC} \ No newline at end of file diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index 44f1a9b..ac8b380 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -47,6 +47,9 @@ class LvasController < ApplicationController def show @lva = Lva.find_by_id(params[:id]) @beispiel=Beispiel.new + @beispiele = @lva.beispiele.not_flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show) + @beispiele_badQ = @lva.beispiele.flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show) + @beispiele_deleted = @lva.beispiele.flag_delete.order(:datum).accessible_by(current_ability, :show) @toolbar_elements =[] @toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.manage'),:path => verwalten_lva_path(@lva)} if can? :verwalten, @lva @crawlobjects = @lva.crawlobjects.roots.accessible_by(current_ability) diff --git a/app/models/beispiel.rb b/app/models/beispiel.rb index 5811ac8..24a0f7b 100755 --- a/app/models/beispiel.rb +++ b/app/models/beispiel.rb @@ -17,9 +17,13 @@ class Beispiel < ActiveRecord::Base acts_as_votable acts_as_flagable belongs_to :lva - FLAG_ICONS = {"badquality"=>"fa fa-flag", "delete"=>"icon-trash"} - - mount_uploader :beispieldatei, AttachmentUploader + FLAG_ICONS = {"badquality"=>"fa fa-flag","goodquality"=>"fa fa-flag", "delete"=>"fa fa-trash"} + scope :not_flag_badquality, ->{where("flag_badquality IS NULL OR flag_badquality=?",false)} + scope :flag_badquality, ->{where("flag_badquality=?",true)} + scope :not_flag_delete, ->{where("flag_delete IS NULL OR flag_delete=?",false)} + scope :flag_delete, ->{where("flag_delete=?",true)} + + mount_uploader :beispieldatei, AttachmentUploader validates :beispieldatei, :presence => true validates :name, :presence => true validates :lva_id, :presence => true diff --git a/app/views/themes/blue2/beispiele/_beispiel.html.erb b/app/views/themes/blue2/beispiele/_beispiel.html.erb index 2fd1ed6..5f8ca83 100644 --- a/app/views/themes/blue2/beispiele/_beispiel.html.erb +++ b/app/views/themes/blue2/beispiele/_beispiel.html.erb @@ -7,9 +7,10 @@ <%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
    -<% fi = {"badquality"=>"fa fa-flag", "delete"=>"fa fa-trash"} %> - <%= flag_link(beispiel, "badquality", ff_icon(fi["badquality"]))%> - <%= flag_link(beispiel, "delete", ff_icon(fi["delete"]))%> + <%= flag_link(beispiel, "goodquality")%> + + <%= flag_link(beispiel, "badquality")%> + <%= flag_link(beispiel, "delete")%> <%= if can?(:like, beispiel) diff --git a/app/views/themes/blue2/lvas/show.html.erb b/app/views/themes/blue2/lvas/show.html.erb new file mode 100755 index 0000000..d5710ba --- /dev/null +++ b/app/views/themes/blue2/lvas/show.html.erb @@ -0,0 +1,143 @@ +<%= content_for :header do %> +Fetsite - <%= @lva.full_name %> +<% set_meta_tags :og => { + :url=>lva_path(:theme=>nil) } +%> +<%= display_meta_tags %> +<% end %> +
    +
    + <%= render 'studien/tabs'%> +

    <%= notice %>

    + +
    +
    + <%= render 'layouts/pretty_toolbar' %> +
    +
    + +
    +
    +

    <%= @lva.full_name %>

    + + +
    +

    <%= I18n.t('lva.pruefungsinfo')%>

    +
    + <%= @lva.pruefungsinformation.to_s.html_safe %> +
    + +

    <%= I18n.t('lva.lernaufwand')%>

    +
    + <%= @lva.lernaufwand %> +
    + +

    <%= I18n.t('lva.desc')%>

    +
    + <%= @lva.desc.to_s.html_safe %> +
    +
    +
    +
    +
    +
      +
    • <%= I18n.t('lva.lvanr')%>: <%=@lva.lvanr %>
    • +
    • ECTS: <%=@lva.ects %>
    • +
    • <%= I18n.t('lva.stunden')%>: <%=@lva.stunden %>
    • +
    +

    <%= I18n.t('lva.module')%>

    +
      + <% @lva.modul.each do |modul| %> +
    • <%= link_to modul.name , modul_path(modul)%> +
        + <% modul.modulgruppen.each do |g| %> + +
      • <%= link_to g.studium.title_context , studium_path(g.studium)%> (<%=link_to g.name, modulgruppe_path(g)%>)
      • + <% end %> +
      +
    • + + <% end %> +
    +
    +
    +

    <%= I18n.t "lecturers.lecturers" %>

    + <% @lva.lecturers.each do |lec| %> + <%= render :partial=>'lecturers/lec_lva', :object=>lec %> + + <% end %> +
    +
    +
    + + +
    +
    + +

    <%= I18n.t("lva.bspe") %>

    +

    + <%= I18n.t("lva.ratebsp")%> + <%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %> +

    + <%= link_to t("beispiel.zip") , beispiel_sammlung_lva_path(@lva), class: :linkbox %> + <% @beispiele.each do |b| %> + <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + b.updated_at.try(:utc).try(:to_s)) do %> + <%= render b%> + <% end %> + <% end %> +

    Bad Quality or Outdated

    + <% @beispiele_badQ.each do |b| %> + <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + b.updated_at.try(:utc).try(:to_s)) do %> + <%= render b%> + <% end %> + <% end %> +

    Trash

    + <% @beispiele_deleted.each do |b| %> + <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s +"_"+ can?(:flag,b).to_s+ "_" + b.updated_at.try(:utc).try(:to_s)) do %> + <%= render b%> + <% end %> + <% end %> + +
    + +
    + +
    +
    + <% unless @lva.nlinks.empty? %> +

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

    + <% @lva.nlinks.each do |l| %> + <%= render l.neuigkeit %> + <% end %> + <% end %> + +
    +
    + <% cache("lva_beispiel_form_bulk_"+@lva.id.to_s+I18n.locale.to_s+@lva.updated_at.to_i.to_s) do %> +
    +
    + <%= render 'beispiele/form_bulk' %> +
    +
    + + <% end %> + <% unless @crawlobjects.nil? %> +
    +
    + <% @crawlobjects.each do |co| %> + <%= render co %> + <% end %> +
    +
    + <% end %> + +
    +
    + diff --git a/lib/flagable.rb b/lib/flagable.rb index 5add5e0..01aabff 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -16,7 +16,7 @@ module Flagable module LocalInstanceMethods def flag - fi = {"badquality"=>"fa fa-flag", "delete"=>"fa fa-trash"} + fi = controller_name.classify.constantize::FLAG_ICONS @obj=controller_name.classify.constantize.find(params[:id]) lflag=("flag_"+params[:flag]).to_sym @@ -58,11 +58,12 @@ module Flagable end module FlagableHelper - def flag_link(obj, flag, text) + def flag_link(obj, flag, text="") flag=flag.to_s + fi = obj.class::FLAG_ICONS value=obj.send("flag_"+flag) - color=(value) ? "red" :"grey" - link_to text, flag_beispiel_path(obj,{flag: flag, value: !value, theme: nil, locale: nil}), remote: true, style:("color:" +color ), id: obj.flaglinkid(flag) + cstyle=(value) ? "true" :"false" + link_to ff_icon(fi[flag]), flag_beispiel_path(obj,{flag: flag, value: !value, theme: nil, locale: nil}), remote: true, class:("flag-"+cstyle +" flag-"+flag + "-"+cstyle ), id: obj.flaglinkid(flag) end end end From ef4bfa4012f14b44368ec36a6be2e47173ad50fc Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sun, 21 Jun 2015 01:03:01 +0200 Subject: [PATCH 19/19] AutoCommit Son Jun 21 01:03:01 CEST 2015 --- app/assets/stylesheets/themes/blue2/application.css.scss | 7 ++++--- app/controllers/lvas_controller.rb | 1 + app/views/lvas/show.html.erb | 2 +- app/views/themes/blue2/lvas/show.html.erb | 6 +++++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/assets/stylesheets/themes/blue2/application.css.scss b/app/assets/stylesheets/themes/blue2/application.css.scss index 18fdadb..1db0ed0 100755 --- a/app/assets/stylesheets/themes/blue2/application.css.scss +++ b/app/assets/stylesheets/themes/blue2/application.css.scss @@ -14,6 +14,7 @@ *= require jquery.fileupload-ui *= require jquery.datetimepicker *= require jquery.ui.dialog + *= require jquery.ui.tabs * require 'bootstrap' * require 'neuigkeiten' @@ -77,9 +78,9 @@ $sansFontFamily: Helvetica, Arial; div.header { display: block; -// backgro und: url('../../../../header1.png') no-repeat; -// background-color:white;// $color_prim; - // background-position: right; + // background: url('../../../../header1.png') no-repeat; + // background-color:white;// $color_prim; + // background-position: right; vertical-align:middle; float:left; color:#000; diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index ac8b380..760d3e4 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -47,6 +47,7 @@ class LvasController < ApplicationController def show @lva = Lva.find_by_id(params[:id]) @beispiel=Beispiel.new + @beispiele_all=@lva.beispiele.order(:datum).accessible_by(current_ability, :show) @beispiele = @lva.beispiele.not_flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show) @beispiele_badQ = @lva.beispiele.flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show) @beispiele_deleted = @lva.beispiele.flag_delete.order(:datum).accessible_by(current_ability, :show) diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb index 644c8d8..4bc6e79 100755 --- a/app/views/lvas/show.html.erb +++ b/app/views/lvas/show.html.erb @@ -85,7 +85,7 @@

    <%= I18n.t("lva.ratebsp")%> <%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>

    <%= link_to t("beispiel.zip") , beispiel_sammlung_lva_path(@lva), class: :linkbox %> - <% @lva.beispiele.order(:datum).each do |b| %> + <% @beispiele_all.each do |b| %> <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + b.updated_at.try(:utc).try(:to_s)) do %> <%= render b%> <% end %> diff --git a/app/views/themes/blue2/lvas/show.html.erb b/app/views/themes/blue2/lvas/show.html.erb index d5710ba..cd7efcb 100755 --- a/app/views/themes/blue2/lvas/show.html.erb +++ b/app/views/themes/blue2/lvas/show.html.erb @@ -92,18 +92,22 @@ <%= render b%> <% end %> <% end %> + <% if @beispiele_badQ.count > 0 %>

    Bad Quality or Outdated

    <% @beispiele_badQ.each do |b| %> <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + b.updated_at.try(:utc).try(:to_s)) do %> <%= render b%> <% end %> <% end %> + <% end %> + <% if @beispiele_deleted.count > 0 %>

    Trash

    <% @beispiele_deleted.each do |b| %> - <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s +"_"+ can?(:flag,b).to_s+ "_" + b.updated_at.try(:utc).try(:to_s)) do %> + <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag,b).to_s+ "_" + b.updated_at.try(:utc).try(:to_s)) do %> <%= render b%> <% end %> <% end %> + <% end %>