Skip to content

Add community forum#507

Merged
uyscuti-wiki merged 10 commits into
masterfrom
forum
Jun 25, 2026
Merged

Add community forum#507
uyscuti-wiki merged 10 commits into
masterfrom
forum

Conversation

@uyscuti-wiki

Copy link
Copy Markdown
Collaborator

This PR adds a threaded discussion forum to the platform with categories, posts, and moderation tools.

Features

  • Browse, create, and reply to threads organized by category
  • Admin controls: lock/unlock, pin/unpin, move, and delete threads
  • Forum-scoped user banning
  • Private categories (authenticated users only)
  • Slug-based thread URLs via spatie/laravel-sluggable

Models: Thread, Post, Category
Policies: ThreadPolicy, PostPolicy

…d categories: add CRUD operations, thread locking, pinning, and user bans
…illable attributes, and sluggable support; extend `User` model with forum-related methods and relationships
…d_at` column in `users` table to support Forum module functionality
…unity access; refactor icons across views with Phosphor Icons library
Restrict thread creation route to admins, adjust Blade template spacing, and assert forbidden access in `GlossarySubjectControllerTest`.

Update `PostControllerTest` to reflect thread-scoped post routes in HTTP requests

Refactor Forum routes to include thread-scoped post actions; update tests to assert forbidden access instead of redirection.

Simplify admin authorization by updating `RedirectIfAdmin` middleware and removing constructor check in `CategoryController`.

Add authorization check for non-public `CategoryController` routes

Remove `is_solution` attribute and casting from `Post` model and factory

Add `HasFactory` trait to `Category`, `Thread`, and `Post` models for factory support

Add comprehensive feature and unit tests for Forum module: includes tests for controllers, policies, models, factories, and middleware
@uyscuti-wiki uyscuti-wiki merged commit 1eda333 into master Jun 25, 2026
1 check passed
@uyscuti-wiki uyscuti-wiki deleted the forum branch June 25, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant