mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
Fixed package and e2e with tabs that now are capital letters?
This commit is contained in:
parent
9da378a005
commit
67a05520d0
@ -18,12 +18,17 @@
|
|||||||
import { FormCloudComponentPage, LoginPage, ProcessCloudWidgetPage } from '@alfresco/adf-testing';
|
import { FormCloudComponentPage, LoginPage, ProcessCloudWidgetPage } from '@alfresco/adf-testing';
|
||||||
|
|
||||||
import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
|
import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
|
||||||
import { tabFieldValueVisibilityJson, tabVarValueVisibilityJson, tabVarFieldVisibilityJson,
|
import {
|
||||||
tabFieldFieldVisibilityJson, tabFieldVarVisibilityJson, tabVarVarVisibilityJson,
|
tabFieldValueVisibilityJson,
|
||||||
tabNextOperatorsVisibilityJson } from '../../resources/forms/tab-visibility-conditions';
|
tabVarValueVisibilityJson,
|
||||||
|
tabVarFieldVisibilityJson,
|
||||||
|
tabFieldFieldVisibilityJson,
|
||||||
|
tabFieldVarVisibilityJson,
|
||||||
|
tabVarVarVisibilityJson,
|
||||||
|
tabNextOperatorsVisibilityJson
|
||||||
|
} from '../../resources/forms/tab-visibility-conditions';
|
||||||
|
|
||||||
describe('Visibility conditions on tabs - cloud', () => {
|
describe('Visibility conditions on tabs - cloud', () => {
|
||||||
|
|
||||||
const loginSSOPage = new LoginPage();
|
const loginSSOPage = new LoginPage();
|
||||||
const navigationBarPage = new NavigationBarPage();
|
const navigationBarPage = new NavigationBarPage();
|
||||||
const formCloudDemoPage = new FormCloudComponentPage();
|
const formCloudDemoPage = new FormCloudComponentPage();
|
||||||
@ -41,13 +46,13 @@ describe('Visibility conditions on tabs - cloud', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const tab = {
|
const tab = {
|
||||||
tabWithFields: 'tabWithFields',
|
tabWithFields: 'TABWITHFIELDS',
|
||||||
tabFieldValue: 'tabBasicFieldValue',
|
tabFieldValue: 'TABBASICFIELDVALUE',
|
||||||
tabVarValue: 'tabBasicVarValue',
|
tabVarValue: 'TABBASICVARVALUE',
|
||||||
tabVarField: 'tabBasicVarField',
|
tabVarField: 'TABBASICVARFIELD',
|
||||||
tabFieldField: 'tabBasicFieldField',
|
tabFieldField: 'TABBASICFIELDFIELD',
|
||||||
tabVarVar: 'tabBasicVarVar',
|
tabVarVar: 'TABBASICVARVAR',
|
||||||
tabNextOperators: 'tabNextOperators'
|
tabNextOperators: 'TABNEXTOPERATORS'
|
||||||
};
|
};
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
|
@ -32,10 +32,14 @@ const createField = (id = 'TextTwo', name = 'TextTwo') => ({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const createFieldDefinition = (id = 'dcde7e13-2444-48bc-ab30-32902cea549e', tabName = '71da814d-5580-4f1f-972a-8089253aeded', fields = {
|
const createFieldDefinition = (
|
||||||
1: [createField()],
|
id = 'dcde7e13-2444-48bc-ab30-32902cea549e',
|
||||||
2: []
|
tabName = '71da814d-5580-4f1f-972a-8089253aeded',
|
||||||
}) => ({
|
fields = {
|
||||||
|
1: [createField()],
|
||||||
|
2: []
|
||||||
|
}
|
||||||
|
) => ({
|
||||||
id,
|
id,
|
||||||
name: 'Label',
|
name: 'Label',
|
||||||
type: 'container',
|
type: 'container',
|
||||||
@ -57,7 +61,14 @@ const fieldDefinition3 = createFieldDefinition('df452297-d0e8-4406-b9d3-10842033
|
|||||||
const fieldsDefinitions1 = [fieldDefinition1, fieldDefinition2];
|
const fieldsDefinitions1 = [fieldDefinition1, fieldDefinition2];
|
||||||
const fieldsDefinitions2 = [fieldDefinition1, fieldDefinition3];
|
const fieldsDefinitions2 = [fieldDefinition1, fieldDefinition3];
|
||||||
|
|
||||||
const createVisibilityCondition = (leftType = 'field', leftValue = 'TextOne', nextCondition?: any, rightValue = 'showTab', rightType = 'value', operator = '==') => ({
|
const createVisibilityCondition = (
|
||||||
|
leftType = 'field',
|
||||||
|
leftValue = 'TextOne',
|
||||||
|
nextCondition?: any,
|
||||||
|
rightValue = 'showTab',
|
||||||
|
rightType = 'value',
|
||||||
|
operator = '=='
|
||||||
|
) => ({
|
||||||
leftType,
|
leftType,
|
||||||
leftValue,
|
leftValue,
|
||||||
operator,
|
operator,
|
||||||
@ -67,39 +78,44 @@ const createVisibilityCondition = (leftType = 'field', leftValue = 'TextOne', ne
|
|||||||
nextCondition
|
nextCondition
|
||||||
});
|
});
|
||||||
|
|
||||||
const createTab = (id = '71da814d-5580-4f1f-972a-8089253aeded', title = 'tabBasicFieldValue', visibilityCondition = createVisibilityCondition('field', 'TextOne', null)) => ({
|
const createTab = (
|
||||||
|
id = '71da814d-5580-4f1f-972a-8089253aeded',
|
||||||
|
title = 'TABBASICFIELDVALUE',
|
||||||
|
visibilityCondition = createVisibilityCondition('field', 'TextOne', null)
|
||||||
|
) => ({
|
||||||
id,
|
id,
|
||||||
title,
|
title,
|
||||||
visibilityCondition
|
visibilityCondition
|
||||||
});
|
});
|
||||||
|
|
||||||
const createTabVisibilityJson = (tabs = [
|
const createTabVisibilityJson = (
|
||||||
createTab(),
|
tabs = [createTab(), createTab('442eea0b-65f9-484e-b37f-f5a91d5e1f21', 'TABWITHFIELDS', null)],
|
||||||
createTab('442eea0b-65f9-484e-b37f-f5a91d5e1f21', 'tabWithFields', null)
|
fields = [
|
||||||
], fields = [
|
createFieldDefinition(),
|
||||||
createFieldDefinition(),
|
createFieldDefinition('df452297-d0e8-4406-b9d3-10842033549d', '442eea0b-65f9-484e-b37f-f5a91d5e1f21', {
|
||||||
createFieldDefinition('df452297-d0e8-4406-b9d3-10842033549d', '442eea0b-65f9-484e-b37f-f5a91d5e1f21', {
|
1: [
|
||||||
1: [
|
{
|
||||||
{
|
id: 'TextOne',
|
||||||
id: 'TextOne',
|
name: 'TextOne',
|
||||||
name: 'TextOne',
|
type: 'text',
|
||||||
type: 'text',
|
required: false,
|
||||||
required: false,
|
colspan: 1,
|
||||||
colspan: 1,
|
placeholder: null,
|
||||||
placeholder: null,
|
minLength: 0,
|
||||||
minLength: 0,
|
maxLength: 0,
|
||||||
maxLength: 0,
|
regexPattern: null,
|
||||||
regexPattern: null,
|
visibilityCondition: null,
|
||||||
visibilityCondition: null,
|
params: {
|
||||||
params: {
|
existingColspan: 1,
|
||||||
existingColspan: 1,
|
maxColspan: 2
|
||||||
maxColspan: 2
|
}
|
||||||
}
|
}
|
||||||
}
|
],
|
||||||
],
|
2: []
|
||||||
2: []
|
})
|
||||||
})
|
],
|
||||||
], variables = []) => ({
|
variables = []
|
||||||
|
) => ({
|
||||||
formRepresentation: {
|
formRepresentation: {
|
||||||
id: 'form-3aff57d3-62af-4adf-9b14-1d8f44a28077',
|
id: 'form-3aff57d3-62af-4adf-9b14-1d8f44a28077',
|
||||||
name: 'tabvisibility',
|
name: 'tabvisibility',
|
||||||
@ -118,89 +134,109 @@ const createTabVisibilityJson = (tabs = [
|
|||||||
|
|
||||||
export const tabFieldValueVisibilityJson = createTabVisibilityJson();
|
export const tabFieldValueVisibilityJson = createTabVisibilityJson();
|
||||||
|
|
||||||
export const tabVarValueVisibilityJson = createTabVisibilityJson([
|
export const tabVarValueVisibilityJson = createTabVisibilityJson(
|
||||||
createTab('71da814d-5580-4f1f-972a-8089253aeded', 'tabBasicVarValue', createVisibilityCondition('variable', 'stringVar'))
|
[createTab('71da814d-5580-4f1f-972a-8089253aeded', 'TABBASICVARVALUE', createVisibilityCondition('variable', 'stringVar'))],
|
||||||
], [fieldDefinition1], [
|
[fieldDefinition1],
|
||||||
{
|
[
|
||||||
id: '803269e6-a568-40e2-aec3-75ad2f411688',
|
{
|
||||||
name: 'stringVar',
|
id: '803269e6-a568-40e2-aec3-75ad2f411688',
|
||||||
type: 'string',
|
name: 'stringVar',
|
||||||
value: 'showTab'
|
type: 'string',
|
||||||
}
|
value: 'showTab'
|
||||||
]);
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
export const tabVarFieldVisibilityJson = createTabVisibilityJson([
|
export const tabVarFieldVisibilityJson = createTabVisibilityJson(
|
||||||
createTab(
|
[
|
||||||
'71da814d-5580-4f1f-972a-8089253aeded',
|
createTab(
|
||||||
'tabBasicVarField',
|
'71da814d-5580-4f1f-972a-8089253aeded',
|
||||||
createVisibilityCondition('variable', 'stringVar', undefined, 'TextOne', 'field')
|
'TABBASICVARFIELD',
|
||||||
),
|
createVisibilityCondition('variable', 'stringVar', undefined, 'TextOne', 'field')
|
||||||
createTab('0e538a28-f8d6-4cb8-ae93-dbfb2efdf3b1', 'tabWithFields', null)
|
),
|
||||||
], fieldsDefinitions1, [
|
createTab('0e538a28-f8d6-4cb8-ae93-dbfb2efdf3b1', 'TABWITHFIELDS', null)
|
||||||
{
|
],
|
||||||
id: '803269e6-a568-40e2-aec3-75ad2f411688',
|
fieldsDefinitions1,
|
||||||
name: 'stringVar',
|
[
|
||||||
type: 'string',
|
{
|
||||||
value: 'showTab'
|
id: '803269e6-a568-40e2-aec3-75ad2f411688',
|
||||||
}
|
name: 'stringVar',
|
||||||
]);
|
type: 'string',
|
||||||
|
value: 'showTab'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
export const tabFieldFieldVisibilityJson = createTabVisibilityJson([
|
export const tabFieldFieldVisibilityJson = createTabVisibilityJson(
|
||||||
createTab(
|
[
|
||||||
'71da814d-5580-4f1f-972a-8089253aeded',
|
createTab(
|
||||||
'tabBasicFieldField',
|
'71da814d-5580-4f1f-972a-8089253aeded',
|
||||||
createVisibilityCondition('field', 'TextThree', undefined, 'TextOne', 'field')
|
'TABBASICFIELDFIELD',
|
||||||
),
|
createVisibilityCondition('field', 'TextThree', undefined, 'TextOne', 'field')
|
||||||
createTab('442eea0b-65f9-484e-b37f-f5a91d5e1f21', 'tabWithFields', null)
|
),
|
||||||
], fieldsDefinitions2);
|
createTab('442eea0b-65f9-484e-b37f-f5a91d5e1f21', 'TABWITHFIELDS', null)
|
||||||
|
],
|
||||||
|
fieldsDefinitions2
|
||||||
|
);
|
||||||
|
|
||||||
export const tabFieldVarVisibilityJson = createTabVisibilityJson([
|
export const tabFieldVarVisibilityJson = createTabVisibilityJson(
|
||||||
createTab(
|
[
|
||||||
'71da814d-5580-4f1f-972a-8089253aeded',
|
createTab(
|
||||||
'tabBasicVarField',
|
'71da814d-5580-4f1f-972a-8089253aeded',
|
||||||
createVisibilityCondition('field', 'TextOne', undefined, 'stringVar', 'variable')
|
'TABBASICVARFIELD',
|
||||||
),
|
createVisibilityCondition('field', 'TextOne', undefined, 'stringVar', 'variable')
|
||||||
createTab('0e538a28-f8d6-4cb8-ae93-dbfb2efdf3b1', 'tabWithFields', null)
|
),
|
||||||
], fieldsDefinitions1, [
|
createTab('0e538a28-f8d6-4cb8-ae93-dbfb2efdf3b1', 'TABWITHFIELDS', null)
|
||||||
{
|
],
|
||||||
id: '803269e6-a568-40e2-aec3-75ad2f411688',
|
fieldsDefinitions1,
|
||||||
name: 'stringVar',
|
[
|
||||||
type: 'string',
|
{
|
||||||
value: 'showTab'
|
id: '803269e6-a568-40e2-aec3-75ad2f411688',
|
||||||
}
|
name: 'stringVar',
|
||||||
]);
|
type: 'string',
|
||||||
|
value: 'showTab'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
export const tabVarVarVisibilityJson = createTabVisibilityJson([
|
export const tabVarVarVisibilityJson = createTabVisibilityJson(
|
||||||
createTab(
|
[
|
||||||
'ef512cb3-0c41-4d12-84ef-a7ef8f0b111a',
|
createTab(
|
||||||
'tabBasicVarVar',
|
'ef512cb3-0c41-4d12-84ef-a7ef8f0b111a',
|
||||||
createVisibilityCondition('variable', 'showTabOne', undefined, 'showTabTwo', 'variable')
|
'TABBASICVARVAR',
|
||||||
)
|
createVisibilityCondition('variable', 'showTabOne', undefined, 'showTabTwo', 'variable')
|
||||||
], [
|
)
|
||||||
createFieldDefinition('6eeb9e54-e51d-44f3-9557-503308f07361', 'ef512cb3-0c41-4d12-84ef-a7ef8f0b111a', {
|
],
|
||||||
1: [createField('TextOne', 'TextOne')],
|
[
|
||||||
2: []
|
createFieldDefinition('6eeb9e54-e51d-44f3-9557-503308f07361', 'ef512cb3-0c41-4d12-84ef-a7ef8f0b111a', {
|
||||||
})
|
1: [createField('TextOne', 'TextOne')],
|
||||||
], [
|
2: []
|
||||||
{
|
})
|
||||||
id: 'b116df99-f6b5-45f8-b48c-15b74f7f1c92',
|
],
|
||||||
name: 'showTabOne',
|
[
|
||||||
type: 'string',
|
{
|
||||||
value: 'showTab'
|
id: 'b116df99-f6b5-45f8-b48c-15b74f7f1c92',
|
||||||
},
|
name: 'showTabOne',
|
||||||
{
|
type: 'string',
|
||||||
id: '6e3e88ab-848c-4f48-8326-a404d1427f60',
|
value: 'showTab'
|
||||||
name: 'showTabTwo',
|
},
|
||||||
type: 'string',
|
{
|
||||||
value: 'showTab'
|
id: '6e3e88ab-848c-4f48-8326-a404d1427f60',
|
||||||
}
|
name: 'showTabTwo',
|
||||||
]);
|
type: 'string',
|
||||||
|
value: 'showTab'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
export const tabNextOperatorsVisibilityJson = createTabVisibilityJson([
|
export const tabNextOperatorsVisibilityJson = createTabVisibilityJson(
|
||||||
createTab(
|
[
|
||||||
'71da814d-5580-4f1f-972a-8089253aeded',
|
createTab(
|
||||||
'tabNextOperators',
|
'71da814d-5580-4f1f-972a-8089253aeded',
|
||||||
createVisibilityCondition('field', 'TextOne', createVisibilityCondition('field', 'TextThree', null, 'showTab', 'value', '!='))
|
'TABNEXTOPERATORS',
|
||||||
),
|
createVisibilityCondition('field', 'TextOne', createVisibilityCondition('field', 'TextThree', null, 'showTab', 'value', '!='))
|
||||||
createTab('442eea0b-65f9-484e-b37f-f5a91d5e1f21', 'tabWithFields', null)
|
),
|
||||||
], fieldsDefinitions2);
|
createTab('442eea0b-65f9-484e-b37f-f5a91d5e1f21', 'TABWITHFIELDS', null)
|
||||||
|
],
|
||||||
|
fieldsDefinitions2
|
||||||
|
);
|
||||||
|
@ -201,9 +201,9 @@ export const ACTIVITI_CLOUD_APPS = {
|
|||||||
tabVisibilityVars: {
|
tabVisibilityVars: {
|
||||||
name: 'tabvisibilitywithvars',
|
name: 'tabvisibilitywithvars',
|
||||||
tabs: {
|
tabs: {
|
||||||
tabWithFields: 'tabWithFields',
|
tabWithFields: 'TABWITHFIELDS',
|
||||||
tabVarVar: 'tabBasicVarVar',
|
tabVarVar: 'TABBASICVARVAR',
|
||||||
tabBasicVarField: 'tabBasicVarField'
|
tabBasicVarField: 'TABBASICVARFIELD'
|
||||||
},
|
},
|
||||||
widgets: {
|
widgets: {
|
||||||
textOneId: 'TextOne',
|
textOneId: 'TextOne',
|
||||||
|
56
package-lock.json
generated
56
package-lock.json
generated
@ -10,7 +10,7 @@
|
|||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alfresco/js-api": ">=7.5.0",
|
"@alfresco/js-api": ">=7.8.0",
|
||||||
"@angular/animations": "15.2.10",
|
"@angular/animations": "15.2.10",
|
||||||
"@angular/cdk": "15.2.9",
|
"@angular/cdk": "15.2.9",
|
||||||
"@angular/common": "15.2.10",
|
"@angular/common": "15.2.10",
|
||||||
@ -189,61 +189,15 @@
|
|||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@alfresco/js-api": {
|
"node_modules/@alfresco/js-api": {
|
||||||
"version": "7.7.0",
|
"version": "7.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-7.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-7.8.0.tgz",
|
||||||
"integrity": "sha512-qD88MfQ+7fBv3vFi0Ju1oEaDAE9L+VxISlmpXZq1HYkBCNcSrqbFwi8ZCBPb3gZPnKG88edebTTqC6MYsusFmQ==",
|
"integrity": "sha512-3y5WwtvsEkwAB3WaFC9Ec+QMzvPmZccJ7Em06lVBDwxtFgZ1F2CisVNepWgZLoCSkCH8Lgm6e4Tr0L93S3AmoQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"event-emitter": "^0.3.5",
|
"event-emitter": "^0.3.5",
|
||||||
"superagent": "^8.0.9",
|
"superagent": "^9.0.1",
|
||||||
"tslib": "^2.6.1"
|
"tslib": "^2.6.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@alfresco/js-api/node_modules/formidable": {
|
|
||||||
"version": "2.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz",
|
|
||||||
"integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==",
|
|
||||||
"dependencies": {
|
|
||||||
"dezalgo": "^1.0.4",
|
|
||||||
"hexoid": "^1.0.0",
|
|
||||||
"once": "^1.4.0",
|
|
||||||
"qs": "^6.11.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://ko-fi.com/tunnckoCore/commissions"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@alfresco/js-api/node_modules/mime": {
|
|
||||||
"version": "2.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
|
||||||
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
|
|
||||||
"bin": {
|
|
||||||
"mime": "cli.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@alfresco/js-api/node_modules/superagent": {
|
|
||||||
"version": "8.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
|
|
||||||
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
|
|
||||||
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
|
|
||||||
"dependencies": {
|
|
||||||
"component-emitter": "^1.3.0",
|
|
||||||
"cookiejar": "^2.1.4",
|
|
||||||
"debug": "^4.3.4",
|
|
||||||
"fast-safe-stringify": "^2.1.1",
|
|
||||||
"form-data": "^4.0.0",
|
|
||||||
"formidable": "^2.1.2",
|
|
||||||
"methods": "^1.1.2",
|
|
||||||
"mime": "2.6.0",
|
|
||||||
"qs": "^6.11.0",
|
|
||||||
"semver": "^7.3.8"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.4.0 <13 || >=14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
"process services-cloud"
|
"process services-cloud"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alfresco/js-api": ">=7.5.0",
|
"@alfresco/js-api": ">=7.8.0",
|
||||||
"@angular/animations": "15.2.10",
|
"@angular/animations": "15.2.10",
|
||||||
"@angular/cdk": "15.2.9",
|
"@angular/cdk": "15.2.9",
|
||||||
"@angular/common": "15.2.10",
|
"@angular/common": "15.2.10",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user