Hello everyone, I am trying to create an shiny app that could be used for ~ 700 different user names and passwords. Each username and password would lead to a different set of data being pulled in, however the tabs and fields with in the app will be the same. Just that different username would display different data.I have the basic app running but would appreciate help with the program for the login/password part.
I have tried incorporating the example code( http://shiny.rstudio.com/articles/permissions.html) to my program ( see portion of my code below). However, when I ran the app, it gives me a blank screen for this tab. This is because the user = NULL but i don't get an option to enter the username and password information. Where and how do we get the login form at the beginning of the application? Is there a way to have the login in form and the application linked together so that when the application is run it automatically takes u to the login page where user can enter their info and see the info accordingly. Would really appreciate your help on this. Thanks in advance server <- function(input, output, session) { user <- reactive({ session$user }) table <- formattable(tab1, list( "NumberServed" = formatter( "span", style = x ~ style(color = ifelse(x<tab1$NumberServed_prev,'red', ifelse(x>tab1$NumberServed_prev,'green','orange')), font.weight = "bold"), x ~ icontext(ifelse(x < tab1$NumberServed_pr_goal, "arrow-down",ifelse(x>tab1$NumberServed_pr_goal,'arrow-up','')),x)), "NumberExited" = formatter( "span", style = x ~ style(color = ifelse(x<tab1$NumberExited_prev,'red', ifelse(x>tab1$NumberExited_prev,'green','orange')), font.weight = "bold"), x ~ icontext(ifelse(x < tab1$NumberExited_pr_goal, "arrow-down",ifelse(x>tab1$NumberExited_pr_goal,'arrow-up','')),x)), "PercentWithBarriers" = formatter( "span", style = x ~ style(color = ifelse(x<tab1$PercentWithBarriers_prev,'red', ifelse(x>tab1$PercentWithBarriers_prev,'green','orange')), font.weight = "bold"), x ~ icontext(ifelse(x < tab1$PercentWithBarriers_pr_goal, "arrow-down",ifelse(x>tab1$PercentWithBarriers_pr_goal,'arrow-up','')),x)), "EmploymentQ2" = formatter( "span", style = x ~ style(color = ifelse(x<tab1$EmploymentQ2_prev,'red', ifelse(x>tab1$EmploymentQ2_prev,'green','orange')), font.weight = "bold"), x ~ icontext(ifelse(x < tab1$EmploymentQ2_pr_goal, "arrow-down",ifelse(x>tab1$EmploymentQ2_pr_goal,'arrow-up','')),x)), "EmploymentQ4" = formatter( "span", style = x ~ style(color = ifelse(x<tab1$EmploymentQ4_prev,'red', ifelse(x>tab1$EmploymentQ4_prev,'green','orange')), font.weight = "bold"), x ~ icontext(ifelse(x < tab1$EmploymentQ4_pr_goal, "arrow-down",ifelse(x>tab1$EmploymentQ4_pr_goal,'arrow-up','')),x)), "WagesQ2" = formatter( "span", style = x ~ style(color = ifelse(x<tab1$WagesQ2_prev,'red', ifelse(x>tab1$WagesQ2_prev,'green','orange')), font.weight = "bold"), x ~ icontext(ifelse(x < tab1$WagesQ2_pr_goal, "arrow-down",ifelse(x>tab1$WagesQ2_pr_goal,'arrow-up','')),x)), "CredentialRate" = formatter( "span", style = x ~ style(color = ifelse(x<tab1$CredentialRate_prev,'red', ifelse(x>tab1$CredentialRate_prev,'green','orange')), font.weight = "bold"), x ~ icontext(ifelse(x < tab1$CredentialRate_pr_goal, "arrow-down",ifelse(x>tab1$CredentialRate_pr_goal,'arrow-up','')),x)) )) table$WagesQ2<-currency(table$WagesQ2,symbol = "$", digits = 0) table$NumberServed<-accounting(table$NumberServed,digits=0) table$NumberExited<-accounting(table$NumberExited,digits=0) table$PercentWithBarriers<-percent(table$PercentWithBarriers,digits=2) table$EmploymentQ2<-percent(table$EmploymentQ2,digits=2) table$EmploymentQ4<-percent(table$EmploymentQ4,digits=2) table$CredentialRate<-percent(table$CredentialRate,digits=2) table$NumberServed_prev=NULL table$NumberExited_prev=NULL table$PercentWithBarriers_prev=NULL table$EmploymentQ2_prev=NULL table$EmploymentQ4_prev=NULL table$WagesQ2_prev=NULL table$CredentialRate_prev=NULL table$NumberServed_pr_goal=NULL table$NumberExited_pr_goal=NULL table$PercentWithBarriers_pr_goal=NULL table$EmploymentQ2_pr_goal=NULL table$EmploymentQ4_pr_goal=NULL table$WagesQ2_pr_goal=NULL table$CredentialRate_pr_goal=NULL myData <- reactive({ if (isManager()){ # If a manager, show everything. return(table) } else{ # If a regular salesperson, only show their own sales. return(table[table$dist == user(),]) } }) isManager <- reactive({ if (user() == "manager"){ return(TRUE) } else{ return(FALSE) } }) output$results1 <- renderFormattable({ if(is.null(user())){return()} myData() }) ) } -- Syeda Sana Fatima [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.