Significantly improve maillist behaviour

Replace maillist by its players when sending a message
List of players separated by ,
Avoid doublons when editing more than 2 times a maillist
This commit is contained in:
Athozus 2023-03-24 19:47:19 +01:00
parent 1e6e06e56f
commit c4dd235782
No known key found for this signature in database
GPG key ID: B50895022E8484BF
4 changed files with 36 additions and 61 deletions

16
gui.lua
View file

@ -937,11 +937,8 @@ function mail.handle_receivefields(player, formname, fields)
local evt = minetest.explode_table_event(fields.maillists)
selected_idxs.maillists[name] = evt.row - 1
if evt.type == "DCL" and maillists[selected_idxs.maillists[name]] then
local players_ml = mail.getPlayersDataInMaillist(maillists[selected_idxs.maillists[name]].id)
local players_string = ""
for _, p in ipairs(players_ml) do
players_string = players_string .. p.player .. " " .. p.status .. "\n"
end
local players_ml = mail.getPlayersInMaillist(maillists[selected_idxs.maillists[name]].id)
local players_string = mail.concat_player_list(players_ml)
mail.show_edit_maillist(
name,
maillists[selected_idxs.maillists[name]].name,
@ -952,14 +949,11 @@ function mail.handle_receivefields(player, formname, fields)
elseif fields.new then
selected_idxs.maillists[name] = "#NEW#"
mail.show_edit_maillist(name, "", "", "Player1 to\nPlayer2 cc\nPlayer3 bcc")
mail.show_edit_maillist(name, "", "", "Player1, Player2, Player3")
elseif fields.edit and maillists[selected_idxs.maillists[name]] then
local players_ml = mail.getPlayersDataInMaillist(maillists[selected_idxs.maillists[name]].id)
local players_string = ""
for _, p in ipairs(players_ml) do
players_string = players_string .. p.player .. " " .. p.status .. "\n"
end
local players_ml = mail.getPlayersInMaillist(maillists[selected_idxs.maillists[name]].id)
local players_string = mail.concat_player_list(players_ml)
mail.show_edit_maillist(
name,
maillists[selected_idxs.maillists[name]].name,