chiark / gitweb /
wip new game joining
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 8 Nov 2020 12:03:48 +0000 (12:03 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 8 Nov 2020 12:03:48 +0000 (12:03 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/otter.rs
src/cmdlistener.rs
src/commands.rs
src/spec.rs

index 888a4fa8adb57e7e1768591d0a6d20e2d31f41e3..e22030dd2a70c21cb44468e336e99761f672daa9 100644 (file)
@@ -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() });
 
index 2431b79dd4c99e3ced3f41788c80f2171da33789..d3e7ad2b37553c9d1720785446224bb970047858 100644 (file)
@@ -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 {
index 23e1d7e63639295f964ea3474de197744fabf368..ad3ae0c40401c9dd303f3881d2b349b86dbfcc01 100644 (file)
@@ -82,8 +82,8 @@ pub enum MgmtGameInstruction {
   UpdatePlayer { player: PlayerId, details: MgmtPlayerDetails },
   RemovePlayer { player: PlayerId },
 
+  ClearLog,
   SetACL { acl: Acl<TablePermission> },
-  SetTimezone { tz: String },
 }
 
 // xxx facilitator name?
index 3263f86fee338cabca22cb048b6e88966a29cc05..e5b9815aa719572a48b0e3e49768c8adc2686274 100644 (file)
@@ -63,7 +63,6 @@ pub struct TableSpec {
   #[serde(default)] pub players: Vec<TablePlayerSpec>,
   pub player_perms: Option<HashSet<TablePermission>>,
   #[serde(default)] pub acl: Acl<TablePermission>,
-  pub timezone: Option<String>,
 }
 
 #[derive(Debug,Serialize,Deserialize)]
@@ -101,7 +100,7 @@ pub enum TablePermission {
   RedeliverOthersAccess,
   ModifyOtherPlayer,
   RemovePlayer,
-  ChangeACL,
+  Super,
 }
 
 //---------- player accesses, should perhaps be in commands.rs ----------