Commit Graph

16 Commits

Author SHA1 Message Date
Yoga Pangestu
bdd508220b feat: Add dataChangeRequests morph relation to PartnerMedia, Company, and Journalist models, refactor CategoryNews relationships, and pluralize HasMany method names. 2026-03-13 08:31:43 +07:00
Yoga Pangestu
7f51781334 Refactor database migrations to use explicit foreign key constraints with cascade on delete, update enum column definitions to use enum values and add indexes, and refine model casts. 2026-02-02 13:19:27 +07:00
Yoga Pangestu
2d7f4ee0e8 feat: Enhance cooperation and reporting workflows with refined relationships, new payment management, and updated actions. 2026-02-02 11:56:49 +07:00
Yoga Pangestu
9005f9cbec feat: Implement company-based verification status for media and journalist data change requests, and refine admin verification UI/UX. 2026-01-30 13:26:43 +07:00
Yoga Pangestu
2626d890a4 feat: introduce a comprehensive data change request and review system with new Filament resources, models, migrations, and actions for managing data changes. 2026-01-29 09:44:52 +07:00
Yoga Pangestu
a847b6e1fc Refactor model relationships by converting multiple HasOne relationships to HasMany and pluralizing method names for consistency. 2026-01-27 21:04:49 +07:00
Yoga Pangestu
24c95ceb87 feat: Integrate Swindon\FilamentHashids trait into multiple models for enhanced ID encoding 2026-01-19 11:03:33 +07:00
Yoga Pangestu
9ca4e68de9 refactor: implement local scopes for enums with #[Scope] attribute across models
- Added local scopes for Enum-based fields (status, type, decision) in models: Cooperation, VerificationRequest, PartnerMedia, CooperationProposal, CooperationMedia, and VerificationReview.
- Refactored query logic in Commands, Services, and Filament Resources to use the new scopes for better readability and maintainability.
- Added specific pivot status scopes in PartnerMedia model for cleaner relationship filtering.
- Fixed incorrect Enum usage in ViewCooperation.php during the refactoring process.
- Standardized code style for closures and string concatenation in the modified files.
2026-01-12 11:14:22 +07:00
Yoga Pangestu
aab02b44fe feat: Implement verified scope for PartnerMedia and update relationships in CooperationForm and AnnouncementResource 2026-01-08 14:38:37 +07:00
Yoga Pangestu
69c86e5d3c Refactor verification process and UI updates
- Updated JournalistResource to conditionally display actions based on user roles and verification status.
- Modified ManageJournalists page to hide header actions if verification request status is not NEED_REVISION.
- Changed CategoryResource navigation label from 'Kategori Berita' to 'Kategori'.
- Adjusted ManageCategories page to reflect the new category label and modal headings.
- Refactored Company model to change verificationRequest relationship from MorphOne to HasOne.
- Removed verificationRequest method from Journalist and PartnerMedia models.
- Updated VerificationRequest model to change verifiable relationship from MorphTo to BelongsTo.
- Introduced VerificationService to handle verification logic, including data completeness checks and submission processes.
- Created a new migration to adjust the verification_requests table structure.
- Enhanced admin verification view to display detailed verification progress and review history.
- Updated company and media forms to conditionally show the save button based on verification request status.
2026-01-08 13:55:37 +07:00
Yoga Pangestu
b4d2ae52f0 feat: Implement a comprehensive verification system with dedicated pages, models, and UI components for companies, media, and journalists. 2025-12-22 15:00:19 +07:00
Yoga Pangestu
904552bd68 feat: Restrict company user access to media and journalist management until company and partner media data is complete, and remove journalist permissions from seeders. 2025-12-19 15:33:10 +07:00
Yoga Pangestu
c7a72a169e feat: implement comprehensive cooperation management module with models, migrations, and Filament resources 2025-12-16 12:37:53 +07:00
Yoga Pangestu
8386ea0d93 feat(models): add relationships to PartnerMedia and User models
- Introduced a many-to-many relationship in PartnerMedia for announcements.
- Added a has-many relationship in User for news authored by the user.
- Implemented an active scope in User for filtering active users.
2025-12-12 10:06:18 +07:00
Yoga Pangestu
97cdfd6e0b test: add comprehensive test suite and model factories
- Add HasFactory trait to all model classes for factory support
- Create factory classes for all models (Classification, Company, ContentRecap, Department, IssueManagement, Journalist, Location, MediaMonitoring, MediaMonitoringTheme, PartnerMedia, SubClassification, SubLocation, Theme, User)
- Add unit tests for all models with relationship and attribute validation
- Add unit tests for all enums (Channel, ContentType, IsActive, IssueSentiment, MediaClassification, MediaType, SocialMedia)
- Add feature tests for factory integration and basic application functionality
- Add tests for Filament actions, columns, and media library utilities
- Add tests for model policies (Classification, Theme) and traits (WithComment, WithValue)
- Update phpunit.xml configuration for test environment
- Add test documentation and working tests reference guide
- Add ContentType enum casting to ContentRecap model
- Add MediaMonitoringTheme relationships and factory support
- Establish comprehensive testing infrastructure for improved code quality and reliability
2025-12-11 14:50:37 +07:00
Yoga Pangestu
a697511a99 feat(media): implement media crud with custom page
- fic relation parternMedia -> partnerMedia in Company model
- feat model and migration
2025-12-04 15:28:51 +07:00