assets, banking , supplier forms master details added : kdk
This commit is contained in:
parent
884112a623
commit
63a4aada1f
@ -33,123 +33,131 @@ export class AssetsInfoComponent implements OnInit {
|
|||||||
|
|
||||||
public _assetsQuesFrom: FormGroup;
|
public _assetsQuesFrom: FormGroup;
|
||||||
public submitted = false;
|
public submitted = false;
|
||||||
|
public m_assets_type = [];
|
||||||
|
// public m_assets_type = [
|
||||||
|
// {
|
||||||
|
// 'id': "1",
|
||||||
|
// 'name': "Property"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "2",
|
||||||
|
// 'name': "Four Wheeler"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "3",
|
||||||
|
// 'name': "Two Wheeler"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "4",
|
||||||
|
// 'name': "Jewellery"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "5",
|
||||||
|
// 'name': "Consumer Durable"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "6",
|
||||||
|
// 'name': "Insurance"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "7",
|
||||||
|
// 'name': "Investments"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "8",
|
||||||
|
// 'name': "Others"
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
|
||||||
public m_assets_type = [
|
public m_propertyType = [];
|
||||||
{
|
|
||||||
'id': "1",
|
|
||||||
'name': "Property"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "2",
|
|
||||||
'name': "Four Wheeler"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "3",
|
|
||||||
'name': "Two Wheeler"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "4",
|
|
||||||
'name': "Jewellery"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "5",
|
|
||||||
'name': "Consumer Durable"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "6",
|
|
||||||
'name': "Insurance"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "7",
|
|
||||||
'name': "Investments"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "8",
|
|
||||||
'name': "Others"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
public m_propertyType = [
|
// public m_propertyType = [
|
||||||
{
|
// {
|
||||||
'id': "1",
|
// 'id': "1",
|
||||||
'name': 'Residential'
|
// 'name': 'Residential'
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
'id': "2",
|
// 'id': "2",
|
||||||
'name': 'Commercial'
|
// 'name': 'Commercial'
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
'id': "3",
|
// 'id': "3",
|
||||||
'name': 'Industrial'
|
// 'name': 'Industrial'
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
'id': "4",
|
// 'id': "4",
|
||||||
'name': 'Land'
|
// 'name': 'Land'
|
||||||
}
|
// }
|
||||||
];
|
// ];
|
||||||
|
|
||||||
public m_insuranceType = [{
|
public m_insuranceType = [];
|
||||||
'id': "1",
|
|
||||||
'name': 'Life'
|
|
||||||
}, {
|
|
||||||
'id': "2",
|
|
||||||
'name': 'Health'
|
|
||||||
}]
|
|
||||||
|
|
||||||
public m_investmentType = [{
|
// public m_insuranceType = [{
|
||||||
'id': "1",
|
// 'id': "1",
|
||||||
'name': 'FD'
|
// 'name': 'Life'
|
||||||
}, {
|
// }, {
|
||||||
'id': "2",
|
// 'id': "2",
|
||||||
'name': 'RD'
|
// 'name': 'Health'
|
||||||
}, {
|
// }]
|
||||||
'id': "3",
|
|
||||||
'name': 'Mutual Funds'
|
|
||||||
}, {
|
|
||||||
'id': "4",
|
|
||||||
'name': 'PPF'
|
|
||||||
}, {
|
|
||||||
'id': "5",
|
|
||||||
'name': 'Shares'
|
|
||||||
}, {
|
|
||||||
'id': "6",
|
|
||||||
'name': 'Others'
|
|
||||||
}]
|
|
||||||
|
|
||||||
public m_freqOfPurchase = [
|
public m_investmentType = [];
|
||||||
{
|
|
||||||
'id': "1",
|
// public m_investmentType = [{
|
||||||
'name': 'Daily'
|
// 'id': "1",
|
||||||
},
|
// 'name': 'FD'
|
||||||
{
|
// }, {
|
||||||
'id': "2",
|
// 'id': "2",
|
||||||
'name': 'Weekly'
|
// 'name': 'RD'
|
||||||
},
|
// }, {
|
||||||
{
|
// 'id': "3",
|
||||||
'id': "3",
|
// 'name': 'Mutual Funds'
|
||||||
'name': 'Monthly'
|
// }, {
|
||||||
},
|
// 'id': "4",
|
||||||
{
|
// 'name': 'PPF'
|
||||||
'id': "4",
|
// }, {
|
||||||
'name': 'Every 3 months'
|
// 'id': "5",
|
||||||
},
|
// 'name': 'Shares'
|
||||||
{
|
// }, {
|
||||||
'id': "5",
|
// 'id': "6",
|
||||||
'name': 'Half yearly'
|
// 'name': 'Others'
|
||||||
},
|
// }]
|
||||||
{
|
|
||||||
'id': "6",
|
public m_freqOfPurchase = [];
|
||||||
'name': 'Yearly'
|
|
||||||
},
|
// public m_freqOfPurchase = [
|
||||||
{
|
// {
|
||||||
'id': "7",
|
// 'id': "1",
|
||||||
'name': 'As and when required'
|
// 'name': 'Daily'
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
'id': "8",
|
// 'id': "2",
|
||||||
'name': 'Others'
|
// 'name': 'Weekly'
|
||||||
}
|
// },
|
||||||
]
|
// {
|
||||||
|
// 'id': "3",
|
||||||
|
// 'name': 'Monthly'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "4",
|
||||||
|
// 'name': 'Every 3 months'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "5",
|
||||||
|
// 'name': 'Half yearly'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "6",
|
||||||
|
// 'name': 'Yearly'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "7",
|
||||||
|
// 'name': 'As and when required'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "8",
|
||||||
|
// 'name': 'Others'
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
|
||||||
private notifier: NotifierService;
|
private notifier: NotifierService;
|
||||||
constructor(
|
constructor(
|
||||||
@ -162,7 +170,78 @@ export class AssetsInfoComponent implements OnInit {
|
|||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
||||||
this.getPdSupplierFormDetails();
|
this.getPdSupplierFormDetails();
|
||||||
|
|
||||||
|
this.getM_Assets_Type();
|
||||||
|
this.getM_PropertyType();
|
||||||
|
this.getM_InvestmentType();
|
||||||
|
this.getM_FreqOfPurchase();
|
||||||
|
this.getM_InsuranceType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ======================
|
||||||
|
|
||||||
|
getM_Assets_Type() {
|
||||||
|
this.pdTrigerService.getAllMasterDatas('ASSETTYPE').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_assets_type = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
getM_PropertyType() {
|
||||||
|
this.pdTrigerService.getAllMasterDatas('PROPERTIES').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_propertyType = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
getM_InvestmentType() {
|
||||||
|
this.pdTrigerService.getAllMasterDatas('INVESTMENTTYPE').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_investmentType = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
getM_FreqOfPurchase() {
|
||||||
|
this.pdTrigerService.getAllMasterDatas('FREQUENCY').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_freqOfPurchase = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
getM_InsuranceType() {
|
||||||
|
this.pdTrigerService.getAllMasterDatas('INSURANCETYPE').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_insuranceType = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// =============================
|
||||||
|
|
||||||
apiLoadFinish: boolean = false;
|
apiLoadFinish: boolean = false;
|
||||||
getPdSupplierFormDetails() {
|
getPdSupplierFormDetails() {
|
||||||
this.pdTrigerService.getPDFormDetailsWithID(this.pdid, '4').subscribe(
|
this.pdTrigerService.getPDFormDetailsWithID(this.pdid, '4').subscribe(
|
||||||
|
|||||||
@ -92,14 +92,17 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-select placeholder="Account Type"
|
<mat-select placeholder="Account Type" formControlName="account_type">
|
||||||
|
<mat-option *ngFor="let prop of m_accountType" [value]="prop.id">{{ prop.name }}</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
<!--<mat-select placeholder="Account Type"
|
||||||
formControlName="account_type">
|
formControlName="account_type">
|
||||||
<mat-option value="Savings">Savings</mat-option>
|
<mat-option value="Savings">Savings</mat-option>
|
||||||
<mat-option value="Current">Current</mat-option>
|
<mat-option value="Current">Current</mat-option>
|
||||||
<mat-option value="OD">OD</mat-option>
|
<mat-option value="OD">OD</mat-option>
|
||||||
<mat-option value="CC">CC</mat-option>
|
<mat-option value="CC">CC</mat-option>
|
||||||
|
|
||||||
</mat-select>
|
</mat-select>-->
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
|
|||||||
@ -32,6 +32,7 @@ export class BankingDetailsComponent implements OnInit {
|
|||||||
public bankingForm: FormGroup;
|
public bankingForm: FormGroup;
|
||||||
step: number;
|
step: number;
|
||||||
private notifier: NotifierService;
|
private notifier: NotifierService;
|
||||||
|
m_accountType= [];
|
||||||
|
|
||||||
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
|
constructor(notifier: NotifierService, private fb: FormBuilder, private route: ActivatedRoute,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
@ -43,6 +44,7 @@ export class BankingDetailsComponent implements OnInit {
|
|||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.step = 0;
|
this.step = 0;
|
||||||
this.initBankingForm();
|
this.initBankingForm();
|
||||||
|
this.getM_AccountType();
|
||||||
let params: any = {};
|
let params: any = {};
|
||||||
params.pd_id = this.pdid;
|
params.pd_id = this.pdid;
|
||||||
params.pd_form_id = '7';
|
params.pd_form_id = '7';
|
||||||
@ -68,6 +70,20 @@ export class BankingDetailsComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ======================
|
||||||
|
|
||||||
|
getM_AccountType() {
|
||||||
|
this._pd.getAllMasterDatas('ACCOUNTTYPE').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_accountType = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
public initBankingForm(): void {
|
public initBankingForm(): void {
|
||||||
this.bankingForm = this.fb.group({
|
this.bankingForm = this.fb.group({
|
||||||
banking_form_remark: [''],
|
banking_form_remark: [''],
|
||||||
|
|||||||
@ -62,7 +62,7 @@
|
|||||||
<div fxFlex="30">
|
<div fxFlex="30">
|
||||||
<mat-form-field style="width:260px !important;">
|
<mat-form-field style="width:260px !important;">
|
||||||
<mat-select (selectionChange)="selectedFreqPurchase($event)" placeholder="Select Frequency of Purchase" formControlName="frequency_of_purchase">
|
<mat-select (selectionChange)="selectedFreqPurchase($event)" placeholder="Select Frequency of Purchase" formControlName="frequency_of_purchase">
|
||||||
<mat-option *ngFor="let feq of m_freqOfPurchase" [value]="feq.id">{{ feq.name }}</mat-option>
|
<mat-option *ngFor="let feq of m_freqOfPurchase" [value]="feq.frequency_id">{{ feq.name }}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -33,64 +33,102 @@ export class SupplierInfoComponent implements OnInit {
|
|||||||
|
|
||||||
public _supplierQuesFrom: FormGroup;
|
public _supplierQuesFrom: FormGroup;
|
||||||
public submitted = false;
|
public submitted = false;
|
||||||
public m_paymentModeType= [
|
|
||||||
{
|
|
||||||
'id': "1",
|
|
||||||
'name': 'Immediate Or Advanced Payment'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "2",
|
|
||||||
'name': 'Credit'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "3",
|
|
||||||
'name': 'Combination of Both'
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
public m_freqOfPurchase= [
|
public m_paymentModeType= [];
|
||||||
{
|
|
||||||
'id': "1",
|
|
||||||
'name': 'Daily'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "2",
|
|
||||||
'name': 'Weekly'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "3",
|
|
||||||
'name': 'Monthly'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "4",
|
|
||||||
'name': 'Every 3 months'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "5",
|
|
||||||
'name': 'Half yearly'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "6",
|
|
||||||
'name': 'Yearly'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "7",
|
|
||||||
'name': 'As and when required'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': "8",
|
|
||||||
'name': 'Others'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
|
// public m_paymentModeType= [
|
||||||
|
// {
|
||||||
|
// 'id': "1",
|
||||||
|
// 'name': 'Immediate Or Advanced Payment'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "2",
|
||||||
|
// 'name': 'Credit'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "3",
|
||||||
|
// 'name': 'Combination of Both'
|
||||||
|
// },
|
||||||
|
// ];
|
||||||
|
public m_freqOfPurchase= [];
|
||||||
|
// public m_freqOfPurchase= [
|
||||||
|
// {
|
||||||
|
// 'id': "1",
|
||||||
|
// 'name': 'Daily'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "2",
|
||||||
|
// 'name': 'Weekly'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "3",
|
||||||
|
// 'name': 'Monthly'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "4",
|
||||||
|
// 'name': 'Every 3 months'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "5",
|
||||||
|
// 'name': 'Half yearly'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "6",
|
||||||
|
// 'name': 'Yearly'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "7",
|
||||||
|
// 'name': 'As and when required'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// 'id': "8",
|
||||||
|
// 'name': 'Others'
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
|
||||||
|
private notifier: NotifierService;
|
||||||
constructor(
|
constructor(
|
||||||
|
notifier: NotifierService,
|
||||||
private _formBuilder: FormBuilder,
|
private _formBuilder: FormBuilder,
|
||||||
private pdTrigerService: PdTrigerService) { }
|
private pdTrigerService: PdTrigerService) {
|
||||||
|
this.notifier = notifier;
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
this.getM_FreqOfPurchase();
|
||||||
|
this.getM_PaymentModeType();
|
||||||
this.getPdSupplierFormDetails();
|
this.getPdSupplierFormDetails();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ==================
|
||||||
|
|
||||||
|
getM_FreqOfPurchase() {
|
||||||
|
this.pdTrigerService.getAllMasterDatas('FREQUENCY').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_freqOfPurchase = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
// this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
getM_PaymentModeType() {
|
||||||
|
this.pdTrigerService.getAllMasterDatas('PAYMENTMODE').subscribe(
|
||||||
|
data => {
|
||||||
|
this.m_paymentModeType = data.records.filter(data => data.isactive == 1);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
// this.notifier.notify('warning', 'No Category Records Found.!');
|
||||||
|
// this.m_assets_type = "No Category Records Found.";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ==================
|
||||||
|
|
||||||
apiLoadFinish: boolean = false;
|
apiLoadFinish: boolean = false;
|
||||||
getPdSupplierFormDetails() {
|
getPdSupplierFormDetails() {
|
||||||
this.pdTrigerService.getPDFormDetailsWithID(this.pdid, '1').subscribe(
|
this.pdTrigerService.getPDFormDetailsWithID(this.pdid, '1').subscribe(
|
||||||
@ -217,22 +255,22 @@ apiLoadFinish: boolean = false;
|
|||||||
|
|
||||||
//To Remove The "Null" With Key also
|
//To Remove The "Null" With Key also
|
||||||
Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);
|
Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);
|
||||||
alert(JSON.stringify(answerFormValues));
|
// alert(JSON.stringify(answerFormValues));
|
||||||
//Add BRANCH data with help Service File
|
//Add BRANCH data with help Service File
|
||||||
this.pdTrigerService.savePDFormDetailsWithID(answerFormValues).subscribe(
|
this.pdTrigerService.savePDFormDetailsWithID(answerFormValues).subscribe(
|
||||||
dataresult => {
|
dataresult => {
|
||||||
if (dataresult.status == 200) {
|
if (dataresult.status == 200) {
|
||||||
// console.log(dataresult);
|
// console.log(dataresult);
|
||||||
// this.notifier.notify('success', 'Record Saved Successfully.!');
|
this.notifier.notify('success', 'Record Saved Successfully.!');
|
||||||
// this.dialogRef.close();
|
// this.dialogRef.close();
|
||||||
// alert("sample alert for Saving");
|
// alert("sample alert for Saving");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
||||||
// this.errorMessage = "Some Thing Wents Wrong Try Again !";
|
// this.errorMessage = "Some Thing Wents Wrong Try Again !";
|
||||||
}
|
}
|
||||||
}, error => {
|
}, error => {
|
||||||
// this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
|
||||||
// this.errorMessage = "Something Wents Wrong Try Again !";
|
// this.errorMessage = "Something Wents Wrong Try Again !";
|
||||||
// this.dialogRef.close();
|
// this.dialogRef.close();
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user