IT Support
Odoo: Users & Rights
23 min
users เกิดแต่ใดมา? ก่อนอื่นต้องเข้าใจก่อนว่า user มีกันกี่ประเภท ในระบบเค้ามี 3 ประเภท แต่ละประเภททำงานต่างกัน แล้วมีอะไรบ้างล่ะ อย่างนี้เลย internal user internal user คือ user ที่สร้างขึ้นมาเพื่อใช้งานภายในระบบ ว่ากันตามสิทธิการใช้งานของแต่ละคนเลย แยกสิทธิ์ตามโมดูลกันไปเลย ที่สำคัญเมื่อสร้างแล้ว เสียตังค์ เสียตังค์ เลยนะเธอจ๋า อันนี้ต้องระวังว่าเราซื้อไว้เท่าไหร่ แต่มีทิคนิดหนึ่งเดี๋ยวค่อยเหลาให้ฟัง portal portal คือ user ที่สร้างไว้สำหรับให้บุคคลภายนอกเข้ามาดูเอกสารได้บางอย่าง บางโมดูลเท่าที่ระบบกำหนดไว้ เห็นว่าสามารถโต้ตอบกับเว็บไซต์ของเรา ทำการซื้อ และดูเอกสารของตนเองที่เกี่ยวข้องกับการซื้อหรือการขายกับบริษัท (อันนี้ยังไม่ทดสอบใช้ดูน่ะ ฝากไว้ก่อนนิ ) แต่ที่รู้ ๆ ดูได้อย่างเดียวนะเธอ ที่สำคัญสร้างได้ไม่จำกัด และฟรีด้วย เราว่าเหมาะกับการประยุกต์ให้ลูกค้าภายนอก public public คือ อันนี้ไม่ชัดเจนเท่าไหร่ เอาเป็นว่าเราไม่ได้ใช้ล่ะกัน มองผ่านกันโล้ด !! ที่นี้ก็มาบรรเลงการสร้าง user แบบฉบับของ tyk กันเลย ลอกเค้าง่ายกว่า ปกติเราสามารถสร้าง user ขึ้นมาเองได้ แต่ด้วยความยุ่งยากในการกำหนดสิทธิสามัญชน มันผูกอิลุงตุงนังอะไรไว้บ้างก็ไม่รู้ เรากลัวพลาด ทำให้สิทธิ์ที่กำหนดจากทางเค้ากลั่นกรองตั้งต้นมาดีแล้ว เลยใช้วิธีลอกเค้า ง่าย และเร็วกว่าเยอะ ( หรืออยากทำเองก็เอาน่ะตะเอง) ม่ะเตรียมสมุดและปากกา เตรียมลอกกัน เริ่มที่โมดูล settings > gerneral settings > manage users ในหน้านี้เริ่มต้นระบบจะกรองข้อมูลเฉพาะ user ภายใน และ ที่ใช้งานอยู่ เราสามารถกรองดู ประเภท user หรือ user ที่ระงับการใช้งานไว้ ( inactive user ) และยังสามารถดูสถานะ user ได้ด้วยนะ ขอบอก คลิ๊กไปที่ user ที่เราต้องการจะก๊อปปี้ สิทธิ์การใช้งานตามท้องเรื่องที่เค้าเคยกำหนดมาให้แล้ว เมื่อเข้ามาแล้ว ให้กดปุ่ม action > duplicate ( สำเนา ) แล้วทำการ เปลี่ยนชื่อผู้ใช้ และอีเมล์ให้ถูกต้องแล้ว save ด้วยนะ แค่เนี่ยง่ายป่ะล่ะ แต่ยังไม่จบแค่นั้น อย่าลืมนะว่าการก๊อปปี้นี่มันเป็นการเพิ่ม user ขึ้นมา เท่ากับว่าคุณต้อง เ เ สียตังค์ สียตังค์ แล้วน่ะ ต้องดูว่าเราซื้อไว้ 70 user 70 user เกินอ่ะเปล่า อ้อเดี๋ยวนี้ การก๊อปปี้ user เค้าดันเขียนดักไว้ไม่ให้มี user ( email ) และ reference (รหัสพนง อ้างอิง) ที่อยู่ใน contract ซ้ำกันอีก มันจะ save บ่ได้เด้อ ต้อง ลบ reference ออกก่อน ลบ reference ออกก่อน แล้วค่อยก๊อปปี้น่ะ ก่อนลบ copy refence เดิม ไว้ก่อนนะ เพราะมันต้องกลับมาใส่คืนคนเก่าเค้านะ แล้วถ้ามันเกินล่ะ ก็ง่ายนิดเดียว เราก็ต้อง archive archive ( ระงับ ) user ที่เค้าลาออกไปแล้วซิ ระงับ user เค้าไปเลย จำนวนก็เท่าเดิมล่ะ คืองี้ odoo เค้าระบุไว้ว่า เค้าจะนับจำนวนที่ใช้งานจริง ขอแค่ไม่เกินจำนวนที่ซื้อก็แค่นั้น / เพื่อความมั่นใจ เราสามารถ ทดสอบการ login user ที่เราสร้างขึ้นมาใหม่ ตรวจสอบความเรียบร้อยอีกรอบว่าสิทธิ์ที่เราเป็นกังวล มันจะหลุดไหม ก็ทำการ change password change password user แล้วทดสอบโล้ด สิ่งที่ต้องตั้งสติต่อ การก็อปปี้ user จะเกิดการสร้างรายชื่อ contacts อัตโนมัติเลย เราจะต้องตามไปแก้ไข รหัสพนง ให้ถูกต้องด้วย โดยกดตรงรายชื่อหัวข้อ related partner related partner และ แก้ไขตรง reference reference ที่สำคัญอย่าลืม save ด้วยนะ / กำหนดสิทธิ์โมดูลพื้นฐาน เมื่อเราจัดการเรื่อง users แล้ว ยังสามารถกำหนดสิทธิ์โมดูลแบบพื้นฐาน ง่าย ๆ ได้ แบบมาตรฐานของ odoo ที่มีอยู่แล้ว ในแท๊ป access rights access rights โดยกำหนดให้ users นั้นสามารถใช้อะไรได้บ้าง ซึ่งถ้าสังเกตุ มันคือ กลุ่ม ที่จะอธิบายต่อหลังจากนี้ สิทธิ์การเข้าถึง การกำหนดสิทธิ์การเข้าถึง แสดง หรือ ซ่อน โมดูล / เมนูหลัก ย่อย / ปุ่มคำสั่ง / ฟิลด์ข้อมูล เพื่อความง่ายในการจัดการ จะต้อง เปิดโหมดนักพัฒนา หรือ debug เปิดโหมดนักพัฒนา หรือ debug โดยตอนนี้ user ที่มีสิทธิ์ทำได้ จะมีแค่ mis / dc / it mis / dc / it ซึ่งเป็นสิทธิ์พิเศษ โดยมี 2 สิ่ง ที่เราจะวนเวียนยุ่งกับมันไปตลอด คือ groups groups คือ กลุ่มสิทธิ์ ที่มี user อยู่ในกลุ่มนั้น ๆ ขึ้นอยู่กับเอาไปผูกกับอะไรไว้บ้าง ซึ่งมีทั้งเป็นมาตรฐานของ odoo และ สร้างเฉพาะขึ้นมาใหม่เอง access rights access rights คือ สิทธิ์ลงรายละเอียดกำหนดว่าให้ ดู / แก้ไข / สร้าง / ลบ อันนี้ถือเป็นมาตรฐานของ odoo ทาง c+ เค้าแนะนำว่าถ้าไม่เข้าใจอย่าไปแตะมันดีกว่า เพราะพลาดมา ยาว restrict user restrict user คือ user ที่กำหนดไม่ให้เข้าถึง หรือ เห็นในเมนู จะรักใครไม่ชอบใครก็ตรงนี้ล่ะ groups พี่ใหญ่ คุมทุกซอย เริ่มจากภาพใหญ่ของ odoo ต้องเริ่มคุมจาก groups ก่อน โดย odoo เค้ามีกลุ่มมาตรฐานมาให้อยู่แล้ว เราก็ล้อตามเค้าไปเลย ยกเว้นมีอะไรที่พิเศษ คงต้องสร้างขึ้นมาใหม่กันเอง งั้นเรามาเริ่มต้นจากพี่ใหญ่สุดกันเลย เปิดโหมดนักพัฒนา ( developer mode ) หรือ debug น้องเต่าทอง นั่นล่ะ ก็ไปที่ settings > general settings > เลื่อนลงมาสุดหน้า จะเจอ developer tools กดตรง เปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์ ( activate the developer mode ) เปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์ ( activate the developer mode ) / หรือใครอยากเป็นเซลส์นักพัฒนา หรือ เซลส์เทพที่ชอบใช้กันจัง ก็ง่าย ๆ แค่พิมพ์เลข 1 ไปหลัง web?debug=# web?debug=# แล้วกด enter ในหน้าไหนก็ได้ของ odoo ในช่อง address ของโปรแกรมท่องอินเตอร์เน็ตที่เราใช้กัน ก็จะเข้าสู่โหมดน้องเต่าทองล่ะ สังเกตุตรงหัวด้านบนจะมีน้องเต่าทองบินมาปรากฏให้เห็นล่ะ / ถ้าเราอยู่หน้า settings อยู่แล้วก็ง่ายเลย ไปกันต่อ settings > เมนู users & companies > groups settings > เมนู users & companies > groups หน้านี้จะรวมสิทธิ์ของกลุ่ม ที่ผูก users ไว้กับหน้าต่าง ๆ เราสามารถพิมพ์ชื่อค้นหาโมดูลที่เราสนใจได้ เช่น sales , account เป็นต้น เราก็จะโฟกัสกันง่ายขึ้น แล้วเราจะดูยังไงล่ะ ว่ามันผูกสัมพันธ์กับใครไว้บ้าง เมื่อเราลองกดเข้าไปดูซักกลุ่มหนึ่ง มันมีสิ่งที่บอกเราไว้ที่มีสาระสำคัญดังนี้ users users = กลุ่มนี้มี users ไหนบ้างที่มีผลกระทบกับเค้า menus menus = กลุ่มนี้มีผลกระทบกับเมนูไหนบ้าง และภายในยังกำหนด restrict users ที่ไม่ให้เห็นได้อีก access rights access rights = กลุ่มนี้มีสิทธิ์การใช้งานอย่างไร ในแต่ละโมเดล ( model ) หรือ ในแต่ละหน้า ในเมนูนั้น ๆ เช่น ดูอย่างเดียว (read) / แก้ไขได้ (write ) / สร้างใหม่ ( create ) / ลบได้ ( delete ) ซึ่งอันนี้จะละเอียดมาก ถ้าไม่จำเป็นอย่าไปยุ่งเชียว ถ้าไม่จำเป็นอย่าไปยุ่งเชียว ยกเว้นเราชำนาญมาก ๆ แล้ว / access rights พี่กลาง คุมให้ทำอะไร access rights แล้วเราจะดูยังไงว่า มันมีผลกระทบกับหน้าไหนบ้างล่ะ เอ้อเนอะ ดูก็ยัง งง ๆ กับความหมายในช่อง name กับ model กันนิดหนึ่ง ก็ขออธิบายอย่างที่เข้าใจนะว่า เหมือนเค้าเรียงลำดับความสำคัญจากบนลงล่างมา ว่ากันตามเมนู แล้วไล่ลงมาถึงหน้านั้น ๆ โดยจุดสังเหตุคือ ชื่อโมดูลหลัก โมดูลย่อย ชื่อโมดูลหลัก โมดูลย่อย ยกตัวอย่างให้เห็นภาพ account account readonly > account journal > account move readonly account account readonly > account journal > account move readonly account account คือ หน้าโมดูลหลัก account account journal คือ หน้าโมดูลหลัก account > หน้าโมดูลย่อย journal account move คือ หน้าโมดูลหลัก account > หน้าโมดูลย่อย journal > หน้าโมดูลย่อย journal entry โดยจุดสังเหตุหน้า journal entry ให้ดูที่ url ช่อง address ของโปรแกรมท่องอินเตอร์เน็ต มันจะระบุหน้าเหมือนกัน account move account move โป๊ะเช๊ะ !! นั่นล่ะคือความหมาย มันจะมีผลกระทบในหน้านั้นเลย restrict users น้องเล็ก คุมไม่ให้เห็น restrict users เมื่อเปิดสิทธิ์ให้ใช้ได้ในภาพใหญ่แล้ว เค้าจะกรองออกในภาพย่อยว่า ไม่ให้เห็นเมนูนี้ /ปุ่มนี้ / ฟิลด์นี้ ชนิดที่ว่าไม่ชอบใครก็อย่าได้เข้ามาเชียว ซึ่งจะทำงานควบคู่กับโมดูล studio ที่เอาไว้สำหรับจัดการแสดงผลของแต่ละหน้าด้วย ซึ่งการที่ใช้ได้จะต้องมีสิทธิ์สูง แต่ไม่สุดของระบบ เอาล่ะกำหนดยังไงมาดูกัน / คลิ๊กไอคอน ตรงไขควง&ประแจ เพื่อเข้าโมดูล studio ซึ่งจะอยู่ทุกหน้า ก็สามารถปรับเปลี่ยนหน้าตากันได้เลย โดยขอเริ่มที่การจำกัดการเห็น ของเมนูต่าง ๆ โดยการกดปุ่ม edit menu edit menu ให้เลือกเมนูที่สนใจว่าจะจำกัดเมนูไหน โดยต้องพิจารณาจำกัดสิทธิ์เรียงลำดับเมนูหลักก่อน แล้วมาเมนูย่อย ขึ้นอยู่ว่าจะจำกัดตั้งแต่เมนูไหน เช่น accounting คือเมนูหลัก ถ้าไม่ต้องการให้เห็นตั้งแต่เมนูหลัก เมนูย่อยก็ไม่ต้องไปกำหนดให้เมื่อยตุ้ม เมนูย่อยก็ไม่เห็นอยู่แล้ว แต่ถ้าต้องการให้ไม่เห็นเฉพาะเมนูย่อยใต้ accounting บางเมนูค่อยมากำหนด ไม่ให้เห็นแต่ละเมนูย่อยอีกที โดยคลิ๊กตรงไอคอน สมุด&ดินสอ สมุด&ดินสอ / คลิ๊ก restrict users แล้วกำหนด user ด้วย add a line add a line ได้ตามใจชอบ ไม่ชอบใครก็จำกัดให้สิ้น / นอกจากนั้น เรายังสามารถจำกัดการแสดงผลของฟิลด์ได้อีกด้วย โดยทำการคลิ๊กเลือกฟิลด์ที่เราต้องการ ในหน้า studio แล้วกำหนดกลุ่มที่จำกัดได้ ในใต้ช่อง limit visibility to groups limit visibility to groups ในแท็ป properties เลือกได้มาก 1 กลุ่ม / นอกจากนี้เรายังกำหนดสิทธิ์ที่ปุ่มกด ในส่วนหัวได้อีกด้วย หลักการเดิมเลย ทำที่หน้า studio คลิ๊กท่ี่ปุ่มสนใจ ที่ช่อง limit visibility to groups limit visibility to groups ในแท็ป properties เลือกได้มาก 1 กลุ่ม เช่นเคย / แค่นี้ก็สามารถบริหารจัดการเรื่อง users และ สิทธิ์การใช้งานได้แล้วกระมัง ที่เหลือก็ไปลองทดสอบวิชาได้ใน staging ( ฐานข้อมูลจำลอง ) ก่อนได้ ก่อนทำจริง เพื่อความมั่นใจ tip & trick กำหนดสิทธิ์ให้ export ได้ การกำหนดสิทธิ์ให้ export ได้นั้น จะถูกสร้างขึ้นใน กลุ่ม technical เฉพาะเจาะจงสำหรับเรื่องนี้โดยเฉพาะ ซึ่งต้องกำหนด users ที่ต้องการลงไปก่อน ถึงจะทำได้ คือ กลุ่ม technical / access to export feature technical / access to export feature เมื่อกำหนดแล้วจะ export ได้ทุกหน้าที่สามารถทำได้ในปุ่ม actions > export ไม่ ไม่ สามารถควบคุมเฉพาะบางหน้าได้ สามารถควบคุมเฉพาะบางหน้าได้ / คีย์ลัดค้นคว้า คว้าดาว เพื่อดูเป็นมืออาชีพเห็นเค้าทำกัน เลยเอาเทคนิคนี้มาฝาก pop up คีย์ลัดไว้ค้นหา และกระโดดไปหน้าโน้นหน้านี้ได้เร็วขึ้น เพียงแค่กดปุ่มบนคีย์บอร์ด ctrl+k แล้วตามด้วย / ctrl+k แล้วตามด้วย / อยากคว้าอะไรก็คว้าหาเอาเองน่ะ โดยเฉพาะถ้าต้องการเข้า debug โหมด ( น้องเต่าทอง ) ก็พิมพ์คำว่า debug กด enter รอซักพัก ก็เข้าได้ล่ะ / กำหนดไม่ให้ใช้งานโมดูลใหญ่ มันเป็นเรื่องละเอียดอ่อน มีสิ่งที่ซ่อนอยู่ที่ต้องตามเข้าไปดูเพิ่มเติมในการกำหนดสิทธิ์ คือ ถ้าไม่ต้องการให้เข้า หรือให้เข้าโมดูลใหญ่ ก็ ต้องกำหนดใน user เข้าไปใน restrict user หรือ เอาออก มันจะมองไม่เห็น หรือ เห็นทั้งโมดูลเลย ต้องกำหนดใน user เข้าไปใน restrict user หรือ เอาออก มันจะมองไม่เห็น หรือ เห็นทั้งโมดูลเลย ทะลายกำแพงสิทธิ์ก่อนหน้าไปเลย แม้แต่กำหนดใน group และ access right ไปแล้วก็ตาม เช่น user admin hrs\@tykglass com ต้องใช้งานโมดูล recruit ( รับสมัครงาน ) ต้องเอา user เค้าออกจาก restict user โดยก่อนหน้ามีกำหนดเค้าไว้ไม่ให้เห็น โดยวิธีการทำดังนี้เลย เข้าหน้า module หลักก่อน เช่น recruitment ( รับสมัครงาน ) คลิ๊กเข้าสู่ studio ( รูปคีมกับไขควง ) กด edit menu กดปุ่มดินสอ โมดูลสูงสุด เช่น recruitment ( รับสมัครงาน ) restrict users กด x เพื่อเอา user ออก ก็เข้าได้ล่ะ ในทางกลับกันถ้าเอาใส่เข้า ก็เลื่อนลงมาด้านล่าง add line เลือก user ที่ไม่ต้องการให้ใช้ ก็จะใช้งานไม่ได้ล่ะ จบด้วยประการทั้งปวง