feat: Implement invoice generation and emailing functionality

- Added invoice generation logic using DomPDF.
- Integrated invoice data retrieval from the API.
- Implemented language determination for invoices based on customer data.
- Added options to email invoices to customers and admin.
- Included HTML output option for direct viewing in the browser.
- Ensured proper redirection and error handling throughout the process.
This commit is contained in:
“VeLiTi”
2026-01-07 14:36:48 +01:00
parent 543f0b3cac
commit 08263c7933
46 changed files with 4982 additions and 151 deletions

View File

@@ -319,6 +319,21 @@ $firmwaretool_step_5 = 'Quando o firmware estiver disponível: A barra de status
$firmwaretool_step_6 = 'Quando o firmware estiver disponível: Certifique-se de que o SN e o HW sejam lidos do dispositivo e confirme isso selecionando a caixa "Eu confirmo que o SN e o HW foram lidos do dispositivo"';
$firmwaretool_step_7 = 'Pressione o botão <i>"Atualizar firmware"</i> para iniciar o diálogo de atualização de firmware e siga as instruções na tela';
$firmwaretool_step_8 = '<b>Esteja ciente: Este processo não pode ser interrompido e precisa ser concluído.</b>';
$softwaretool_h2 = 'Ferramenta de atualização de software';
$softwaretool_p = 'Opções de atualização de software.';
$softwaretool_step = 'Instruções';
$softwaretool_step_1 = 'Conecte o dispositivo ao computador por USB. (Encontrado sob a tampa da bateria)';
$softwaretool_step_2 = 'Pressione o botão "<i>conectar</i>"';
$softwaretool_step_3 = 'Um popup aparecerá pedindo para selecionar um dispositivo. Selecione o dispositivo clicando nele e depois pressione o botão conectar.';
$softwaretool_step_4 = 'Após o popup desaparecer, o dispositivo será lido, a barra de status mostrará o progresso';
$softwaretool_step_5 = 'Atualizações de software disponíveis serão exibidas com Nome, Descrição e Preço';
$softwaretool_step_6 = 'Selecione uma versão de software';
$softwaretool_step_7 = 'Para atualizações pagas, siga o processo de pagamento';
$softwaretool_step_8 = '<b>Esteja ciente: Este processo não pode ser interrompido e precisa ser concluído.</b>';
$softwaretool_no_updates = 'Nenhuma atualização de software encontrada';
$softwaretool_checking = 'Verificando atualizações de software...';
$softwaretool_available = 'Atualizações de software disponíveis';
$softwaretool_select_upgrade = 'Selecione uma opção de atualização:';
$newuser_subject = 'Usuário do CustomerPortal criado';
$newuser_header = 'Caro usuário do CustomerPortal';
$newuser_text = 'Seu administrador do CustomerPortal forneceu acesso ao CustomerPortal. Para completar sua conta, você precisa atualizar sua senha através do link abaixo.';