AutoCommit Sam Jun 20 14:03:01 CEST 2015
This commit is contained in:
@@ -15,6 +15,7 @@ class Beispiel < ActiveRecord::Base
|
|||||||
has_paper_trail
|
has_paper_trail
|
||||||
attr_accessible :desc, :name, :lva_id, :beispieldatei, :beispieldatei_cache, :datum
|
attr_accessible :desc, :name, :lva_id, :beispieldatei, :beispieldatei_cache, :datum
|
||||||
acts_as_votable
|
acts_as_votable
|
||||||
|
acts_as_flagable
|
||||||
belongs_to :lva
|
belongs_to :lva
|
||||||
|
|
||||||
mount_uploader :beispieldatei, AttachmentUploader
|
mount_uploader :beispieldatei, AttachmentUploader
|
||||||
|
|||||||
41
app/views/themes/blue2/beispiele/_beispiel.html.erb
Normal file
41
app/views/themes/blue2/beispiele/_beispiel.html.erb
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<div id="<%= beispiel.divid %>" class="contentbox">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span6" >
|
||||||
|
<b><%=link_to ffi1_icon("note20")+" " + beispiel.name + " " + I18n.l(beispiel.datum), beispiel.beispieldatei.url, title: beispiel.desc %></b>
|
||||||
|
</div>
|
||||||
|
<div class="span1" >
|
||||||
|
<%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
|
||||||
|
</div>
|
||||||
|
<div class="span5">
|
||||||
|
<%= 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 %></br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% unless beispiel.desc.nil? || beispiel.desc.empty? %>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
|
||||||
|
<%= beispiel.desc %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
@@ -1,2 +1,4 @@
|
|||||||
require 'flagable'
|
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
|
||||||
|
|||||||
1
lib/.#flagable.rb
Symbolic link
1
lib/.#flagable.rb
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
andreas@andreas-ThinkPad-S430.11733:1434727463
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
module Flagable
|
module Flagable
|
||||||
module ActsAsFlagable
|
module ActsAsFlagableController
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
included do
|
included do
|
||||||
|
|
||||||
end
|
end
|
||||||
module ClassMethods
|
module ClassMethods
|
||||||
def acts_as_flagable(options={})
|
def acts_as_flagable(options={})
|
||||||
include Flagable::ActsAsFlagable::LocalInstanceMethods
|
include Flagable::ActsAsFlagableController::LocalInstanceMethods
|
||||||
#extend class methods
|
#extend class methods
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -15,16 +15,45 @@ module Flagable
|
|||||||
@obj=controller_name.classify.constantize.find(params[:id])
|
@obj=controller_name.classify.constantize.find(params[:id])
|
||||||
lflag=("flag_"+params[:flag]).to_sym
|
lflag=("flag_"+params[:flag]).to_sym
|
||||||
unless params[:flag].nil? || params[:flag].empty? || params[:value].nil?
|
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])
|
@obj.send(lflag.to_s+"=",params[:value])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {render :text=>@obj.to_yaml}
|
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
|
||||||
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
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user