From: Ian Jackson Date: Sun, 8 Nov 2020 12:03:48 +0000 (+0000) Subject: wip new game joining X-Git-Tag: otter-0.2.0~547 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=e639fe0834b1d51866ebb71135823739065d1a4b;p=otter.git wip new game joining Signed-off-by: Ian Jackson --- diff --git a/src/bin/otter.rs b/src/bin/otter.rs index 888a4fa8..e22030dd 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -383,6 +383,7 @@ fn setup_table(ma: &MainOpts, chan: &mut ConnForGame, .collect(); let mut insns = vec![]; + insns.push(MGI::ClearLog); insns.push(MGI::SetACL { acl }); isnns.push(MGI::SetTimezone { tz: timezone.clone() }); diff --git a/src/cmdlistener.rs b/src/cmdlistener.rs index 2431b79d..d3e7ad2b 100644 --- a/src/cmdlistener.rs +++ b/src/cmdlistener.rs @@ -504,7 +504,7 @@ fn execute_game_insn<'cs, 'igr, 'ig : 'igr>( SetACL { acl } => { let ag = AccountsGuard::lock(); - let (ig, _) = cs.check_acl(&ag, ig, PCH::Instance, &[TP::ChangeACL])?; + let (ig, _) = cs.check_acl(&ag, ig, PCH::Instance, &[TP::Super])?; ig.acl = acl.into(); (U{ pcs: vec![ ], log: vec![ LogEntry { diff --git a/src/commands.rs b/src/commands.rs index 23e1d7e6..ad3ae0c4 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -82,8 +82,8 @@ pub enum MgmtGameInstruction { UpdatePlayer { player: PlayerId, details: MgmtPlayerDetails }, RemovePlayer { player: PlayerId }, + ClearLog, SetACL { acl: Acl }, - SetTimezone { tz: String }, } // xxx facilitator name? diff --git a/src/spec.rs b/src/spec.rs index 3263f86fe..e5b9815a 100644 --- a/src/spec.rs +++ b/src/spec.rs @@ -63,7 +63,6 @@ pub struct TableSpec { #[serde(default)] pub players: Vec, pub player_perms: Option>, #[serde(default)] pub acl: Acl, - pub timezone: Option, } #[derive(Debug,Serialize,Deserialize)] @@ -101,7 +100,7 @@ pub enum TablePermission { RedeliverOthersAccess, ModifyOtherPlayer, RemovePlayer, - ChangeACL, + Super, } //---------- player accesses, should perhaps be in commands.rs ----------