match (requires_approval, can_user_approve, item_status) { (true, true, Available) => ReadWrite, (true, false, Available) => ReadOnly, (true, _, Inuse) => ReadOnly, (true, _, NotAvailable) => Hidden, (false, _, NotAvailable | Available | InUse) => Hidden, }