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



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

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



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

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
48
49
# 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 do |table|
      (table[:name] =~ Regexp.new("^#{params[:name]}.", Regexp::IGNORECASE)) || table[:name] == params[:name]
    end
    tables.sort! { |a, b| a[:name].downcase <=> b[:name].downcase }

    tables.each do |table|
      result_hash << {:isTable => true,
                      :id => table[:display],
                      :text => table[:display],
                      :iconCls => 'icon-db-table',
                      :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-db-column', :leaf => true}
    end
  end

  render :json => result_hash
end