feat: Implement Document Module with Dropzone file upload functionality

- Added DocumentController for handling document uploads and management.
- Created Document model with necessary attributes and relationships.
- Implemented DocumentService for business logic related to documents.
- Set up routes for document management in both web and API contexts.
- Developed views for document upload using Dropzone for file handling.
- Included necessary assets and styles for the Document module.
- Created migration for documents table with appropriate fields.
- Added configuration and service provider for the Document module.
This commit is contained in:
2025-08-01 18:00:15 +05:45
parent 64592f5b96
commit efa9231391
39 changed files with 1831 additions and 69 deletions

View File

@@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Modules\CCMS\Traits\UpdateCustomFields;
use Modules\Document\Models\Document;
class Country extends Model
{
@@ -96,4 +97,9 @@ class Country extends Model
{
return $this->hasMany(Country::class, 'parent_id');
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Modules\CCMS\Traits\UpdateCustomFields;
use Modules\Document\Models\Document;
class Service extends Model
{
@@ -100,4 +101,9 @@ class Service extends Model
{
return $this->belongsTo(Service::class, 'parent_id');
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}

View File

@@ -7,6 +7,8 @@ use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Modules\CCMS\Traits\UpdateCustomFields;
use Modules\Document\Models\Document;
// use Modules\CCMS\Database\Factories\TestFactory;
class Test extends Model
@@ -92,4 +94,9 @@ class Test extends Model
{
return $this->belongsTo(Test::class, 'parent_id');
}
public function documents()
{
return $this->morphMany(Document::class, 'documentable');
}
}