//HtmlGenericControl StartVoceMenu(HtmlGenericControl parent, string testo,string classfun, string buttontag, EventHandler handler) { // HtmlGenericControl LI = new HtmlGenericControl("li"); // LI.InnerText = testo; // parent.Controls.Add(LI); // LI.Attributes["onClick"] = "doMenuFunction(\"" + classfun + "\",\"" + buttontag + "\"); return true;"; // Page.ClientScript.GetCallbackEventReference(HwMenuButton.ID, buttontag, null, null, null, true); // return LI; //} //LiteralControl StopVoceMenu(LiteralControl parent) { //} protected void Page_Load(object sender, System.EventArgs e) { ///////////////// WebLog.Log(this, "Visualizza IndiceReport.aspx"); //////////////// MyMenuClass.RegisterScript(this, HwMenuButton); MetaMasterBootstrap master = Page.Master as MetaMasterBootstrap; master?.setUniversita(Session["system_config_nome_universita"] as string); bool IsManager = (Session["CodiceResponsabile"] != null ? true : false); if (!IsManager) { PrenotaWait = false; PrenotaMyTeam = false; RicaricaCard = false; GestisciCard = false; IngressoMagazzino = false; } //btnRegistroRichiesteBuonoOrdine.Attributes.Add("onclick", "aprifin();"); if (Session["Cart"] != null) { ApplicationState APS = ApplicationState.GetApplicationState(this); MetaData M = APS.Dispatcher.Get("booking"); M.edit_type = "defaultnew02"; APS.CallPage(this, M, false); } if (Session["UserPar"] != null) { if (Session["ModuleReportRow"] != null) { // Report string F = "window.open('WebPDFView.aspx');"; if (!Page.ClientScript.IsClientScriptBlockRegistered(typeof(Page), "openwin")) { Page.ClientScript.RegisterClientScriptBlock( typeof(Page), "openwin", F, true); } //if (Session["PageToCameBack"] != null) { // string url = Session["PageToCameBack"].ToString(); // Session["PageToCameBack"] = null; // Response.Redirect(url); // return; //} } else { // Export string F = "window.open('ExportView.aspx');"; if (!Page.ClientScript.IsClientScriptBlockRegistered(typeof(Page), "openwin")) { Page.ClientScript.RegisterClientScriptBlock( typeof(Page), "openwin", F, true); } } //ApplicationState APS = ApplicationState.GetApplicationState(this); //MetaData M = APS.Dispatcher.Get("webpdf"); //M.edit_type = "view"; //APS.CallPage(this, M, false); } DataAccess UsrConn = GetVars.GetUserConn(this); if (((UsrConn == null) || (UsrConn.Open() == false))) { return; } string tipoutente = Session["TipoUtente"] as string; //if (tipoutente != "utente" && tipoutente != "Utente LDAP") { if (UsrConn.GetUsr("HasVirtualUser") == null && tipoutente != "utente") { Atto = false; AttoBudget = false; BuonoOrdine = false; VarPrev = false; ViterboVarPrev = false; VarIniziale = false; VarPrevBudget = false; VarInizialeBudget = false; Vetrina = false; Prenota = false; IngressoMagazzino = false; PrenotaMyTeam = false; PrenotaWait = false; Missioni = false; CataniaMissioni = false; MissioniAuth = false; MissioniMyTeam = false; canChangeRole = false; RicaricaCard = false; GestisciCard = false; Upb = false; Finanziamento = false; } if (tipoutente == "Utente LDAP" || tipoutente == "Utente SSO") { CanChangePassword = false; } if (RicaricaCard && UsrConn.RUN_SELECT_COUNT("lcard", null, false) == 0) { RicaricaCard = false; } //if (GestisciCard && UsrConn.RUN_SELECT_COUNT("lcard", null, false) == 0) { // GestisciCard = false; //} MyMenuClass myMenu = new MyMenuClass(null); CheckSecurityOnMenuButtons(myMenu); string filter = UsrConn.GetSys("filterrule") as string; filter = GetData.MergeFilters(filter, "(webvisible='S')"); if (tipoutente == "responsabile") { filter = filter + "AND" + "(reportname in (select reportname from reportparameter where datasource='manager'))"; } if (tipoutente == "fornitore") { filter = filter + "AND" + "(reportname in (select reportname from reportparameter where datasource='registryreference'))"; } ModRepWeb = UsrConn.RUN_SELECT("report", "*", "modulename,groupname", filter, null, true); UsrConn.Security.DeleteAllUnselectable(ModRepWeb); QueryHelper QHS = UsrConn.GetQueryHelper(); CQueryHelper QHC = new CQueryHelper(); object idflowchart = UsrConn.GetSys("idflowchart"); if (idflowchart != null && idflowchart != DBNull.Value) { //Applica filtro su stampe in base a flowchart DataTable MyMod = UsrConn.RUN_SELECT("flowchartmodulegroup", "*", null, QHS.CmpEq("idflowchart", idflowchart), null, false); if (MyMod != null && MyMod.Columns.Count > 0) { MyMod.CaseSensitive = false; foreach (DataRow RM in ModRepWeb.Select()) { if (RM["modulename"].ToString() == "" || RM["groupname"].ToString() == "") { continue; } string existfilter = QHC.AppAnd(QHC.CmpEq("modulename", RM["modulename"]), QHC.CmpEq("groupname", RM["groupname"])); if (MyMod.Select(existfilter).Length > 0) { continue; } RM.Delete(); } } } ModRepWeb.AcceptChanges(); string lastmodule = ""; string lastgroupname = ""; //Visualizza l'elenco dei report disponibili if (ModRepWeb != null && ModRepWeb.Rows.Count > 0) { MyMenuClass menuReport = new MyMenuClass("Report"); myMenu.AddChild(menuReport); MyMenuClass menuModule = null; MyMenuClass menuGruppo = null; foreach (DataRow DrReport in ModRepWeb.Rows) { if (DrReport["modulename"].ToString().ToLower() != lastmodule) { menuModule = new MyMenuClass(DrReport["modulename"].ToString()); menuReport.AddChild(menuModule); lastmodule = DrReport["modulename"].ToString().ToLower(); menuGruppo = new MyMenuClass(DrReport["groupname"].ToString(), true); menuModule.AddChild(menuGruppo); lastgroupname = DrReport["groupname"].ToString().ToLower(); } if (DrReport["groupname"].ToString().ToLower() != lastgroupname) { menuGruppo = new MyMenuClass(DrReport["groupname"].ToString(), true); menuModule.AddChild(menuGruppo); lastgroupname = DrReport["groupname"].ToString().ToLower(); } MyMenuClass voce = new MyMenuClass(DrReport["Description"].ToString(), "r", DrReport["ModuleName"].ToString() + "." + DrReport["ReportName"].ToString()); menuGruppo.AddChild(voce); } } string filterexpresp = "(webvisible='S') "; if (Session["CodiceResponsabile"] != null) { filterexpresp = filterexpresp + " AND" + "(procedurename in (select procedurename from exportfunctionparam where datasource='manager'))"; } if (Session["CodiceFornitore"] != null) { filterexpresp = filterexpresp + " AND" + "(procedurename in (select procedurename from exportfunctionparam where datasource='registryreference'))"; } ExportWeb = UsrConn.RUN_SELECT("exportfunction", "*", "modulename", filterexpresp, null, true); UsrConn.Security.DeleteAllUnselectable(ExportWeb); if (idflowchart != null && idflowchart != DBNull.Value) { //Applica filtro su stampe in base a flowchart DataTable MyMod = UsrConn.RUN_SELECT("flowchartexportmodule", "*", null, QHS.CmpEq("idflowchart", idflowchart), null, false); if (MyMod != null && MyMod.Columns.Count > 0) { MyMod.CaseSensitive = false; foreach (DataRow RM in ExportWeb.Select()) { if (RM["modulename"].ToString() == "") { continue; } string existfilter = QHC.CmpEq("modulename", RM["modulename"]); if (MyMod.Select(existfilter).Length > 0) { continue; } RM.Delete(); } } } ExportWeb.AcceptChanges(); lastmodule = ""; //Visualizza l'elenco delle esportazioni disponibili if (ExportWeb != null && ExportWeb.Rows.Count > 0) { MyMenuClass menuExport = new MyMenuClass("Esportazioni"); myMenu.AddChild(menuExport); MyMenuClass menuExpModule = null; //MyMenuClass menuExpGruppo; foreach (DataRow DrExport in ExportWeb.Rows) { if (DrExport["modulename"].ToString().ToLower() != lastmodule) { menuExpModule = new MyMenuClass(DrExport["modulename"].ToString(), null, null); menuExport.AddChild(menuExpModule); lastmodule = DrExport["modulename"].ToString().ToLower(); } MyMenuClass voce = new MyMenuClass(DrExport["Description"].ToString(), "e", DrExport["procedurename"].ToString() + "." + DrExport["Description"].ToString()); menuExpModule.AddChild(voce); } } /* * MyMenuClass sys = new MyMenuClass("Sistema"); * myMenu.AddChild(sys); * sys.AddChild(new MyMenuClass("Disconnetti", "s", "disconnect")); * if (canChangeRole) sys.AddChild(new MyMenuClass("Cambio Ruolo", "s", "changerole")); * if (CanChangePassword) sys.AddChild(new MyMenuClass("Cambio Password", "s", "changepwd")); */ myMenu.AddChild(new MyMenuClass("Disconnetti", "s", "disconnect")); if (canChangeRole) { myMenu.AddChild(new MyMenuClass("Cambio Ruolo", "s", "changerole")); } if (CanChangePassword) { myMenu.AddChild(new MyMenuClass("Cambio Password", "s", "changepwd")); } myMenu.Optimize(); MenuPanel.Controls.Add(myMenu.GetControl()); UsrConn.Close(); //WebLog.Log(this,"Visualizza Elenco Report disponibili (" + ModRepWeb.Rows.Count.ToString() + ")"); }