Update Documentation
This commit is contained in:
@@ -4,6 +4,7 @@ Dokumen ini adalah cheat sheet endpoint Product Engineering IFC untuk kebutuhan
|
|||||||
Dokumen ini bersifat rekomendasi implementasi dan dapat direvisi mengikuti perubahan backend.
|
Dokumen ini bersifat rekomendasi implementasi dan dapat direvisi mengikuti perubahan backend.
|
||||||
|
|
||||||
Lihat detail lengkap di [BACKEND_TECHNICAL_GUIDE.md](BACKEND_TECHNICAL_GUIDE.md) dan [FRONTEND_TECHNICAL_GUIDE.md](FRONTEND_TECHNICAL_GUIDE.md).
|
Lihat detail lengkap di [BACKEND_TECHNICAL_GUIDE.md](BACKEND_TECHNICAL_GUIDE.md) dan [FRONTEND_TECHNICAL_GUIDE.md](FRONTEND_TECHNICAL_GUIDE.md).
|
||||||
|
Untuk istilah standar, lihat [TERMINOLOGY_AND_CONVENTIONS.md](TERMINOLOGY_AND_CONVENTIONS.md).
|
||||||
|
|
||||||
## State Model Singkat
|
## State Model Singkat
|
||||||
|
|
||||||
@@ -209,12 +210,14 @@ Contoh params:
|
|||||||
- Route: /api/ifc/documents/mo/create-if-available
|
- Route: /api/ifc/documents/mo/create-if-available
|
||||||
- Params wajib: document_id
|
- Params wajib: document_id
|
||||||
- Rule: auto memastikan Permanent BoM tersedia, lalu create MO dari Permanent BoM
|
- Rule: auto memastikan Permanent BoM tersedia, lalu create MO dari Permanent BoM
|
||||||
|
- Status: compatibility alias (disarankan gunakan endpoint create-from-permanent-bom untuk integrasi baru)
|
||||||
- Response: data manufacturing order yang baru dibuat
|
- Response: data manufacturing order yang baru dibuat
|
||||||
|
|
||||||
### Create MO from Permanent BoM
|
### Create MO from Permanent BoM
|
||||||
|
|
||||||
- Route: /api/ifc/documents/mo/create-from-permanent-bom
|
- Route: /api/ifc/documents/mo/create-from-permanent-bom
|
||||||
- Params wajib: document_id
|
- Params wajib: document_id
|
||||||
|
- Status: endpoint utama yang direkomendasikan
|
||||||
|
|
||||||
### Check All MOs Availability Summary
|
### Check All MOs Availability Summary
|
||||||
|
|
||||||
@@ -252,6 +255,10 @@ Contoh params:
|
|||||||
4. /api/ifc/documents/mo/check-all-availability
|
4. /api/ifc/documents/mo/check-all-availability
|
||||||
5. /api/ifc/documents/mo/confirm-all-if-available (hanya bila all_available = true)
|
5. /api/ifc/documents/mo/confirm-all-if-available (hanya bila all_available = true)
|
||||||
|
|
||||||
|
Catatan:
|
||||||
|
|
||||||
|
- /api/ifc/documents/mo/create-if-available tersedia untuk kompatibilitas, namun endpoint utama yang direkomendasikan adalah /api/ifc/documents/mo/create-from-permanent-bom.
|
||||||
|
|
||||||
## 10) Standard Success and Error
|
## 10) Standard Success and Error
|
||||||
|
|
||||||
### Success
|
### Success
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Dokumen ini adalah panduan rekomendasi implementasi, bukan kontrak teknis yang k
|
|||||||
Isi dokumen dapat direview dan direvisi agar selalu selaras dengan implementasi aktual.
|
Isi dokumen dapat direview dan direvisi agar selalu selaras dengan implementasi aktual.
|
||||||
|
|
||||||
Lihat juga indeks dokumentasi utama di [README.md](README.md).
|
Lihat juga indeks dokumentasi utama di [README.md](README.md).
|
||||||
|
Untuk istilah dan konvensi penamaan, lihat [TERMINOLOGY_AND_CONVENTIONS.md](TERMINOLOGY_AND_CONVENTIONS.md).
|
||||||
|
|
||||||
## 1) Scope Modul
|
## 1) Scope Modul
|
||||||
|
|
||||||
@@ -197,8 +198,8 @@ Flow:
|
|||||||
|
|
||||||
### 4.7 Manufacturing Order
|
### 4.7 Manufacturing Order
|
||||||
|
|
||||||
- /api/ifc/documents/mo/create-if-available
|
- /api/ifc/documents/mo/create-from-permanent-bom (recommended)
|
||||||
- /api/ifc/documents/mo/create-from-permanent-bom
|
- /api/ifc/documents/mo/create-if-available (compatibility alias)
|
||||||
- /api/ifc/documents/mo/check-all-availability
|
- /api/ifc/documents/mo/check-all-availability
|
||||||
- /api/ifc/documents/mo/confirm-all-if-available
|
- /api/ifc/documents/mo/confirm-all-if-available
|
||||||
- /api/ifc/documents/mo/run-pipeline
|
- /api/ifc/documents/mo/run-pipeline
|
||||||
@@ -208,6 +209,7 @@ Aturan endpoint MO:
|
|||||||
|
|
||||||
- Estimated BoM harus availability terpenuhi dulu untuk membuat Permanent BoM.
|
- Estimated BoM harus availability terpenuhi dulu untuk membuat Permanent BoM.
|
||||||
- MO dibuat dari Permanent BoM yang terhubung ke dokumen IFC.
|
- MO dibuat dari Permanent BoM yang terhubung ke dokumen IFC.
|
||||||
|
- Gunakan create-from-permanent-bom sebagai endpoint utama; create-if-available dipertahankan untuk kompatibilitas integrasi lama.
|
||||||
- Confirm all MO hanya boleh saat summary availability seluruh MO terpenuhi.
|
- Confirm all MO hanya boleh saat summary availability seluruh MO terpenuhi.
|
||||||
- Gunakan pipeline-dry-run untuk simulasi readiness tanpa perubahan data.
|
- Gunakan pipeline-dry-run untuk simulasi readiness tanpa perubahan data.
|
||||||
- Jika ada shortage, endpoint mengembalikan error yang sesuai (MO_CREATE_FAILED/MO_AVAILABILITY_FAILED/MO_CONFIRM_FAILED).
|
- Jika ada shortage, endpoint mengembalikan error yang sesuai (MO_CREATE_FAILED/MO_AVAILABILITY_FAILED/MO_CONFIRM_FAILED).
|
||||||
|
|||||||
@@ -2,7 +2,11 @@
|
|||||||
|
|
||||||
Dokumen ini ditujukan untuk developer frontend (Vue.js + three.js + ThatOpen) yang akan mengintegrasikan aplikasi dengan backend Odoo 19 Product Engineering.
|
Dokumen ini ditujukan untuk developer frontend (Vue.js + three.js + ThatOpen) yang akan mengintegrasikan aplikasi dengan backend Odoo 19 Product Engineering.
|
||||||
|
|
||||||
|
Dokumen ini adalah panduan rekomendasi implementasi.
|
||||||
|
Dokumen dapat direview dan direvisi mengikuti perubahan implementasi backend.
|
||||||
|
|
||||||
Lihat juga indeks dokumentasi utama di [README.md](README.md).
|
Lihat juga indeks dokumentasi utama di [README.md](README.md).
|
||||||
|
Untuk istilah dan konvensi endpoint, lihat [TERMINOLOGY_AND_CONVENTIONS.md](TERMINOLOGY_AND_CONVENTIONS.md).
|
||||||
|
|
||||||
## 1) Prinsip Integrasi
|
## 1) Prinsip Integrasi
|
||||||
|
|
||||||
@@ -20,11 +24,28 @@ Urutan umum:
|
|||||||
1. Login session
|
1. Login session
|
||||||
2. List atau create dokumen IFC
|
2. List atau create dokumen IFC
|
||||||
3. Parse IFC
|
3. Parse IFC
|
||||||
4. Submit approval sesuai alur bisnis
|
4. Tambah atau tampilkan activity per dokumen
|
||||||
5. Tambah atau tampilkan activity per dokumen
|
5. Submit approval sesuai alur bisnis (production -> provisioning)
|
||||||
6. Generate BoM saat dibutuhkan
|
6. Generate Estimated BoM
|
||||||
7. Minta signed temp URL
|
7. Jalankan inventory/check
|
||||||
8. Load IFC file ke viewer menggunakan URL temp
|
8. Jika shortage, jalankan create-draft-purchase atau create-product
|
||||||
|
9. Create Permanent BoM (jika availability terpenuhi)
|
||||||
|
10. Create MO from Permanent BoM
|
||||||
|
11. Jalankan check-all-availability
|
||||||
|
12. Confirm all MOs jika all_available bernilai true
|
||||||
|
13. Opsional: gunakan run-pipeline untuk eksekusi otomatis
|
||||||
|
14. Opsional: gunakan pipeline-dry-run untuk preview tanpa mutasi data
|
||||||
|
15. Minta signed temp URL dan load IFC file ke viewer
|
||||||
|
|
||||||
|
Catatan:
|
||||||
|
|
||||||
|
- Urutan di atas adalah urutan rekomendasi yang selaras dengan backend saat ini.
|
||||||
|
- Untuk UI cepat, frontend dapat memanfaatkan endpoint run-pipeline atau pipeline-dry-run.
|
||||||
|
|
||||||
|
## 2.1) State Model Singkat
|
||||||
|
|
||||||
|
- Parse state: draft -> parsed | failed
|
||||||
|
- Approval state: draft -> in_validation -> waiting_production -> waiting_provisioning -> approved (dapat rejected pada tahap validasi/approval)
|
||||||
|
|
||||||
## 3) Format Request JSON-RPC
|
## 3) Format Request JSON-RPC
|
||||||
|
|
||||||
@@ -153,8 +174,8 @@ Saran UI:
|
|||||||
|
|
||||||
### 5.6 Manufacturing Order
|
### 5.6 Manufacturing Order
|
||||||
|
|
||||||
- /api/ifc/documents/mo/create-if-available
|
- /api/ifc/documents/mo/create-from-permanent-bom (recommended)
|
||||||
- /api/ifc/documents/mo/create-from-permanent-bom
|
- /api/ifc/documents/mo/create-if-available (compatibility alias)
|
||||||
- /api/ifc/documents/mo/check-all-availability
|
- /api/ifc/documents/mo/check-all-availability
|
||||||
- /api/ifc/documents/mo/confirm-all-if-available
|
- /api/ifc/documents/mo/confirm-all-if-available
|
||||||
- /api/ifc/documents/mo/run-pipeline
|
- /api/ifc/documents/mo/run-pipeline
|
||||||
@@ -163,6 +184,7 @@ Saran UI:
|
|||||||
Saran UI:
|
Saran UI:
|
||||||
|
|
||||||
- Aktifkan tombol Create MO hanya jika permanent BoM sudah ada dan availability terpenuhi.
|
- Aktifkan tombol Create MO hanya jika permanent BoM sudah ada dan availability terpenuhi.
|
||||||
|
- Untuk integrasi baru, gunakan endpoint create-from-permanent-bom sebagai jalur utama.
|
||||||
- Setelah ada beberapa MO, tampilkan summary kebutuhan produk dari check-all-availability.
|
- Setelah ada beberapa MO, tampilkan summary kebutuhan produk dari check-all-availability.
|
||||||
- Aktifkan tombol Confirm All MOs hanya jika all_available = true pada summary all MOs.
|
- Aktifkan tombol Confirm All MOs hanya jika all_available = true pada summary all MOs.
|
||||||
- Untuk mode otomatis, gunakan run-pipeline dengan auto_confirm=true.
|
- Untuk mode otomatis, gunakan run-pipeline dengan auto_confirm=true.
|
||||||
@@ -250,6 +272,10 @@ Checklist tahap awal:
|
|||||||
- Activity add/list tampil di UI per dokumen.
|
- Activity add/list tampil di UI per dokumen.
|
||||||
- Approval flow berjalan sesuai role.
|
- Approval flow berjalan sesuai role.
|
||||||
- BoM generate/get tampil di panel BOM.
|
- BoM generate/get tampil di panel BOM.
|
||||||
|
- Inventory check dan draft purchase/create product flow berjalan.
|
||||||
|
- Alur permanent BoM dan create MO from permanent BoM berjalan.
|
||||||
|
- check-all-availability dan confirm-all-if-available berjalan sesuai rule all_available.
|
||||||
|
- run-pipeline dan pipeline-dry-run tervalidasi dari UI.
|
||||||
- Viewer berhasil load file dari signed temp URL.
|
- Viewer berhasil load file dari signed temp URL.
|
||||||
|
|
||||||
Checklist UAT:
|
Checklist UAT:
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ Dokumen ini boleh direview, ditingkatkan, dan direvisi agar selalu selaras denga
|
|||||||
- grt_ifcopenshell
|
- grt_ifcopenshell
|
||||||
- grt_product_engineering
|
- grt_product_engineering
|
||||||
|
|
||||||
|
Untuk konsistensi istilah lintas dokumen, lihat juga [TERMINOLOGY_AND_CONVENTIONS.md](TERMINOLOGY_AND_CONVENTIONS.md).
|
||||||
|
|
||||||
## Objective
|
## Objective
|
||||||
|
|
||||||
Menyediakan panduan praktis pengembangan Product Engineering berbasis IFC yang:
|
Menyediakan panduan praktis pengembangan Product Engineering berbasis IFC yang:
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
Dokumentasi ini menjadi pintu masuk utama untuk tim backend dan frontend yang mengintegrasikan Odoo 19 Product Engineering dengan IFC Viewer.
|
Dokumentasi ini menjadi pintu masuk utama untuk tim backend dan frontend yang mengintegrasikan Odoo 19 Product Engineering dengan IFC Viewer.
|
||||||
|
|
||||||
|
Seluruh dokumen pada folder ini bersifat rekomendasi implementasi.
|
||||||
|
Dokumen dapat direview dan direvisi untuk menyesuaikan implementasi terbaru.
|
||||||
|
|
||||||
## Dokumen Utama
|
## Dokumen Utama
|
||||||
|
|
||||||
1. Backend technical developer guide:
|
1. Backend technical developer guide:
|
||||||
@@ -13,6 +16,14 @@ Dokumentasi ini menjadi pintu masuk utama untuk tim backend dan frontend yang me
|
|||||||
3. API quick reference (cheat sheet):
|
3. API quick reference (cheat sheet):
|
||||||
[API_QUICK_REFERENCE.md](API_QUICK_REFERENCE.md)
|
[API_QUICK_REFERENCE.md](API_QUICK_REFERENCE.md)
|
||||||
|
|
||||||
|
4. Terminology and conventions (single source of truth):
|
||||||
|
[TERMINOLOGY_AND_CONVENTIONS.md](TERMINOLOGY_AND_CONVENTIONS.md)
|
||||||
|
|
||||||
|
## Catatan Scope
|
||||||
|
|
||||||
|
- Implemented: alur dokumen IFC, approval, BoM, inventory, procurement, MO pipeline, dan temp signed URL.
|
||||||
|
- Roadmap: fitur lanjutan seperti quality domain khusus, ECO, visual revision comparison, dan AI recommendation.
|
||||||
|
|
||||||
## Peta Endpoint
|
## Peta Endpoint
|
||||||
|
|
||||||
### Session
|
### Session
|
||||||
@@ -58,8 +69,8 @@ Dokumentasi ini menjadi pintu masuk utama untuk tim backend dan frontend yang me
|
|||||||
|
|
||||||
### Manufacturing Order
|
### Manufacturing Order
|
||||||
|
|
||||||
- /api/ifc/documents/mo/create-if-available
|
- /api/ifc/documents/mo/create-from-permanent-bom (recommended)
|
||||||
- /api/ifc/documents/mo/create-from-permanent-bom
|
- /api/ifc/documents/mo/create-if-available (compatibility alias)
|
||||||
- /api/ifc/documents/mo/check-all-availability
|
- /api/ifc/documents/mo/check-all-availability
|
||||||
- /api/ifc/documents/mo/confirm-all-if-available
|
- /api/ifc/documents/mo/confirm-all-if-available
|
||||||
- /api/ifc/documents/mo/run-pipeline
|
- /api/ifc/documents/mo/run-pipeline
|
||||||
@@ -80,11 +91,15 @@ Dokumentasi ini menjadi pintu masuk utama untuk tim backend dan frontend yang me
|
|||||||
6. Buat activity dan monitor activity list.
|
6. Buat activity dan monitor activity list.
|
||||||
7. Generate estimated BoM.
|
7. Generate estimated BoM.
|
||||||
8. Create Permanent BoM jika availability Estimated BoM terpenuhi.
|
8. Create Permanent BoM jika availability Estimated BoM terpenuhi.
|
||||||
9. Create MO dari Permanent BoM.
|
9. Create MO dari Permanent BoM (recommended: create-from-permanent-bom).
|
||||||
10. Cek availability all MOs dan summary material.
|
10. Cek availability all MOs dan summary material.
|
||||||
11. Confirm all MOs jika availability summary terpenuhi.
|
11. Confirm all MOs jika availability summary terpenuhi.
|
||||||
12. Minta signed URL temp-file dan load IFC ke viewer.
|
12. Minta signed URL temp-file dan load IFC ke viewer.
|
||||||
|
|
||||||
|
Catatan:
|
||||||
|
|
||||||
|
- Gunakan pipeline-dry-run untuk preview readiness tanpa perubahan data sebelum eksekusi real.
|
||||||
|
|
||||||
## Catatan Keamanan Penting
|
## Catatan Keamanan Penting
|
||||||
|
|
||||||
- Semua endpoint bisnis membutuhkan session user aktif.
|
- Semua endpoint bisnis membutuhkan session user aktif.
|
||||||
|
|||||||
@@ -0,0 +1,144 @@
|
|||||||
|
# Terminology and Conventions
|
||||||
|
|
||||||
|
Dokumen ini menjadi sumber referensi tunggal untuk istilah dan konvensi pada modul Product Engineering IFC.
|
||||||
|
|
||||||
|
Dokumen ini bersifat rekomendasi implementasi dan dapat direvisi mengikuti perubahan backend.
|
||||||
|
|
||||||
|
## 1) Tujuan
|
||||||
|
|
||||||
|
- Menyamakan istilah antara backend, frontend, QA, dan dokumentasi.
|
||||||
|
- Mencegah ambiguitas pada alur BoM, MO, inventory, dan approval.
|
||||||
|
- Menetapkan endpoint utama vs endpoint kompatibilitas.
|
||||||
|
|
||||||
|
## 2) Istilah Inti
|
||||||
|
|
||||||
|
### Engineering Document
|
||||||
|
|
||||||
|
Objek utama dokumen IFC pada model grt.ifc.project.
|
||||||
|
|
||||||
|
### Parsed IFC BOM
|
||||||
|
|
||||||
|
Struktur BOM hasil ekstraksi IFC dari grt_ifcopenshell (grt.ifc.bom), belum menjadi BoM MRP resmi.
|
||||||
|
|
||||||
|
### Estimated BoM
|
||||||
|
|
||||||
|
BoM estimasi pada mrp.bom yang dibentuk dari hasil parse IFC.
|
||||||
|
Digunakan untuk validasi kebutuhan material awal.
|
||||||
|
|
||||||
|
### Permanent BoM
|
||||||
|
|
||||||
|
BoM produksi pada mrp.bom yang dibentuk dari Estimated BoM hanya jika availability terpenuhi.
|
||||||
|
Menjadi sumber utama pembuatan MO.
|
||||||
|
|
||||||
|
### Manufacturing Order (MO)
|
||||||
|
|
||||||
|
Perintah produksi mrp.production yang ditautkan ke dokumen IFC.
|
||||||
|
|
||||||
|
### MO Availability Summary
|
||||||
|
|
||||||
|
Ringkasan ketersediaan material lintas MO untuk menentukan apakah confirm all dapat dilakukan.
|
||||||
|
|
||||||
|
## 3) State Conventions
|
||||||
|
|
||||||
|
### Parse State
|
||||||
|
|
||||||
|
- draft
|
||||||
|
- parsed
|
||||||
|
- failed
|
||||||
|
|
||||||
|
### Approval State
|
||||||
|
|
||||||
|
- draft
|
||||||
|
- in_validation
|
||||||
|
- waiting_production
|
||||||
|
- waiting_provisioning
|
||||||
|
- approved
|
||||||
|
- rejected
|
||||||
|
|
||||||
|
Catatan:
|
||||||
|
|
||||||
|
- Frontend boleh menampilkan label status bisnis tambahan sebagai derived status.
|
||||||
|
- Derived status tidak boleh mengganti state backend inti.
|
||||||
|
|
||||||
|
## 4) Endpoint Conventions
|
||||||
|
|
||||||
|
### Session
|
||||||
|
|
||||||
|
- Primary login: /api/session/login
|
||||||
|
- Fallback standar Odoo: /web/session/authenticate
|
||||||
|
|
||||||
|
### Manufacturing Order Endpoint Priority
|
||||||
|
|
||||||
|
Endpoint utama (recommended):
|
||||||
|
|
||||||
|
- /api/ifc/documents/mo/create-from-permanent-bom
|
||||||
|
|
||||||
|
Endpoint kompatibilitas (alias):
|
||||||
|
|
||||||
|
- /api/ifc/documents/mo/create-if-available
|
||||||
|
|
||||||
|
Kebijakan:
|
||||||
|
|
||||||
|
- Integrasi baru harus memakai endpoint utama.
|
||||||
|
- Endpoint alias dipertahankan untuk menjaga kompatibilitas integrasi lama.
|
||||||
|
|
||||||
|
### Pipeline Endpoint
|
||||||
|
|
||||||
|
- Eksekusi: /api/ifc/documents/mo/run-pipeline
|
||||||
|
- Simulasi tanpa mutasi data: /api/ifc/documents/mo/pipeline-dry-run
|
||||||
|
|
||||||
|
## 5) Workflow Conventions (Recommended)
|
||||||
|
|
||||||
|
Urutan rekomendasi:
|
||||||
|
|
||||||
|
1. Parse IFC
|
||||||
|
2. Generate Estimated BoM
|
||||||
|
3. Inventory check
|
||||||
|
4. Jika shortage, lakukan draft purchase atau create product
|
||||||
|
5. Create Permanent BoM
|
||||||
|
6. Create MO from Permanent BoM
|
||||||
|
7. Check all MO availability
|
||||||
|
8. Confirm all MO hanya jika all_available bernilai true
|
||||||
|
|
||||||
|
## 6) Naming Conventions
|
||||||
|
|
||||||
|
- Gunakan istilah Estimated BoM dan Permanent BoM secara konsisten.
|
||||||
|
- Hindari istilah ambigu seperti Production BoM jika maksudnya Permanent BoM.
|
||||||
|
- Gunakan istilah MO availability summary untuk ringkasan lintas MO.
|
||||||
|
- Gunakan kata recommended dan compatibility alias saat mendeskripsikan endpoint MO create.
|
||||||
|
|
||||||
|
## 7) Error Code Conventions
|
||||||
|
|
||||||
|
Gunakan format error JSON-RPC:
|
||||||
|
|
||||||
|
{
|
||||||
|
"success": false,
|
||||||
|
"error": {
|
||||||
|
"code": "ERROR_CODE",
|
||||||
|
"message": "human-readable message",
|
||||||
|
"details": "optional"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Contoh code MO dan inventory:
|
||||||
|
|
||||||
|
- BOM_PERMANENT_FAILED
|
||||||
|
- INVENTORY_FAILED
|
||||||
|
- PURCHASE_DRAFT_FAILED
|
||||||
|
- PRODUCT_CREATE_FAILED
|
||||||
|
- MO_CREATE_FAILED
|
||||||
|
- MO_AVAILABILITY_FAILED
|
||||||
|
- MO_CONFIRM_FAILED
|
||||||
|
- MO_PIPELINE_FAILED
|
||||||
|
- MO_PIPELINE_DRY_RUN_FAILED
|
||||||
|
|
||||||
|
## 8) Change Management
|
||||||
|
|
||||||
|
Jika ada perubahan backend signifikan, update dokumen ini bersama:
|
||||||
|
|
||||||
|
- Product_Engineering_Odoo19_IFC_Blueprint.md
|
||||||
|
- BACKEND_TECHNICAL_GUIDE.md
|
||||||
|
- FRONTEND_TECHNICAL_GUIDE.md
|
||||||
|
- API_QUICK_REFERENCE.md
|
||||||
|
|
||||||
|
Dengan pendekatan ini, semua tim menggunakan istilah dan alur yang sama.
|
||||||
Reference in New Issue
Block a user