Commit Graph

37 Commits

Author SHA1 Message Date
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
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
Yoga Pangestu
9aa585d8c9 feat(company): implement custom company for 'Perusahaan' role
- crud with custom page
- create model and migration for database schema
- custom view
- company relation from User model
2025-12-04 14:44:46 +07:00
Yoga Pangestu
bfb92ae794 feat(user): add must verfiy email 2025-12-04 14:27:02 +07:00
Yoga Pangestu
68a4a29a4f feat(register): implement custom register and user must verify email 2025-11-27 11:14:29 +07:00
Yoga Pangestu
28ec50494d feat: Add policies for SubClassification, SubLocation, and User models
- Created SubClassificationPolicy to manage authorization for SubClassification actions.
- Created SubLocationPolicy to manage authorization for SubLocation actions.
- Created UserPolicy to manage authorization for User actions.
- Integrate Filament Shield for role and permission management
- Updated DashboardPanelProvider to include FilamentShieldPlugin.
- Added filament-shield package to composer.json and updated composer.lock.
- Created filament-shield.php configuration file for Shield settings.
- Created permission.php configuration file for Spatie permissions.
- Added migration for creating permission tables.
- Created ShieldSeeder to seed roles and permissions.
- Updated DatabaseSeeder to include ShieldSeeder.
- Updated UserSeeder to assign the Developer role to the created user.
2025-11-20 09:00:59 +07:00
Yoga Pangestu
3b3a19131c feat: add AiringProofTheme resource with management pages and migration for airing_proof_themes table 2025-11-19 16:26:56 +07:00
Yoga Pangestu
af6ad20122 feat: add Department resource with management pages and migration for departments table 2025-11-19 16:18:35 +07:00
Yoga Pangestu
061a87dad9 feat: add Location and SubLocation resources with management pages and migrations for locations and sub_locations tables 2025-11-19 15:50:45 +07:00
Yoga Pangestu
d2082806c7 feat: add SubClassification resource with management pages and migration for sub_classifications table 2025-11-19 15:41:41 +07:00
Yoga Pangestu
cb4c76562d feat: add Classification resource with management pages and migration for classifications table 2025-11-19 15:28:27 +07:00
Yoga Pangestu
ee7e62ebd8 feat: install filament and configure panel 2025-10-24 08:25:10 +07:00
Yoga Pangestu
aaa16df01f initial commit 2025-10-24 07:58:05 +07:00