- cambios signalr
This commit is contained in:
@@ -129,7 +129,7 @@
|
|||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Panel ID="PnlDetalleCompras" runat="server" CssClass="Texto">
|
<asp:Panel ID="PnlDetalleCompras" runat="server" CssClass="Texto">
|
||||||
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="False" CssClass="table detallerow table-hover" Style=" float: right; width: 95%;" DataKeyNames="IdCtaContable,Cargo,Abono" GridLines="None" OnRowDataBound="GvD_RowDataBound">
|
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="False" CssClass="table detallerow table-hover" Style=" float: right; width: 95%;" DataKeyNames="IdCtaContable,CveCuenta,Cargo,Abono" GridLines="None" OnRowDataBound="GvD_RowDataBound">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:BoundField DataField="ConceptoContable" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="Movimiento">
|
<asp:BoundField DataField="ConceptoContable" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="Movimiento">
|
||||||
<ItemStyle HorizontalAlign="Left" Width="150px" />
|
<ItemStyle HorizontalAlign="Left" Width="150px" />
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
<asp:BoundField DataField="SubProyecto" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="100px" HeaderText="SubProyecto">
|
<asp:BoundField DataField="SubProyecto" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="100px" HeaderText="SubProyecto">
|
||||||
<ItemStyle HorizontalAlign="Left" Width="120px" />
|
<ItemStyle HorizontalAlign="Left" Width="120px" />
|
||||||
</asp:BoundField>
|
</asp:BoundField>
|
||||||
<asp:BoundField DataField="IdCtaContable" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta">
|
<asp:BoundField DataField="CodigoNombreCuenta" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta">
|
||||||
<ItemStyle CssClass="truncate" Font-Italic="True" HorizontalAlign="Left" Width="150px" />
|
<ItemStyle CssClass="truncate" Font-Italic="True" HorizontalAlign="Left" Width="150px" />
|
||||||
</asp:BoundField>
|
</asp:BoundField>
|
||||||
<asp:TemplateField HeaderText="Cargos">
|
<asp:TemplateField HeaderText="Cargos">
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:BoundField DataField="SubProyecto" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="SubProyecto" />
|
<asp:BoundField DataField="SubProyecto" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="SubProyecto" />
|
||||||
<asp:BoundField DataField="IdCtaContable" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta" />
|
<asp:BoundField DataField="CodigoNombreCuenta" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta" />
|
||||||
<asp:TemplateField HeaderText="Cargos">
|
<asp:TemplateField HeaderText="Cargos">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LtlC" runat="server" Text='<%# Eval("Cargo", "{0:N2}") %>'></asp:Literal>
|
<asp:Literal ID="LtlC" runat="server" Text='<%# Eval("Cargo", "{0:N2}") %>'></asp:Literal>
|
||||||
@@ -345,7 +345,7 @@
|
|||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Panel ID="PnlDetalleAnticipos" runat="server">
|
<asp:Panel ID="PnlDetalleAnticipos" runat="server">
|
||||||
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="false" CssClass="table detallerow table-hover" Style="text-align: center; float: right; width: 95%;" DataKeyNames="IdCtaContable, Cargo, Abono" GridLines="None" OnRowDataBound="GvD_RowDataBound">
|
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="false" CssClass="table detallerow table-hover" Style="text-align: center; float: right; width: 95%;" DataKeyNames="IdCtaContable,CveCuenta, Cargo, Abono" GridLines="None" OnRowDataBound="GvD_RowDataBound">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:BoundField DataField="ConceptoContable" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="Movimiento" />
|
<asp:BoundField DataField="ConceptoContable" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="Movimiento" />
|
||||||
<asp:TemplateField HeaderText="Concepto">
|
<asp:TemplateField HeaderText="Concepto">
|
||||||
@@ -354,7 +354,7 @@
|
|||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:BoundField DataField="SubProyecto" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="100px" HeaderText="SubProyecto" />
|
<asp:BoundField DataField="SubProyecto" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="100px" HeaderText="SubProyecto" />
|
||||||
<asp:BoundField DataField="IdCtaContable" ItemStyle-Font-Size="Smaller" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta" />
|
<asp:BoundField DataField="CodigoNombreCuenta" ItemStyle-Font-Size="Smaller" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta" />
|
||||||
<asp:BoundField DataField="Cargo" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Cargos" />
|
<asp:BoundField DataField="Cargo" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Cargos" />
|
||||||
<asp:BoundField DataField="Abono" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Abonos" />
|
<asp:BoundField DataField="Abono" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Abonos" />
|
||||||
</Columns>
|
</Columns>
|
||||||
@@ -435,7 +435,7 @@
|
|||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Panel ID="PnlDetalleAmortizaciones" runat="server">
|
<asp:Panel ID="PnlDetalleAmortizaciones" runat="server">
|
||||||
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="false" CssClass="table detallerow table-hover" Style="text-align: center; float: right; width: 95%;" DataKeyNames="IdCtaContable, Cargo, Abono" GridLines="None" OnRowDataBound="GvD_RowDataBound">
|
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="false" CssClass="table detallerow table-hover" Style="text-align: center; float: right; width: 95%;" DataKeyNames="IdCtaContable,CveCuenta, Cargo, Abono" GridLines="None" OnRowDataBound="GvD_RowDataBound">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:BoundField DataField="ConceptoContable" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="Movimiento" />
|
<asp:BoundField DataField="ConceptoContable" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" HeaderText="Movimiento" />
|
||||||
<asp:TemplateField HeaderText="Concepto">
|
<asp:TemplateField HeaderText="Concepto">
|
||||||
@@ -444,7 +444,7 @@
|
|||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:BoundField DataField="SubProyecto" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="100px" HeaderText="SubProyecto" />
|
<asp:BoundField DataField="SubProyecto" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="100px" HeaderText="SubProyecto" />
|
||||||
<asp:BoundField DataField="IdCtaContable" ItemStyle-Font-Size="Smaller" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta" />
|
<asp:BoundField DataField="CodigoNombreCuenta" ItemStyle-Font-Size="Smaller" ItemStyle-Font-Italic="true" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="150px" ItemStyle-CssClass="truncate" HeaderText="Cuenta" />
|
||||||
<asp:BoundField DataField="Cargo" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Cargos" />
|
<asp:BoundField DataField="Cargo" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Cargos" />
|
||||||
<asp:BoundField DataField="Abono" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Abonos" />
|
<asp:BoundField DataField="Abono" ItemStyle-Font-Size="Smaller" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" DataFormatString="{0:N2}" HeaderText="Abonos" />
|
||||||
</Columns>
|
</Columns>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public partial class Contabilidad_ContabilizacionCompras : ClsPaginas
|
|||||||
TienePermisoEditar = false;
|
TienePermisoEditar = false;
|
||||||
DdlProveedores.setEsWebService(true);
|
DdlProveedores.setEsWebService(true);
|
||||||
DdlProveedores.Attributes.Add("data-metodo", "getproveedores");
|
DdlProveedores.Attributes.Add("data-metodo", "getproveedores");
|
||||||
if (UsuarioActual.Empresa.UsaContabilidad)
|
if (UsuarioActual.Empresa.TipoContabilidad == 2 && UsuarioActual.Empresa.UsaContabilidad)
|
||||||
{
|
{
|
||||||
TienePermisoEditar = false;
|
TienePermisoEditar = false;
|
||||||
ClsContPAQi ObjCont = new ClsContPAQi(UsuarioActual.Empresa);
|
ClsContPAQi ObjCont = new ClsContPAQi(UsuarioActual.Empresa);
|
||||||
@@ -65,23 +65,27 @@ public partial class Contabilidad_ContabilizacionCompras : ClsPaginas
|
|||||||
txtFechaF.Text = DateTime.Now.ToShortDateString();
|
txtFechaF.Text = DateTime.Now.ToShortDateString();
|
||||||
|
|
||||||
//CargaDatos();
|
//CargaDatos();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (UsuarioActual.CveRol == 1 || UsuarioActual.CveUsuario == 17 || UsuarioActual.CveUsuario == 171 || UsuarioActual.TienePermisoProceso(221))
|
if (UsuarioActual.CveRol == 1 || UsuarioActual.CveUsuario == 17 || UsuarioActual.CveUsuario == 171 || UsuarioActual.TienePermisoProceso(221))
|
||||||
{
|
|
||||||
TienePermisoEditar = true;
|
|
||||||
TienePermisoVerPoliza = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
Alert("Este módulo requiere el uso de Contabilidad.", ModExtensiones.TipoMensaje.MsgAdvertencia);
|
TienePermisoEditar = true;
|
||||||
// BtnConsultar.Enabled = false;
|
TienePermisoVerPoliza = true;
|
||||||
BtnContabilizarCompras.Enabled = false;
|
|
||||||
BtnContabilizarPagos.Enabled = false;
|
|
||||||
BtnContabilizarAnticipos.Enabled = false;
|
|
||||||
BtnContabilizarAmortizaciones.Enabled = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
txtFechaI.Text = DateTime.Now.ToShortDateString();
|
||||||
|
txtFechaF.Text = DateTime.Now.ToShortDateString();
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// Alert("Este módulo requiere el uso de Contabilidad.", ModExtensiones.TipoMensaje.MsgAdvertencia);
|
||||||
|
// // BtnConsultar.Enabled = false;
|
||||||
|
// BtnContabilizarCompras.Enabled = false;
|
||||||
|
// BtnContabilizarPagos.Enabled = false;
|
||||||
|
// BtnContabilizarAnticipos.Enabled = false;
|
||||||
|
// BtnContabilizarAmortizaciones.Enabled = false;
|
||||||
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BtnConsultar.Click += new EventHandler(this.BtnConsultar_Click);
|
BtnConsultar.Click += new EventHandler(this.BtnConsultar_Click);
|
||||||
@@ -310,6 +314,7 @@ public partial class Contabilidad_ContabilizacionCompras : ClsPaginas
|
|||||||
if (e.Row.RowType == DataControlRowType.DataRow)
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||||
{
|
{
|
||||||
int cuenta = e.Row.DataKey("IdCtaContable").ToString().ToEntero();
|
int cuenta = e.Row.DataKey("IdCtaContable").ToString().ToEntero();
|
||||||
|
int cvecuenta = e.Row.DataKey("CveCuenta").ToString().ToEntero();
|
||||||
int CveConcepto = e.Row.DBCampo("CveConceptoContable").ToEntero();
|
int CveConcepto = e.Row.DBCampo("CveConceptoContable").ToEntero();
|
||||||
|
|
||||||
if (CveConcepto.Contiene(5, 6, 14, 16, 17, 19, 206, 22, 23, 25, 26, 18, 60, 183, 184, 185, 186 ,205, 240, 243, 244, 248, 249,15,22,248,249,237))
|
if (CveConcepto.Contiene(5, 6, 14, 16, 17, 19, 206, 22, 23, 25, 26, 18, 60, 183, 184, 185, 186 ,205, 240, 243, 244, 248, 249,15,22,248,249,237))
|
||||||
@@ -337,21 +342,37 @@ public partial class Contabilidad_ContabilizacionCompras : ClsPaginas
|
|||||||
e.Row.FCHyperLink("HplC").NavigateUrl = string.Format("/OC/OC.aspx?OC={0}", e.Row.DBCampo("CveOC"));
|
e.Row.FCHyperLink("HplC").NavigateUrl = string.Format("/OC/OC.aspx?OC={0}", e.Row.DBCampo("CveOC"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (UsuarioActual.Empresa.TipoContabilidad == 1) // conta SIG
|
||||||
if (cuenta > 0)
|
|
||||||
{
|
{
|
||||||
DataRow dr = DTmpC.FiltroPrimero(String.Format("Id = {0}", cuenta));
|
if (cvecuenta == 0)
|
||||||
|
{
|
||||||
|
e.Row.Cells[0].ForeColor = System.Drawing.Color.Red;
|
||||||
|
((GridViewRow)((GridView)e.Row.NamingContainer).BindingContainer).FCCheckBox("Chk").Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (dr != null) e.Row.Cells[3].Text = string.Format("{0}<br/>{1}", dr["CuentaFormato"], dr["Nombre"]);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
e.Row.Cells[0].ForeColor = System.Drawing.Color.Red;
|
if (UsuarioActual.Empresa.TipoContabilidad == 2) // conta Contpaq
|
||||||
|
{
|
||||||
|
|
||||||
((GridViewRow)((GridView)e.Row.NamingContainer).BindingContainer).FCCheckBox("Chk").Enabled = false;
|
if (cuenta > 0)
|
||||||
((GridViewRow)((GridView)e.Row.NamingContainer).BindingContainer).FCCheckBox("Chk").ToolTip = "Hay conceptos sin cuenta asignada";
|
{
|
||||||
|
DataRow dr = DTmpC.FiltroPrimero(String.Format("Id = {0}", cuenta));
|
||||||
|
|
||||||
|
if (dr != null) e.Row.Cells[3].Text = string.Format("{0}<br/>{1}", dr["CuentaFormato"], dr["Nombre"]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
e.Row.Cells[0].ForeColor = System.Drawing.Color.Red;
|
||||||
|
|
||||||
|
((GridViewRow)((GridView)e.Row.NamingContainer).BindingContainer).FCCheckBox("Chk").Enabled = false;
|
||||||
|
((GridViewRow)((GridView)e.Row.NamingContainer).BindingContainer).FCCheckBox("Chk").ToolTip = "Hay conceptos sin cuenta asignada";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (Convert.ToDecimal(e.Row.DataKey("Cargo").ToString()) == 0) e.Row.Cells[4].Text = "";
|
if (Convert.ToDecimal(e.Row.DataKey("Cargo").ToString()) == 0) e.Row.Cells[4].Text = "";
|
||||||
|
|
||||||
if (Convert.ToDecimal(e.Row.DataKey("Abono").ToString()) == 0) e.Row.Cells[5].Text = "";
|
if (Convert.ToDecimal(e.Row.DataKey("Abono").ToString()) == 0) e.Row.Cells[5].Text = "";
|
||||||
|
|||||||
@@ -129,6 +129,7 @@
|
|||||||
|
|
||||||
<script type="text/javascript" src="/Scripts/Notificaciones.js"></script>
|
<script type="text/javascript" src="/Scripts/Notificaciones.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
// aqui debe de llammarse Sr, para desconectar
|
||||||
window.addEventListener("beforeunload", NotificacionesADS.closeopenConexion);
|
window.addEventListener("beforeunload", NotificacionesADS.closeopenConexion);
|
||||||
var prm = Sys.WebForms.PageRequestManager.getInstance();
|
var prm = Sys.WebForms.PageRequestManager.getInstance();
|
||||||
prm.add_initializeRequest(function (s, e) {
|
prm.add_initializeRequest(function (s, e) {
|
||||||
|
|||||||
@@ -93,26 +93,26 @@ var NotificacionesADS = function () {
|
|||||||
closeopenConexion()
|
closeopenConexion()
|
||||||
}
|
}
|
||||||
function loadConection() {
|
function loadConection() {
|
||||||
VentanaConConexion = true;
|
// VentanaConConexion = true;
|
||||||
localStorage.setItem("AdsNotificacionesIsConnected", valueok);
|
//localStorage.setItem("AdsNotificacionesIsConnected", valueok);
|
||||||
if ($.connection) {
|
//if ($.connection) {
|
||||||
let nointentos =0
|
// let nointentos =0
|
||||||
var proxy = $.connection.notificaciones;
|
// var proxy = $.connection.notificaciones;
|
||||||
/*$.connection.hub.url = '/signalr';*/
|
// /*$.connection.hub.url = '/signalr';*/
|
||||||
$.connection.hub.disconnected(function () {
|
// $.connection.hub.disconnected(function () {
|
||||||
setTimeout(function () { nointentos = nointentos + 1; if (nointentos < 4) { $.connection.hub.start().done(function () { nointentos = 0 }); console.log('Reconected'); } }, 120000);
|
// setTimeout(function () { nointentos = nointentos + 1; if (nointentos < 4) { $.connection.hub.start().done(function () { nointentos = 0 }); console.log('Reconected'); } }, 120000);
|
||||||
});
|
// });
|
||||||
|
|
||||||
proxy.client.AlertaVentana = AlertaVentana;
|
// proxy.client.AlertaVentana = AlertaVentana;
|
||||||
|
|
||||||
$.connection.hub.start().done(function () {
|
// $.connection.hub.start().done(function () {
|
||||||
console.log('Bienvenido');
|
// console.log('Bienvenido');
|
||||||
});
|
// });
|
||||||
} else {
|
//} else {
|
||||||
console.error('Signal Error (no se encontro $.connection)');
|
// console.error('Signal Error (no se encontro $.connection)');
|
||||||
|
|
||||||
}
|
//}
|
||||||
window.addEventListener("beforeunload", beforeunloadcloseopenConexion);
|
//window.addEventListener("beforeunload", beforeunloadcloseopenConexion);
|
||||||
}
|
}
|
||||||
function initConnection() {
|
function initConnection() {
|
||||||
let isconnected = localStorage.getItem("AdsNotificacionesIsConnected");
|
let isconnected = localStorage.getItem("AdsNotificacionesIsConnected");
|
||||||
|
|||||||
@@ -694,7 +694,7 @@
|
|||||||
<script type="text/javascript" src="/Scripts/jquery.signalR-2.2.2.min.js"></script>
|
<script type="text/javascript" src="/Scripts/jquery.signalR-2.2.2.min.js"></script>
|
||||||
<script type="text/javascript" src="/signalr/signalr/hubs"></script>
|
<script type="text/javascript" src="/signalr/signalr/hubs"></script>
|
||||||
<%: Scripts.Render("~/Metronic/assets/global/scripts/JS") %>
|
<%: Scripts.Render("~/Metronic/assets/global/scripts/JS") %>
|
||||||
<script type="text/javascript" src="/Scripts/Notificaciones.js"></script>
|
<script type="text/javascript" src="/Scripts/Notificaciones.js?var1=1"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
NotificacionesADS.init();
|
NotificacionesADS.init();
|
||||||
|
|||||||
Reference in New Issue
Block a user