v 0.8.196:

inserito controllo EDITING (CUD) delle commesse di bazaar condizionato a
- abilitazione edit full (passato/futuro)
- periodo successivo a settimana corrente
This commit is contained in:
Samuele Locatelli
2013-09-05 18:10:31 +02:00
parent 59780ff197
commit 205dd22043
8 changed files with 201 additions and 97 deletions
+7 -1
View File
@@ -1111,6 +1111,7 @@ div > ul > li > a.selected.menuNav {
}
.cS01 {
/*background-image: url('../Images/grigioChiaro_80.png');*/
background-color: #cdd5c4;
background-image: -webkit-gradient(linear, left top, left bottom, from(#cbff4e), to(#cdd5c4));
background-image: -webkit-linear-gradient(#cbff4e, #cdd5c4);
@@ -1121,6 +1122,7 @@ div > ul > li > a.selected.menuNav {
}
.cS02 {
/*background-image: url('../Images/verde_80.png');*/
background-color: #ffff73;
background-image: -webkit-gradient(linear, left top, left bottom, from(#cbff4e), to(#ffff73));
background-image: -webkit-linear-gradient(#cbff4e, #ffff73);
@@ -1132,6 +1134,7 @@ div > ul > li > a.selected.menuNav {
}
.cS03 {
/*background-image: url('../Images/giallo_80.png');*/
background-color: #ffff73;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffd88d), to(#ffff73));
background-image: -webkit-linear-gradient(#ffd88d, #ffff73);
@@ -1143,6 +1146,7 @@ div > ul > li > a.selected.menuNav {
}
.cS04 {
/*background-image: url('../Images/arancio_80.png');*/
background-color: #ffd88d;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ee8b8b), to(#ffd88d));
background-image: -webkit-linear-gradient(#ee8b8b, #ffd88d);
@@ -1154,6 +1158,7 @@ div > ul > li > a.selected.menuNav {
}
.cOvr {
/*background-image: url('../Images/rosso_80.png');*/
background-color: #ee8b8b;
background-image: -webkit-gradient(linear, left top, left bottom, from(#d52323), to(#ee8b8b));
background-image: -webkit-linear-gradient(#d52323, #ee8b8b);
@@ -1166,6 +1171,7 @@ div > ul > li > a.selected.menuNav {
text-align: center;
font-weight: bold;
height: 30px;
padding: 0px 2px;
}
.selCel {
border: dashed 2px black;
@@ -1173,4 +1179,4 @@ div > ul > li > a.selected.menuNav {
text-align: center;
}
/* end celle bazaar*/
/* end celle bazaar*/
+55 -28
View File
@@ -397,9 +397,11 @@ blockquote, q {
background-image: linear-gradient( #fff,#f1f1f1 );
*/
}
@editColorStart: #e2ebff;
@editColorEnd: #94b4ea;
@editColorBorder: #5282de;
.editRowStyle {
border: 1px solid @editColorBorder;
/*background-color: @editColorEnd;*/
@@ -604,6 +606,7 @@ A:hover {
@rossoStart: red;
@rossoEnd: #FFAAAA;
.btnRosso {
border: solid 2px @rossoStart;
background-color: @rossoEnd;
@@ -625,12 +628,14 @@ A:hover {
@arancioStart: #e48800;
@arancioEnd: #ffb44d;
.btnArancio {
border: solid 2px @arancioStart;
background-color: @arancioEnd;
width: 100%;
text-align: center;
}
.btnArancioGrad {
border: solid 2px @arancioStart;
background-color: @arancioEnd;
@@ -645,12 +650,14 @@ A:hover {
@verdeStart: green;
@verdeEnd: #AAFFAA;
.btnVerde {
border: solid 2px @verdeStart;
background-color: @verdeEnd;
width: 100%;
text-align: center;
}
.btnVerdeGrad {
border: solid 2px @verdeStart;
background-color: @verdeEnd;
@@ -692,8 +699,10 @@ A:hover {
text-align: center;
white-space: pre;
}
@grigioStart: #999;
@grigioEnd: #DEDEDE;
.btnDisabled {
border: solid 2px @grigioStart;
background-color: @grigioEnd;
@@ -705,8 +714,10 @@ A:hover {
background-image: -o-linear-gradient( @grigioEnd,@grigioStart );
background-image: linear-gradient( @grigioEnd,@grigioStart );
}
@gialloStart: #AA9933;
@gialloEnd: #FFEE66;
.btnGialloGrad {
border: solid 2px @gialloStart;
background-color: @gialloEnd;
@@ -718,7 +729,8 @@ A:hover {
background-image: -o-linear-gradient( @gialloEnd,@gialloStart );
background-image: linear-gradient( @gialloEnd,@gialloStart );
}
.pad26{
.pad26 {
padding: 2px 6px;
}
@@ -854,40 +866,47 @@ div > ul > li > a.selected.menuNav {
padding: @padStd;
}
.sfondoGrigio{
.sfondoGrigio {
background-color: #ECECEC;
}
.bordoGrigio {
.padStd;
.roundedCorner;
border: 2px solid #818181;
}
.bordoVerde {
.padStd;
.roundedCorner;
border: 2px solid @verdeStart;
}
.bordoRosso {
.padStd;
.roundedCorner;
border: 2px solid @rossoStart;
}
.bordoNero {
.padStd;
.roundedCorner;
border: 2px solid Black;
background-color: white;
}
.bordoAzzurro {
.padStd;
.roundedCorner;
border: 2px solid #4da3ff;
}
.placardGrigio {
.bordoGrigio;
.sfondoGrigio;
}
.docIcon{
.docIcon {
background-image: url(../images/download_s.png);
background-repeat: no-repeat;
background-position: right;
@@ -906,11 +925,13 @@ div > ul > li > a.selected.menuNav {
.filtro_2 {
background-color: #aaaaff;
&:hover{
&:hover {
color: #8888ff;
background-color: #dedeff;
}
a:link{
a:link {
color: white;
background-color: transparent;
}
@@ -984,12 +1005,15 @@ div > ul > li > a.selected.menuNav {
.fontStd {
font-size: 10pt;
}
.fontPiccolo {
font-size: 8pt;
}
.fontMini {
font-size: 7pt;
}
.fontMicro {
font-size: 6pt;
}
@@ -1221,11 +1245,13 @@ div > ul > li > a.selected.menuNav {
/* gestione celle tabella bazaar */
@grigioCella: #777;
@altezzaCella: 30px;
.cTab{
.cTab {
text-align: center;
height: @altezzaCella;
border: solid 1px @grigioCella;
}
@S00: #FFF;
@S01: #cdd5c4;
@S02: #cbff4e;
@@ -1233,8 +1259,8 @@ div > ul > li > a.selected.menuNav {
@S04: #ffd88d;
@S05: #ee8b8b;
@S06: #d52323;
.cEmp
{
.cEmp {
/*background-image: url('../Images/grigio_80.png');*/
background-color: @S00;
background-image: -webkit-gradient(linear,left top,left bottom,from( @S00 ),to( @S01 ));
@@ -1244,9 +1270,9 @@ div > ul > li > a.selected.menuNav {
background-image: -o-linear-gradient( @S00,@S01 );
background-image: linear-gradient( @S00,@S01 );
}
.cS01
{
/*background-image: url('../Images/grigioChiaro_80.png');*/
.cS01 {
/*background-image: url('../Images/grigioChiaro_80.png');*/
background-color: @S01;
background-image: -webkit-gradient(linear,left top,left bottom,from( @S02 ),to( @S01 ));
background-image: -webkit-linear-gradient( @S02,@S01 );
@@ -1255,9 +1281,9 @@ div > ul > li > a.selected.menuNav {
background-image: -o-linear-gradient( @S02,@S01 );
background-image: linear-gradient( @S02,@S01 );
}
.cS02
{
/*background-image: url('../Images/verde_80.png');*/
.cS02 {
/*background-image: url('../Images/verde_80.png');*/
background-color: @S03;
background-image: -webkit-gradient(linear,left top,left bottom,from( @S02 ),to( @S03 ));
background-image: -webkit-linear-gradient( @S02,@S03 );
@@ -1267,9 +1293,9 @@ div > ul > li > a.selected.menuNav {
background-image: linear-gradient( @S02,@S03 );
color: White;
}
.cS03
{
/*background-image: url('../Images/giallo_80.png');*/
.cS03 {
/*background-image: url('../Images/giallo_80.png');*/
background-color: @S03;
background-image: -webkit-gradient(linear,left top,left bottom,from( @S04 ),to( @S03 ));
background-image: -webkit-linear-gradient( @S04,@S03 );
@@ -1279,9 +1305,9 @@ div > ul > li > a.selected.menuNav {
background-image: linear-gradient( @S04,@S03 );
color: White;
}
.cS04
{
/*background-image: url('../Images/arancio_80.png');*/
.cS04 {
/*background-image: url('../Images/arancio_80.png');*/
background-color: @S04;
background-image: -webkit-gradient(linear,left top,left bottom,from( @S05 ),to( @S04 ));
background-image: -webkit-linear-gradient( @S05,@S04 );
@@ -1291,9 +1317,9 @@ div > ul > li > a.selected.menuNav {
background-image: linear-gradient( @S05,@S04 );
color: White;
}
.cOvr
{
/*background-image: url('../Images/rosso_80.png');*/
.cOvr {
/*background-image: url('../Images/rosso_80.png');*/
background-color: @S05;
background-image: -webkit-gradient(linear,left top,left bottom,from( @S06 ),to( @S05 ));
background-image: -webkit-linear-gradient( @S06,@S05 );
@@ -1302,15 +1328,16 @@ div > ul > li > a.selected.menuNav {
background-image: -o-linear-gradient( @S06,@S05 );
background-image: linear-gradient( @S06,@S05 );
}
.cBia
{
.cBia {
text-align: center;
font-weight: bold;
height: @altezzaCella;
padding: 0px 2px;
}
.selCel
{
.selCel {
border: dashed 2px black; /*font-weight: bold;*/
text-align: center;
}
/* end celle bazaar*/
/* end celle bazaar*/
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -26,7 +26,7 @@
<add key="appName" value="PROJ-ETS" />
<add key="SiteName" value="ETS" />
<add key="mainRev" value="0.8" />
<add key="minRev" value="195" />
<add key="minRev" value="196" />
<add key="stdEmail" value="info@steamware.net" />
<add key="_safePages" value="Default.aspx#unauthorized.aspx#forceUser.aspx#login.aspx#test.aspx#Test.aspx" />
<!--area gestione auth cookie-->
@@ -49,7 +49,7 @@
<add key="codTipoRisorsaStd" value="DIS" />
<add key="oreBdgtStd" value="1" />
<!--gestione bazaar-->
<add key="editPastEnabled" value="true"/>
<add key="bazCudPastEnabled" value="false"/>
<add key="soglia1" value="10" />
<add key="soglia2" value="20" />
<add key="soglia3" value="30" />
@@ -3,18 +3,30 @@
<div class="filtro_1 fontPiccolo ui-corner-all shadowBox" style="white-space: nowrap; height: 2.5em; padding: 4px;">
<div class="divSx filtro_2 ui-corner-all" style="padding: 3px; margin-right: 4px; height: 2em;">
Anno:&nbsp;
<asp:DropDownList runat="server" ID="ddlAnno" DataSourceID="odsYear" DataTextField="n" DataValueField="n" AutoPostBack="true">
<asp:DropDownList runat="server" ID="ddlAnno" DataSourceID="odsYear" DataTextField="n" DataValueField="n" AutoPostBack="true" OnSelectedIndexChanged="ddlAnno_SelectedIndexChanged">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsYear" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="ETS_Data.DS_utilsProjEtsTableAdapters.v_selYearTableAdapter"></asp:ObjectDataSource>
</div>
<div class="divSx filtro_2 ui-corner-all" style="padding: 3px; margin-right: 4px; height: 2em;">
Settimana:&nbsp;
<asp:DropDownList runat="server" ID="ddlWeek" DataSourceID="odsWeek" DataTextField="n" DataValueField="n" AutoPostBack="true">
<asp:DropDownList runat="server" ID="ddlWeek" DataSourceID="odsWeek" DataTextField="n" DataValueField="n" AutoPostBack="true" OnSelectedIndexChanged="ddlWeek_SelectedIndexChanged">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsWeek" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="ETS_Data.DS_utilsProjEtsTableAdapters.v_selWeekTableAdapter"></asp:ObjectDataSource>
</div>
<div class="divSx" style="padding: 0px; margin-right: 4px; height: 2em;">
<asp:Button runat="server" ID="btnAddNew" Text="Aggiungi Commesse" CssClass="btnNew" OnClick="btnAddNew_Click" />
<asp:Button runat="server" ID="btnAddNew" Text="Aggiungi Commesse" ToolTip="Mostra pannello Aggiungi Commesse" CssClass="btnNew" OnClick="btnAddNew_Click" />
</div>
<div class="divSx" style="padding: 0px; margin-right: 4px; height: 2em;">
W-1
</div>
<div class="divSx" style="padding: 0px; margin-right: 4px; height: 2em;">
W
</div>
<div class="divSx" style="padding: 0px; margin-right: 4px; height: 2em;">
W+1
</div>
<div class="divSx" style="padding: 0px; margin-right: 4px; height: 2em;">
W+2
</div>
</div>
<div class="clearDiv">
@@ -83,6 +95,5 @@
<asp:Table runat="server" ID="tblBlocco" Width="100%" CellPadding="0" CellSpacing="0">
</asp:Table>
</div>
</div>
<div class="clearDiv"></div>
@@ -98,6 +98,13 @@ namespace PROJ_ETS.WebUserControls
/// </summary>
public void doUpdate()
{
btnAddNew.Enabled = cudEnabled;
fixBtnAddNewComm();
if (!cudEnabled)
{
btnAddNew.CssClass = "btnDisabled";
btnAddNew.ToolTip = "Modifica non consentita";
}
caricaDatiBlocco();
disegnaTabella();
}
@@ -135,6 +142,26 @@ namespace PROJ_ETS.WebUserControls
return answ;
}
}
/// <summary>
/// definisce se create/update/delete siano abilitati
/// </summary>
protected bool cudEnabled
{
get
{
// controllo le condizioni: in primis se in web config è abilitato edit passato è ok...
bool answ = utils.obj.confReadBool("bazCudPastEnabled");
// se non globalmente permesso controllo se sia anno/sett successiva a quelal corrente
if (!answ)
{
if ((anno > adesso.Year) || ((anno == adesso.Year) && (settimana > datario.WeekOfYearISO8601(adesso))))
{
answ = true;
}
}
return answ;
}
}
/// <summary>
/// carica i dati del blocco in un oggetto BlockMap (compreso attive/inattive)
@@ -273,11 +300,21 @@ namespace PROJ_ETS.WebUserControls
{
// aggiungo button x fare elemento cliccabile
LinkButton lnkbDel = new LinkButton();
lnkbDel.ToolTip = string.Format("Click per eliminare commessa {0}", rigaComm.label.Substring(0, 9));
lnkbDel.Text = string.Format("{0:0##} h [elimina]", oreTotComm[pos_y]);
lnkbDel.Click += new EventHandler(lnkbDel_Click);
lnkbDel.CommandArgument = rigaComm.value.ToString();
lnkbDel.OnClientClick = "return confirm('Confermi eliminazione record?')";
// controllo se CUD è abilitato
if (cudEnabled)
{
lnkbDel.Click += new EventHandler(lnkbDel_Click);
lnkbDel.CommandArgument = rigaComm.value.ToString();
lnkbDel.Text = string.Format("{0:0##} h [elimina]", oreTotComm[pos_y]);
lnkbDel.ToolTip = string.Format("Click per eliminare commessa {0}", rigaComm.label.Substring(0, 9));
lnkbDel.OnClientClick = "return confirm('Confermi eliminazione record?')";
}
else
{
lnkbDel.Text = string.Format("{0:0##} h", oreTotComm[pos_y]);
lnkbDel.ToolTip = string.Format("Commessa {0} (non modificabile)", rigaComm.label.Substring(0, 9));
}
lnkbDel.Enabled = cudEnabled;
cell.Controls.Add(lnkbDel);
}
else
@@ -295,17 +332,21 @@ namespace PROJ_ETS.WebUserControls
/// <param name="e"></param>
void lnkbDel_Click(object sender, EventArgs e)
{
LinkButton lnk = (LinkButton)sender;
// calcolo i parametri passati
int idxFase = 0;
try
// procedo SOLO se cud enabled
if (cudEnabled)
{
idxFase = Convert.ToInt32(lnk.CommandArgument.ToString());
DataProxy_ProjEts.DP.taBaz.deleteByIdxFase(anno, settimana, idxFase);
LinkButton lnk = (LinkButton)sender;
// calcolo i parametri passati
int idxFase = 0;
try
{
idxFase = Convert.ToInt32(lnk.CommandArgument.ToString());
DataProxy_ProjEts.DP.taBaz.deleteByIdxFase(anno, settimana, idxFase);
}
catch
{ }
doUpdate();
}
catch
{ }
doUpdate();
}
/// <summary>
/// intercetta richiesta di zoom e zoomma sull'Udc in esame...
@@ -353,14 +394,19 @@ namespace PROJ_ETS.WebUserControls
LinkButton lnkb = new LinkButton();
lnkb.ToolTip = TabellaRisorse[pos_x, pos_y].ToolTip;
lnkb.Text = TabellaRisorse[pos_x, pos_y].Label;
lnkb.Click += new EventHandler(lnkb_Click);
lnkb.CssClass = "openDiag"; // server x far si ceh apra il dialog modale...
lnkb.CommandArgument = string.Format("{0}#{1}", TabellaRisorse[pos_x, pos_y].IdxDipendente, TabellaRisorse[pos_x, pos_y].IdxFase);
// controllo se CUD è abilitato
if (cudEnabled)
{
lnkb.Click += new EventHandler(lnkb_Click);
lnkb.CommandArgument = string.Format("{0}#{1}", TabellaRisorse[pos_x, pos_y].IdxDipendente, TabellaRisorse[pos_x, pos_y].IdxFase);
}
lnkb.Enabled = cudEnabled;
// controllo se la cella è selezionata, nel caso BOLD!
if (TabellaRisorse[pos_x, pos_y].IdxDipendente == IdxDipSel && TabellaRisorse[pos_x, pos_y].IdxFase == IdxFaseSel)
{
cell.CssClass = "selCel";
}
}
cell.Controls.Add(lnkb);
// carico in cella di tabella il linkButton
riga.Cells.Add(cell);
@@ -389,14 +435,24 @@ namespace PROJ_ETS.WebUserControls
{
lblOut.Text = "";
pnlAddNew.Visible = showPnlNew;
if (showPnlNew)
fixBtnAddNewComm();
}
/// <summary>
/// sistema visualizzazione button x mostrare/nascondere
/// </summary>
private void fixBtnAddNewComm()
{
if (pnlAddNew.Visible)
{
btnAddNew.Text = "Chiudi Aggiungi Commesse";
btnAddNew.ToolTip = "Nascondi pannello Aggiungi Commesse";
btnAddNew.ToolTip = "Modifica non consentita";
btnAddNew.CssClass = "";
}
else
{
btnAddNew.Text = "Aggiungi Commesse";
btnAddNew.ToolTip = "Mostra pannello Aggiungi Commesse";
btnAddNew.CssClass = "btnNew";
}
}
@@ -454,58 +510,52 @@ namespace PROJ_ETS.WebUserControls
/// <param name="e"></param>
protected void btnAddSelected_Click(object sender, EventArgs e)
{
// prende valori selezionati e crea x tutti gli utenti record BazaarRisorse
int value = 0;
int year = Convert.ToInt32(ddlAnno.SelectedValue);
int week = Convert.ToInt32(ddlWeek.SelectedValue);
// sposto i files selezionati secondo i dati in sessione
foreach (GridViewRow riga in grViewCommesse.Rows)
// procedo SOLO se cud enabled
if (cudEnabled)
{
if (((CheckBox)riga.FindControl("chkSelect")).Checked)
// prende valori selezionati e crea x tutti gli utenti record BazaarRisorse
int value = 0;
int year = Convert.ToInt32(ddlAnno.SelectedValue);
int week = Convert.ToInt32(ddlWeek.SelectedValue);
// sposto i files selezionati secondo i dati in sessione
foreach (GridViewRow riga in grViewCommesse.Rows)
{
// devo salvare file con le info relative...
value = Convert.ToInt32(((Label)riga.FindControl("lblValue")).Text);
DataProxy_ProjEts.DP.taBaz.creaBulkByIdxFase(anno, settimana, value);
if (((CheckBox)riga.FindControl("chkSelect")).Checked)
{
// devo salvare file con le info relative...
value = Convert.ToInt32(((Label)riga.FindControl("lblValue")).Text);
DataProxy_ProjEts.DP.taBaz.creaBulkByIdxFase(anno, settimana, value);
}
}
// aggiorno gridView...
grViewCommesse.DataBind();
// segnalo che ci sono nuovi dati!
if (eh_newVal != null)
{
eh_newVal(this, new EventArgs());
}
doUpdate();
}
// aggiorno gridView...
grViewCommesse.DataBind();
// segnalo che ci sono nuovi dati!
if (eh_newVal != null)
{
eh_newVal(this, new EventArgs());
}
doUpdate();
}
/// <summary>
/// resetta disegno
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReset_Click(object sender, EventArgs e)
{
#if false
memLayer.ML.emptySessionVal("IdxCellaMag");
memLayer.ML.emptySessionVal("CodCellaMag");
Response.Redirect("~/DettaglioBlocco.aspx");
#endif
}
protected void btnSalva_Click(object sender, EventArgs e)
{
int allocazione = 0;
try
// procedo SOLO se cud enabled
if (cudEnabled)
{
allocazione = Convert.ToInt32(txtAllocazione.Text.Trim());
DataProxy_ProjEts.DP.taBaz.updateQuery(anno, settimana, IdxDipSel, IdxFaseSel, allocazione);
int allocazione = 0;
try
{
allocazione = Convert.ToInt32(txtAllocazione.Text.Trim());
DataProxy_ProjEts.DP.taBaz.updateQuery(anno, settimana, IdxDipSel, IdxFaseSel, allocazione);
}
catch
{ }
lblOut.Text = "";
IdxDipSel = 0;
IdxFaseSel = 0;
Response.Redirect("Bazaar");
}
catch
{ }
lblOut.Text = "";
IdxDipSel = 0;
IdxFaseSel = 0;
Response.Redirect("Bazaar");
}
protected void btnCancel_Click(object sender, EventArgs e)
@@ -525,5 +575,15 @@ namespace PROJ_ETS.WebUserControls
rigaComm = (DS_utilsProjEts.v_selCommesseRow)tabComm.Select(string.Format("value = {0}", IdxFaseSel))[0];
lblOut.Text = string.Format("Edit corrente: {0} {1} / {2} - valore originale {3}", rigaDip.Nome, rigaDip.Cognome, rigaComm.label.Substring(0, 9), rigaBaz.SchemaWeek);
}
protected void ddlAnno_SelectedIndexChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void ddlWeek_SelectedIndexChanged(object sender, EventArgs e)
{
doUpdate();
}
}
}
Binary file not shown.
Binary file not shown.