Documents

This commit is contained in:
David Bomba 2019-04-28 15:31:32 +10:00
parent 63f8700db1
commit f958effb81
11 changed files with 79 additions and 1 deletions

View File

@ -89,6 +89,11 @@ class Client extends BaseModel
return ClientSettings::buildClientSettings($this->company->settings, $this->settings);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

14
app/Models/Document.php Normal file
View File

@ -0,0 +1,14 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Document extends BaseModel
{
public function documentable()
{
return $this->morphTo();
}
}

View File

@ -24,4 +24,9 @@ class Expense extends BaseModel
{
return $this->encodePrimaryKey($this->id);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -53,4 +53,9 @@ class Invoice extends BaseModel
{
return $this->belongsTo(Client::class);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -24,4 +24,9 @@ class Payment extends BaseModel
{
return $this->encodePrimaryKey($this->id);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -31,5 +31,10 @@ class Product extends BaseModel
return $this->belongsTo(User::class);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -25,5 +25,9 @@ class Proposal extends BaseModel
return $this->encodePrimaryKey($this->id);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -33,4 +33,9 @@ class Quote extends BaseModel
return $this->hasMany(QuoteInvitation::class);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -25,4 +25,9 @@ class Task extends BaseModel
return $this->encodePrimaryKey($this->id);
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -258,4 +258,8 @@ class User extends Authenticatable implements MustVerifyEmail
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@ -186,8 +186,29 @@ class CreateUsersTable extends Migration
});
Schema::create('documents', function (Blueprint $table){
$table->increments('id');
$table->unsignedInteger('user_id');
$table->unsignedInteger('company_id')->index();
$table->string('path');
$table->string('preview');
$table->string('name');
$table->string('type');
$table->string('disk');
$table->string('hash', 100);
$table->unsignedInteger('size')->nullable();
$table->unsignedInteger('width')->nullable();
$table->unsignedInteger('height')->nullable();
$table->boolean('is_default')->default(0);
$table->unsignedInteger('documentable_id');
$table->string('documentable_type');
$table->timestamps();
$table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');
});
Schema::create('users', function (Blueprint $table) {
$table->increments('id');