autmailversand, etc.
This commit is contained in:
@@ -108,6 +108,11 @@ Public Class cAutomailversand
|
|||||||
Dim KDE_ERW = New VERAG_PROG_ALLGEMEIN.cKundenErweitert(row.Item("RechnungsKundenNr"))
|
Dim KDE_ERW = New VERAG_PROG_ALLGEMEIN.cKundenErweitert(row.Item("RechnungsKundenNr"))
|
||||||
Dim FISKAL = New cFiskal_Daten(row.Item("RechnungsKundenNr"))
|
Dim FISKAL = New cFiskal_Daten(row.Item("RechnungsKundenNr"))
|
||||||
|
|
||||||
|
If i = 2 Then
|
||||||
|
ATTACHMENTS.Clear() 'leeren
|
||||||
|
RechnungsNr = -1 'nochmals zurücksetzen!
|
||||||
|
End If
|
||||||
|
|
||||||
If RechnungsNr = -1 Then
|
If RechnungsNr = -1 Then
|
||||||
If SR_DT.Rows.Count > 0 Then
|
If SR_DT.Rows.Count > 0 Then
|
||||||
Dim displayView = New DataView(SR_DT, "RechnungsNr is not null", "RechnungsNr", DataViewRowState.CurrentRows)
|
Dim displayView = New DataView(SR_DT, "RechnungsNr is not null", "RechnungsNr", DataViewRowState.CurrentRows)
|
||||||
@@ -161,12 +166,12 @@ Public Class cAutomailversand
|
|||||||
|
|
||||||
setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail, SammelrechungArt, dt, BelegartenNr)
|
setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail, SammelrechungArt, dt, BelegartenNr)
|
||||||
If do_SR(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, datumBis, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs,,,, showError, AbfertigungsNr, faktGruppe) Then
|
If do_SR(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, datumBis, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs,,,, showError, AbfertigungsNr, faktGruppe) Then
|
||||||
loadAndSetAnhaenge_new(SR_DT, ATTACHMENTS, listPDFs,,, KDE_ERW.kde_merge_pdf)
|
loadAndSetAnhaenge_new(BelegartenNr, AD.LandKz, SR_DT, ATTACHMENTS, listPDFs,,, KDE_ERW.kde_merge_pdf)
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
|
||||||
|
|
||||||
If mailoeffnen Then
|
If mailoeffnen Then
|
||||||
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
|
Dim Mail = createMail(AD, Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
|
||||||
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum,,,,,,, Mail) Then
|
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum,,,,,,, Mail) Then
|
||||||
Mail.Display()
|
Mail.Display()
|
||||||
End If
|
End If
|
||||||
@@ -175,7 +180,7 @@ Public Class cAutomailversand
|
|||||||
|
|
||||||
Dim TextHTML = ""
|
Dim TextHTML = ""
|
||||||
TextHTML &= HTMLMail
|
TextHTML &= HTMLMail
|
||||||
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True)
|
TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID, True, True,,,,, True)
|
||||||
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
||||||
|
|
||||||
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,,, FISKAL) Then
|
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,,, FISKAL) Then
|
||||||
@@ -277,12 +282,12 @@ Public Class cAutomailversand
|
|||||||
Dim Mailsubject As String = ""
|
Dim Mailsubject As String = ""
|
||||||
Dim HTMLMail As String = ""
|
Dim HTMLMail As String = ""
|
||||||
setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr, SPEDBUCH, RECHNUNG)
|
setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr, SPEDBUCH, RECHNUNG)
|
||||||
loadAndSetAnhaenge_new(dt, ATTACHMENTS, listPDFs, RECHNUNG, SPEDBUCH, KDE_ERW.kde_merge_pdf)
|
loadAndSetAnhaenge_new(RECHNUNG.BelegartenNr, AD.LandKz, dt, ATTACHMENTS, listPDFs, RECHNUNG, SPEDBUCH, KDE_ERW.kde_merge_pdf)
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
|
||||||
|
|
||||||
If mailoeffnen Then
|
If mailoeffnen Then
|
||||||
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
|
Dim Mail = createMail(AD, Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
|
||||||
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum,,,,,,, Mail, RECHNUNG, FISKAL, SPEDBUCH) Then
|
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum,,,,,,, Mail, RECHNUNG, FISKAL, SPEDBUCH) Then
|
||||||
Mail.Display()
|
Mail.Display()
|
||||||
End If
|
End If
|
||||||
@@ -291,7 +296,7 @@ Public Class cAutomailversand
|
|||||||
|
|
||||||
Dim TextHTML = ""
|
Dim TextHTML = ""
|
||||||
TextHTML &= HTMLMail
|
TextHTML &= HTMLMail
|
||||||
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True)
|
TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID, True, True,,,,, True)
|
||||||
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
||||||
|
|
||||||
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,, RECHNUNG, FISKAL, SPEDBUCH) Then
|
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,, RECHNUNG, FISKAL, SPEDBUCH) Then
|
||||||
@@ -490,7 +495,7 @@ Public Class cAutomailversand
|
|||||||
Return RechnungsNrisSet
|
Return RechnungsNrisSet
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function createMail(Mailsubject As String, Mailhtml As String, ATTACHMENTS As List(Of cFakt_MailATTach), MailTo As String, MailtoCC As String, MailtoBCC As String, FirmaID As Integer) As Microsoft.Office.Interop.Outlook.MailItem
|
Private Function createMail(AD As cAdressen, Mailsubject As String, Mailhtml As String, ATTACHMENTS As List(Of cFakt_MailATTach), MailTo As String, MailtoCC As String, MailtoBCC As String, FirmaID As Integer) As Microsoft.Office.Interop.Outlook.MailItem
|
||||||
|
|
||||||
|
|
||||||
Try
|
Try
|
||||||
@@ -505,10 +510,25 @@ Public Class cAutomailversand
|
|||||||
TextHTML &= Mailhtml
|
TextHTML &= Mailhtml
|
||||||
TextHTML &= "<br>"
|
TextHTML &= "<br>"
|
||||||
TextHTML &= "<br>"
|
TextHTML &= "<br>"
|
||||||
TextHTML &= "Mit freundlichen Grüßen<br>"
|
|
||||||
|
Select Case AD.LandKz
|
||||||
|
Case "TR"
|
||||||
|
TextHTML &= "Saygilarimizla<br><br>"
|
||||||
|
Case "A", "AT", "D", "DE", "CH"
|
||||||
|
TextHTML &= "Mit freundlichen Grüßen<br>"
|
||||||
|
Case Else
|
||||||
|
TextHTML &= "Best regards<br>"
|
||||||
|
End Select
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
||||||
TextHTML &= "<br>"
|
TextHTML &= "<br>"
|
||||||
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True)
|
TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID, True, True)
|
||||||
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
||||||
|
|
||||||
Mail.To = MailTo
|
Mail.To = MailTo
|
||||||
@@ -537,9 +557,32 @@ Public Class cAutomailversand
|
|||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub loadAndSetAnhaenge_new(SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String), Optional RECHNUNG As cRechnungsausgang = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing, Optional mergeAllPDFS As Boolean = False)
|
Private Sub loadAndSetAnhaenge_new(BelegartenNr As Integer, sprache As String, SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String), Optional RECHNUNG As cRechnungsausgang = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing, Optional mergeAllPDFS As Boolean = False)
|
||||||
|
|
||||||
Dim zielPfad_PDFZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Anhang.pdf", ".pdf",, False, "Zusammenfassung")
|
|
||||||
|
Dim Anhangsbez = ""
|
||||||
|
If RECHNUNG IsNot Nothing Then
|
||||||
|
|
||||||
|
Select Case sprache
|
||||||
|
Case "DE" : If BelegartenNr = 71 Then Anhangsbez = "Gutschriftsanhänge.pdf" Else Anhangsbez = "Rechnungsanhänge.pdf"
|
||||||
|
Case "TR" : If BelegartenNr = 71 Then Anhangsbez = "Kredi.pdf" Else Anhangsbez = "Fatura.pdf"
|
||||||
|
Case Else : If BelegartenNr = 71 Then Anhangsbez = "Creditnote.pdf" Else Anhangsbez = "Invoice.pdf"
|
||||||
|
End Select
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
|
||||||
|
Select Case sprache
|
||||||
|
Case "DE" : If BelegartenNr = 71 Then Anhangsbez = "Sammelgutschrift.pdf" Else Anhangsbez = "Sammelrechnung.pdf"
|
||||||
|
Case "TR" : If BelegartenNr = 71 Then Anhangsbez = "Toplukredi.pdf" Else Anhangsbez = "Toplufatura.pdf"
|
||||||
|
Case Else : If BelegartenNr = 71 Then Anhangsbez = "Collectivecreditnote.pdf" Else Anhangsbez = "Collectiveinvoice.pdf"
|
||||||
|
End Select
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim zielPfad_PDFZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(Anhangsbez, ".pdf",, False, "Zusammenfassung")
|
||||||
|
|
||||||
'====================================================
|
'====================================================
|
||||||
' EINZELRECHNUNG
|
' EINZELRECHNUNG
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ Public Class frmAbrechnungsMaske
|
|||||||
Dim sqlstr = ""
|
Dim sqlstr = ""
|
||||||
|
|
||||||
If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = "24" Then
|
If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = "24" Then
|
||||||
sqlstr &= " SELECT isnull(R1.RechnungsNr,'-') as ReNr, R1.FilialenNr, R1.AbfertigungsNr, cast(R1.FilialenNr as varchar) + ' ' + cast(R1.AbfertigungsNr as varchar) as PosNr, R1.UnterNr, Firma_ID,R1.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr FROM Rechnungsausgang as R1 INNER JOIN Adressen ON AdressenNr=R1.RechnungsKundenNr inner Join Speditionsbuch on Speditionsbuch.FilialenNr = R1.FilialenNr And Speditionsbuch.AbfertigungsNr = R1.AbfertigungsNr and Speditionsbuch.UnterNr = R1.SpeditionsbuchUnterNr "
|
sqlstr &= " SELECT Rechnungsausgang.Rechnungsdatum, isnull(R1.RechnungsNr,'-') as ReNr, R1.FilialenNr, R1.AbfertigungsNr, cast(R1.FilialenNr as varchar) + ' ' + cast(R1.AbfertigungsNr as varchar) as PosNr, R1.UnterNr, Firma_ID,R1.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr FROM Rechnungsausgang as R1 INNER JOIN Adressen ON AdressenNr=R1.RechnungsKundenNr inner Join Speditionsbuch on Speditionsbuch.FilialenNr = R1.FilialenNr And Speditionsbuch.AbfertigungsNr = R1.AbfertigungsNr and Speditionsbuch.UnterNr = R1.SpeditionsbuchUnterNr "
|
||||||
sqlstr &= " WHERE 1=1 AND R1.Firma_ID=24 "
|
sqlstr &= " WHERE 1=1 AND R1.Firma_ID=24 "
|
||||||
sqlstr &= getRGWhere(cboER_SR._value, FilialNrRestriction)
|
sqlstr &= getRGWhere(cboER_SR._value, FilialNrRestriction)
|
||||||
sqlstr &= " and (SELECT COUNT(*) FROM Rechnungsausgang as R2 where"
|
sqlstr &= " and (SELECT COUNT(*) FROM Rechnungsausgang as R2 where"
|
||||||
@@ -201,7 +201,7 @@ Public Class frmAbrechnungsMaske
|
|||||||
Else
|
Else
|
||||||
|
|
||||||
' sqlstr &= " SELECT FilialenNr, AbfertigungsNr, UnterNr, Firma_ID, Status, Sammelrechnung, Sachbearbeiter, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, RechnungsNr, RechnungsDatum, DruckDatumZeit, Buchungsjahr, RK_ID"
|
' sqlstr &= " SELECT FilialenNr, AbfertigungsNr, UnterNr, Firma_ID, Status, Sammelrechnung, Sachbearbeiter, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, RechnungsNr, RechnungsDatum, DruckDatumZeit, Buchungsjahr, RK_ID"
|
||||||
sqlstr &= " SELECT cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent, isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr, FilialenNr, AbfertigungsNr, cast(FilialenNr as varchar) + ' ' + cast(AbfertigungsNr as varchar) as PosNr,UnterNr, Firma_ID,Rechnungsausgang.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr, ReErfZeitstempel"
|
sqlstr &= " SELECT cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent,Rechnungsausgang.Rechnungsdatum, isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr, FilialenNr, AbfertigungsNr, cast(FilialenNr as varchar) + ' ' + cast(AbfertigungsNr as varchar) as PosNr,UnterNr, Firma_ID,Rechnungsausgang.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr, ReErfZeitstempel"
|
||||||
sqlstr &= ",(CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' WHEN Rechnungsdruck=5 THEN 'MAIL+KOPIE' ELSE '-' END) as Rechnungsdruck, isnull(BelegartenKz, '') as BelegartenKz "
|
sqlstr &= ",(CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' WHEN Rechnungsdruck=5 THEN 'MAIL+KOPIE' ELSE '-' END) as Rechnungsdruck, isnull(BelegartenKz, '') as BelegartenKz "
|
||||||
sqlstr &= " FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=Rechnungsausgang.RechnungsKundenNr"
|
sqlstr &= " FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=Rechnungsausgang.RechnungsKundenNr"
|
||||||
sqlstr &= " WHERE 1=1 "
|
sqlstr &= " WHERE 1=1 "
|
||||||
@@ -220,6 +220,7 @@ Public Class frmAbrechnungsMaske
|
|||||||
.Columns("Firma_ID").Visible = False
|
.Columns("Firma_ID").Visible = False
|
||||||
.Columns("RechnungsLandKz").Visible = False
|
.Columns("RechnungsLandKz").Visible = False
|
||||||
.Columns("RechnungsKundenNr").Visible = False
|
.Columns("RechnungsKundenNr").Visible = False
|
||||||
|
.Columns("Rechnungsdatum").Visible = False
|
||||||
.Columns("ReErfZeitstempel").Visible = False
|
.Columns("ReErfZeitstempel").Visible = False
|
||||||
.Columns("PosNr").HeaderText = "Pos-Nr."
|
.Columns("PosNr").HeaderText = "Pos-Nr."
|
||||||
|
|
||||||
@@ -992,8 +993,10 @@ Public Class frmAbrechnungsMaske
|
|||||||
Dim ListOfRK_ID As New List(Of Integer)
|
Dim ListOfRK_ID As New List(Of Integer)
|
||||||
|
|
||||||
Dim noRE_NR = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value) OrElse Not IsNumeric(r.Cells("RENR").Value))
|
Dim noRE_NR = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value) OrElse Not IsNumeric(r.Cells("RENR").Value))
|
||||||
|
Dim noRE_date = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("Rechnungsdatum").Value Is Nothing OrElse IsDBNull(r.Cells("Rechnungsdatum").Value))
|
||||||
|
|
||||||
If noRE_NR Then MsgBox("ACHTUNG, RechnungsNr wurde nicht gesetzt." & vbNewLine & "Vorgang wird abgebrochen!") : Exit Sub
|
If noRE_NR Then MsgBox("ACHTUNG, RechnungsNr wurde nicht gesetzt." & vbNewLine & "Vorgang wird abgebrochen!") : Exit Sub
|
||||||
|
If noRE_date Then MsgBox("ACHTUNG, Rechnungsdatum wurde nicht gesetzt." & vbNewLine & "Vorgang wird abgebrochen!") : Exit Sub
|
||||||
|
|
||||||
Dim selectedRows = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)
|
Dim selectedRows = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)
|
||||||
|
|
||||||
|
|||||||
@@ -585,7 +585,7 @@ Public Class ustCntlUSTV_AntragPosition
|
|||||||
|
|
||||||
ElseIf sender Is txtLeistungsbezeichnung Then
|
ElseIf sender Is txtLeistungsbezeichnung Then
|
||||||
|
|
||||||
If UStV_POS.UStVPo_Leistungsbezeichnung IsNot Nothing AndAlso UStV_POS.UStVPo_Leistungsbezeichnung <> txtLeistungsbezeichnung.Text Then
|
If UStV_POS.UStVPo_Leistungsbezeichnung <> txtLeistungsbezeichnung.Text Then
|
||||||
'UStV_POS.UStVPo_Leistungsbezeichnung = txtLeistungsbezeichnung.Text
|
'UStV_POS.UStVPo_Leistungsbezeichnung = txtLeistungsbezeichnung.Text
|
||||||
txtChanged = True
|
txtChanged = True
|
||||||
End If
|
End If
|
||||||
|
|||||||
Reference in New Issue
Block a user