DocumentStitcher
extends Controller
in package
uses
OwnerDataTrait
Controlador que permite agrupar o partir documentos de venta o compra (presupuestos, pedidos y albaranes) para generar un nuevo documento a partir de las líneas seleccionadas, o cerrar los documentos cambiando su estado. No admite facturas.
Tags
Table of Contents
Constants
- MODEL_NAMESPACE : mixed = '\FacturaScripts\Dinamic\Model\\'
Properties
- $codes : array<string|int, mixed>
- $documents : array<string|int, TransformerDocument>
- $empresa : Empresa
- Empresa seleccionada.
- $filters : array<string|int, mixed>
- $modelName : string
- $moreDocuments : array<string|int, TransformerDocument>
- $multiRequestProtection : MultiRequestProtection
- $payMethods : array<string|int, mixed>
- $permissions : ControllerPermissions
- Permisos del usuario sobre este controlador.
- $request : Request
- Petición de la que podemos obtener datos.
- $showFilters : bool
- $title : string
- Título de la página.
- $uri : string
- URI dada, por defecto vacía.
- $user : User|false
- Usuario que ha iniciado sesión.
- $where : array<string|int, mixed>
- $dataBase : DataBase
- Proporciona acceso directo a la base de datos.
- $response : Response
- Objeto de respuesta HTTP.
Methods
- __construct() : mixed
- Inicializa todos los objetos y propiedades.
- addExtension() : mixed
- getAvailableStatus() : array<string|int, mixed>
- getPageData() : array<string|int, mixed>
- Devuelve los datos básicos de esta página (nombre, título, icono, menú, etc.).
- getSeries() : array<string|int, mixed>
- getTemplate() : string|false
- Devuelve la plantilla a usar para este controlador.
- pipe() : mixed
- pipeFalse() : bool
- privateCore() : mixed
- Ejecuta la lógica privada del controlador.
- publicCore() : mixed
- Ejecuta la parte pública del controlador.
- redirect() : mixed
- Redirige a una url o controlador.
- request() : Request
- run() : void
- setTemplate() : bool
- Establece la plantilla a usar para este controlador.
- url() : string
- Devuelve la URL del controlador actual.
- addBlankLine() : void
- addDocument() : bool
- addFilters() : void
- addInfoLine() : void
- breakDownLines() : bool
- checkOwnerData() : bool
- Returns true if the active user has permission to view the information of the active record in the informed model.
- closeDocuments() : void
- db() : DataBase
- generateNewDocument() : void
- Genera un nuevo documento con estos datos.
- getClassName() : string
- Devuelve el nombre del controlador.
- getCodes() : array<string|int, mixed>
- Devuelve las claves de los documentos.
- getDocInfoLineDescription() : string
- getGenerateClass() : string|null
- Devuelve el nombre de la nueva clase a generar a partir de este estado.
- getModelName() : string
- Devuelve el nombre del modelo.
- loadDocuments() : void
- Carga los documentos seleccionados.
- loadMoreDocuments() : void
- processFormDataLoad() : void
- response() : Response
- setCompany() : void
- Selecciona la empresa indicada, salvo que esté vacía o ya sea la cargada.
- validateFormToken() : bool
- Comprueba el token de la petición. Devuelve un error si: - el token no existe - el token no es válido - el token está duplicado
- validateSelectedQuantities() : bool
Constants
MODEL_NAMESPACE
public
mixed
MODEL_NAMESPACE
= '\FacturaScripts\Dinamic\Model\\'
Properties
$codes
public
array<string|int, mixed>
$codes
= []
$documents
public
array<string|int, TransformerDocument>
$documents
= []
$empresa
Empresa seleccionada.
public
Empresa
$empresa
$filters
public
array<string|int, mixed>
$filters
= ['codpago' => '', 'desde' => '', 'hasta' => '']
$modelName
public
string
$modelName
$moreDocuments
public
array<string|int, TransformerDocument>
$moreDocuments
= []
$multiRequestProtection
public
MultiRequestProtection
$multiRequestProtection
$payMethods
public
array<string|int, mixed>
$payMethods
= []
$permissions
Permisos del usuario sobre este controlador.
public
ControllerPermissions
$permissions
$request
Petición de la que podemos obtener datos.
public
Request
$request
$showFilters
public
bool
$showFilters
= false
$title
Título de la página.
public
string
$title
título de la página.
$uri
URI dada, por defecto vacía.
public
string
$uri
$user
Usuario que ha iniciado sesión.
public
User|false
$user
= false
$where
public
array<string|int, mixed>
$where
= []
$dataBase
Proporciona acceso directo a la base de datos.
protected
DataBase
$dataBase
$response
Objeto de respuesta HTTP.
protected
Response
$response
Methods
__construct()
Inicializa todos los objetos y propiedades.
public
__construct(string $className[, string $uri = '' ]) : mixed
Parameters
- $className : string
- $uri : string = ''
addExtension()
public
static addExtension(mixed $extension) : mixed
Parameters
- $extension : mixed
getAvailableStatus()
public
getAvailableStatus() : array<string|int, mixed>
Return values
array<string|int, mixed>getPageData()
Devuelve los datos básicos de esta página (nombre, título, icono, menú, etc.).
public
getPageData() : array<string|int, mixed>
Esta función solamente sirve para eso. No se debe añadir aquí ningún otro código, ya que en este punto el usuario ni siquiera se ha logueado todavía.
Return values
array<string|int, mixed>getSeries()
public
getSeries() : array<string|int, mixed>
Return values
array<string|int, mixed>getTemplate()
Devuelve la plantilla a usar para este controlador.
public
getTemplate() : string|false
Return values
string|falsepipe()
public
pipe(string $name, array<string|int, mixed> ...$arguments) : mixed
Parameters
- $name : string
- $arguments : array<string|int, mixed>
pipeFalse()
public
pipeFalse(string $name, array<string|int, mixed> ...$arguments) : bool
Parameters
- $name : string
- $arguments : array<string|int, mixed>
Return values
boolprivateCore()
Ejecuta la lógica privada del controlador.
public
privateCore(Response &$response, User $user, ControllerPermissions $permissions) : mixed
Parameters
- $response : Response
- $user : User
- $permissions : ControllerPermissions
publicCore()
Ejecuta la parte pública del controlador.
public
publicCore(Response &$response) : mixed
Parameters
- $response : Response
redirect()
Redirige a una url o controlador.
public
redirect(string $url[, int $delay = 0 ]) : mixed
Parameters
- $url : string
- $delay : int = 0
request()
public
request() : Request
Return values
Requestrun()
public
run() : void
setTemplate()
Establece la plantilla a usar para este controlador.
public
setTemplate(string|false $template) : bool
Parameters
- $template : string|false
Return values
boolurl()
Devuelve la URL del controlador actual.
public
url() : string
Return values
stringaddBlankLine()
protected
addBlankLine(array<string|int, mixed> &$newLines, TransformerDocument $doc) : void
Parameters
- $newLines : array<string|int, mixed>
- $doc : TransformerDocument
addDocument()
protected
addDocument(TransformerDocument $newDoc) : bool
Parameters
- $newDoc : TransformerDocument
Return values
booladdFilters()
protected
addFilters() : void
addInfoLine()
protected
addInfoLine(array<string|int, mixed> &$newLines, TransformerDocument $doc) : void
Parameters
- $newLines : array<string|int, mixed>
- $doc : TransformerDocument
breakDownLines()
protected
breakDownLines(TransformerDocument &$doc, array<string|int, mixed> &$docLines, array<string|int, mixed> &$newLines, array<string|int, mixed> &$quantities, int $idestado) : bool
Parameters
- $doc : TransformerDocument
- $docLines : array<string|int, mixed>
- $newLines : array<string|int, mixed>
- $quantities : array<string|int, mixed>
- $idestado : int
Return values
boolcheckOwnerData()
Returns true if the active user has permission to view the information of the active record in the informed model.
protected
checkOwnerData(ModelClass $model) : bool
Parameters
- $model : ModelClass
Return values
boolcloseDocuments()
protected
closeDocuments(int $idestado) : void
Parameters
- $idestado : int
db()
protected
db() : DataBase
Return values
DataBasegenerateNewDocument()
Genera un nuevo documento con estos datos.
protected
generateNewDocument(int $idestado) : void
Parameters
- $idestado : int
getClassName()
Devuelve el nombre del controlador.
protected
getClassName() : string
Return values
stringgetCodes()
Devuelve las claves de los documentos.
protected
getCodes() : array<string|int, mixed>
Return values
array<string|int, mixed>getDocInfoLineDescription()
protected
getDocInfoLineDescription(TransformerDocument $doc) : string
Parameters
- $doc : TransformerDocument
Return values
stringgetGenerateClass()
Devuelve el nombre de la nueva clase a generar a partir de este estado.
protected
getGenerateClass(int $idestado) : string|null
Parameters
- $idestado : int
Return values
string|nullgetModelName()
Devuelve el nombre del modelo.
protected
getModelName() : string
Return values
stringloadDocuments()
Carga los documentos seleccionados.
protected
loadDocuments() : void
loadMoreDocuments()
protected
loadMoreDocuments() : void
processFormDataLoad()
protected
processFormDataLoad() : void
response()
protected
response() : Response
Return values
ResponsesetCompany()
Selecciona la empresa indicada, salvo que esté vacía o ya sea la cargada.
protected
setCompany(int|null $idempresa) : void
Parameters
- $idempresa : int|null
validateFormToken()
Comprueba el token de la petición. Devuelve un error si: - el token no existe - el token no es válido - el token está duplicado
protected
validateFormToken() : bool
Return values
boolvalidateSelectedQuantities()
protected
validateSelectedQuantities() : bool