1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-21 08:51:34 +02:00

Merge remote-tracking branch 'upstream/v2' into v2-2805-client-signup

This commit is contained in:
Benjamin Beganović 2020-06-22 14:58:21 +02:00
commit be1600245f
10 changed files with 32 additions and 20 deletions

View File

@ -232,8 +232,12 @@ class CompanySettings extends BaseSettings
public $portal_custom_js = '';
public $client_can_register = false;
public $client_signup_terms = '';
public $client_signup_privacy_policy = '';
public static $casts = [
'client_signup_terms' => 'string',
'client_signup_privacy_policy' => 'string',
'client_can_register' => 'bool',
'portal_design_id' => 'string',
'late_fee_endless_percent' => 'float',

View File

@ -265,7 +265,9 @@ class BaseController extends Controller
'company.payments.paymentables',
'company.quotes.invitations.contact',
'company.quotes.invitations.company',
'company.quotes.documents',
'company.credits.invitations.company',
'company.credits.documents',
'company.payment_terms.company',
//'company.credits.invitations.contact',
//'company.credits.invitations.company',

View File

@ -88,7 +88,7 @@ class UploadFile implements ShouldQueue
$document = new Document();
$document->user_id = $this->user->id;
$document->company_id = $this->company->id;
$document->path = $instance;
$document->url = $instance;
$document->name = $this->file->getClientOriginalName();
$document->type = $this->file->extension();
$document->disk = $this->disk;

View File

@ -170,6 +170,12 @@ class Credit extends BaseModel
return $this->morphToMany(Payment::class, 'paymentable');
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
/**
* Access the invoice calculator object
*

View File

@ -100,7 +100,7 @@ class Document extends BaseModel
public function generateUrl($absolute = false)
{
$url = Storage::disk($this->disk)->url($this->path);
$url = Storage::disk($this->disk)->url($this->url);
if ($url && $absolute) {
return url($url);

View File

@ -24,13 +24,14 @@ class CreditTransformer extends EntityTransformer
protected $defaultIncludes = [
'invitations',
'documents',
];
protected $availableIncludes = [
'invitations',
// 'payments',
// 'client',
// 'documents',
'documents',
];
public function includeInvitations(Credit $credit)

View File

@ -37,7 +37,7 @@ class DocumentTransformer extends EntityTransformer
'assigned_user_id' => $this->encodePrimaryKey($document->assigned_user_id),
'project_id' => $this->encodePrimaryKey($document->project_id),
'vendor_id' => $this->encodePrimaryKey($document->vendor_id),
'path' => (string) $document->path ?: '',
'url' => (string) $document->url ?: '',
'preview' => (string) $document->preview ?: '',
'name' => (string) $document->name,
'type' => (string) $document->type,

View File

@ -11,8 +11,10 @@
namespace App\Transformers;
use App\Models\Document;
use App\Models\Quote;
use App\Models\QuoteInvitation;
use App\Transformers\DocumentTransformer;
use App\Transformers\QuoteInvitationTransformer;
use App\Utils\Traits\MakesHash;
@ -22,13 +24,14 @@ class QuoteTransformer extends EntityTransformer
protected $defaultIncludes = [
'invitations',
'documents',
];
protected $availableIncludes = [
'invitations',
'documents',
// 'payments',
// 'client',
// 'documents',
];
public function includeInvitations(Quote $quote)
@ -58,18 +61,14 @@ class QuoteTransformer extends EntityTransformer
return $this->includeCollection($quote->expenses, $transformer, ENTITY_EXPENSE);
}
public function includeDocuments(quote $quote)
{
$transformer = new DocumentTransformer($this->account, $this->serializer);
$quote->documents->each(function ($document) use ($quote) {
$document->setRelation('quote', $quote);
});
return $this->includeCollection($quote->documents, $transformer, ENTITY_DOCUMENT);
}
*/
public function includeDocuments(Quote $quote)
{
$transformer = new DocumentTransformer($this->serializer);
return $this->includeCollection($quote->documents, $transformer, Document::class);
}
public function transform(Quote $quote)
{
return [

View File

@ -222,7 +222,7 @@ class CreateUsersTable extends Migration
$table->unsignedInteger('company_id')->index();
$table->unsignedInteger('project_id')->nullable();
$table->unsignedInteger('vendor_id')->nullable();
$table->string('path')->nullable();
$table->string('url')->nullable();
$table->string('preview')->nullable();
$table->string('name')->nullable();
$table->string('type')->nullable();

View File

@ -47,7 +47,7 @@ class CompanyDocumentsTest extends TestCase
$this->assertNotNull($document);
$this->assertTrue(Storage::exists($document->path));
$this->assertTrue(Storage::exists($document->url));
$this->assertGreaterThan($original_count, Document::whereCompanyId($this->company->id)->count());
@ -55,6 +55,6 @@ class CompanyDocumentsTest extends TestCase
$this->assertEquals(0, Document::whereCompanyId($this->company->id)->count());
$this->assertFalse(Storage::exists($document->path));
$this->assertFalse(Storage::exists($document->url));
}
}