" % link_to( item[:lbl], item[:url], options )
end
end
str.join( "")
end
# return a link - either to activate_resource_path or passify_resource_path
# used to turn on/off any resource
def build_active_link resource
lbl = resource.active ? (content_tag(:i, active_popover(true)) do end) : (content_tag(:i, active_popover(false)) do end)
link_to lbl, build_active_link_url(resource), class: "btn btn-mini active_button", remote: true, :"data-no-turbolink" => true, id: "%s_%i_actpas" % [resource.class.to_s, resource.id]
end
def active_msg active
active ? "Er aktiv nu! Tryk på denne knap for at gøre denne post passiv!" : "Er passiv nu! Tryk på denne knap for at gøre denne post aktiv!"
end
def active_popover active
if active
{
class: "icon-minus",
rel: "popover",
:"data-html" => true,
:"data-trigger" => "hover",
:"data-title" => "Posten er aktiv!",
:"data-content" => "Tryk på denne knap for at gøre denne post passiv!Når poster anvendes i andre sammenhænge vil oxenServer kun tage hensyn til aktive poster!",
}
else
{
class: "icon-plus",
rel: "popover",
:"data-html" => true,
:"data-trigger" => "hover",
:"data-title" => "Posten er passiv!",
:"data-content" => "Tryk på denne knap for at gøre denne post aktiv!Når poster anvendes i andre sammenhænge vil oxenServer kun tage hensyn til aktive poster!",
}
end
end
# return the url for the activate_link only
def build_active_link_url resource
r_url = url_for( resource)
resource.active ? r_url + "/passify" : r_url + "/activate"
end
# return a link - either to attach_resource_path or detach_resource_path
# used to attach or detach a resource to its parent
def build_attach_link children, child
attached = children.nil? ? false : children.include?( child)
lbl = attached ? t(:detach) : t(:attach)
link_to lbl, build_attach_link_url(child,attached), class: "btn btn-mini", remote: true, :"data-no-turbolink" => true, id: "%s_%i_attdet" % [child.class.to_s, child.id]
end
# return the url for the attach_detach_link only
def build_attach_link_url child, attached
path = request.path.match( /detach|attach/) ? request.path.split("/")[0..3].join("/") : request.path
r_url = path + "/%i" % child.id
attached ? r_url + "/detach" : r_url + "/attach"
end
# return a link to a new entity - possibly add route to parent
def build_add_link lbl, cls
r_url = cls.to_s.singularize.underscore
r_url = parent? ? parent.class.to_s.singularize.underscore + "_" + r_url : r_url
link_to( lbl, eval("new_%s_path" % r_url), class: 'btn btn-success')
end
# return a link - either to prefer_resource_path or defer_resource_path
# used to prefer or defer a resource by its parent
def build_prefer_link children, child
preferred = (children.include?( child) && child.preferred?( parent))
return oxt(:preferred) if preferred
link_to oxt(:prefer), build_prefer_link_url(child,preferred), class: "btn btn-mini", remote: true, :"data-no-turbolink" => true, id: "%s_%i_predet" % [child.class.to_s, child.id]
end
# return the url for the prefer_defer_link only
def build_prefer_link_url child, preferred
path = request.path.match( /defer|prefer/) ? request.path.split("/")[0..3].join("/") : request.path
r_url = path + "/%i" % child.id
preferred ? r_url + "/defer" : r_url + "/prefer"
end
# return a link to print a row
# url: ''
# list: true|false
# template: 'what_list.html.haml',
# button: true|false either a button or a link
# text: 'what to write on the link if at all'
# classes: 'btn btn-mini print_item print_items ...' jquery hooks print_item will print a specific record, print_items will print a list of records
# def build_print_link resource, options={}
#
# list = options.include?(:list) ? options.delete(:list) : true
# button = options.include?(:button) ? options[:button] : false
# print_options = options.include?(:print_options) ? "?" + options.delete(:print_options) : ""
# url = options.include?(:url) ? options.delete(:url) : ( !list ? url_for( resource) + "/print" + print_options : url_for(resource_class.to_s.underscore.pluralize) + "/print?print_list=true{add_print_params}" )
# classes = options.include?(:classes) ? options.delete(:classes) : ( button ? 'btn btn-mini' : '')
# classes += ( list ? ' print_items' : ' print_item')
# return link_to( build_button_tag(options), url, class: classes) if options.include?(:button)
# link_to oxt(resource_class.to_s.underscore.pluralize.to_sym), url, options.merge( classes: classes)
#
# end
# def build_button_tag options={}
# text = options.include?(:text) ? options.delete(:text) : nil
# button = options.include?(:button) ? options.delete(:button) : false
# if text
# content_tag( :span) do
# text
# end << content_tag(:i,nil, class: button )
# else
# content_tag(:i,nil, class: button )
# end
# end
def add_print_params
args = []
params.each do |k,v|
args << "#{k}=#{v}" unless %w{ ids action controller}.include? k
end
args.join("&")
end
# def add_from_to_params
# return "" if params[:from].blank?
# "&from=#{params[:from]}&until=#{params[:until]}"
# end
def build_toggle_white_collar_url
if params[:blue_collar].nil?
link_to oxt(:kun_timelønnede), collection_url(blue_collar: true), class: "btn btn-info"
else
link_to oxt(:alle_medarbejdere), collection_url, class: "btn btn-info"
end
end
# return a link to print a label for a row
# url: ''
# list: true|false
# template: 'what_list.html.haml',
# button: true|false either a button or a link
# classes: 'btn btn-mini print_item print_items ...' jquery hooks print_item will print a specific record, print_items will print a list of records
def build_label_link resource, options={}
list = options.delete(:list) || false
button = options.delete(:button) || true
url = options.delete(:url) || ( !list ? url_for( resource) + "/label" : url_for(resource_class.to_s.underscore.pluralize) + "/label?print_list=true{add_print_params}" )
classes = options.delete(:classes) || ( button ? 'btn btn-mini' : '')
return link_to(content_tag(:i,nil,class:'icon-tag'), url, class: classes, target: '_new') if button
link_to oxt(resource_class.to_s.underscore.pluralize.to_sym), url, options.merge( class: classes, target: '_new')
end
#
# set title of breadcrumb
#
def breadcrumb_title( str )
str.index( 'title="translation missing' ) ? str : str.mb_chars.upcase
rescue
str
end
#
# show_page_title
# does a resource_class and action based translation of title on a page
#
def show_page_title
# t '%s.%s.title' % [ resource_class.table_name, params[:action] ]
t '%s.%s.title' % [ params[:controller], params[:action] ]
end
#
# show_lbl is used on every show.html.haml to build the label
#
def show_lbl key
content_tag :b, "#{key}: "
end
#
# on imprint_certificate.html.haml
def show_product_logo product_logo
case product_logo
when /.jpg/, /.png/
tag(:img, { class: "product_logo", src: "#{Rails.root}/app/assets/images/#{product_logo}" }, false)
else
product_logo
end
end
end