Invoice documents for tasks

This commit is contained in:
David Bomba 2022-03-14 17:17:26 +11:00
parent 172e5be31e
commit c0ef536ae9
2 changed files with 27 additions and 1 deletions

View File

@ -228,6 +228,11 @@ class Invoice extends BaseModel
return $this->hasMany(Task::class); return $this->hasMany(Task::class);
} }
public function task()
{
return $this->hasOne(Task::class);
}
public function expenses() public function expenses()
{ {
return $this->hasMany(Expense::class); return $this->hasMany(Expense::class);

View File

@ -1,4 +1,4 @@
@if ($entity->documents->count() > 0 || $entity->company->documents->count() > 0 || ($entity->expense && $entity->expense->invoice_documents)) @if ($entity->documents->count() > 0 || $entity->company->documents->count() > 0 || ($entity->expense && $entity->expense->invoice_documents) || ($entity->task && $entity->company->invoice_task_documents))
<div class="bg-white shadow sm:rounded-lg my-4"> <div class="bg-white shadow sm:rounded-lg my-4">
<div class="px-4 py-5 sm:p-6"> <div class="px-4 py-5 sm:p-6">
<div class="sm:flex sm:items-start sm:justify-between"> <div class="sm:flex sm:items-start sm:justify-between">
@ -62,6 +62,27 @@
</div> </div>
@endforeach @endforeach
@endif @endif
@if($entity->task && $entity->task->invoice_documents)
@foreach ($entity->task->documents as $document)
<div class="inline-flex items-center space-x-1">
<a href="{{ route('client.documents.show', $document->hashed_id) }}" target="_blank"
class="block text-sm button-link text-primary">{{ Illuminate\Support\Str::limit($document->name, 40) }}</a>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
class="text-primary h-6 w-4">
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path>
<polyline points="15 3 21 3 21 9"></polyline>
<line x1="10" y1="14" x2="21" y2="3"></line>
</svg>
@if (!$loop->last)
<span>&mdash;</span>
@endif
</div>
@endforeach
@endif
</div> </div>
</div> </div>
</div> </div>