forked from bofh/fetsite
AutoCommit Sam Jun 20 19:03:05 CEST 2015
This commit is contained in:
@@ -17,6 +17,7 @@ class Beispiel < ActiveRecord::Base
|
|||||||
acts_as_votable
|
acts_as_votable
|
||||||
acts_as_flagable
|
acts_as_flagable
|
||||||
belongs_to :lva
|
belongs_to :lva
|
||||||
|
FLAG_ICONS = {"badquality"=>"fa fa-flag", "delete"=>"icon-trash"}
|
||||||
|
|
||||||
mount_uploader :beispieldatei, AttachmentUploader
|
mount_uploader :beispieldatei, AttachmentUploader
|
||||||
validates :beispieldatei, :presence => true
|
validates :beispieldatei, :presence => true
|
||||||
|
|||||||
1
app/views/flags/_flag.js.erb
Normal file
1
app/views/flags/_flag.js.erb
Normal file
@@ -0,0 +1 @@
|
|||||||
|
$('#<%=@obj.flaglinkid(params[:flag]) %>').replaceWith("<%= escape_javascript( render(partial: "flags/flaglink", format: "html", locals: {flag: params[:flag]}) )%>");
|
||||||
@@ -1 +1 @@
|
|||||||
<%= flag_link(@obj,flag, content_tag("i", "", class:"fa fa-flag").to_s) %>
|
<%= flag_link(@obj,flag, content_tag("i", "", class: icon")) %>
|
||||||
|
|||||||
@@ -7,7 +7,9 @@
|
|||||||
<%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
|
<%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
|
||||||
</div>
|
</div>
|
||||||
<div class="span5">
|
<div class="span5">
|
||||||
<%= 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)
|
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
|
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
|
||||||
|
|||||||
@@ -7,22 +7,28 @@ module Flagable
|
|||||||
module ClassMethods
|
module ClassMethods
|
||||||
def acts_as_flagable(options={})
|
def acts_as_flagable(options={})
|
||||||
include Flagable::ActsAsFlagableController::LocalInstanceMethods
|
include Flagable::ActsAsFlagableController::LocalInstanceMethods
|
||||||
#extend class methods
|
extend Flagable::ActsAsFlagableController::LocalClassMethods
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
module LocalClassMethods
|
||||||
|
FLAG_ICONS = {"badquality"=>"fa fa-flag", "delete"=>"icon-trash"}
|
||||||
|
|
||||||
|
end
|
||||||
module LocalInstanceMethods
|
module LocalInstanceMethods
|
||||||
|
|
||||||
def flag
|
def flag
|
||||||
@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?
|
||||||
if @obj.respond_to?(lflag.to_s+"=")
|
if @obj.respond_to?(lflag.to_s+"=")
|
||||||
@obj.send(lflag.to_s+"=",params[:value])
|
@obj.send(lflag.to_s+"=",params[:value]=="true")
|
||||||
@obj.save
|
@obj.save
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {render partial: "flags/flaglink", locals: {flag: params[:flag]}}
|
format.html {render partial: "flags/flaglink", locals: {flag: params[:flag],icon: controller_name.classify.constantize.FLAG_ICONS[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.js {render partial: "flags/flag", locals: {flag: params[:flag],icon: controller_name.classify.constantize.FLAG_ICONS[params[:flag]]}}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -53,7 +59,8 @@ module Flagable
|
|||||||
module FlagableHelper
|
module FlagableHelper
|
||||||
|
|
||||||
def flag_link(obj, flag, text)
|
def flag_link(obj, flag, text)
|
||||||
value=obj.get_flag(flag)
|
flag=flag.to_s
|
||||||
|
value=obj.send("flag_"+flag)
|
||||||
color=(value) ? "red" :"grey"
|
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)
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user