Sha256: a1cb42b3c1d63102acd4d35c596126e7648eca97d5f9f84c25e89d9f43000709
Contents?: true
Size: 1.94 KB
Versions: 4
Compression:
Stored size: 1.94 KB
Contents
module Marty module Postings class Grid < Marty::Grid has_marty_permissions read: :any, delete: :any # delete is hijacked for a select def configure(c) super c.header = false c.model = 'Marty::Posting' c.attributes = [:name, :created_dt, :user__name, :comment] c.multi_select = false c.store_config.merge!(sorters: [{ property: :created_dt, direction: 'DESC' }], page_size: 12) end client_class do |c| c.include :grid end # hijacking delete button action :delete do |a| a.text = 'Select' a.tooltip = 'Select' a.icon_cls = 'fa fa-clock glyph' a.disabled = true end def default_bbar [:delete, :detail] end action :detail do |a| a.text = 'Detail' a.icon_cls = 'fa fa-th-large glyph' a.handler = :detail a.disabled = true end endpoint :detail do |params| record_id = params[:record_id] # Prepare an HTML popup with session details such that the # contents can be easily pasted into a spreadsheet. pt = Marty::Posting.find_by(id: record_id) dt = pt.created_dt.to_s == 'Infinity' ? '---' : pt.created_dt.strftime('%Y-%m-%d %I:%M %p') html = "<b>Name:</b>\t#{pt.name}<br/>" \ "<b>Date/Time:</b>\t#{dt}<br/>" \ "<b>User:</b>\t#{pt.user.name}<br/>" \ "<b>Comment:</b>\t#{pt.comment}" client.netzke_show_detail html end attribute :name do |c| c.flex = 1 end attribute :created_dt do |c| c.text = 'Date/Time' c.format = 'Y-m-d H:i' c.hidden = true end attribute :user__name do |c| c.width = 100 end attribute :comment do |c| c.width = 100 end end end end
Version data entries
4 entries across 4 versions & 1 rubygems