Commit Graph

62 Commits

Author SHA1 Message Date
Yoga Pangestu
5a85090652 feat: Add color methods to ContentType and Channel enums, cast channel and social media in ContentRecap model, and enhance Filament table display with colored badges. 2026-03-13 09:54:49 +07:00
Yoga Pangestu
3eb3bd697c refactor: Remove sort_order column and related reordering functionality from categories, departments, and themes. 2026-03-13 09:17:19 +07:00
Yoga Pangestu
44ee744615 refactor: Remove sort_order field and its associated logic from location and sub-location models, migrations, and Filament resources. 2026-03-13 09:06:55 +07:00
Yoga Pangestu
1885b2c7a3 refactor: Remove sort_order column and related functionality from classification and sub-classification models, migrations, and Filament resources. 2026-03-13 09:02:19 +07:00
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
e4cd88136e feat: Implement local scopes for report statuses in the Report model and update the TaskRealizationChart to filter by ApprovalStatus enum. 2026-02-24 11:11:18 +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
693d1f001c feat: Add empty state icons and descriptions to Filament relation managers, update CooperationMedia payment relationship to HasOne, and adjust media manager visibility. 2026-01-30 15:32:31 +07:00
Yoga Pangestu
912a20421c feat: Add VerificationStatus enum import and a commented-out verification check to canAccessPanel. 2026-01-30 14:27:30 +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
94f1a06b44 feat: Filter location and sub-location selections in issue management forms to only display active records. 2026-01-29 21:38:08 +07:00
Yoga Pangestu
98d30a80e6 feat: Implement granular access control and permissions for Filament widgets, pages, and data change requests using Filament Shield and a new policy. 2026-01-29 15:05:26 +07:00
Yoga Pangestu
2e80c19c19 feat: Implement advanced filtering and Excel export functionality for Cooperation, Issue Management, Media Monitoring, and Content Recap tables. 2026-01-29 13:22:57 +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
25e6713a65 refactor: Replace fillable properties with guarded properties in Contact model for improved security and data handling. 2026-01-28 10:44:27 +07:00
Yoga Pangestu
e5fc61abc3 refactor: update several relationship methods from HasMany to HasOne and singularize relationship names. 2026-01-28 09:01:00 +07:00
Yoga Pangestu
f041ed98e7 feat: Change MediaMonitoring to HasOne relationship, restrict media_monitoring_id selection in the form to unique entries, and add sub-location and sub-classification columns to the table. 2026-01-27 22:33:25 +07:00
Yoga Pangestu
acd5e1afef refactor: Change Company verification request relationship to HasOne and singularize Announcement media relationship names. 2026-01-27 21:39:51 +07:00
Yoga Pangestu
ef446ef862 feat: Change Company partnerMedia relationship to HasOne and enhance PartnerResource company description display. 2026-01-27 21:32:24 +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
ad7789dd3f feat: Add a console command to simulate cooperation time, improve date validation, and refine UI texts and report creation conditions. 2026-01-19 08:23:56 +07:00
Yoga Pangestu
1d52463286 feat(cooperation): refactor workflow and implement payment system
- Refactored cooperation workflow to include manual status transitions.
- Implemented payment tracking with CooperationPayment model and PayAction.
- Updated UpdateCooperationStatusCommand for automatic assignment and verification transitions.
- Removed deprecated date columns (assignment_deadline, verification_deadline).
- Enhanced Filament UI with new actions (Complete, Proceed to Payment, Pay).
- Added CooperationSeeder for testing purposes.
2026-01-14 15:41:23 +07:00
Yoga Pangestu
f038da6735 refactor(cooperation): change relation to task assignment from has many to has one and adjust related logic 2026-01-14 10:23:30 +07:00
Yoga Pangestu
ab318a030b feat(notification): enhance user notifications for cooperation and verification processes
- Added detailed notifications for users and admins upon acceptance, rejection, and submission of proposals, verifications, and reports.
- Improved user experience with personalized messages and actionable links in notifications.
- Refactored notification logic across various actions to ensure consistent messaging and clarity.
- Introduced new notification titles and bodies to better reflect the status of actions taken.
2026-01-13 15:53:07 +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
2b49688f8f feat: Enhance cooperation proposal management with media handling and improved infolist display
- Removed debug statement from CreateCooperation.php.
- Updated CooperationProposalRelationManager to include a detailed infolist schema with media and status information.
- Improved proposal creation logic in CooperationsTable to handle proposal attachments and store them in the media library.
- Implemented media handling in CooperationProposal model for better integration with file uploads.
2026-01-12 10:33:47 +07:00
Yoga Pangestu
6265410fb0 feat: Refactor media handling and improve file upload configurations in Cooperation and Journalist resources 2026-01-09 15:00:36 +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
bd122f77b9 feat: Add navigation badge for pending verification requests and implement pending scope in VerificationRequest model 2026-01-08 09:42:40 +07:00
Yoga Pangestu
9742097d2b feat: Add visitor tracking functionality with Filament resource and footer statistics. 2026-01-06 12:01:50 +07:00
Yoga Pangestu
3577c8827a feat: Implement public announcements page with a new title field and rich text editor for content. 2026-01-06 11:07:13 +07:00
Yoga Pangestu
6dd0c26ac8 feat: Introduce announcement types (public/company) with conditional recipient selection in Filament forms and table views. 2026-01-06 10:16:25 +07:00
Yoga Pangestu
3ae2054ebd feat: Implement contact management system with email reply functionality and database migration 2026-01-06 09:37:55 +07:00
Yoga Pangestu
19934bbe89 feat: Implement news categories and status management with a new category resource and updated news form fields for excerpt, categories, and status. 2025-12-24 08:56:11 +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
ccc5d36c0e feat: Implement email verification for user registration. 2025-12-19 14:31:54 +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
b9a266d35a feat(announcement): create AnnouncementMedia model, factory, and migration
- Introduced the AnnouncementMedia model, removing soft deletes for a simplified structure.
- Added AnnouncementMediaFactory for generating test data with relationships to Announcement and PartnerMedia.
- Created migration for the announcement_media table without soft deletes.
2025-12-12 11:30:36 +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
2c5b057958 feat(news): implement news resource with CRUD functionality
- Created NewsResource for managing news entries.
- Added pages for creating, editing, and listing news.
- Defined NewsForm schema for news entry forms.
- Configured NewsTable for displaying news records with actions.
- Implemented News model with relationships and soft deletes.
- Added factories for generating test data for news and tags.
- Created migrations for news and tags tables.
2025-12-12 09:48:34 +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
ae31d8f37f feat: Introduce Issue Management module, refactor enum implementations, and remove rich editors from location forms. 2025-12-11 10:41:43 +07:00
Yoga Pangestu
f9f1e60b2e feat(content recap): implement crud
- create model and migration
- relation to classification
- create resource
- create enum for support option
2025-12-09 15:36:50 +07:00
Yoga Pangestu
a6ea4cfdc5 feat(media monitoring): implement crud
- create enums for channel
- create model and migration
- create many to many relation to theme
- feat resource
2025-12-09 11:27:59 +07:00
Yoga Pangestu
6161126d9f refactor(theme): change label airing proof theme to theme only 2025-12-05 09:59:02 +07:00
Yoga Pangestu
0341d452a0 feat(journalist): implement journalist crud and create migration and model 2025-12-05 08:53:27 +07:00