Skip to content

Feature/poll administration - #56

Merged
Webbanditten merged 6 commits into
masterfrom
feature/poll-administration
May 8, 2026
Merged

Feature/poll administration#56
Webbanditten merged 6 commits into
masterfrom
feature/poll-administration

Conversation

@Webbanditten

Copy link
Copy Markdown
Owner

This pull request introduces a full admin interface for managing polls and surveys in the Housekeeping area of the CMS. It adds a new PollsController with all CRUD operations, supporting view models, and user-friendly views for listing, creating, and editing polls. The changes also clarify the distinction between the CMS and game server projects in the developer documentation.

Polls Management Feature:

  • Added PollsController to provide all CRUD endpoints for poll management, including create, update, remove, toggle enabled/disabled status, and view results. All actions are protected by admin access filters.
  • Introduced view models for poll creation, questions, and results in PollViewModels.cs, supporting complex poll structures with questions, options, and trigger settings.

User Interface:

  • Added Create.cshtml view with a dynamic question and option builder, room search, and time pickers for poll triggers, making poll creation user-friendly and flexible.
  • Added Index.cshtml view to list all polls, show their status (active, pending, expired, disabled), and provide actions for editing, toggling, viewing results, and deleting polls.

Documentation:

  • Updated the project documentation to clarify the distinction between the CMS (KeplerCMS, C#) and the game server (Kepler, Java), and added instructions for database access.

Webbanditten and others added 6 commits July 15, 2022 11:00
…play

- Add PollsController, PollService, data models, and CRUD views
- Add Select2 room search and datetime pickers for trigger settings
- Add type-aware question UX: single choice locks min/max, multi shows controls
- Add poll status display: Active/Pending/Expired/Disabled based on trigger times
- Treat time_from/time_to of 0 same as null (always active unless disabled)
- Add room search API endpoint with public + user room support
- Register PollService, add audit log types, add menu entry
- Add EnumToStringConverter for PollQuestionTypes in DataContext
…e IP matching

IP matching alone produced massive false positives from shared internal/proxy
IPs (10.255.0.2, 192.168.x.x, etc). Now only users sharing a v2 machine ID
are shown, with IP overlap noted as additional context in the match type column.
Non-v2 machine IDs have massive collisions (one ID shared by 172 users).
Keep v2% filter until hh_entry.cct is updated to send v2 machine IDs.
IP matching removed as standalone criterion - only shown as context when
a v2 machine ID match already exists.
@Webbanditten
Webbanditten merged commit 45653f6 into master May 8, 2026
2 checks passed
@Webbanditten
Webbanditten deleted the feature/poll-administration branch May 8, 2026 10:21
@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

The pre-release image can be pulled using: docker pull ghcr.io/webbanditten/keplercms:prerelease-dd363627770c7c2ac4bfc4bd054ed67ce437aa5f

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