class GolCompany(osv.osv): _name = 'res.company' _inherit = 'res.company' #Para el eliminar el tex area en empresa overdue_msg = fields.Text('Descripción') tradename = fields.Char('Nombre Comercial', size=80) phone2 = fields.Char('Teléfono 2', size=15) phone3 = fields.Char('Teléfono 3', size=15) riseUse = fields.Selection( [('rise', 'Rise'), ('contributorSpecial', 'Contribuyente Especial')], 'Seleccione', default='rise', required=True) identificationType = fields.Many2one('gol.identification.type', 'Tipo de Identificación') identificationNumber = fields.Char( 'Número de Identificación', help='Ingrese el numero de identificación') typePerson = fields.Many2one('gol.type.person', 'Tipo de persona') bussinesName = fields.Char('Razón Social', help='Ingrese el razón social') forcedToTakeAccounting = fields.Boolean('Obligado a llevar contabilidad', default=False) accountant = fields.Many2one('gol.accountant', 'Contador') taxLiability = fields.One2many('gol.tax.liability', 'idCompany', 'Obligaciones Tributarias') legalRepresentative = fields.Many2one('gol.contact', 'Representante Legal') formatCorrelative = fields.Many2one('gol.format.correlative', 'Formatos Correlativos') child_contact_ids = fields.One2many('res.partner', 'parent_id', 'Contacts', domain=[('active', '=', True)]),
class Discussion(models.Model): _name = 'test_new_api.discussion' name = fields.Char( string='Title', required=True, help="General description of what this discussion is about.") moderator = fields.Many2one('res.users') categories = fields.Many2many('test_new_api.category', 'test_new_api_discussion_category', 'discussion', 'category') participants = fields.Many2many('res.users') messages = fields.One2many('test_new_api.message', 'discussion') message_changes = fields.Integer(string='Message changes') important_messages = fields.One2many('test_new_api.message', 'discussion', domain=[('important', '=', True)]) emails = fields.One2many('test_new_api.emailmessage', 'discussion') important_emails = fields.One2many('test_new_api.emailmessage', 'discussion', domain=[('important', '=', True)]) @api.onchange('moderator') def _onchange_moderator(self): self.participants |= self.moderator @api.onchange('messages') def _onchange_messages(self): self.message_changes = len(self.messages)
class he_employee(models.Model): _inherit = "hr.employee" formaciones_count = fields.Integer(compute='_formaciones_count', string='# formaciones') formacion_ids = fields.One2many('hr.employee.formacion', 'employee_id', 'Formaciones empleado') albaranes_count = fields.Integer(compute='_albaranes_count', string='# albaranes') albaran_ids = fields.One2many('stock.picking', 'partner_id', 'Albaranes empleado') partner_id = fields.Many2one(compute='_compute_partner') @api.one @api.depends('formacion_ids') def _formaciones_count(self): formaciones = self.env['hr.employee.formacion'].search([ ('employee_id', '=', self.id) ]) self.formaciones_count = len(formaciones) @api.one @api.depends('albaran_ids') def _albaranes_count(self): albaranes = self.env['stock.picking'].search([ ('partner_id', '=', self.user_id.partner_id.id) ]) self.albaranes_count = len(albaranes) @api.one def _compute_partner(self): partner = self.env['res.partner'].search([ ('id', '=', self.user_id.partner_id.id) ]) self.partner_id = partner.id
class Discussion(models.Model): _name = 'test_new_api.discussion' name = fields.Char( string='Title', required=True, help="General description of what this discussion is about.") moderator = fields.Many2one('res.users') categories = fields.Many2many('test_new_api.category', 'test_new_api_discussion_category', 'discussion', 'category') participants = fields.Many2many('res.users') messages = fields.One2many('test_new_api.message', 'discussion') message_concat = fields.Text(string='Message concatenate') important_messages = fields.One2many('test_new_api.message', 'discussion', domain=[('important', '=', True)]) @api.onchange('moderator') def _onchange_moderator(self): self.participants |= self.moderator @api.onchange('messages') def _onchange_messages(self): self.message_concat = "\n".join( ["%s:%s" % (m.name, m.body) for m in self.messages])
class res_partner(models.Model): _name = 'res.partner' _inherit = ['res.partner'] name = fields.Char('Name', required=True, select=True,track_visibility='onchange',) ref = fields.Char('Contact Reference', select=1,track_visibility='onchange',) bank_ids = fields.One2many('res.partner.bank', 'partner_id', string='Banks', track_visibility='onchange',) website = fields.Char('Website', track_visibility='onchange', help="Website of Partner or Company") comment = fields.Text('Notes', track_visibility='onchange',) active = fields.Boolean('Active', track_visibility='onchange',) function = fields.Char('Job Position',track_visibility='onchange',) type = fields.Selection([('default', 'Default'), ('invoice', 'Invoice'), ('delivery', 'Shipping'), ('contact', 'Contact'), ('other', 'Other')], 'Address Type',track_visibility='onchange', help="Used to select automatically the right address according to the context in sales and purchases documents.") street = fields.Char('Street',track_visibility='onchange',) street2 = fields.Char('Street2',track_visibility='onchange',) zip = fields.Char('Zip', size=24,track_visibility='onchange', change_default=True) city = fields.Char('City',track_visibility='onchange',) state_id = fields.Many2one("res.country.state", string='State', track_visibility='onchange',ondelete='restrict') country_id = fields.Many2one('res.country', string='Country',track_visibility='onchange', ondelete='restrict') email = fields.Char('Email',track_visibility='onchange',) phone = fields.Char('Phone',track_visibility='onchange',) fax = fields.Char('Fax',track_visibility='onchange',) mobile = fields.Char('Mobile',track_visibility='onchange',) # birthdate = fields.Char('Birthdate',track_visibility='onchange',) is_company = fields.Boolean('Is a Company', track_visibility='onchange',help="Check if the contact is a company, otherwise it is a person") use_parent_address = fields.Boolean('Use Company Address', track_visibility='onchange',help="Select this if you want to set company's address information for this contact") company_id = fields.Many2one('res.company', string='Company', track_visibility='onchange',select=1) user_ids = fields.One2many('res.users', 'partner_id', string='Users')
class GolPointOfSale(osv.Model): _name = 'gol.point.of.sale' _inherit = 'gol.basic.entity' idBranchOffice = fields.Many2one('gol.branch.office', 'Sucursal') correlative = fields.Char('Correlativo', size=80) itemUser = fields.One2many('gol.item.user', 'idItemUser', 'Usuarios') document = fields.One2many('gol.document', 'idPointOfSale', 'Documentos Asociados')
class tools_helpdesk_contexto_nivel1(models.Model): """Estructura de Dependencias Administrativas""" _name = 'tools.helpdesk.contexto_nivel1' _rec_name = 'nombre' codigo = fields.Char(string="Código", size=20, help='Código de la Aplicación') nombre = fields.Char(string="Nombre", size=60, help='Nombre de la Aplicación') descripcion = fields.Text(string="Descripción", help='Descripción de la Aplicación') res_partner_ids = fields.Many2many( 'res.partner', 'respartner_aplicacion_rel', 'contexto_nivel1_id', 'res_partner_id', string="Organización", help='Organización que implementa esta aplicación') contexto_nivel2_ids = fields.One2many( 'tools.helpdesk.contexto_nivel2', 'contexto_nivel1_id', string="Módulo", help='Módulos que pertenecen a esta Aplicación')
class res_kabupaten(models.Model): _name = "res.kabupaten" _description = "List Kabupaten" name = fields.Char(string='Kabupaten') state_id = fields.Many2one('res.country.state', string="Province") kecamatan_line = fields.One2many('res.kecamatan', 'kabupaten_id', string='Kecamatan')
class GolCustomer(osv.Model): _name = 'res.partner' _inherit = 'res.partner' comment=fields.Text("Descripción u Observación") tradename=fields.Char('Nombre Comercial', size=80) phone=fields.Char('Teléfono 1', size=15) phone2=fields.Char('Teléfono 2', size=15) phone3=fields.Char('Teléfono 3', size=15) riseUse=fields.Selection([('rise','Rise'), ('contributorSpecial','Contribuyente Especial')],'Seleccione', default ='rise', required=True) identificationType=fields.Many2one('gol.identification.type','Tipo de Identificación') identificationNumber=fields.Char('Número de Identificación',help='Ingrese el numero de identificación') typePerson=fields.Many2one('gol.type.person','Tipo de persona') bussinesName=fields.Char('Razón Social',help='Ingrese el razón social') forcedToTakeAccounting=fields.Boolean('Obligado a llevar contabilidad',default=False) #Datos del cliente shortName=fields.Char('Nombre Corto', size=80) customerType=fields.Many2one('gol.customer.type','Tipo de Cliente') #accountingAccount=fields.Many2one('account.account','Cuenta Contable') balance=fields.Float('Saldo') customerType=fields.Many2one('gol.customer.type','Tipo de Cliente') discount=fields.Many2one('gol.generic.discount','Descuento Cliente') rulesRetention=fields.One2many('gol.validator.retention','idRulesRetention','Reglas Retención') #Campos para el Credito maximunAmount=fields.Float('Monto Maximo',size=50,help='Monto maximo de crédito') warranty=fields.Text('Garantía',help='Que tiene de garantia por el crédito')
class hr_holidays(models.Model): _inherit = "hr.holidays" od_document_line = fields.One2many('od.holiday.document.line', 'holiday_id', string='Documents') od_leave_encashment = fields.Boolean('Leave Encashment', default=False) od_ticket_required = fields.Boolean('Ticket Required', default=False)
class ResPartner(models.Model): _inherit = 'res.partner' @api.onchange('student_id') @api.depends('student_id') def _onchange_student_id(self): for rc in self: if rc.student_id: if rc.student_id.recruit_id: rc.is_recruit = True elif rc.student_id.industi_id: rc.is_industrial = True else: rc.is_recruit = False rc.is_industrial = False line_ids = fields.One2many('school.student.line', 'name', string='Students') is_recruit = fields.Boolean(string='Is a Recruitment Agent') is_industrial = fields.Boolean(string='Is an Industrial Partner') con_from = fields.Date(string='Contract Period') con_to = fields.Date(string='Contract Period To') student_id = fields.Many2one('school.student', string='Student Name') std_idd = fields.Char(string='Student ID', size=256, related='student_id.std_idd') course_id = fields.Many2many('school.school', string='Course') intake_id = fields.Many2many('school.class', string='Intake')
class student_enroll_line(models.Model): _inherit = 'student.enroll.line' @api.onchange('student_id') def onchange_student_id(self): if self.student_id: self.std_idd = self.student_id.std_idd or '' @api.multi def open_instalment_duedate(self): res_id = self.env['student.enroll.duedate'].search([('enrol_id', 'in', self.ids)]) return { 'name': 'Instalment Due Date', 'type': 'ir.actions.act_window', 'view_type': 'form', 'view_mode': 'form', 'res_model': 'student.enroll.duedate', 'res_id': res_id and res_id[0].id or False, 'context': { 'default_enrol_id': self.ids[0], 'default_name': self.browse(self.ids[0]).install_num }, 'target': 'new', } duedate_ids = fields.One2many('student.enroll.duedate', 'enrol_id', 'Due Date') std_idd = fields.Char(related='student_id.std_idd', string='Student ID', size=256) install_num = fields.Integer(string='Number of Instalment')
class maintenance_panne(models.Model): _name = 'maintenance.panne' _order = "occurrence_panne" @api.one @api.depends('demande_intervention_ids') def _get_occurrence_panne(self): self.occurrence_panne = len(self.demande_intervention_ids) @api.one @api.depends('demande_intervention_ids') def _get_panne_courante(self): for p in self.env['maintenance.panne'].search([]): p.panne_courante = False for p in self.env['maintenance.panne'].search( [], limit=5, order='occurrence_panne desc'): p.panne_courante = True name = fields.Char('Panne', required=True) description = fields.Text('Description') occurrence_panne = fields.Integer(compute='_get_occurrence_panne', string="Nombre d\'occurrence", store=True) demande_intervention_ids = fields.One2many( 'maintenance.demande.intervention', 'panne_id', 'Demande intervention') panne_courante = fields.Boolean(compute='_get_panne_courante', string='Panne courante', store=True)
class maintenance_prestataire(models.Model): @api.multi @api.depends('name', 'note_moyenne') def name_get(self): result = [] for record in self: note_moyenne = str( record.note_moyenne) if record.note_moyenne != False else '' result.append( (record.id, record.name + ' ( ' + note_moyenne + ' /20)')) return result _name = 'maintenance.prestataire' @api.one def _get_note_moyenne(self): total = 0.0 con = 0.0 for m in self: for e in m.evaluation_ids: total += e.note con += 1 if con > 0: self.note_moyenne = total / con name = fields.Char('Nom', required=True) evaluation_ids = fields.One2many('maintenance.evaluation.prestataire', 'maintenance_prestataire_id', 'Evaluations') note_moyenne = fields.Float(compute='_get_note_moyenne', string="Note moyenne")
class GrpSeleccionVariantes(models.TransientModel): _name = 'grp.seleccion.variantes' product_variant_ids = fields.One2many( comodel_name='grp.seleccion.variantes.lineas', string=u'Líneas de selección de variantes', inverse_name='seleccion_id') @api.multi def crear_variantes(self): # Mapeo de los datos del Artículo SICE for object in self: context = {} # Calcular las variantes a crear (adoptarlo del codigo estandar) lista_variantes = [] # (0, 0, {valores}) context['default_product_variant_ids'] = lista_variantes return { 'type': 'ir.actions.act_window', 'view_type': 'form', 'view_mode': 'form', 'res_model': 'grp.seleccion.variantes', 'target': 'new', 'context': context, }
class born_spread(osv.osv): _name = 'born.spread' name = fields.Char(u'名称', size=255, help=u"名称") lottery_id = fields.Many2one("born.lottery", u'抽奖方式') description = fields.Text(u'说明', ) image = fields.Binary(u"展示图片") start_date = fields.Date(u'开始日期') end_date = fields.Date(u'结束日期') start_order_amount = fields.Float( u'最小订单金额', digits_compute=dp.get_precision('Account'), help=u"参加抽奖需要订单金额达到金额") product_ids = fields.One2many('born.spread.product', 'spread_id', u'奖品列表') product_limit_ids = fields.One2many('born.spread.limit.product', 'spread_id', u'必须购买以下产品后才能参与抽奖')
class wizard(models.TransientModel): _name = 'wizard.details' name = fields.Char('Name:') percentage = fields.Float('Percentage') student_marks_rel_new = fields.One2many('wiz.marks', 'wiz_id', 'Student Marks:')
class GolAuxItemApportionment(osv.Model): _name = 'gol.aux.item.apportionment' #Campos Adicionales itemApportionment = fields.One2many( 'gol.item.apportionment', 'idItemApportionment', 'Tabla de Prorrateo Asociada a la Cuenta') amount = fields.Float('Valor')
class account_tax_group(models.Model): _inherit = 'account.tax.group' # _columns = { # 'prestashop_bind_ids': fields.one2many( # 'prestashop.account.tax.group', # 'openerp_id', # string='Prestashop Bindings', # readonly=True # ), # 'company_id': fields.Many2one( # 'res.company', 'Company', select=True, # required=True), # } prestashop_bind_ids = fields.One2many( 'prestashop.account.tax.group', 'openerp_id', string='Prestashop Bindings', readonly=True ) company_id = fields.Many2one( 'res.company', 'Company', select=True, required=True)
class account_journal_cobro(models.Model): _inherit = "account.journal" @api.constrains('detalle_journal') def _accesos_usuarios_1(self): for l in self: lista_usuario = [] if len(l.detalle_journal) != 0: for m in l.detalle_journal: lista_usuario.append(m.user_id.id) l.usuarios_ids = lista_usuario else: l.usuarios_ids = None # l.write({ # 'usuarios_ids':lista_usuario # }) # l.update({ # 'usuarios_ids':lista_usuario # }) caja = fields.Boolean(string="Caja") exigir_doc_banco = fields.Boolean(string="Exigir datos bancarios en pago") detalle_journal = fields.One2many('account.journal.user', 'journal_cabecera_id', string="Relacion Detalle") usuarios_ids = fields.Many2many('res.users', string="Accesos de Usuarios")
class GolCreditNote(osv.Model): _name = 'gol.credit.note' _description = u'descripcion modulo' #Decalaracion de campos documentType = fields.Many2one('gol.document.type', 'Tipo de Documento') correlative = fields.Char('Correlativo', required=False) date = fields.Date('Fecha', default=datetime.now().strftime('%Y-%m-%d')) #date=fields.Datetime('Fecha',default=datetime.now()) state = fields.Selection([('active', 'Activo'), ('annulled', 'Anulado')], 'Estado del Comprobante', default='active', required=True) invoice = fields.Many2one('account.invoice', 'Factura') authorizationNumber = fields.Char('Número de Autorización') typeCreditNote = fields.Many2one('gol.type.debit.note', 'Tipo') accountingVoucher = fields.One2many('account.move', 'idAccountMove', 'Comprobantes Contables') creditNoteAmount = fields.Float('Monto') taxAmount = fields.Float('Monto Impuesto') gloss = fields.Text('Glosa') #Campos Temporales Factura authorizationNumberInvoice = fields.Char( 'Número de Autorización de la Factura', Store=False) numberInvoice = fields.Char('Número de Factura', Store=False) estateInvoice = fields.Char('Estado', Store=False) amountInvoice = fields.Char('Monto Factura', Store=False) @api.onchange('invoice') def GetDatasInvoiceAndCustomer(self): self.authorizationNumberInvoice = self.invoice.authorizationNumber #self.numberInvoice=self.invoice.number self.estateInvoice = self.invoice.state
class vetclinic_breed(models.Model): _name = 'vetclinic.breed' name = fields.Char('Name:', size=34) classification_id_of_breed = fields.Many2one('vetclinic.classification', 'Classification') animal_o2m = fields.One2many('vetclinic.animalvaccination', 'animal_id', 'EXECUTE THIS')
class Detalle_Descuento_line(models.Model): _name = "descuentos.factura.cabezera" factura_id = fields.Many2one('account.invoice.line', 'Facturas', ondelete="cascade") detalle_descuento = fields.One2many('descuentos.factura.producto', 'factura_det_id', string="Detalle")
class HrEmployee(models.Model): _inherit = 'hr.employee' training_records = fields.One2many('hr.employee.line', 'trainee', string='Employee') empt_type = fields.Selection(selection=[('Employee', 'Employee'), ('Training', 'Training Record')], string='Type of Employees')
class vetclinic_animal(models.Model): _name = 'vetclinic.animal' name = fields.Char('Name:', size=34) birthdate = fields.Date('BirthDate:') classification_id = fields.Many2one('vetclinic.classification', 'Classification:') breed_id = fields.Many2one('vetclinic.breed', 'Breed:') labels_ids = fields.Many2many('vetclinic.labels', 'rel_animal_labels', 'animal_id', 'labels_id', string='Labels:') history = fields.Text('History :') res_partner_id = fields.Many2one('res.partner', 'Owner:') animalvaccinations_id = fields.One2many('vetclinic.animalvaccination', 'animal_id', 'Vaccinations:') animal_breed = fields.One2many('vetclinic.breed', 'classification_id_of_breed', 'EXECUTE') @api.multi def myfunction(self): print "==========================", self._context animal_id = self._context.get('params')['id'] print "b================", animal_id # a = self._context.get('params')['id'] # print "a=====================",a # ac = self.env['ir.model.data'].xmlid_to_res_id('boatcompany.vetclinic_animal_form', raise_if_not_found=True) # ac = self.env[''] # v_a = False # for o in self: # v_a = o.id result = { 'name': '2nd Animal', 'view_type': 'form', 'res_model': 'vetclinic.classification', 'context': { 'default_name': animal_id }, 'type': 'ir.actions.act_window', 'view_mode': 'form' } return result
class born_activity_tpl(osv.osv): _name = 'born.activity.tpl' _description = u"模板" name = fields.Char(u'名称', size=255, help=u"活动名称", required=True) image = fields.Binary(string=u"活动海报", attachment=True, help=u"活动海报") image_url = fields.Char(u'海报地址', size=255, help=u"海报地址") file_name = fields.Char(u'海报名称', size=255, help=u"海报名称") note = fields.Text(u'活动简介', required=True, help=u'活动简介') description = fields.Text(u'活动描叙', required=True, help=u'活动详细描叙,活动参与流程') provision = fields.Text(u'活动条款', help=u'参与活动的条款') active = fields.Boolean(u'归档', default=True) price = fields.Float(u'报名费', help=u'参与活动的报名费用') company_id = fields.Many2one('res.company', u'公司', ondelete='cascade', required=True, help=u'活动所属公司') game_id = fields.Many2one('born.game', u'游戏', help=u'参与活动的游戏') app_id = fields.Many2one('tl.weixin.app', u'公众号', ondelete="cascade") activity_ids = fields.One2many('born.activity', 'active_tpl_id', string=u'活动', help=u'商户报名活动列表') company_ids = fields.Many2many('res.company', 'born_activity_company_rel', 'activity_id', 'company_id', u'允许发行的公司', help=u'限制该活动允许发行的公司,不设置表示所有的平台都可以看到该活动') default_gift_ids = fields.Many2many('born.game.gift', 'born_activity_default_gift_rel', 'activity_id', 'gift_id', u'默认奖品', help=u'该奖品为发行活动的公司提供,所有参与的公司都能够使用该奖品') @api.model def create(self, vals): if vals.get('image', False): s3 = s3client(self) image_url = s3.upload(self._cr, self._uid, vals.get('image'), vals.get('file_name', 'image.png')) vals['image_url'] = image_url return super(born_activity_tpl, self).create(vals) @api.multi def write(self, vals): if vals.get('image', False): s3 = s3client(self) image_url = s3.upload(self._cr, self._uid, vals.get('image'), vals.get('file_name', 'image.png')) vals['image_url'] = image_url return super(born_activity_tpl, self).write(vals)
class GolBrachOffice(osv.Model): _name = 'gol.branch.office' company = fields.Many2one('res.company', 'Compañia') branchOffice = fields.Many2one('res.company', 'Sucursal') correlative = fields.Char('Correlativo Sucursal') pointOfSale = fields.One2many('gol.point.of.sale', 'idBranchOffice', 'Punto de venta') @api.onchange('branchOffice') def GetBranchOffice(self): print self.branchOffice.parent_id
class marks(models.TransientModel): _name = 'marks' # student_name = fields.Char('Student Name:') subject10 = fields.Integer('Physics:') subject20 = fields.Integer('Chemistry') subject30 = fields.Integer('Maths') percentage_new = fields.Float('Percentage : ') # total_marks = fields.Integer('Total Marks') marks_child_O2M = fields.One2many('marks.child', 'marks_parent_M2O', 'Calling Child:') @api.model def default_get(self, fields_list): res = super(marks, self).default_get(fields_list) context = dict(self._context or {}) active_ids = context.get('active_ids', False).subject_rel print 'active ID:', active_ids print 'hello' for each in active_ids: each = self.env['student'].browse(active_ids) print each print 'Hi' print str(each.subject1) print str(each.subject2) print str(each.subject3) print str(each.percentage) # res.update({'subject10':each.subject_rel.subject1}) # # for line in self.marks_child_O2M: # vals = {} # print "=======line======",line # vals.update({'subject10': line.subject10, # 'subject20': line.subject20, # 'subject30': line.subject30, # 'percentage_new': line.percentage_new, # 'marks_parent_M2O': line.marks_parent_M2O.id}) # self.env['marks.child'].create(vals) # print "vals==========",vals # # return { # 'name': _('Returned Picking'), # 'view_type': 'form', # 'view_mode': 'form', # 'res_model': 'marks', # 'res_id': marks, # 'type': 'ir.actions.act_window', # 'target' : 'new', # } print "res============", res print "context============", self._context return res
class student_enroll_duedate(models.Model): _name = 'student.enroll.duedate' @api.multi def validate(self): return 1 name = fields.Integer(string='Number of Instalment') enrol_id = fields.Many2one('student.enroll.line', string='Due Date') line_ids = fields.One2many('student.enrol.duedate.line', 'parent_id', string='Lines')
class vetclinic_classification(models.Model): _name = 'vetclinic.classification' name = fields.Char('Name:') breed_id = fields.One2many('vetclinic.breed', 'classification_id_of_breed', 'Breeds :') image_id = fields.Many2one('vetclinic.images', 'Choose Your Image:') display_image = fields.Binary(related='image_id.image') # vacc_class = fields.One2many('vetclinic.images','image_id','EXECUTE',related='image_id.image') @api.multi def Pass(self): print "Button is Pressed=============================="