diff --git a/NAMESPACE b/NAMESPACE index 2dae4c8..48b2644 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -13,6 +13,7 @@ export(read_db_decrypt) export(secure_app) export(secure_server) export(set_labels) +export(use_language) export(write_db_encrypt) importFrom(DBI,dbConnect) importFrom(DBI,dbDisconnect) diff --git a/NEWS.md b/NEWS.md index 0239db1..129fed0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -6,6 +6,7 @@ * (#54) add spanish. Thanks @EAMI91 * (#98) add german. Thanks @indubio * (#39) : fix use shiny bookmarking +* Admin mode: new edit multiple users # shinymanager 1.0.310 diff --git a/R/language.R b/R/language.R index 0932d55..97d10c0 100644 --- a/R/language.R +++ b/R/language.R @@ -81,7 +81,7 @@ pkgEnv$label_en = list( "Logs" = "Logs", "All users" = "All users", "Nb logged" = "Nb logged", - "Permitted null values" = "Permitted null values" + "Allowed null values" = "Allowed null values" ) pkgEnv$label_fr = list( @@ -164,7 +164,7 @@ pkgEnv$label_fr = list( "Logs" = "Logs", "All users" = "Tous les utilisateurs", "Nb logged" = "Connexions", - "Permitted null values" = "Valeurs nulles autoris\u00e9es" + "Allowed null values" = "Valeurs nulles autoris\u00e9es" ) pkgEnv$label_ptbr = list( @@ -247,7 +247,7 @@ pkgEnv$label_ptbr = list( "Logs" = "Conex\u00f5es", "All users" = "All usu\u00e1rio", "Nb logged" = "Conex\u00f5es", - "Permitted null values" = "Valores nulos autorizados" + "Allowed null values" = "Valores nulos autorizados" ) pkgEnv$label_es = list( @@ -301,6 +301,7 @@ pkgEnv$label_es = list( "Home" = "Inicio", "Select all shown users" = "Seleccionar todos los usuarios mostrados", "Remove selected users" = "Remover los usuarios seleccionados", + "Edit selected users" = "Editar los usuarios seleccionados", "Force selected users to change password" = "Forzar a los usuarios seleccionados que cambien la contrase\u00f1a", "Users" = "Usuarios", "Passwords" = "Contrase\u00f1as", @@ -329,7 +330,7 @@ pkgEnv$label_es = list( "Logs" = "Registros", "All users" = "Todos los usuarios", "Nb logged" = "Conexiones", - "Permitted null values" = "Valores nulos permitidos" + "Allowed null values" = "Valores nulos permitidos" ) pkgEnv$label_de = list( @@ -383,6 +384,7 @@ pkgEnv$label_de = list( "Home" = "Anfang", "Select all shown users" = "Alle angezeigten Benutzer ausw\u00e4hlen", "Remove selected users" = "Ausgew\u00e4hlte Benutzer l\u00f6schen", + "Edit selected users" = "Ausgew\u00e4hlte Benutzer bearbeiten", "Force selected users to change password" = "F\u00fcr ausgew\u00e4hlte Benutzer Passwort\u00e4nderung erzwingen", "Users" = "Benutzer", "Passwords" = "Passw\u00f6rter", @@ -410,7 +412,8 @@ pkgEnv$label_de = list( "Select" = "Ausw\u00e4hlen", "Logs" = "Protokolle", "All users" = "Alle Benutzer", - "Nb logged" = "Verbindungen" + "Nb logged" = "Verbindungen", + "Allowed null values" = "Nullwerte erlaubt" ) v_language_registered = c("en", "fr", "pt-BR", "es", "de") @@ -579,6 +582,21 @@ language <- R6::R6Class( ) +#' @title Use {shinymanager} labels +#' +#' @description See all labels registered with \code{get_labels()}, +#' then set custom text with \code{set_labels()}. +#' +#' @param lan Language to use for labels, supported values are : "en", "fr", "pt-BR", "es", "de". +#' +#' @return A language object +#' @export +#' +#' +#' @examples +#' +#' use_language(lan = "fr) +#' use_language <- function(lan = "en") { lang <- language$new() lang$set_language(lan) @@ -590,7 +608,7 @@ use_language <- function(lan = "en") { #' @description See all labels registered with \code{get_labels()}, #' then set custom text with \code{set_labels()}. #' -#' @param language Language to use for labels, supported values are : "en", "fr", "pt-BR", "de". +#' @param language Language to use for labels, supported values are : "en", "fr", "pt-BR", "es", "de". #' @param ... A named list with labels to replace. #' #' @return \code{get_labels()} return a named list with all labels registered. diff --git a/R/module-auth.R b/R/module-auth.R index 75ff308..2501777 100644 --- a/R/module-auth.R +++ b/R/module-auth.R @@ -155,7 +155,7 @@ auth_ui <- function(id, status = "primary", tags_top = NULL, #' } #' #' @param use_token Add a token in the URL to check authentication. Should not be used directly. -#' @param lan An langauge object. Should not be used directly. +#' @param lan A language object. See \code{\link{use_language}} #' #' @export #' @@ -180,11 +180,12 @@ auth_server <- function(input, output, session, paste0("#", ns(x)) } + if(!is.reactive(lan)){ if(is.null(lan)){ - lan <- reactive(use_language()) + lan <- reactiveVal(use_language()) } else { - lan <- reactive(lan) + lan <- reactiveVal(lan) } } diff --git a/R/module-edit_user.R b/R/module-edit_user.R index e502e20..a8dbb08 100644 --- a/R/module-edit_user.R +++ b/R/module-edit_user.R @@ -136,7 +136,7 @@ edit_user_ui <- function(id, credentials, username = NULL, inputs_list = NULL, l # add checkbox to authorized NULL value input_list[[length(input_list) + 1]] <- checkboxInput( inputId = ns("_sm_enabled_null"), - label = lan$get("Permitted null values"), + label = lan$get("Allowed null values"), value = TRUE, width = "100%" ) diff --git a/examples/module-auth.R b/examples/module-auth.R index e1d3b7f..cb00136 100644 --- a/examples/module-auth.R +++ b/examples/module-auth.R @@ -51,7 +51,8 @@ if (interactive()) { background = "linear-gradient(rgba(0, 0, 255, 0.5), rgba(255, 255, 0, 0.5)), url('https://www.r-project.org/logo/Rlogo.png');", - choose_language = TRUE + # set language ? + lan = use_language("fr") ), # result of authentication diff --git a/man/custom-labels.Rd b/man/custom-labels.Rd index 0607728..9ae27ca 100644 --- a/man/custom-labels.Rd +++ b/man/custom-labels.Rd @@ -11,7 +11,7 @@ set_labels(language, ...) get_labels(language = "en") } \arguments{ -\item{language}{Language to use for labels, supported values are : "en", "fr", "pt-BR", "de".} +\item{language}{Language to use for labels, supported values are : "en", "fr", "pt-BR", "es", "de".} \item{...}{A named list with labels to replace.} } diff --git a/man/module-authentication.Rd b/man/module-authentication.Rd index d696094..3ee0e86 100644 --- a/man/module-authentication.Rd +++ b/man/module-authentication.Rd @@ -42,7 +42,7 @@ Valid status are: \code{"default"}, \code{"primary"}, \code{"success"}, \item{choose_language}{\code{logical/character}. Add language selection on top ? TRUE for all supported languages or a vector of possibilities like \code{c("fr", "en")}. If enabled, \code{input$shinymanager_language} is created} -\item{lan}{An langauge object. Should not be used directly.} +\item{lan}{A language object. See \code{\link{use_language}}} \item{...}{: Used for old version compatibility.} @@ -125,7 +125,8 @@ if (interactive()) { background = "linear-gradient(rgba(0, 0, 255, 0.5), rgba(255, 255, 0, 0.5)), url('https://www.r-project.org/logo/Rlogo.png');", - choose_language = TRUE + # set language ? + lan = use_language("fr") ), # result of authentication diff --git a/man/use_language.Rd b/man/use_language.Rd new file mode 100644 index 0000000..fd27fe0 --- /dev/null +++ b/man/use_language.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/language.R +\name{use_language} +\alias{use_language} +\title{Use {shinymanager} labels} +\usage{ +use_language(lan = "en") +} +\arguments{ +\item{lan}{Language to use for labels, supported values are : "en", "fr", "pt-BR", "es", "de".} +} +\value{ +A language object +} +\description{ +See all labels registered with \code{get_labels()}, + then set custom text with \code{set_labels()}. +}