def create(self, cr, uid, vals, context=None): if not vals.has_key('name'): obj_sequence = self.pool.get('ir.sequence') vals['name'] = obj_sequence.get(cr, uid, 'fg_sale.order') if not vals.has_key('sub_name'): partner_obj = self.pool.get('res.partner') partner_name = partner_obj.name_get(cr, uid, [vals['partner_id']])[0][1] initial = get_initial(partner_name) cr.execute("select count(*) from fg_sale_order where partner_id = %s;" % vals['partner_id'] ) res = cr.fetchone() count = res and res[0] or 0 vals['sub_name'] = "FGSO-%s-%s" % ( initial, count+1 ) return super(sale_order, self).create(cr, uid, vals, context)
def create(self, cr, uid, vals, context=None): if not vals.has_key('name'): obj_sequence = self.pool.get('ir.sequence') vals['name'] = obj_sequence.get(cr, uid, 'fg_sale.order') if not vals.has_key('sub_name'): partner_obj = self.pool.get('res.partner') partner_name = partner_obj.name_get(cr, uid, [vals['partner_id']])[0][1] initial = get_initial(partner_name) cr.execute( "select count(*) from fg_sale_order where partner_id = %s;" % vals['partner_id']) res = cr.fetchone() count = res and res[0] or 0 vals['sub_name'] = "FGSO-%s-%s" % (initial, count + 1) print vals, 'vals' return super(sale_order, self).create(cr, uid, vals, context)
def import_customer(self, cr, uid, ids, context=None): #todo!!!! this is for importing FGC001 clients. where item.FNumber = 'FGC001' sql = """ SELECT org.FNumber, org.FName, org.FContact, org.FPhone, org.FFax, org.FAddress, org.FCity, org.FProvince, org.FCountry, item.FName AS Category, item.FNumber AS Category_Number FROM t_Organization org JOIN t_Item item ON item.FItemID = org.FParentID ORDER BY org.FItemID ASC """ ## todo: notice... ##where item.FNumber = 'FGC001' state_sql = """ select DISTINCT(FProvince) from t_Organization """ # save state conn = pyodbc.connect(CONN_STR) cursor = conn.cursor() cursor.execute(state_sql) rows = cursor.fetchall() state_dict = {} state_obj = self.pool.get('res.country.state') for row in rows: if row: name = clear_field(row[0]) id = state_obj.create(cr, uid, {'name':name, 'code':get_initial(name), 'country_id':49,}) state_dict[clear_field(row[0])] = id cursor = conn.cursor() cursor.execute(sql) rows = cursor.fetchall() #save category first cate_dict = dict() partner_cate_obj = self.pool.get('res.partner.category') partner_obj = self.pool.get('res.partner') address_obj = self.pool.get('res.partner.address') for row in rows: number = clear_field(row[10]) name = clear_field(row[9]) if not cate_dict.has_key(number): id = partner_cate_obj.create(cr, uid, {'name':name}) cate_dict[number] = id cate_id = cate_dict.get(number) partner = { 'fullnum':clear_field(row[0]), 'name':clear_field(row[1], clear_field(row[0])), 'customer':True, 'category_id':[(6, 0, [cate_id])], } partner['ratio'] = ratio_dict.get(partner['name'], 1) partner_id = partner_obj.create(cr, uid, partner) address = { 'partner_id': partner_id, 'type':'default', 'country_id':49, } if row[2]: address['name'] = clear_field(row[2]) else: address['name'] = partner['name'] if row[7]: address['state_id'] = state_dict.get(clear_field(row[7])) if row[6]: address['city'] = clear_field(row[6]) if row[3]: address['mobile'] = clear_field(row[3]) if row[4]: address['phone'] = clear_field(row[4]) if row[5]: address['street'] = clear_field(row[5]) address_obj.create(cr, uid, address) return {'type': 'ir.actions.act_window_close'}