60 lines
2.4 KiB
Python
Executable File
60 lines
2.4 KiB
Python
Executable File
# -*- coding: utf-8 -*-
|
|
|
|
from odoo import models, fields, api
|
|
|
|
class SOS_Suppliers(models.Model):
|
|
_name = 'sos_suppliers'
|
|
_description = 'Suppliers of Sosaley'
|
|
_rec_name="supplier_name"
|
|
_order = 'supplier_name'
|
|
|
|
supplier_code = fields.Char(string="Supplier Code", required=True, readonly=True,
|
|
default=lambda self: self._generate_id())
|
|
supplier_name = fields.Char(string="Supplier Name", required=True)
|
|
qp_no= fields.Char(string="QP No")
|
|
address = fields.Text(string="Registered Address")
|
|
shipped_from_address = fields.Char(string="Shipped From")
|
|
contact_person = fields.Char(string="Contact Person")
|
|
contact_no = fields.Char(string="Contact no")
|
|
email = fields.Char(string="Email")
|
|
gst_no = fields.Char(string="GST No")
|
|
pan_no = fields.Char(string="PAN No")
|
|
cin_no = fields.Char(string="CIN No")
|
|
msme_no = fields.Char(string="MSME Certificate No")
|
|
bank_details = fields.Text(string="Bank Details")
|
|
iso_no = fields.Char(string="ISO Certificate No")
|
|
iso_date = fields.Date(string="ISO Certificate Validity Date")
|
|
scope = fields.Char(string="Scope of Service")
|
|
approval=fields.Date(string="Approved On")
|
|
last_evaluation_date=fields.Date(string="Last Evaluated On")
|
|
re_evaluation_due_date=fields.Date(string="Re-Evaluation Due on")
|
|
re_evaluation_method=fields.Char(string="Re-Evaluation Method")
|
|
credit_period = fields.Integer(string="Credit period(In days)")
|
|
other_terms = fields.Text(string="Other Terms & Conditions")
|
|
quality_policy = fields.Binary(string="Quality policy")
|
|
quality_policy_filename=fields.Char(string="Quality Policy File Name")
|
|
sarf_doc = fields.Binary(string="SARF Document")
|
|
sarf_doc_filename=fields.Char(string="SARF Document File Name")
|
|
iso_certificate = fields.Binary(string="ISO Certificate")
|
|
iso_certificate_filename=fields.Char(string="ISO Certificate File Name")
|
|
_sql_constraints = [
|
|
('name_unique', 'UNIQUE(supplier_name)', 'This Supplier is Already In Our Records')
|
|
]
|
|
def _generate_id(self):
|
|
prefix = "SOS/SARF/SUP/"
|
|
last_record = self.search([
|
|
('supplier_code', 'like', prefix + '%')
|
|
], order='supplier_code desc', limit=1)
|
|
|
|
if last_record:
|
|
last_code = last_record.supplier_code
|
|
next_number = int(last_code[len(prefix):]) + 1
|
|
else:
|
|
next_number = 1
|
|
|
|
return f"{prefix}{next_number:03d}"
|
|
|
|
|
|
|
|
|