require 'pixways'
require 'pixways/searches_helper'

class AdminMailer < ActionMailer::Base

  include Pixways

  default from: 'support@pixpalace.com',
          reply_to: 'support@pixpalace.com'

  def pt_user(parameters)
    if parameters['avocat']
      @entree = 'Avocat'
      @dpara = parameters['dpara']
    else
      @entree = 'Photographe' if parameters['photog']
      @entree = 'Agence' if parameters['agence']
      @entree = 'Collectif' if parameters['collectif']
      @entree = 'Photographe - Prospect' if parameters['prospect']
      if parameters['pixtech']
        @entree = 'Pixtech'
        subject = 'Formulaire Pixtech User'
      else
        subject = "Formulaire Pixtrakk #{@entree}"
      end
      @papier = parameters['papier']
      @pmail = parameters['pmail']
      @pdata = parameters['pdata']
      @web = parameters['web']
      @wmail = parameters['wmail']
      @wdata = parameters['wdata']
      @brand = parameters['brand']
      @bmail = parameters['bmail']
      @bdata = parameters['bdata']
      @aemail = parameters['aemail']
      @sk = parameters['sk']
      @sites = parameters['sites']
      @maxi = parameters['maxi']
      @ftp_pwd = parameters['ftp_pwd']
      @ftp_username = parameters['ftp_username']
    end
    @prenom = parameters['fn']
    @nom = parameters['ln']
    @pays = parameters['pays']
    @email = parameters['email']
    @mdp = parameters['mdp']
    @societe = parameters['societe']
    @login = parameters['login']
    mail(:to => 'info@pixtrakk.com, marek.pierzynowski@pixpalace.com',
         from: 'support@pixtrakk.com',
         reply_to: 'support@pixtrakk.com',
         subject: subject)
  end


  def send_msg(subject,msg_txt,format='')
    @subject = subject
    @msg_txt = msg_txt
    @format = format
    mail(to: 'support@pixpalace.com',
         subject: subject)
  end

  def list_transmission(list_filename,list_file,prov_name,prov_sk,auth_sk,action_options,action_type,nb_lines,session_pixtech)
    @prov_name=prov_name
    @prov_sk=prov_sk
    @auth_sk=auth_sk
    @action_options=action_options
    @action_type = action_type
    @nb_lines=nb_lines
    @session_pixtech=session_pixtech
    attachments[list_filename] = {
      :data => File.read(list_file),
      :mime_type => 'text'
    }
    mail(to: 'support@pixpalace.com',
         subject: "Pictures list from #{@prov_name} (#{@action_type})")
  end

  #Error report
  def error_report(server, action, error, attachment='')
    @server=server
    @action=action
    @error=error
    attachments.inline['attachment']= File.read(attachment) unless attachment.blank?
    mail(to: 'support@pixpalace.com',
         subject: "Error report from #{@server}")
  end

  def prospect_user(first_name, last_name, email, login, mdp)
    @fn = first_name
    @ln = last_name
    @login = login
    @mdp = mdp
    mail(to: email,
         subject: 'Pixtrakk',
         from: 'support@pixtrakk.com',
         reply_to: 'support@pixtrakk.com',
         bcc: 'info@pixtrakk.com')
  end

  def feedback(server_name, feedback_text, user, file_path, original_file_name, file_url, pixtech_name, session_locale)
    @server_name = server_name
    @feedback_text = feedback_text
    @user = user
    attachments[original_file_name] = File.read(file_path) unless file_path.blank?
    @attachment_file_name = original_file_name
    @file_url = file_url
    from_addr = pixtech_name.blank? ? 'support@pixpalace.com' : 'support@pixtech.fr'
    to_addr = pixtech_name.blank? ? 'support@pixpalace.com' :  Pixways.get_pixtech_param_value(pixtech_name,'mail_to_feedback', 'support@pixtech.fr')
    bcc_addr = pixtech_name.blank? ? 'support@pixpalace.com' : 'support@pixtech.fr'
    service = pixtech_name.blank? ? 'PixPalace' : 'PixTech'
    I18n.with_locale(session_locale) do
      subject_text = pixtech_name.blank? ? "[#{service}] #{t('mailers.feedback.subject',server: "(#{t('server').downcase} #{server_name})")}" : "[#{service}] #{t('mailers.feedback.subject',server: '')}"
      mail(from: from_addr,
           to: to_addr,
           bcc: bcc_addr,
           reply_to: @user.email,
           subject: subject_text)
    end
  end

end