Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[13.0][TODO] Address Thai #70

Closed
kittiu opened this issue Jan 20, 2020 · 11 comments
Closed

[13.0][TODO] Address Thai #70

kittiu opened this issue Jan 20, 2020 · 11 comments
Assignees

Comments

@kittiu
Copy link
Member

kittiu commented Jan 20, 2020

No description provided.

@kittiu
Copy link
Member Author

kittiu commented Jan 21, 2020

@beemoza if you push code, please link it here.

@kittiu
Copy link
Member Author

kittiu commented Jan 23, 2020

มีโมดูล OCA กลางๆที่ช่วยปรับปรุงให้ Address ดีขึ้นมาก และคล้ายมากกับสิ่งที่เราพยายามทำสำหรับไทย (อำเภอ, ตำบล, จังหวัด, zip code)

https://github.com/OCA/partner-contact/tree/13.0/base_location
https://github.com/OCA/partner-contact/tree/13.0/base_location_geonames_import

จุดเด่นที่น่าสนใจคือ

  1. โมดูล base_location: เพิ่ม field ZIP Code master data สามารถ search ได้ ทั้ง -> zip อำเภอ จังหวัด ประเทศ

image

image

  1. โมดูล base_location_geonames_import สามารถโหลดข้อมูล ZIP และ ข้อมูล cities ได้จากทั่วโลก จาก geonames.org

image

เท่าที่ศึกษาเป็นโมดูลกลางๆที่ใช้ได้กับทุกประเทศทั่วโลก

@kittiu
Copy link
Member Author

kittiu commented Jan 23, 2020

สิ่งที่ยังขาดอยู่

  • ของ OCA มีได้ถึงระดับอำเภอ แต่ของเราต้องการระดับ ตำบล
  • ต้องการภาษาไทย มากกว่าภาษาอังกฤษ

ข้อเสนอ

  • โดยการเริ่มต้นจาก base_location ทำโมดูลเพิ่ม base_location_thailand โดยเพิ่มให้ถึงระดับตำบล (อิง location code)
  • ไม่ต้องใช้การดึงข้อมูลจาก geonames ก็ได้ เพราะเราเน้นเฉพาะของไทย โหลดข้อมูลจากไฟล์ตามแนบได้เลย
  • ข้อเสีย: คงใช้ร่วมกับ base_location ไม่ได้ ใช้ได้เฉพาะบริบทประเทศไทย

Location Code.xlsx

@kittiu
Copy link
Member Author

kittiu commented Jan 23, 2020

ถ้ามี ฟิลด์ใหม่เพิ่ม ต้องดูเรื่อง address format ด้วย

    @api.model
    def _get_address_format(self):
        return self.country_id.address_format or self._get_default_address_format()

@poonlap
Copy link
Contributor

poonlap commented Jan 23, 2020

ผมเคยลองทำข้อมูล ตำบล, อำเภอ, จังหวัด ภาษาไทย (เอามาจากเว็บแบงค์ชาติ) สำหรับ base_location กับ base_location_geonames_import ไว้ ใช้ได้ดีครับ. ผมเพิ่มตำบล + อำเภอ ในข้อมูล เวลามันเติมเต็มให้จะได้ตำบลด้วย แต่ทั้งตำบลกับอำเภอจะไปลงในช่อง city ทั้งหมด.

สำหรับข้อมูลภาษาอังกฤษมีผิดอยู่บ้างผมแก้ไว้แล้วครับ.

ข้อมูลทั้งหมดอยู่ที่นี่ครับ
https://github.com/poonlap/odoo-th/tree/master/data

@kittiu
Copy link
Member Author

kittiu commented Jan 23, 2020

Documentation ทำได้ดีเลย เข้าใจแนวทางของคุณ @poonlap แล้วครับ ก็คือ reuse base_location ได้หมดเลย เพียงแต่ city = <ตำบล> <อำเภอ>

ทีนี้คงต้องถามใน Community นี้เองแล้วว่าจำเป็นขนาดต้องมีฟิลด์ "ตำบล" แยก จากอำเภอ เพราะถ้าไม่มี ใช้ของ OCA เดิมๆ + ของคุณ @poonlap ก็พอ ข้อดีคือไม่ต้องโค้ดอะไรเพิ่ม จะให้ดูดีหน่อยก็เอามาปรับชื่อโมดูลแล้วเอาเข้า repo นี้ได้ (อาจสร้างเป็นโมดูลนึงเช่น base_location_thailand ทำหน้าที่เป็น data source + set system param)

คนอื่นๆมีความเห็นเพิ่มเติมไหม
cc @kiattipong

@Oakyman
Copy link

Oakyman commented Feb 7, 2020

ถ้ารวมตำบล, อำเภอ ไว้ด้วยกันแบบของคุณ @poonlap เราจะ filter หรือ group ด้วย อำเภอ ได้ง่ายๆ มั้ยครับ?

@ecosoft-odoo
Copy link

@Oakyman เพราะคิดว่าไม่ได้ เลยแยก ตำบลไปใส่ใน street2 แทนครับ
ลองทดสอบหน่อยนะครับว่า work ไม๊ #93 ถ้าทดสอบแล้วกดโอเคเมื่อไหร่ กด Approve ให้หน่อยนะครับ เพราะถ้าไม่มี 2 approve Bot มันไม่ให้ merge
@kiattipong รบกวนรีวิวด้วยนะ :)

@poonlap
Copy link
Contributor

poonlap commented Mar 4, 2020

เท่าที่ผมลองทดสอบ base_location_thailand (กำลังจะเปลี่ยนชื่อ) ตอนแรก รู้สึกว่าอยากจะเอา field Street2 ไปไว้หลัง Location Completion ครับ เพราะว่า Street2 จะถูกใส่เป็น ตำบล หลังจาก completion เสร็จแล้ว.

image

ผมเลยลองเปลี่ยนตำแหน่ง Location Completion ให้มาก่อน Street2 ดูครับ.
https://gist.github.com/poonlap/bfc3cf85f9a97fb150b59952f3989a44

image

ลองใช้ดู พบว่าไม่ค่อยเวิร์คครับ. บางครั้ง Street อย่างเดียวเขียนที่อยู่ไม่พอ. น่าจะสร้าง field ตำบล (subdistrict) เพิ่มใน model เข้าไปเลย. ช่องที่กรอกเอาไว้หลัง Location completion ให้เป็นตำบลจริงๆ ไม่ต้องใช้ Street2 แก้ขัด. ส่วน Street2 นั้น ใช้งานเป็น Street2 ตามที่มันควรจะเป็น น่าจะดีกว่าครับ.

ทางทีม @kittiu @ps-tubtim คิดว่าอย่างไรบ้างครับ.

@kittiu
Copy link
Member Author

kittiu commented Mar 6, 2020

เข้าใจนะครับ แต่ยังไม่ค่อยเห็นด้วยเท่าไหร่ สิ่งที่พยายามทำเป้นลักษณะ helper มากกว่า ไม่ใช่ว่าถ้าเลือกแล้วจะไปแก้ค่าใน ช่อง street2 หรืออื่นๆไม่ได้

โดยหลักแล้ว เราไม่อยากต้องเพิ่มฟิลด์ เพราะถ้าเพิ่มแล้ว คงต้องไปดูทั้งระบบว่ามีตรงไหนบ้างที่มีการ get address ไปใช้งาน แล้วต้องไปปรับแก้ตามด้วย ซึ่งสิ่งที่ทำตอนนี้ ไม่ต้องไปแก้อะไรที่อื่นเลย เพราะใช้ฟิลด์เดิมทั้งหมด

ถ้าเรามองว่ามันเป็นแค่ helper ผมว่า แบบนี้โอเคแล้ว นะ ถ้าอยากเปลี่ยนก็คือ ย้าย Location Completion ไปไว้ที่อื่นเลย จะได้ชัดว่ามันเป็นแค่ helper

WDYT?

@poonlap
Copy link
Contributor

poonlap commented Mar 6, 2020

รับทราบครับ จริงๆแล้วเท่านี้ก็เพียงพอครับ

@kittiu kittiu closed this as completed Mar 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants