Continuo FIX area PBO

This commit is contained in:
Samuele E. Locatelli
2018-09-12 11:41:11 +02:00
parent cde206d2b9
commit 627301b25d
20 changed files with 547 additions and 29 deletions
-5
View File
@@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace PUB.PAZ
{
-13
View File
@@ -1,18 +1,5 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="PUB.PAZ.Login" %>
<asp:Content ID="Content2" ContentPlaceHolderID="JumboTronContent" runat="server">
<div class="py-3">
<div class="container">
<h1>B2BCONDOMINI.IT</h1>
<p class="lead">Qui dobbiamo spiegare all'utente "FORNITORE" cosa deve fare e come deve accedere... TENDENZIALMENTE con email e certificato associato (come quelli già usati)</p>
<p>Però per le aziende potremmo avere anche il caso di + accessi (es un accesso principale e altri accessi secondari): accesso principale riceve notifiche e fa gestione principale, accessi secondari possono solo "portare avanti" le cose già accettate/iniziate/prese in carico...</p>
<p>POTREBBE essere utile pensare anche a una forma di pubblicità (da rieptere dalla sezione "about" / contatti?) x convincere le aziende all'accesso</p>
<p>!!!DA COMPLETARE!!! </p>
<p><a href="/About" class="btn btn-primary btn-lg">Per maggiori informazioni &raquo;</a></p>
</div>
</div>
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<div class="container">
<div class="row">
+16
View File
@@ -0,0 +1,16 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="PUB.PBO.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
+12
View File
@@ -0,0 +1,12 @@
using System;
namespace PUB.PBO
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("Login");
}
}
}
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Codice generato da uno strumento.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PUB.PBO
{
public partial class Default
{
/// <summary>
/// Controllo form1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
+62
View File
@@ -0,0 +1,62 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/SitePBO.master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="PUB.PBO.Login" %>
<asp:Content ID="Content1" ContentPlaceHolderID="NoAjaxContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div class="container">
<div class="row">
<div class="col-12 py-5">
<h2>Accesso BACKOFFICE</h2>
<asp:LinkButton runat="server" ID="lbtMyDashboard" OnClick="lbtMyDashboard_Click" class="btn btn-warning btn-lg"> Accesso dashboard &raquo;</asp:LinkButton>
<div runat="server" id="divReqLink">
Utente non autorizzato: prego scegliere fra le opzioni seguenti:
<div class="row">
<div class="col-4">
<asp:LinkButton runat="server" ID="lbtReqEmail" class="btn btn-outline-secondary btn-lg btn-block" OnClick="lbtReqEmail_Click"> Recupera email token &raquo;</asp:LinkButton>
</div>
<div class="col-4">
<a href="/About" class="btn btn-outline-primary btn-lg btn-block">Maggiori informazioni &raquo;</a>
</div>
<div class="col-4">
<asp:LinkButton runat="server" ID="lbtNuovoUser" class="btn btn-outline-success btn-lg btn-block" OnClick="lbtNuovoUser_Click"> Registrati alla piattaforma &raquo;</asp:LinkButton>
</div>
<div class="col-12 my-2" runat="server" id="divReqEmail" visible="false">
<div class="form-row">
<div class="col-2 col-form-label">
<label for="email" class="mr-sm-2">Email:</label>
</div>
<div class="col-8 col-form-label">
<asp:TextBox runat="server" ID="txtEmail" CssClass="form-control mw-100" placeholder="prego inserire email" />
</div>
<div class="col-2 col-form-label">
<asp:LinkButton runat="server" ID="reqEmail" CssClass="btn btn-secondary mb-2" OnClick="reqEmail_Click">Invia Email Token &raquo;</asp:LinkButton>
</div>
</div>
</div>
<div class="col-12 my-2" runat="server" id="divNewUserAz" visible="false">
Area registrazione piattaforma: da completare. Richiesta minima
<ul>
<li>Rag Sociale</li>
<li>Cognome / Nome del legale rappresentante</li>
<li>C.Fiscale del legale rappresentante</li>
<li>Email principale</li>
</ul>
altri dati da richiedere (subito? dopo?)
<ul>
<li>Indirizzo completo</li>
<li>P.Iva</li>
<li>Num condomini che si vorrebbe inserire [0-10 | 10-50 | 50-100 | > 100]</li>
<li>email secondarie da autorizzare (globali)</li>
<li>altro?</li>
</ul>
</div>
<div class="col-12 my-2" runat="server" id="divResult" visible="false">
<asp:Label runat="server" ID="lblOut" CssClass="text-danger"></asp:Label>
</div>
</div>
</div>
</div>
</div>
</div>
</asp:Content>
+105
View File
@@ -0,0 +1,105 @@
using Data;
using SteamWare;
using System;
namespace PUB.PBO
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
bool userAuth = devicesAuthProxy.stObj.userHasRight("PBO");
// se ha permesso --> salvo KEY di riferimento...
if (userAuth)
{
int idxFornitore = 0;
try
{
idxFornitore = DtProxy.man.taAssU2F.getByUser(devicesAuthProxy.stObj.utente)[0].idxFornitore;
}
catch
{ }
memLayer.ML.setSessionVal("idxFornitore", idxFornitore);
// rimando a MyHome...
Response.Redirect("~/PBO/MyHome");
}
lbtMyDashboard.Visible = userAuth;
divReqLink.Visible = !userAuth;
}
protected void lbtMyDashboard_Click(object sender, EventArgs e)
{
// rimanda a MyDashboard
Response.Redirect("MyDashboard");
}
protected void lbtReqEmail_Click(object sender, EventArgs e)
{
divReqEmail.Visible = true;
divNewUserAz.Visible = false;
divResult.Visible = false;
}
protected void lbtNuovoUser_Click(object sender, EventArgs e)
{
divReqEmail.Visible = false;
divNewUserAz.Visible = true;
divResult.Visible = false;
}
protected void reqEmail_Click(object sender, EventArgs e)
{
string _username = txtEmail.Text.Trim();
if (_username != "")
{
// verifico esista utente...
if (devicesAuthProxy.stObj.userIsKnown(_username))
{
// invio email di auth!
string AuthKey = "";
try
{
AuthKey = devicesAuthProxy.stObj.taUtenti.getByEmail(_username)[0].authKey;
}
catch
{ }
if (_username != "" && AuthKey != "")
{
string siteName = memLayer.ML.CRS("SiteName");
string body = "Salve,<br/><br/>Questo è un messaggio automatico generato da {3} a nome dell'amministratore della piattaforma.<br/><br/><a href=\"{0}/jumper?UserAuthkey={1}&USER_NAME={2}\">Prego cliccare sul seguente link (oppure copiare lo stesso ed incollarlo sul browser preferito)</a> per abilitare l'accesso a {3}.<br/><br/>Cordialmente.";
string subject = string.Format("Autorizzazione accesso a {0}", siteName);
// invio email!
devicesAuthProxy.stObj.sendEmailAuthKey(_username, AuthKey, siteName, subject, body);
// resetto ed indico email inviata...
txtEmail.Text = "";
divReqEmail.Visible = false;
divNewUserAz.Visible = false;
divResult.Visible = true;
lblOut.Text = string.Format("Email di reset inviata all'indirizzo {0}", _username);
}
else
{
divReqEmail.Visible = true;
divNewUserAz.Visible = false;
divResult.Visible = true;
lblOut.Text = "Email non attiva, attendere autorizzazione o contattare l'amministratore all'indirizzo info@b2bcondomini.it";
}
}
else
{
divReqEmail.Visible = true;
divNewUserAz.Visible = false;
divResult.Visible = true;
lblOut.Text = "Email non trovata in archivio, prego riprovare o registrarsi";
}
}
else
{
divReqEmail.Visible = true;
divNewUserAz.Visible = false;
divResult.Visible = true;
lblOut.Text = "Errore email non valida/vuota, prego digitare indirizzo valido.";
}
}
}
}
+105
View File
@@ -0,0 +1,105 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace PUB.PBO {
public partial class Login {
/// <summary>
/// Controllo lbtMyDashboard.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtMyDashboard;
/// <summary>
/// Controllo divReqLink.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divReqLink;
/// <summary>
/// Controllo lbtReqEmail.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtReqEmail;
/// <summary>
/// Controllo lbtNuovoUser.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtNuovoUser;
/// <summary>
/// Controllo divReqEmail.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divReqEmail;
/// <summary>
/// Controllo txtEmail.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtEmail;
/// <summary>
/// Controllo reqEmail.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton reqEmail;
/// <summary>
/// Controllo divNewUserAz.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divNewUserAz;
/// <summary>
/// Controllo divResult.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divResult;
/// <summary>
/// Controllo lblOut.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblOut;
}
}
+32
View File
@@ -0,0 +1,32 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/SitePBO.master" AutoEventWireup="true" CodeBehind="MyDashboard.aspx.cs" Inherits="PUB.PBO.MyDashboard" %>
<%@ Register Src="~/WebUserContols/mod_ER_inCorso.ascx" TagPrefix="uc1" TagName="mod_ER_inCorso" %>
<%@ Register Src="~/WebUserContols/mod_warnings.ascx" TagPrefix="uc1" TagName="mod_warnings" %>
<%@ Register Src="~/WebUserContols/mod_graficiRow.ascx" TagPrefix="uc1" TagName="mod_graficiRow" %>
<%@ Register Src="~/WebUserContols/mod_inScadenza.ascx" TagPrefix="uc1" TagName="mod_inScadenza" %>
<%@ Register Src="~/WebUserContols/mod_contabilita.ascx" TagPrefix="uc1" TagName="mod_contabilita" %>
<asp:Content ID="Content1" ContentPlaceHolderID="NoAjaxContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div class="container-fluid my-1 bg-light">
<div class="row p-2">
<div class="col-md-8 my-1">
<uc1:mod_graficiRow runat="server" ID="mod_graficiRow" />
</div>
<div class="col-md-4 my-1">
<uc1:mod_ER_inCorso runat="server" ID="mod_ER_inCorso" />
</div>
<div class="col-md-4 my-1">
<uc1:mod_warnings runat="server" ID="mod_warnings" />
</div>
<div class="col-md-4 my-1">
<uc1:mod_inScadenza runat="server" ID="mod_inScadenza" />
</div>
<div class="col-md-4 my-1">
<uc1:mod_contabilita runat="server" id="mod_contabilita" />
</div>
</div>
</div>
</asp:Content>
+17
View File
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace PUB.PBO
{
public partial class MyDashboard : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
+60
View File
@@ -0,0 +1,60 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace PUB.PBO {
public partial class MyDashboard {
/// <summary>
/// Controllo mod_graficiRow.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::PUB.WebUserContols.mod_graficiRow mod_graficiRow;
/// <summary>
/// Controllo mod_ER_inCorso.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::PUB.WebUserContols.mod_ER_inCorso mod_ER_inCorso;
/// <summary>
/// Controllo mod_warnings.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::PUB.WebUserContols.mod_warnings mod_warnings;
/// <summary>
/// Controllo mod_inScadenza.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::PUB.WebUserContols.mod_inScadenza mod_inScadenza;
/// <summary>
/// Controllo mod_contabilita.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::PUB.WebUserContols.mod_contabilita mod_contabilita;
}
}
+5
View File
@@ -0,0 +1,5 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/SitePBO.master" AutoEventWireup="true" CodeBehind="MyHome.aspx.cs" Inherits="PUB.PBO.MyHome" %>
<asp:Content ID="Content1" ContentPlaceHolderID="NoAjaxContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
</asp:Content>
+17
View File
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace PUB.PBO
{
public partial class MyHome : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
+17
View File
@@ -0,0 +1,17 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Codice generato da uno strumento.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PUB.PBO
{
public partial class MyHome
{
}
}
+29 -5
View File
@@ -216,8 +216,11 @@
<Content Include="PBO\Anagrafiche.aspx" />
<Content Include="PBO\AnagUtenti.aspx" />
<Content Include="PBO\Aziende.aspx" />
<Content Include="PBO\Dashboard.aspx" />
<Content Include="PBO\Default.aspx" />
<Content Include="PBO\Interventi.aspx" />
<Content Include="PBO\Login.aspx" />
<Content Include="PBO\MyDashboard.aspx" />
<Content Include="PBO\MyHome.aspx" />
<Content Include="PBO\Richieste.aspx" />
<Content Include="PCO\MyDashboard.aspx" />
<Content Include="Reset.aspx" />
@@ -695,12 +698,12 @@
<Compile Include="PBO\Aziende.aspx.designer.cs">
<DependentUpon>Aziende.aspx</DependentUpon>
</Compile>
<Compile Include="PBO\Dashboard.aspx.cs">
<DependentUpon>Dashboard.aspx</DependentUpon>
<Compile Include="PBO\Default.aspx.cs">
<DependentUpon>Default.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="PBO\Dashboard.aspx.designer.cs">
<DependentUpon>Dashboard.aspx</DependentUpon>
<Compile Include="PBO\Default.aspx.designer.cs">
<DependentUpon>Default.aspx</DependentUpon>
</Compile>
<Compile Include="PBO\Interventi.aspx.cs">
<DependentUpon>Interventi.aspx</DependentUpon>
@@ -709,6 +712,27 @@
<Compile Include="PBO\Interventi.aspx.designer.cs">
<DependentUpon>Interventi.aspx</DependentUpon>
</Compile>
<Compile Include="PBO\Login.aspx.cs">
<DependentUpon>Login.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="PBO\Login.aspx.designer.cs">
<DependentUpon>Login.aspx</DependentUpon>
</Compile>
<Compile Include="PBO\MyDashboard.aspx.cs">
<DependentUpon>MyDashboard.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="PBO\MyDashboard.aspx.designer.cs">
<DependentUpon>MyDashboard.aspx</DependentUpon>
</Compile>
<Compile Include="PBO\MyHome.aspx.cs">
<DependentUpon>MyHome.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="PBO\MyHome.aspx.designer.cs">
<DependentUpon>MyHome.aspx</DependentUpon>
</Compile>
<Compile Include="PBO\Richieste.aspx.cs">
<DependentUpon>Richieste.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
+5 -1
View File
@@ -4,8 +4,12 @@
<asp:Content ID="Content1" ContentPlaceHolderID="JumboTronContent" runat="server">
<uc1:mod_statusRow runat="server" ID="mod_statusRow" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="NoAjaxContent" runat="server">
<asp:ContentPlaceHolder ID="NoAjaxContent" runat="server">
</asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<asp:ContentPlaceHolder ID="MainContent" runat="server">
</asp:ContentPlaceHolder>
</asp:Content>
+9
View File
@@ -21,6 +21,15 @@ namespace PUB {
/// </remarks>
protected global::PUB.WebUserContols.mod_statusRow mod_statusRow;
/// <summary>
/// Controllo NoAjaxContent.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ContentPlaceHolder NoAjaxContent;
/// <summary>
/// Controllo MainContent.
/// </summary>
+3 -2
View File
@@ -7,8 +7,9 @@
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item mx-1 btn-secondary" runat="server" id="lnkPBO"><a class="nav-link" runat="server" href="~/PBO/Dashboard"><i class="fas fa-tachometer-alt text-info"></i> MyDashboard B2BC</a></li>
<ul class="navbar-nav mr-auto">
<li class="nav-item mx-1" runat="server" id="lnkHomePBO"><a class="nav-link" runat="server" href="~/PBO/MyHome"><i class="fas fa-home text-default"></i> MyHome PBO B2BC</a></li>
<li class="nav-item mx-1" runat="server" id="lnkDashPBO"><a class="nav-link" runat="server" href="~/PBO/MyDashboard"><i class="fas fa-tachometer-alt text-info"></i> MyDashboard PBO B2BC</a></li>
<li class="nav-item mx-1" runat="server" id="lnkHomePAZ"><a class="nav-link" runat="server" href="~/PAZ/MyHome"><i class="fas fa-home text-default"></i> MyHome PAZ</a></li>
<li class="nav-item mx-1" runat="server" id="lnkDashPAZ"><a class="nav-link" runat="server" href="~/PAZ/MyDashboard"><i class="fas fa-tachometer-alt text-default"></i> MyDashboard PAZ</a></li>
+16 -1
View File
@@ -91,7 +91,22 @@ namespace PUB.WebUserContols
}
}
lnkPBO.Visible = isPBO && hasPBO;
lnkDashPBO.Visible = isPBO && hasPBO;
lnkHomePBO.Visible = isPBO && hasPBO;
if (isPBO)
{
//"btn-light text-dark"
if (titolo == "MyHome")
{
lnkHomePBO.Attributes.Remove("class");
lnkHomePBO.Attributes.Add("class", "nav-item mx-1 btn-secondary");
}
if (titolo == "MyDashboard")
{
lnkDashPBO.Attributes.Remove("class");
lnkDashPBO.Attributes.Add("class", "nav-item mx-1 btn-secondary");
}
}
lnkPCO.Visible = isPCO && hasPCO;
+11 -2
View File
@@ -22,13 +22,22 @@ namespace PUB.WebUserContols {
protected global::System.Web.UI.Timer Timer1;
/// <summary>
/// Controllo lnkPBO.
/// Controllo lnkHomePBO.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl lnkPBO;
protected global::System.Web.UI.HtmlControls.HtmlGenericControl lnkHomePBO;
/// <summary>
/// Controllo lnkDashPBO.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl lnkDashPBO;
/// <summary>
/// Controllo lnkHomePAZ.