2023-01-13 10:16:17 +01:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Invoice Ninja (https://invoiceninja.com).
|
|
|
|
*
|
|
|
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
|
|
*
|
2023-01-28 23:21:40 +01:00
|
|
|
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
|
2023-01-13 10:16:17 +01:00
|
|
|
*
|
|
|
|
* @license https://www.elastic.co/licensing/elastic-license
|
|
|
|
*/
|
|
|
|
|
2023-01-18 21:54:15 +01:00
|
|
|
namespace App\DataMapper\Schedule;
|
2023-01-13 10:16:17 +01:00
|
|
|
|
|
|
|
class ClientStatement
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Defines the template name
|
2023-02-16 02:36:09 +01:00
|
|
|
*
|
2023-01-13 10:16:17 +01:00
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public string $template = 'client_statement';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* An array of clients hashed_ids
|
|
|
|
*
|
|
|
|
* Leave blank if this action should apply to all clients
|
2023-02-16 02:36:09 +01:00
|
|
|
*
|
2023-01-13 10:16:17 +01:00
|
|
|
* @var array
|
|
|
|
*/
|
|
|
|
public array $clients = [];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The consts to be used to define the date_range variable of the statement
|
|
|
|
*/
|
|
|
|
public const THIS_MONTH = 'this_month';
|
|
|
|
public const THIS_QUARTER = 'this_quarter';
|
|
|
|
public const THIS_YEAR = 'this_year';
|
|
|
|
public const PREVIOUS_MONTH = 'previous_month';
|
|
|
|
public const PREVIOUS_QUARTER = 'previous_quarter';
|
|
|
|
public const PREVIOUS_YEAR = 'previous_year';
|
|
|
|
public const CUSTOM_RANGE = "custom_range";
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The date range the statement should include
|
2023-02-16 02:36:09 +01:00
|
|
|
*
|
2023-01-13 10:16:17 +01:00
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public string $date_range = 'this_month';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* If a custom range is select for the date range then
|
|
|
|
* the start_date should be supplied in Y-m-d format
|
2023-02-16 02:36:09 +01:00
|
|
|
*
|
2023-01-13 10:16:17 +01:00
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public string $start_date = '';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* If a custom range is select for the date range then
|
|
|
|
* the end_date should be supplied in Y-m-d format
|
2023-02-16 02:36:09 +01:00
|
|
|
*
|
2023-01-13 10:16:17 +01:00
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public string $end_date = '';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Flag which allows the payment table
|
|
|
|
* to be shown
|
|
|
|
*
|
|
|
|
* @var boolean
|
|
|
|
*/
|
|
|
|
public bool $show_payments_table = true;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Flag which allows the aging table
|
|
|
|
* to be shown
|
|
|
|
*
|
|
|
|
* @var boolean
|
|
|
|
*/
|
|
|
|
public bool $show_aging_table = true;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* String const which defines whether
|
|
|
|
* the invoices to be shown are either
|
|
|
|
* paid or unpaid
|
2023-02-16 02:36:09 +01:00
|
|
|
*
|
2023-01-13 10:16:17 +01:00
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public string $status = 'paid'; // paid | unpaid
|
2023-02-16 02:36:09 +01:00
|
|
|
}
|