Commit Graph

39 Commits

Author SHA1 Message Date
Yoga Pangestu
2d362b54dc feat: Remove custom page classes for login, registration, media, company, and verification management 2026-01-12 09:46:54 +07:00
Yoga Pangestu
1a3f0610a3 feat: Add notification system with BroadcastNotification class and database migration for notifications table 2026-01-09 10:43:16 +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
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
0382570c23 feat: Add site_email and site_phone fields to GeneralSettings and migration 2026-01-06 09:28:37 +07:00
Yoga Pangestu
0ffc7a1d92 feat: Implement Spatie Laravel Settings with Filament pages for general, SEO, and social media management. 2026-01-05 11:57:56 +07:00
Yoga Pangestu
861aff3c78 feat: Implement news listing page with search, filter, and pagination, and update news table schema. 2025-12-24 14:50:26 +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
ab4b04b1d8 feat: Set email_verified_at for seeded user. 2025-12-19 14:33:08 +07:00
Yoga Pangestu
825c1b210c style: Apply minor formatting adjustments to anonymous function syntax and string concatenations. 2025-12-16 14:22:06 +07:00
Yoga Pangestu
1fb21e9a5b feat: Add comprehensive permissions for various new resources to the Shield seeder. 2025-12-16 13:26:02 +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
2eb99fa9c7 feat(seeder): add 'Administrator' and 'Perusahaan' role 2025-12-05 09:46:23 +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
59d5040812 feat(spatie media lib & asmit upload: install and custom path in spatie library
- publish asset and view
- create migration
2025-12-04 13:57:33 +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
3486231739 feat(migration): update users table schema and add is_active column with enum
feat(seeder): create UserSeeder for initial user data population
2025-11-19 14:50:19 +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