Class: RailsDbAdmin::ErpApp::Desktop::BaseController

Inherits:
ErpApp::Desktop::BaseController
  • Object
show all
Defined in:
app/controllers/rails_db_admin/erp_app/desktop/base_controller.rb

Direct Known Subclasses

QueriesController

Instance Method Summary collapse

Instance Method Details

#databasesObject



7
8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/rails_db_admin/erp_app/desktop/base_controller.rb', line 7

def databases
  result = {:databases => []}
  Rails.configuration.database_configuration.each do |k, v|
    result[:databases] << {:display => k, :value => k}
  end

  result[:databases].delete_if { |v| v[:value] == Rails.env }
  result[:databases].unshift({:value => Rails.env, :display => Rails.env})

  render :json => result
end

#setup_table_gridObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'app/controllers/rails_db_admin/erp_app/desktop/base_controller.rb', line 49

def setup_table_grid
  result = {:success => true}
  table = params[:table]
  columns = @database_connection_class.connection.columns(table)


  if @table_support.table_contains_column(table, :id)
    result[:columns] =
        RailsDbAdmin::Extjs::JsonColumnBuilder.build_grid_columns(columns)
    result[:model] = table
    result[:fields] =
        RailsDbAdmin::Extjs::JsonColumnBuilder.build_store_fields(columns)
    result[:validations] = []
    result[:id_property] = "id"
  else
    result[:columns] =
        RailsDbAdmin::Extjs::JsonColumnBuilder.build_grid_columns(columns, true)
    result[:model] = table
    result[:fields] =
        RailsDbAdmin::Extjs::JsonColumnBuilder.build_store_fields(columns, true)
    result[:validations] = []
    result[:id_property] = "fake_id"
  end

  render :json => result
end

#table_dataObject



76
77
78
79
80
81
82
83
84
85
86
# File 'app/controllers/rails_db_admin/erp_app/desktop/base_controller.rb', line 76

def table_data
  render :json => if request.get?
                    get_table_data
                  elsif request.post?
                    create_table_row
                  elsif request.put?
                    update_table_data
                  elsif request.delete?
                    delete_table_row
                  end
end

#tablesObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/controllers/rails_db_admin/erp_app/desktop/base_controller.rb', line 19

def tables
  result_hash = []

  if params[:node] == "root"
    tables = []
    table_names = @database_connection_class.connection.tables
    table_names.each do |table|
      tables << {:name => table, :display => table} unless table.blank?
    end

    tables = tables.select { |table| table[:name] =~ Regexp.new("^#{params[:name]}.", Regexp::IGNORECASE)}
    tables.sort! { |a, b| a[:name].downcase <=> b[:name].downcase }

    tables.each do |table|
      result_hash << {:isTable => true,
                      :text => table[:display],
                      :id => table[:display],
                      :iconCls => 'icon-data',
                      :leaf => false}
    end
  else
    columns = @database_connection_class.connection.columns(params[:node])
    columns.each do |column|
      result_hash << {:text => "#{column.name} : #{column.type}", :iconCls => 'icon-gear', :leaf => true}
    end
  end

  render :json => result_hash
end