require File.expand_path('../boot', __FILE__)

require 'rails/all'
require 'sprockets/railtie'

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)

module Pos
  class Application < Rails::Application
    # Settings in config/environments/* take precedence over those specified here.
    # Application configuration should go into files in config/initializers
    # -- all .rb files in that directory are automatically loaded.

    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
    # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
    # config.time_zone = 'Central Time (US & Canada)'

    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
    # config.i18n.default_locale = :de

    # Do not swallow errors in after_commit/after_rollback callbacks.
    config.exceptions_app = self.routes
    config.action_view.embed_authenticity_token_in_remote_forms = true
    config.active_record.raise_in_transactional_callbacks = true
    config.usertypes_for_super = {
      "Super Administrador" => "SS",
      "Administrador" => "A",
      "Almacenista" => "S",
      "Caja" => "C",
      "Gerente" => "G"
    }

    config.usertypes_for_admin = {
      "Administrador" => "A",
      "Almacenista" => "S",
      "Caja" => "C",
      "Gerente" => "G"
    }

    config.usertypes_for_manager = {
      "Almacenista" => "S",
      "Caja" => "C"
    }

    config.support_mails = [
      "daniel.mendoza@sml.mx"
    ]

    # Datos generales para el proceso de facturas y notas de credito
    config.issuing = {
      "Version" => "3.3",
      "CveIngreso" => "I",
      "CveEgreso" => "E",
      "CvePago" => "P",
      "Password" =>  "mvpNUXmQfK8=", # contrasenia de integrador proporcionada por el proveedor ProFact
      "MetodoPago" => "PUE", # Metodo de pago usado para las facturas y notas de credito Pago en una sola exhibicion
      "SerieContado" => "B", # Serie para factura de venta de contado
      "SerieCredito" => "A", # Serie para factura de venta a credito
      "SerieNota" => "C", # Serie para notas de credito
      "stamper_uri" => "https://cfdi33-pruebas.buzoncfdi.mx:1443/Timbrado.asmx?wsdl",
      "Impuesto" => "002", # Clave del impuesto aplicado 002: IVA
      "TipoRelacionNC" => "03" # Relaciin de facturas con nota de credito
    }

    config.taxregime = {
      "General de Ley Personas Morales" => "601",
      "Personas Morales con Fines no Lucrativos" => "603",
      "Sueldos y Salarios e Ingresos Asimilados a Salarios" => "605",
      "Arrendamiento" => "606",
      "Demás ingresos" => "608",
      "Consolidación" => "609",
      "Residentes en el Extranjero sin Establecimiento Permanente en México" => "610",
      "Ingresos por Dividendos (socios y accionistas)" => "611",
      "Personas Físicas con Actividades Empresariales y Profesionales" => "612",
      "Ingresos por intereses" => "614",
      "Sin obligaciones fiscales" => "616",
      "Sociedades Cooperativas de Producción que optan por diferir sus ingresos" => "620",
      "Incorporación Fiscal" => "621",
      "Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras" => "622",
      "Opcional para Grupos de Sociedades" => "623",
      "Coordinados" => "624",
      "Hidrocarburos" => "628",
      "Régimen de Enajenación o Adquisición de Bienes" => "607",
      "De los Regímenes Fiscales Preferentes y de las Empresas Multinacionales" => "629",
      "Enajenación de acciones en bolsa de valores" => "630",
      "Régimen de los ingresos por obtención de premios" => "615"
    }

    config.cfdiuse = {
      "Adquisición de mercancias" => "G01",
      "Devoluciones, descuentos o bonificaciones" => "G02",
      "Gastos en general" => "G03",
      "Construcciones" => "I01",
      "Mobilario y equipo de oficina por inversiones" => "I02",
      "Equipo de transporte" => "I03",
      "Equipo de computo y accesorios" => "I04",
      "Dados, troqueles, moldes, matrices y herramental" => "I05",
      "Comunicaciones telefónicas" => "I06",
      "Comunicaciones satelitales" => "I07",
      "Otra maquinaria y equipo" => "I08",
      "Honorarios médicos, dentales y gastos hospitalarios." => "D01",
      "Gastos médicos por incapacidad o discapacidad" => "D02",
      "Gastos funerales." => "D03",
      "Donativos." => "D04",
      "Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación)." => "D05",
      "Aportaciones voluntarias al SAR." => "D06",
      "Primas por seguros de gastos médicos." => "D07",
      "Gastos de transportación escolar obligatoria." => "D08",
      "Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones." => "D09",
      "Pagos por servicios educativos (colegiaturas)" => "D10"
    }
  end
end
