예제 #1
0
파일: fg_sale.py 프로젝트: davgit/Xero-2
    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)
예제 #2
0
    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)
예제 #3
0
파일: __init__.py 프로젝트: davgit/Xero-2
    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'}