Simple Review HR Recruitment dan Pencegahan Duplikasi Lamaran [ Odoo 10 ]

                                    Assalamu'alaikum Warrohmatullohi Wabarokatuh..

                                    Bismillah, salam sejahtera dan salam kenal dari saya, Dani Ramdani.
                                    Ini adalah postingan kedua pada blog ini, namun ini adalah postingan perdana bagi saya. Tentu saja, ini adalah sebuah kenikmatan dan kehormatan tersendiri bagi saya untuk bisa berbagi ilmu disini. Besar harapan saya, ikut serta dalam blog ini, semoga menjadi bagian dari orang – orang yang mau berbagi ilmu yang bermanfat. Aamiin

                                    Well, back to topic. Sebelum masuk ke tahap tutorial, ada baiknya saya akan sedikit mengulas tentang fitur – fitur yang ada pada modul HR Recruitment Odoo 10. Modul HR Recruitment adalah salah satu dari sekian banyaknya modul – modul odoo yang dikelompokan sebagai modul HR, yang insyaAllah nanti akan dibahas pada postingan – postingan selanjutnya.

                                    Nah, saatnya membahas tentang modul HR Recruitment yang terbagi 2 bagian, yaitu dari sisi backend (hr_recruitment) dan dari sisi frontend (website_hr_recruitment).
                                    Yang pertama adalah modul dari sisi backend. Hal pertama kali yang akan disuguhkan adalah tampilan posisi lowongan pekerjaan yang tersedia. Pada menu ini kita bisa membuat, menghapus, juga mengubah data yang sudah ada. Pada menu sidebar tepatnya di bawah sub menu ‘Posisi Pekerjaan’ terdapat sub – sub menu lainnya, dari mulai ‘Lamaran’ sampai dengan ‘Konfigurasi’.
                                    Pengelolaan dan pengelompokan data pun tersusun dengan rapi sesuai stage-nya masing – masing. Tentu saja ini sangat membantu dalam proses klasifikasi rekrutmen karyawan. Bahkan kamu cukup drag n drop saja jika ingin memindahkan lamaran dari suatu stage ke stage lainnya. Wuih !
                                    Yang kedua, HR Recruitment dari sisi frontend, menampilkan daftar lowongan pekerajaan pada halaman website.Persyaratan lowongan pekerjaan pun disusun rapi, sangat user friendly, dan dapat di edit secara langsung.
                                    So, secara umum, modul HR Recruitment ini bisa menjangkau semua aktifitas rekrutmen karyawan, apalagi untuk penambahan dan kostumisasi lainnya bisa disesuaikan dengan kebutuhan perusahaan. Dan kostumisasi dalam hal efisiensi data, saya sangat menyarankan untuk mencoba tutorial pada postingan ini.
                                    Konsepnya adalah jika user mengirimkan form lamaran dengan identitas yang sudah digunakan sebelumnya maka form lamaran tsb tidak akan terkirim. Dalam case ini saya akan menggunakan email user sebagai identitas unik-nya.

                                    Mari mulai dan berikut ini langkah – langkahnya :
                                        1. Pastikan kedua modul HR Recruitment sudah terinstall ( hr_recruitment dan website_hr_recruitment),
                                            jika belum silahkan install terlebih dahulu.
                                        2. Buat modul baru dengan nama ab_hr_recruitment (nama modul opsional).
                                        3. Buka folder modul yang baru saja dibuat.
                                        4. Edit file __manifest__.py, pada bagian depends tambahkan ‘hr_recruitment’ dan ‘website’.
                                        5. Buka folder model lalu buat file baru dengan nama hr_recruitment.py lalu tuliskan code berikut :
                                            from odoo import models, fields, api
                                            from odoo.exceptions import ValidationError
                                           
                                            class HrApplicant(models.Model):
                                                _inherit = 'hr.applicant'

                                                @api.one
                                                @api.constrains('email_from')
                                                def check_email(self):
                                                    email = self.email_from
                                                    obj_applicant = self.env['hr.applicant']
                                                    data_applicant = obj_applicant.search([('email_from', '=', email)])
                                                    data = 0
                                                    for x in data_applicant:
                                                    data = data + 1
                                                    if data > 1:                   
                                                        raise ValidationError("An error has occured,  the form has not been sent.")
                                        6. Save lalu edit file __init__.py tambahkan code berikut :   
                                                from . import hr_recruitment       
                                        7. Save, restart server, update apps list lalu Install modulnya.

                                    Hasilnya adalah sebagai berikut :

















                                    Form tidak terkirim karena email user tsb sudah ada pada data lamaran. CMIIW
                                    Alhamdulillah, selesai sudah pembahasan HR Recruitment pada postingan ini.
                                    Bagi yang ingin download modul tutorial ini, sikahkan kesini.
                                    Sekian dari saya, kurang lebihnya mohon maaf, segala kritik dan saran sangat diterima untuk kemajuan di kemudian hari.
                                    Atas perhatiannya saya ucapkan banyak terimakasih.


                                    Wassalamu’alaikum warrohmatullahi wabarokatuh.