Skip to content

Commit 03a0925

Browse files
authored
Merge pull request #40 from EstebanSM85/Añadir-pestaña-subir-archivos
Añadir pestaña subir archivos
2 parents 2c9f8d2 + 6103f85 commit 03a0925

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

Controller/EditProyecto.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
use FacturaScripts\Core\DataSrc\Series;
3131
use FacturaScripts\Core\Lib\ExtendedController\EditController;
3232
use FacturaScripts\Core\Lib\ExtendedController\EditView;
33+
use FacturaScripts\Core\Lib\ExtendedController\DocFilesTrait;
3334
use FacturaScripts\Core\Lib\InvoiceOperation;
3435
use FacturaScripts\Core\Tools;
3536
use FacturaScripts\Dinamic\Lib\ProjectStockManager;
@@ -46,6 +47,8 @@
4647
*/
4748
class EditProyecto extends EditController
4849
{
50+
use DocFilesTrait;
51+
4952
public function getModelClassName(): string
5053
{
5154
return 'Proyecto';
@@ -161,6 +164,7 @@ protected function createViews()
161164
$this->createViewsNotes();
162165
$this->createViewsStock();
163166
$this->createViewsServices();
167+
164168
// Purchases (supplier) views - add only if user has permissions (mirror EditProveedor)
165169
if ($this->user->can('EditPresupuestoProveedor')) {
166170
$this->createViewPurchases('PresupuestoProveedor', 'supplier-estimations');
@@ -190,6 +194,8 @@ protected function createViews()
190194
if ($this->user->can('EditReciboCliente')) {
191195
$this->createReceiptView('ListReciboCliente', 'ReciboCliente');
192196
}
197+
198+
$this->createViewDocFiles();
193199
$this->createViewsUsers();
194200
}
195201

@@ -516,6 +522,21 @@ protected function execPreviousAction($action)
516522
$parts = explode('-', $action);
517523
return $this->unlinkUpAction(end($parts));
518524

525+
case 'add-file':
526+
return $this->addFileAction();
527+
528+
case 'delete-file':
529+
return $this->deleteFileAction();
530+
531+
case 'edit-file':
532+
return $this->editFileAction();
533+
534+
case 'unlink-file':
535+
return $this->unlinkFileAction();
536+
537+
case 'sort-files':
538+
return $this->sortFilesAction();
539+
519540
default:
520541
return parent::execPreviousAction($action);
521542
}
@@ -640,6 +661,7 @@ protected function loadData($viewName, $view)
640661
case 'ListStockProyecto':
641662
case 'ListTareaProyecto':
642663
case 'ListServicioAT':
664+
case 'docfiles':
643665
$where = [new DataBaseWhere('idproyecto', $idproyecto)];
644666
$view->loadData('', $where);
645667
break;

Controller/EditTareaProyecto.php

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
use FacturaScripts\Core\Base\DataBase\DataBaseWhere;
2323
use FacturaScripts\Core\Lib\ExtendedController\EditController;
2424
use FacturaScripts\Core\Lib\ExtendedController\EditView;
25+
use FacturaScripts\Core\Lib\ExtendedController\DocFilesTrait;
2526
use FacturaScripts\Core\Tools;
2627

2728

@@ -33,6 +34,13 @@
3334
*/
3435
class EditTareaProyecto extends EditController
3536
{
37+
use DocFilesTrait;
38+
39+
public function __construct(string $className = '', string $uri = '')
40+
{
41+
parent::__construct($className, $uri);
42+
}
43+
3644
public function getModelClassName(): string
3745
{
3846
return 'TareaProyecto';
@@ -91,6 +99,34 @@ protected function disableTaskColumns(&$view): void
9199
}
92100
}
93101

102+
/**
103+
* @param string $action
104+
*
105+
* @return bool
106+
*/
107+
protected function execPreviousAction($action)
108+
{
109+
switch ($action) {
110+
case 'add-file':
111+
return $this->addFileAction();
112+
113+
case 'delete-file':
114+
return $this->deleteFileAction();
115+
116+
case 'edit-file':
117+
return $this->editFileAction();
118+
119+
case 'unlink-file':
120+
return $this->unlinkFileAction();
121+
122+
case 'sort-files':
123+
return $this->sortFilesAction();
124+
125+
default:
126+
return parent::execPreviousAction($action);
127+
}
128+
}
129+
94130
/**
95131
* @param string $viewName
96132
* @param EditView $view
@@ -107,6 +143,12 @@ protected function loadData($viewName, $view)
107143
$this->disableTaskColumns($view);
108144
$this->views['EditTareaProyecto']->disableColumn('code');
109145
}
146+
147+
// If it is a new task (no model exists yet) keep the files tab active so user can add files
148+
if (false === $view->model->exists()) {
149+
$this->setSettings('docfiles', 'active', true);
150+
}
151+
110152
break;
111153

112154
case 'EditNotaProyecto':
@@ -116,6 +158,10 @@ protected function loadData($viewName, $view)
116158
$view->model->idproyecto = $this->getViewModelValue($mainViewName, 'idproyecto');
117159
}
118160
break;
161+
162+
case 'docfiles':
163+
$this->loadDataDocFiles($view, $this->getModelClassName(), $this->getViewModelValue($mainViewName, 'idtarea'));
164+
break;
119165
}
120166
}
121167
}

0 commit comments

Comments
 (0)