# URT form definitions

module Couchdb::CouchdbMeta

  require "forms/generic.rb"

  require "forms/#{Settings.SXS.Couchdb.SiteName}/form-tag-inspection.rb"
  require "forms/#{Settings.SXS.Couchdb.SiteName}/form-tag-surveillance.rb"
  require "forms/#{Settings.SXS.Couchdb.SiteName}/form-tag-firerateddoor.rb"

  require "forms/#{Settings.SXS.Couchdb.SiteName}/form-scan-destructive.rb"
  require "forms/#{Settings.SXS.Couchdb.SiteName}/form-scan-surveillance.rb"
  require "forms/#{Settings.SXS.Couchdb.SiteName}/form-scan-firerateddoor.rb"

  require "forms/#{Settings.SXS.Couchdb.SiteName}/fields-tag.rb"
  require "forms/#{Settings.SXS.Couchdb.SiteName}/fields-scan.rb"

  require "forms/#{Settings.SXS.Couchdb.SiteName}/report-inspection.rb"

  @@forms = {

    tag: {
      inspection:     TagInspection.getForm,
      surveillance:   TagSurveillance.getForm,
      fireratteddoor: TagFireRatedDoor.getForm,
    },

    scan: {
      "urt-destructive":   ScanDestructive.getForm,
      "urt-surveillance":  ScanSurveillance.getForm,
      "urt-firerateddoor": ScanFireRatedDoor.getForm,

      sort_: { # scan.sort_
	"updated_at": "Update time",
	"_id": "Create time",
	"form_": "Inspection type",
	"reference_number": "Reference number",
	"risk_level": "Risk level",
	"status": "Status"
      }
    }
  }.with_indifferent_access

  @@fields = {
    tag:  FieldsTag.getFields,
    scan: FieldsScan.getFields,
  }.with_indifferent_access

  @@reports = {
    inspection:  ReportInspection.getReport
  }.with_indifferent_access

  def self.getForms
    return @@forms
  end

  def self.getFields
    return @@fields
  end

  def self.getReports
    return @@reports
  end
end
