Skip to content

Commit dd141fc

Browse files
author
Carlos Garcia
committed
Añadida pestaña de asientos generados
1 parent a4dd2b8 commit dd141fc

4 files changed

Lines changed: 34 additions & 15 deletions

File tree

Controller/EditAsientoPredefinido.php

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,27 +32,29 @@ class EditAsientoPredefinido extends EditController
3232
{
3333
public function getModelClassName(): string
3434
{
35-
return "AsientoPredefinido";
35+
return 'AsientoPredefinido';
3636
}
3737

3838
public function getPageData(): array
3939
{
40-
$pageData = parent::getPageData();
41-
$pageData["menu"] = "accounting";
42-
$pageData["title"] = "predefined-acc-entry";
43-
$pageData["icon"] = "fa-solid fa-blender";
44-
return $pageData;
40+
$page = parent::getPageData();
41+
$page['menu'] = 'accounting';
42+
$page['title'] = 'predefined-acc-entry';
43+
$page['icon'] = 'fa-solid fa-blender';
44+
return $page;
4545
}
4646

4747
protected function createViews()
4848
{
4949
parent::createViews();
50+
5051
$this->setTabsPosition('bottom');
5152

5253
$this->createViewsInfo();
5354
$this->createViewsGenerar();
5455
$this->createViewsLineas();
5556
$this->createViewsVariables();
57+
$this->createViewsAsientos();
5658
}
5759

5860
protected function createViewsGenerar(string $viewName = 'Generar'): void
@@ -67,14 +69,24 @@ protected function createViewsInfo(string $viewName = 'Info'): void
6769

6870
protected function createViewsLineas(string $viewName = 'EditAsientoPredefinidoLinea'): void
6971
{
70-
$this->addEditListView($viewName, 'AsientoPredefinidoLinea', 'lines');
71-
$this->views[$viewName]->setInLine(true);
72+
$this->addEditListView($viewName, 'AsientoPredefinidoLinea', 'lines')
73+
->setInLine(true);
7274
}
7375

7476
protected function createViewsVariables(string $viewName = 'EditAsientoPredefinidoVariable'): void
7577
{
76-
$this->addEditListView($viewName, 'AsientoPredefinidoVariable', 'variables', 'fa-solid fa-tools');
77-
$this->views[$viewName]->setInLine(true);
78+
$this->addEditListView($viewName, 'AsientoPredefinidoVariable', 'variables', 'fa-solid fa-tools')
79+
->setInLine(true);
80+
}
81+
82+
protected function createViewsAsientos(string $viewName = 'ListAsiento'): void
83+
{
84+
$this->addListView($viewName, 'Asiento', 'generated-acc-entries', 'fa-solid fa-balance-scale')
85+
->addSearchFields(['concepto', 'numero'])
86+
->addOrderBy(['fecha', 'numero'], 'date', 2)
87+
->addOrderBy(['numero'], 'number')
88+
->addOrderBy(['importe'], 'amount')
89+
->setSettings('btnNew', false);
7890
}
7991

8092
protected function execAfterAction($action)
@@ -92,10 +104,10 @@ protected function generateAccountingAction(): void
92104
$form = $this->request->request->all();
93105
if (false === $this->validateFormToken()) {
94106
return;
95-
} elseif (empty($form["idempresa"])) {
107+
} elseif (empty($form['idempresa'])) {
96108
Tools::log()->warning('required-field', ['%field%' => Tools::lang()->trans('company')]);
97109
return;
98-
} elseif (empty($form["fecha"])) {
110+
} elseif (empty($form['fecha'])) {
99111
Tools::log()->warning('required-field', ['%field%' => Tools::lang()->trans('date')]);
100112
return;
101113
}
@@ -105,7 +117,7 @@ protected function generateAccountingAction(): void
105117
if ($asiento->exists()) {
106118
// Se ha creado el siento, así que sacamos mensaje, esperamos un segundo y saltamos a la dirección del asiento recién creado.
107119
Tools::log()->notice('generated-accounting-entries', ['%quantity%' => 1]);
108-
$this->redirect($asiento->url() . "&action=save-ok", 1);
120+
$this->redirect($asiento->url() . '&action=save-ok', 1);
109121
// ."&action=save-ok" es para que saque un mensaje de que registro creado ok y el parámetro 1
110122
// es un temporizador en redireccionar, así el usuario ve el mensaje de la línea anterior
111123
return;
@@ -129,6 +141,11 @@ protected function loadData($viewName, $view)
129141
$view->loadData('', $where, ['idasientopre' => 'ASC', 'codigo' => 'ASC']);
130142
break;
131143

144+
case 'ListAsiento':
145+
$where = [new DataBaseWhere('idasientopre', $id)];
146+
$view->loadData('', $where);
147+
break;
148+
132149
default:
133150
parent::loadData($viewName, $view);
134151
break;

Translation/en_EN.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"generated-acc-entries": "Generated entries",
23
"predefined-acc-entries": "Predefined seats",
34
"predefined-acc-entry": "Predefined seat",
45
"required-field": "Mandatory %field% field"

Translation/es_ES.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"generated-acc-entries": "Asientos generados",
23
"predefined-acc-entries": "Asientos predefinidos",
34
"predefined-acc-entry": "Asiento predefinido",
45
"required-field": "Campo %field% obligatorio"

facturascripts.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
name = 'AsientosPredefinidos'
22
description = 'Permite generar asientos contables a partir de plantillas. Accesible desde la pestaña predefinidos del menú contabilidad, asientos.'
3-
version = 3.2
4-
min_version = 2025
3+
version = 3.3
4+
min_version = 2025.4

0 commit comments

Comments
 (0)