mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-16 08:02:40 +01:00
Merge branch 'v5-develop' into v5-stable
This commit is contained in:
commit
12ced963e1
@ -1 +1 @@
|
|||||||
5.2.7
|
5.2.10
|
@ -234,38 +234,38 @@ class CheckData extends Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for more than one primary contact
|
// // check for more than one primary contact
|
||||||
$clients = DB::table('clients')
|
// $clients = DB::table('clients')
|
||||||
->leftJoin('client_contacts', function ($join) {
|
// ->leftJoin('client_contacts', function ($join) {
|
||||||
$join->on('client_contacts.client_id', '=', 'clients.id')
|
// $join->on('client_contacts.client_id', '=', 'clients.id')
|
||||||
->where('client_contacts.is_primary', '=', true)
|
// ->where('client_contacts.is_primary', '=', true)
|
||||||
->whereNull('client_contacts.deleted_at');
|
// ->whereNull('client_contacts.deleted_at');
|
||||||
})
|
// })
|
||||||
->groupBy('clients.id')
|
// ->groupBy('clients.id')
|
||||||
->havingRaw('count(client_contacts.id) != 1');
|
// ->havingRaw('count(client_contacts.id) != 1');
|
||||||
|
|
||||||
if ($this->option('client_id')) {
|
// if ($this->option('client_id')) {
|
||||||
$clients->where('clients.id', '=', $this->option('client_id'));
|
// $clients->where('clients.id', '=', $this->option('client_id'));
|
||||||
}
|
// }
|
||||||
|
|
||||||
$clients = $clients->get(['clients.id', 'clients.user_id', 'clients.company_id']);
|
// $clients = $clients->get(['clients.id', 'clients.user_id', 'clients.company_id']);
|
||||||
$this->logMessage($clients->count().' clients without a single primary contact');
|
// // $this->logMessage($clients->count().' clients without a single primary contact');
|
||||||
|
|
||||||
if ($this->option('fix') == 'true') {
|
// // if ($this->option('fix') == 'true') {
|
||||||
foreach ($clients as $client) {
|
// // foreach ($clients as $client) {
|
||||||
$this->logMessage("Fixing missing primary contacts #{$client->id}");
|
// // $this->logMessage("Fixing missing primary contacts #{$client->id}");
|
||||||
|
|
||||||
$new_contact = ClientContactFactory::create($client->company_id, $client->user_id);
|
// // $new_contact = ClientContactFactory::create($client->company_id, $client->user_id);
|
||||||
$new_contact->client_id = $client->id;
|
// // $new_contact->client_id = $client->id;
|
||||||
$new_contact->contact_key = Str::random(40);
|
// // $new_contact->contact_key = Str::random(40);
|
||||||
$new_contact->is_primary = true;
|
// // $new_contact->is_primary = true;
|
||||||
$new_contact->save();
|
// // $new_contact->save();
|
||||||
}
|
// // }
|
||||||
}
|
// // }
|
||||||
|
|
||||||
if ($clients->count() > 0) {
|
// if ($clients->count() > 0) {
|
||||||
$this->isValid = false;
|
// $this->isValid = false;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private function checkFailedJobs()
|
private function checkFailedJobs()
|
||||||
|
@ -34,11 +34,15 @@ class CreditsTable extends Component
|
|||||||
|
|
||||||
public function render()
|
public function render()
|
||||||
{
|
{
|
||||||
|
|
||||||
$query = Credit::query()
|
$query = Credit::query()
|
||||||
->where('client_id', auth('contact')->user()->client->id)
|
->where('client_id', auth('contact')->user()->client->id)
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->where('status_id', '<>', Credit::STATUS_DRAFT)
|
->where('status_id', '<>', Credit::STATUS_DRAFT)
|
||||||
->whereDate('due_date', '<=', now())
|
->where(function ($query){
|
||||||
->orWhere('due_date', NULL)
|
$query->whereDate('due_date', '<=', now())
|
||||||
|
->orWhereNull('due_date');
|
||||||
|
})
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
||||||
->paginate($this->per_page);
|
->paginate($this->per_page);
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ class InvoicesTable extends Component
|
|||||||
|
|
||||||
$query = Invoice::query()
|
$query = Invoice::query()
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->where('is_deleted', false);
|
->where('is_deleted', false);
|
||||||
|
|
||||||
if (in_array('paid', $this->status)) {
|
if (in_array('paid', $this->status)) {
|
||||||
|
@ -34,6 +34,7 @@ class PaymentMethodsTable extends Component
|
|||||||
{
|
{
|
||||||
$query = ClientGatewayToken::query()
|
$query = ClientGatewayToken::query()
|
||||||
->with('gateway_type')
|
->with('gateway_type')
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->where('client_id', $this->client->id)
|
->where('client_id', $this->client->id)
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
||||||
->paginate($this->per_page);
|
->paginate($this->per_page);
|
||||||
|
@ -41,6 +41,7 @@ class PaymentsTable extends Component
|
|||||||
{
|
{
|
||||||
$query = Payment::query()
|
$query = Payment::query()
|
||||||
->with('type', 'client')
|
->with('type', 'client')
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->where('client_id', auth('contact')->user()->client->id)
|
->where('client_id', auth('contact')->user()->client->id)
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
||||||
->paginate($this->per_page);
|
->paginate($this->per_page);
|
||||||
|
@ -45,6 +45,7 @@ class QuotesTable extends Component
|
|||||||
}
|
}
|
||||||
|
|
||||||
$query = $query
|
$query = $query
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->where('client_id', auth('contact')->user()->client->id)
|
->where('client_id', auth('contact')->user()->client->id)
|
||||||
->where('status_id', '<>', Quote::STATUS_DRAFT)
|
->where('status_id', '<>', Quote::STATUS_DRAFT)
|
||||||
->paginate($this->per_page);
|
->paginate($this->per_page);
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
namespace App\Http\Livewire;
|
namespace App\Http\Livewire;
|
||||||
|
|
||||||
|
use App\Libraries\MultiDB;
|
||||||
use App\Models\RecurringInvoice;
|
use App\Models\RecurringInvoice;
|
||||||
use App\Utils\Traits\WithSorting;
|
use App\Utils\Traits\WithSorting;
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
@ -23,8 +24,12 @@ class RecurringInvoicesTable extends Component
|
|||||||
|
|
||||||
public $per_page = 10;
|
public $per_page = 10;
|
||||||
|
|
||||||
|
public $company;
|
||||||
|
|
||||||
public function mount()
|
public function mount()
|
||||||
{
|
{
|
||||||
|
MultiDB::setDb($this->company->db);
|
||||||
|
|
||||||
$this->sort_asc = false;
|
$this->sort_asc = false;
|
||||||
|
|
||||||
$this->sort_field = 'date';
|
$this->sort_field = 'date';
|
||||||
@ -36,6 +41,7 @@ class RecurringInvoicesTable extends Component
|
|||||||
|
|
||||||
$query = $query
|
$query = $query
|
||||||
->where('client_id', auth('contact')->user()->client->id)
|
->where('client_id', auth('contact')->user()->client->id)
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->whereIn('status_id', [RecurringInvoice::STATUS_PENDING, RecurringInvoice::STATUS_ACTIVE, RecurringInvoice::STATUS_PAUSED,RecurringInvoice::STATUS_COMPLETED])
|
->whereIn('status_id', [RecurringInvoice::STATUS_PENDING, RecurringInvoice::STATUS_ACTIVE, RecurringInvoice::STATUS_PAUSED,RecurringInvoice::STATUS_COMPLETED])
|
||||||
->orderBy('status_id', 'asc')
|
->orderBy('status_id', 'asc')
|
||||||
->with('client')
|
->with('client')
|
||||||
|
@ -36,6 +36,7 @@ class SubscriptionRecurringInvoicesTable extends Component
|
|||||||
{
|
{
|
||||||
$query = RecurringInvoice::query()
|
$query = RecurringInvoice::query()
|
||||||
->where('client_id', auth('contact')->user()->client->id)
|
->where('client_id', auth('contact')->user()->client->id)
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->whereNotNull('subscription_id')
|
->whereNotNull('subscription_id')
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
||||||
->paginate($this->per_page);
|
->paginate($this->per_page);
|
||||||
|
@ -35,6 +35,7 @@ class TasksTable extends Component
|
|||||||
public function render()
|
public function render()
|
||||||
{
|
{
|
||||||
$query = Task::query()
|
$query = Task::query()
|
||||||
|
->where('company_id', $this->company->id)
|
||||||
->where('client_id', auth('contact')->user()->client->id);
|
->where('client_id', auth('contact')->user()->client->id);
|
||||||
|
|
||||||
if ($this->company->getSetting('show_all_tasks_client_portal') === 'invoiced') {
|
if ($this->company->getSetting('show_all_tasks_client_portal') === 'invoiced') {
|
||||||
|
@ -51,8 +51,10 @@ class ClientService
|
|||||||
$credits = $this->client->credits()
|
$credits = $this->client->credits()
|
||||||
->where('is_deleted', false)
|
->where('is_deleted', false)
|
||||||
->where('balance', '>', 0)
|
->where('balance', '>', 0)
|
||||||
->whereDate('due_date', '<=', now()->format('Y-m-d'))
|
->where(function ($query){
|
||||||
->orWhere('due_date', NULL)
|
$query->whereDate('due_date', '<=', now()->format('Y-m-d'))
|
||||||
|
->orWhereNull('due_date');
|
||||||
|
})
|
||||||
->orderBy('created_at','ASC');
|
->orderBy('created_at','ASC');
|
||||||
|
|
||||||
return Number::roundValue($credits->sum('balance'), $this->client->currency()->precision);
|
return Number::roundValue($credits->sum('balance'), $this->client->currency()->precision);
|
||||||
|
@ -14,8 +14,8 @@ return [
|
|||||||
'require_https' => env('REQUIRE_HTTPS', true),
|
'require_https' => env('REQUIRE_HTTPS', true),
|
||||||
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
||||||
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
|
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
|
||||||
'app_version' => '5.2.9',
|
'app_version' => '5.2.10',
|
||||||
'app_tag' => '5.2.9',
|
'app_tag' => '5.2.10',
|
||||||
'minimum_client_version' => '5.0.16',
|
'minimum_client_version' => '5.0.16',
|
||||||
'terms_version' => '1.0.1',
|
'terms_version' => '1.0.1',
|
||||||
'api_secret' => env('API_SECRET', ''),
|
'api_secret' => env('API_SECRET', ''),
|
||||||
|
Loading…
Reference in New Issue
Block a user