Class: MediaController

Inherits:
ApplicationController show all
Defined in:
app/controllers/media_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#sort_key

Instance Method Details

#indexObject



26
27
28
29
30
31
32
33
34
35
36
# File 'app/controllers/media_controller.rb', line 26

def index
  @page_title = "Media"
  @media = Media.find(:all,
    :order => sort_key(:msort, key_sql),
    :joins => 'join Pool on Pool.PoolId=Media.PoolId',
    :select => "*, " +
      ( MYSQL ?
        "from_unixtime(unix_timestamp(lastwritten) + Media.volretention) " :
        "lastwritten + media.volretention * interval '1 second'" ) +
      " as expire")
end

#key_sqlObject

FIXTHIS: sorting on pool.volretention sorts by media.volretention, and vise versa. This is way wrong, but easy to work around.

@media = Media.find_by_sql(
  'SELECT * FROM media ' +
  'JOIN pool ON pool.poolid=media.poolid ' +
  'ORDER BY pool.volretention')


11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/media_controller.rb', line 11

def key_sql
  { "name"   => "volumename",        "name-"   => "volumename desc", 
    "slot"   => "inchanger,storageid,slot",
    "slot-"  => "inchanger desc,storageid desc,slot desc",
    "stat"   => "volstatus",         "stat-"   => "volstatus desc", 
    "jobs"   => "voljobs",           "jobs-"   => "voljobs desc",
    "files"  => "volfiles",          "files-"  => "volfiles desc", 
    "bytes"  => "volbytes",          "bytes-"  => "volbytes desc",
    "expire" => "expire",            "expire-" => "expire desc",
    "retain" => "Pool.volretention", "retain-" => "Pool.volretention desc",
    "pool"   => "name",              "pool-"   => "name desc",
    "ptype"  => "pooltype",          "ptype-"  => "pooltype desc",
    "mtype"  => "mediatype",         "mtype-"  => "mediatype desc" }
end

#showObject



38
39
40
41
42
# File 'app/controllers/media_controller.rb', line 38

def show
  @media = Media.find(params[:mid])
  @page_title = "Media " + @media.volumename
  params[:action] = params[:mid] = nil
end