jj fix index fields not loading
This commit is contained in:
@@ -32,6 +32,7 @@ Partial Class frmWD_ObjecttypeConfig
|
||||
Dim CHANGED_WHENLabel As System.Windows.Forms.Label
|
||||
Dim Label4 As System.Windows.Forms.Label
|
||||
Dim Label2 As System.Windows.Forms.Label
|
||||
Dim Label3 As System.Windows.Forms.Label
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.DD_DMSDataSet = New DD_Record_Organizer.DD_DMSDataSet()
|
||||
Me.TBPMO_WD_OBJECTTYPEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
|
||||
@@ -68,6 +69,7 @@ Partial Class frmWD_ObjecttypeConfig
|
||||
CHANGED_WHENLabel = New System.Windows.Forms.Label()
|
||||
Label4 = New System.Windows.Forms.Label()
|
||||
Label2 = New System.Windows.Forms.Label()
|
||||
Label3 = New System.Windows.Forms.Label()
|
||||
CType(Me.DD_DMSDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TBPMO_WD_OBJECTTYPEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.TBPMO_WD_OBJECTTYPEBindingNavigator, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
@@ -109,6 +111,11 @@ Partial Class frmWD_ObjecttypeConfig
|
||||
resources.ApplyResources(Label4, "Label4")
|
||||
Label4.Name = "Label4"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
resources.ApplyResources(Label2, "Label2")
|
||||
Label2.Name = "Label2"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
resources.ApplyResources(Me.Label1, "Label1")
|
||||
@@ -307,20 +314,22 @@ Partial Class frmWD_ObjecttypeConfig
|
||||
'
|
||||
'cmbADDIRelIdx
|
||||
'
|
||||
Me.cmbADDIRelIdx.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPMO_WD_OBJECTTYPEBindingSource, "IDXNAME_RELATION", True))
|
||||
Me.cmbADDIRelIdx.FormattingEnabled = True
|
||||
resources.ApplyResources(Me.cmbADDIRelIdx, "cmbADDIRelIdx")
|
||||
Me.cmbADDIRelIdx.Name = "cmbADDIRelIdx"
|
||||
'
|
||||
'cmbDoctype
|
||||
'
|
||||
Me.cmbDoctype.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPMO_WD_OBJECTTYPEBindingSource, "IDXNAME_DOCTYPE", True))
|
||||
Me.cmbDoctype.FormattingEnabled = True
|
||||
resources.ApplyResources(Me.cmbDoctype, "cmbDoctype")
|
||||
Me.cmbDoctype.Name = "cmbDoctype"
|
||||
'
|
||||
'Label2
|
||||
'Label3
|
||||
'
|
||||
resources.ApplyResources(Label2, "Label2")
|
||||
Label2.Name = "Label2"
|
||||
resources.ApplyResources(Label3, "Label3")
|
||||
Label3.Name = "Label3"
|
||||
'
|
||||
'frmWD_ObjecttypeConfig
|
||||
'
|
||||
@@ -334,6 +343,7 @@ Partial Class frmWD_ObjecttypeConfig
|
||||
Me.Controls.Add(Me.lblSaveDokart)
|
||||
Me.Controls.Add(GUIDLabel)
|
||||
Me.Controls.Add(Me.GUIDTextBox)
|
||||
Me.Controls.Add(Label3)
|
||||
Me.Controls.Add(OBJECT_TYPELabel)
|
||||
Me.Controls.Add(Me.OBJECT_TYPEComboBox)
|
||||
Me.Controls.Add(ADDED_WHOLabel)
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>OBJECT_TYPELabel.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<metadata name="ADDED_WHOLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
@@ -213,7 +213,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>ADDED_WHOLabel.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<metadata name="ADDED_WHENLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
@@ -246,7 +246,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>ADDED_WHENLabel.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<metadata name="CHANGED_WHOLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
@@ -279,7 +279,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>CHANGED_WHOLabel.ZOrder" xml:space="preserve">
|
||||
<value>14</value>
|
||||
<value>15</value>
|
||||
</data>
|
||||
<metadata name="CHANGED_WHENLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
@@ -312,7 +312,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>CHANGED_WHENLabel.ZOrder" xml:space="preserve">
|
||||
<value>16</value>
|
||||
<value>17</value>
|
||||
</data>
|
||||
<metadata name="Label4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
@@ -348,6 +348,39 @@
|
||||
<data name=">>Label4.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<metadata name="Label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<data name="Label2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="Label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="Label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>274, 102</value>
|
||||
</data>
|
||||
<data name="Label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 17</value>
|
||||
</data>
|
||||
<data name="Label2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>87</value>
|
||||
</data>
|
||||
<data name="Label2.Text" xml:space="preserve">
|
||||
<value>Indexname für Dokumentart:</value>
|
||||
</data>
|
||||
<data name=">>Label2.Name" xml:space="preserve">
|
||||
<value>Label2</value>
|
||||
</data>
|
||||
<data name=">>Label2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Label2.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>Label2.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="Label1.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
@@ -376,7 +409,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>Label1.ZOrder" xml:space="preserve">
|
||||
<value>19</value>
|
||||
<value>20</value>
|
||||
</data>
|
||||
<metadata name="DD_DMSDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
@@ -579,7 +612,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>TBPMO_WD_OBJECTTYPEBindingNavigator.ZOrder" xml:space="preserve">
|
||||
<value>18</value>
|
||||
<value>19</value>
|
||||
</data>
|
||||
<data name="GUIDTextBox.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -627,7 +660,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>OBJECT_TYPEComboBox.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="ADDED_WHOTextBox.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -654,7 +687,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>ADDED_WHOTextBox.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="ADDED_WHENTextBox.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -681,7 +714,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>ADDED_WHENTextBox.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="CHANGED_WHOTextBox.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -708,7 +741,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>CHANGED_WHOTextBox.ZOrder" xml:space="preserve">
|
||||
<value>15</value>
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="CHANGED_WHENTextBox.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -735,7 +768,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>CHANGED_WHENTextBox.ZOrder" xml:space="preserve">
|
||||
<value>17</value>
|
||||
<value>18</value>
|
||||
</data>
|
||||
<data name="lblSaveDokart.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -839,38 +872,38 @@
|
||||
<data name=">>cmbDoctype.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<metadata name="Label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="Label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<data name="Label2.AutoSize" type="System.Boolean, mscorlib">
|
||||
<data name="Label3.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="Label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<data name="Label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="Label2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>274, 102</value>
|
||||
<data name="Label3.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>522, 54</value>
|
||||
</data>
|
||||
<data name="Label2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 17</value>
|
||||
<data name="Label3.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>161, 17</value>
|
||||
</data>
|
||||
<data name="Label2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>87</value>
|
||||
<data name="Label3.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="Label2.Text" xml:space="preserve">
|
||||
<value>Indexname für Dokumentart:</value>
|
||||
<data name="Label3.Text" xml:space="preserve">
|
||||
<value>Konfigurierte Objekttypen:</value>
|
||||
</data>
|
||||
<data name=">>Label2.Name" xml:space="preserve">
|
||||
<value>Label2</value>
|
||||
<data name=">>Label3.Name" xml:space="preserve">
|
||||
<value>Label3</value>
|
||||
</data>
|
||||
<data name=">>Label2.Type" xml:space="preserve">
|
||||
<data name=">>Label3.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Label2.Parent" xml:space="preserve">
|
||||
<data name=">>Label3.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>Label2.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<data name=">>Label3.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
Imports DD_LIB_Standards
|
||||
Imports DevExpress.Data.Helpers
|
||||
Imports DevExpress.XtraEditors
|
||||
Imports DevExpress.XtraEditors.Controls
|
||||
|
||||
Public Class frmWD_ObjecttypeConfig
|
||||
Private Shared _Instance As frmWD_ObjecttypeConfig = Nothing
|
||||
|
||||
@@ -12,40 +16,42 @@ Public Class frmWD_ObjecttypeConfig
|
||||
Private Sub TBPMO_WD_OBJECTTYPEBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles TBPMO_WD_OBJECTTYPEBindingNavigatorSaveItem.Click
|
||||
Save_ObjecttypeKonfig()
|
||||
End Sub
|
||||
Sub Save_ObjecttypeKonfig()
|
||||
Private Sub Save_ObjecttypeKonfig()
|
||||
Try
|
||||
Me.TBPMO_WD_OBJECTTYPEBindingSource.EndEdit()
|
||||
If DD_DMSDataSet.TBPMO_WD_OBJECTTYPE.GetChanges Is Nothing = False Then
|
||||
Me.CHANGED_WHOTextBox.Text = USER_USERNAME
|
||||
Me.TBPMO_WD_OBJECTTYPEBindingSource.EndEdit()
|
||||
Me.TBPMO_WD_OBJECTTYPETableAdapter.Update(Me.DD_DMSDataSet.TBPMO_WD_OBJECTTYPE)
|
||||
Me.lblSaveDokart.Visible = True
|
||||
TBPMO_WD_OBJECTTYPEBindingSource.EndEdit()
|
||||
|
||||
If IsNothing(DD_DMSDataSet.TBPMO_WD_OBJECTTYPE.GetChanges()) = False Then
|
||||
CHANGED_WHOTextBox.Text = USER_USERNAME
|
||||
TBPMO_WD_OBJECTTYPEBindingSource.EndEdit()
|
||||
TBPMO_WD_OBJECTTYPETableAdapter.Update(DD_DMSDataSet.TBPMO_WD_OBJECTTYPE)
|
||||
lblSaveDokart.Visible = True
|
||||
Else
|
||||
Me.lblSaveDokart.Visible = False
|
||||
lblSaveDokart.Visible = False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Save Objecttype-Config:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub frmObjecttypeConfig_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
'TODO: Diese Codezeile lädt Daten in die Tabelle "DD_DMSDataSet.TBPMO_WD_OBJECTTYPE". Sie können sie bei Bedarf verschieben oder entfernen.
|
||||
Try
|
||||
TBPMO_WD_OBJECTTYPETableAdapter.Connection.ConnectionString = MyConnectionString
|
||||
Me.TBPMO_WD_OBJECTTYPETableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_WD_OBJECTTYPE)
|
||||
TBPMO_WD_OBJECTTYPETableAdapter.Fill(DD_DMSDataSet.TBPMO_WD_OBJECTTYPE)
|
||||
|
||||
LoadObjectTypes()
|
||||
LoadIndices()
|
||||
Catch ex As Exception
|
||||
MsgBox("Error loading Form:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
Private Sub ObjektTypenEintragen()
|
||||
Private Sub LoadObjectTypes()
|
||||
Try
|
||||
Dim oDokumentTyp As WINDREAMLib.WMObject
|
||||
' Combobox leeren
|
||||
Me.OBJECT_TYPEComboBox.Items.Clear()
|
||||
OBJECT_TYPEComboBox.Items.Clear()
|
||||
' alle Objekttypen durchlaufen
|
||||
For Each oDokumentTyp In clsWD_GET.GetObjecttypesAsObjects
|
||||
' und in die Combobox eintragen
|
||||
Me.OBJECT_TYPEComboBox.Items.Add(oDokumentTyp.aName)
|
||||
OBJECT_TYPEComboBox.Items.Add(oDokumentTyp.aName)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler beim Eintragen der Objekttypen")
|
||||
@@ -54,43 +60,59 @@ Public Class frmWD_ObjecttypeConfig
|
||||
End Sub
|
||||
|
||||
Private Sub OBJECT_TYPEComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles OBJECT_TYPEComboBox.SelectedIndexChanged
|
||||
load_Indices()
|
||||
LoadIndices()
|
||||
|
||||
' Doctype Combobox Text leeren wenn der aktuell ausgewählte Index nicht im aktuellen Objekttyp vorhanden ist
|
||||
If ComboboxContains(cmbDoctype, cmbDoctype.Text) = False Then
|
||||
cmbDoctype.Text = String.Empty
|
||||
End If
|
||||
|
||||
' Relation Combobox Text leeren wenn der aktuell ausgewählte Index nicht im aktuellen Objekttyp vorhanden ist
|
||||
If ComboboxContains(cmbADDIRelIdx, cmbADDIRelIdx.Text) = False Then
|
||||
cmbADDIRelIdx.Text = String.Empty
|
||||
End If
|
||||
End Sub
|
||||
Sub load_Indices()
|
||||
|
||||
Private Function ComboboxContains(combobox As System.Windows.Forms.ComboBox, toFind As String)
|
||||
Try
|
||||
If Me.OBJECT_TYPEComboBox.SelectedIndex <> -1 Then
|
||||
'Me.IDXNAME_ENTITYIDComboBox.Items.Clear()
|
||||
'Me.IDXNAME_PARENTIDComboBox.Items.Clear()
|
||||
Me.cmbDoctype.Items.Clear()
|
||||
'Me.cmbRecordIndex.Items.Clear()
|
||||
Me.cmbADDIRelIdx.Items.Clear()
|
||||
Dim found = False
|
||||
|
||||
For Each item As String In combobox.Items
|
||||
If item = toFind Then
|
||||
found = True
|
||||
End If
|
||||
Next
|
||||
|
||||
Return found
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in ComboboxContains: " & ex.Message, MsgBoxStyle.Exclamation)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub LoadIndices()
|
||||
Try
|
||||
If OBJECT_TYPEComboBox.Text.Count > 0 Then
|
||||
cmbDoctype.Items.Clear()
|
||||
cmbADDIRelIdx.Items.Clear()
|
||||
Dim indexe = clsWD_GET.GetIndicesByObjecttype(OBJECT_TYPEComboBox.Text)
|
||||
If indexe IsNot Nothing Then
|
||||
For Each index As String In indexe
|
||||
'Me.IDXNAME_ENTITYIDComboBox.Items.Add(index)
|
||||
'Me.IDXNAME_PARENTIDComboBox.Items.Add(index)
|
||||
Me.cmbDoctype.Items.Add(index)
|
||||
'Me.cmbRecordIndex.Items.Add(index)
|
||||
Me.cmbADDIRelIdx.Items.Add(index)
|
||||
cmbDoctype.Items.Add(index)
|
||||
cmbADDIRelIdx.Items.Add(index)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in OBJECT_TYPEComboBox.SelectedIndexChanged: ")
|
||||
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in LoadIndices: ")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub TBPMO_WD_OBJECTTYPEBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBPMO_WD_OBJECTTYPEBindingSource.AddingNew
|
||||
Private Sub TBPMO_WD_OBJECTTYPEBindingSource_AddingNew(sender As Object, e As ComponentModel.AddingNewEventArgs) Handles TBPMO_WD_OBJECTTYPEBindingSource.AddingNew
|
||||
Try
|
||||
Me.DD_DMSDataSet.TBPMO_WD_OBJECTTYPE.ADDED_WHOColumn.DefaultValue = USER_USERNAME
|
||||
DD_DMSDataSet.TBPMO_WD_OBJECTTYPE.ADDED_WHOColumn.DefaultValue = USER_USERNAME
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Save Objecttype-Config:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmObjecttypeConfig_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
ObjektTypenEintragen()
|
||||
load_Indices()
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user