sparmin
Filament-User vs. Frontend-User
Imagine a basic site with FE login, like Twitter. Logging into the FE loads your stuff, your posts, etc. Additionally I need an administration system like Filament for the admins. The admins can see all posts, manage FE users, etc. But of course the FE login should not be an access to the admin panel.
I figured that using the same User model/db would be doable, and that I'd need to define permissions then. But I'm not sure what the best practice is in terms of clean code and user maintenance, if mixing both user data in one table is the way to go
6 replies
How to refresh form data?
Yes. The attributes are correctly updated, the logic works just as intended.
And I think I found the reason for this behavior, although I don't fully get it. So the Game has the attribute
current_round
, which is a foreign key and references the Round object. The Game object also has the method Game::currentRound()
though which calls return $this->hasOne(Round::class, 'id', 'current_round');
So when I display the status message 'Current round' . $game->currentRound->sort
I call the referenced Round object and the status message does not refresh. But if I change it to 'Current round' . $game->current_round
which is the actual attribute of the Game object it does refresh automatically (although it shows the id of the referenced Round object instead of the desired Round::sort
attribute. So I assume there's a delay or so by calling the referenced object..15 replies
How to refresh form data?
The Game model has several attributes is_running, is_finished and current_round. Depending on the combination of these attributes I display status messages like "The game has not started yet" or "Current round: ..." including the according buttons "Start game" or "Next round". These buttons are actions which make changes to the Game object. You can see more details in the screenshots above.
15 replies
How to refresh form data?
Doesn't work unfortunately. I've even tried solving it quick&dirty by forcing a reload via JS but that also didn't work, the page reloaded but the status message stayed the same:
const gameControl = document.getElementById("data.game-control");
if (gameControl) {
const button = gameControl.querySelector("button");
if (button) {
button.addEventListener("click", function () {
location.reload(true);
});
}
}
15 replies