MUC: Save room to storage once after form processing, not in each individual setter
[prosody.git] / plugins / muc / members_only.lib.lua
index 7a6de43bcb6018b660470413dcb93dd2287c4082..888e86228d69b01d20eef9b279a6ddb99f0368da 100644 (file)
@@ -44,7 +44,6 @@ local function set_members_only(room, members_only)
                        module:fire_event("muc-occupant-left", {room = room; nick = occupant.nick; occupant = occupant;});
                end
        end
-       room:save(true);
        return true;
 end
 
@@ -118,6 +117,7 @@ module:hook("muc-invite", function(event)
                                from, invitee, room.jid);
                        -- This might fail; ignore for now
                        room:set_affiliation(from, invitee, "member", "Invited by " .. from);
+                       room:save();
                end
        end
 end);