Bu sayfa parties modülünün başvuru verilerini listeler: src/cluster_erp/modules/parties/settings/ içindeki ülkeler, adres seviyeleri ve adres seviyesi değerleri ve her birinin nasıl tohumlandığı. Bu tablolar, bir adresin kod değişikliği olmadan herhangi bir ülkenin yapısını izlemesini sağlar. Kanal türleri de bu modülün başvuru verileridir; iletişim kanalları sayfasında listelenir.
Kapsam ve kaynak¶
- Tanımlandığı yer:
src/cluster_erp/modules/parties/settings/models.py(Country,AddressLevel,AddressLevelValue),services.py(CountryService,AddressLevelService,AddressLevelValueService),routes.py,seed_data.py(ADDRESS_LEVEL_TEMPLATES),metadata.py(COUNTRY_META,ADDRESS_LEVEL_META,ADDRESS_LEVEL_VALUE_META,CHANNEL_TYPE_META). - Sayım: 3 tablo; 18 uç (
routes.pyiçindeki@router.dekoratörleri); 43 ülke için adres seviyesi şablonu (ADDRESS_LEVEL_TEMPLATESüst düzey anahtarları). - Web'de bu tablolar taraflar uygulamasının Ayarlar bölümündeki
country,address_levelvechannel_typesekmeleridir (src/cluster_erp/modules/parties/module.py:627-637). Ayarlar görünümü genel ağaç ve ayarlar sayfasında anlatılır.
Ülkeler¶
| Ad | Tür | Anlam | Kaynak |
|---|---|---|---|
code |
String(2) |
ISO 3166 alfa-2 kodu; canlı satırlar arasında benzersiz | src/cluster_erp/modules/parties/settings/models.py:22-27, src/cluster_erp/modules/parties/settings/models.py:36 |
code_alpha3 |
String(3) |
Alfa-3 kodu; canlı satırlar arasında benzersiz | src/cluster_erp/modules/parties/settings/models.py:16-21, src/cluster_erp/modules/parties/settings/models.py:37 |
numeric_code |
String(3) |
Sayısal kod; canlı satırlar arasında benzersiz | src/cluster_erp/modules/parties/settings/models.py:28-33, src/cluster_erp/modules/parties/settings/models.py:38 |
name, native_name |
String(100) |
Yaygın ad ve resmî ad | src/cluster_erp/modules/parties/settings/models.py:39-40 |
translations |
JSON | Dile göre adlar | src/cluster_erp/modules/parties/settings/models.py:41 |
phone_code |
String(10) |
Arama kodu | src/cluster_erp/modules/parties/settings/models.py:42 |
is_active |
bool | Etkinlik bayrağı | src/cluster_erp/modules/parties/settings/models.py:43 |
Her başlangıçta seed_iso_countries, pycountry paketindeki henüz bulunmayan her ISO 3166 ülkesini yaygın ad ve resmî adla ekler. Var olan bir satırı asla değiştirmez ve phone_code alanını boş bırakır; docstring pycountry paketinin arama kodlarını taşımadığını belirtir (src/cluster_erp/modules/parties/module.py:44-61, src/cluster_erp/modules/parties/settings/services.py:38-86). İnternetten Güncelle aksiyonu aynı paketlenmiş pycountry verisini okuyan fetch_from_internet yöntemini çağırır. Var olan ülkelerin kodlarını ve adlarını günceller ve eksik olanları ekler (src/cluster_erp/modules/parties/settings/services.py:102-139). Liste, translations alanından çözülen ve istek dilinde olan bir display_name döndürür (src/cluster_erp/modules/parties/settings/routes.py:38-52). Diğer modüller bir ülkeyi alfa-2 veya alfa-3 koduyla GetCountryByCode üzerinden arar (src/cluster_erp/modules/parties/module.py:271-301).
Adres seviyeleri¶
| Ad | Tür | Anlam | Kaynak |
|---|---|---|---|
code |
String(20), benzersiz |
address_level dizisinden iş anahtarı |
src/cluster_erp/modules/parties/settings/models.py:64, src/cluster_erp/modules/parties/settings/services.py:204 |
country_id |
parties_countries.id alanına yabancı anahtar |
Ülke | src/cluster_erp/modules/parties/settings/models.py:65-69 |
level_order |
int | Üst seviyeden aşağıya sıra; canlı satırlar arasında ülke başına benzersiz | src/cluster_erp/modules/parties/settings/models.py:54-62, src/cluster_erp/modules/parties/settings/models.py:70 |
name, name_en, translations |
dizgeler, JSON | Seviye adı, İngilizce ad ve dile göre adlar | src/cluster_erp/modules/parties/settings/models.py:71-73 |
is_required |
bool | Bir adresin bu seviyeyi belirtmesi gerekip gerekmediği | src/cluster_erp/modules/parties/settings/models.py:74 |
Adres Seviyelerini Oluştur aksiyonu bir ülkenin seviyelerini ADDRESS_LEVEL_TEMPLATES içinden oluşturur (src/cluster_erp/modules/parties/settings/routes.py:133-146, src/cluster_erp/modules/parties/settings/services.py:239-282). Ülkenin zaten seviyeleri varsa yalnızca şablondaki eksik çevirileri ekler. Ülke kodu için şablon yoksa hiçbir şey oluşturmaz ve bunu bildirir. Örneğin TR şablonunda dört seviye vardır: il, ilçe, mahalle ve posta kodu; sonuncusu isteğe bağlıdır (src/cluster_erp/modules/parties/settings/seed_data.py:6-11).
Adres seviyesi değerleri¶
| Ad | Tür | Anlam | Kaynak |
|---|---|---|---|
code |
String(20), benzersiz |
address_level_value dizisinden iş anahtarı |
src/cluster_erp/modules/parties/settings/models.py:96, src/cluster_erp/modules/parties/settings/services.py:313 |
level_id |
parties_address_levels.id alanına yabancı anahtar |
Seviye | src/cluster_erp/modules/parties/settings/models.py:97-101 |
parent_id |
parties_address_level_values.id alanına yabancı anahtar |
Üst seviyenin değeri, örneğin bir ilçenin ili | src/cluster_erp/modules/parties/settings/models.py:102-105 |
value |
String(255) |
Değer | src/cluster_erp/modules/parties/settings/models.py:106 |
postal_code |
String(20) |
Değerin posta kodu | src/cluster_erp/modules/parties/settings/models.py:107 |
Bir değer canlı satırlar arasında seviye, metin ve üst değer başına benzersizdir (src/cluster_erp/modules/parties/settings/models.py:85-94). GET /settings/address-levels/{level_id}/values bir seviyenin değerlerini metne göre sıralı listeler ve isteğe bağlı olarak parent_id ile süzer; bu, bir formun yalnızca seçilen ilin ilçelerini sunmasını sağlar (src/cluster_erp/modules/parties/settings/routes.py:223-235, src/cluster_erp/modules/parties/settings/services.py:289-302).
Uçlar¶
Tüm yollar /api/v1/parties/settings altındadır.
| Yöntem ve yol | İzin | Kaynak |
|---|---|---|
GET /countries/, GET /countries/{country_id} |
country.read |
src/cluster_erp/modules/parties/settings/routes.py:38-52, src/cluster_erp/modules/parties/settings/routes.py:79-89 |
POST /countries/update-from-internet |
country.create |
src/cluster_erp/modules/parties/settings/routes.py:55-62 |
POST /countries/ |
country.create |
src/cluster_erp/modules/parties/settings/routes.py:65-76 |
PUT /countries/{country_id} |
country.update |
src/cluster_erp/modules/parties/settings/routes.py:92-103 |
POST /countries/bulk-delete, DELETE /countries/{country_id} |
country.bulk_delete, country.delete |
src/cluster_erp/modules/parties/settings/routes.py:106-125 |
POST /countries/{country_id}/seed-address-levels |
country.seed |
src/cluster_erp/modules/parties/settings/routes.py:133-146 |
GET /countries/{country_id}/address-levels |
address_level.read |
src/cluster_erp/modules/parties/settings/routes.py:154-168 |
POST /address-levels, PUT /address-levels/{level_id} |
address_level.create, address_level.update |
src/cluster_erp/modules/parties/settings/routes.py:171-193 |
POST /address-levels/bulk-delete, DELETE /address-levels/{level_id} |
address_level.bulk_delete, address_level.delete |
src/cluster_erp/modules/parties/settings/routes.py:196-215 |
GET /address-levels/{level_id}/values |
address_level_value.read |
src/cluster_erp/modules/parties/settings/routes.py:223-235 |
POST /address-level-values, PUT /address-level-values/{value_id} |
address_level_value.create, address_level_value.update |
src/cluster_erp/modules/parties/settings/routes.py:238-263 |
POST /address-level-values/bulk-delete, DELETE /address-level-values/{value_id} |
address_level_value.bulk_delete, address_level_value.delete |
src/cluster_erp/modules/parties/settings/routes.py:266-285 |
Kısıtlar ve doğrulama¶
- Canlı bir ülkenin zaten sahip olduğu bir kodla ülke oluşturmak bir çakışma yanıtı verir (
src/cluster_erp/modules/parties/settings/routes.py:72-74). - Ülke kodları büyük harfle saklanır (
src/cluster_erp/modules/parties/settings/services.py:141-153). - Bir ülkeyi, seviyeyi veya değeri silmek
deleted_atalanını ayarlar; hiçbir şey kaldırılmaz (src/cluster_erp/modules/parties/settings/services.py:166-177).
Tutarsızlıklar¶
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| country | Country |
Adreslerin ve diğer modüllerin kullandığı bir ISO 3166 ülke satırı. | Ülke | src/cluster_erp/modules/parties/settings/models.py:12 |
| address level | AddressLevel |
Bir ülkenin adres hiyerarşisinin tek bir seviyesi, örneğin il veya ilçe. | Adres seviyesi | src/cluster_erp/modules/parties/settings/models.py:52 |
| address-level value | AddressLevelValue |
Bir adres seviyesinde izin verilen, üst değerine bağlı tek bir değer. | Adres seviyesi değeri | src/cluster_erp/modules/parties/settings/models.py:83 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.