跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 官方的 travel 你们能用吗?

官方的 travel 你们能用吗?

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
9 帖子 3 发布者 6.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • T 离线
    T 离线
    test004
    写于 最后由 编辑
    #1

    doc.openerp.com/developer/2_First_Module/2_module.html#changing-the-main-module-file

    我按这个做的.

    建了个 terp.py

    [code]

    -- encoding: utf-8 --

    {
    "name" : "Travel agency module",
    "version" : "1.0",
    "author" : "Tiny",
    "category" : "Generic Modules/Others",
    "website": "www.openerp.com",
    "description": "A module to manage hotel bookings and a few other useful features.",
    "depends" : ["base"],
    "init_xml" : [],
    "update_xml" : ["custom_view.xml"],
    "active": True,
    "installable": True
    }
    [/code]

    init.py

    [code]

    -- encoding: utf-8 --

    import custom

    [/code]

    custom.py
    [code]

    -- encoding: utf-8 --

    from osv import osv, fields
    class travel_hostel(osv.osv):
    _name = 'travel.hostel'
    _inherit = 'res.partner'
    _columns = {
    'rooms_id': fields.one2many('travel.room', 'hostel_id', 'Rooms'),
    'quality': fields.char('Quality', size=16),
    }
    _defaults = {
    }
    travel_hostel()
    [/code]

    custom_view.xml
    [code]
    <openerp>
    <data>
    <record model="res.groups" id="group_compta_user">
    <field name="name">grcompta</field>
    </record>
    <record model="res.groups" id="group_compta_admin">
    <field name="name">grcomptaadmin</field>
    </record>
    <menuitem name="Administration" groups="admin,grcomptaadmin" icon="terp-stock" id="menu_admin_compta"/>
    </data>
    </openerp>
    [/code]

    traval_view.xml
    [code]
    <openerp>
    <data>
    <record model="ir.actions.act_window" id="action_travel_hostel_form">
    <field name="name">Hostel</field>
    <field name="res_model">travel.hostel</field>
    <field name="view_mode">form,tree</field>
    </record>
    <menuitem name="Travel Agency"
    id="menu_travel"/>
    <menuitem name="Hostels"
    id="menu_travel_hostel_form"
    action="action_travel_hostel_form" parent="menu_travel"/>
    <record model="ir.actions.act_window" id="action_travel_room_form">
    <field name="name">Room</field>
    <field name="res_model">travel.room</field>
    <field name="view_mode">form,tree</field>
    </record>
    <menuitem name="Rooms"
    id="menu_travel_room_form"
    action="action_travel_room_form" parent="menu_travel"/>
    <record model="ir.actions.act_window" id="action_travel_room_form1">
    <field name="name">Single Rooms</field>
    <field name="res_model">travel.room</field>
    <field name="domain">[('beds','=',1)]</field>
    <field name="view_mode">tree,form</field>
    </record>
    <menuitem name="Single rooms"
    id="menu_travel_room_form1"
    action="action_travel_room_form1" parent="menu_travel_room_form"/>
    <record model="ir.actions.act_window" id="action_travel_room_form2">
    <field name="name">Double Rooms</field>
    <field name="res_model">travel.room</field>
    <field name="domain">[('beds','=',2)]</field>
    <field name="view_mode">tree,form</field>
    </record>
    <menuitem name="Double rooms"
    id="menu_travel_room_form2"
    action="action_travel_room_form2" parent="menu_travel_room_form"/>
    </data>
    </openerp>
    [/code]

    然后 安装 该模块时. 出现错误.
    [code]
    Traceback (most recent call last):
    File "netsvc.pyo", line 231, in dispatch
    File "netsvc.pyo", line 74, in call
    File "serviceweb_services.pyo", line 537, in execute
    File "serviceweb_services.pyo", line 517, in execute
    File "wizard__init
    _.pyo", line 178, in execute
    File "wizard__init__.pyo", line 74, in execute_cr
    File "C:Program FilesOpenERP AllInOneServeraddonsbasemodulewizardwizard_module_upgrade.py", line 92, in upgrade_module
    File "pooler.pyo", line 61, in restart_pool
    File "pooler.pyo", line 40, in get_db_and_pool
    File "addons__init
    _.pyo", line 704, in load_modules
    File "addons__init__.pyo", line 605, in load_module_graph
    File "toolsconvert.pyo", line 881, in convert_xml_import
    File "toolsconvert.pyo", line 775, in parse
    File "toolsconvert.pyo", line 573, in _tag_menuitem
    File "toolsconvert.pyo", line 756, in id_get
    File "toolsmisc.pyo", line 640, in cached_result
    File "C:Program FilesOpenERP AllInOneServeraddonsbaseirir_model.py", line 416, in _get_id
    IndexError: list index out of range

    [/code]
    问下怎么解决? 谢谢大家.

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      把__terp__.py中的update_xml的值换成“traval_view.xml”

      [[i] 本帖最后由 digitalsatori 于 2009-3-24 21:42 编辑 [/i]]

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0
      • T 离线
        T 离线
        test004
        写于 最后由 编辑
        #3

        谢谢  [color=#666666][size=99px][color=#666666][size=99px]

        [color=#666666][size=99px]
        [color=#666666][size=99px]

        1 条回复 最后回复
        0
        • T 离线
          T 离线
          test004
          写于 最后由 编辑
          #4

          官方怎么没有一个比较完整的 模块呢? 好奇怪.

          1 条回复 最后回复
          0
          • digitalsatoriD 离线
            digitalsatoriD 离线
            digitalsatori 管理员
            写于 最后由 编辑
            #5

            没仔细看你贴出来的代码,你的custom.py中少了好多类定义啊
            [code]from osv import osv, fields

            class travel_hostel(osv.osv):
            _name = 'travel.hostel'
            _inherit = 'res.partner'
            _table = 'res_partner'
            _columns = {
            'rooms_id': fields.one2many('travel.room', 'hostel_id', 'Rooms'),
            'quality': fields.char('Quality', size=16),
            }
            travel_hostel()

            class travel_airport(osv.osv):
            _name = 'travel.airport'
            _columns = {
            'name': fields.char('Airport name', size=16),
            'city': fields.char('City', size=16),
            'country': fields.many2one('res.country', 'Country')
            }
            travel_airport()

            class travel_room(osv.osv):
            _name = 'travel.room'
            _inherit = 'product.product'
            _table = 'product_product'
            _columns = {
            'beds': fields.integer('Nbr of Beds'),
            'view': fields.selection([('sea','Sea'),('street','Street')], 'Room View'),
            'hostel_id': fields.many2one('travel.hostel', 'Hostel'),
            }
            travel_room()
            class travel_flight(osv.osv):
            _name = 'travel.flight'
            _inherit = 'product.product'
            _table = 'product_product'
            _columns = {
            'partner_id': fields.many2one('res.partner', 'PArtner'),
            'date': fields.datetime('Departure Date'),
            'airport_from': fields.many2one('travel.airport', 'Airport Departure'),
            'airport_to': fields.many2one('travel.airport', 'Airport Arrival'),
            }
            travel_flight()[/code]

            以上是完整的例子,目前你至少要定义travel_hostel和travel_room这两个类。
            仔细看开发文档中是怎么说的,文档中说按照travel_hostel的类定义方法去定义其他需要的类。

            [code]bzr clone lp:~openerp/openobject-addons/trunk addons
            bzr clone lp:~openerp-commiter/openobject-addons/trunk-extra-addons extra-addons[/code]
            可以获取开发中所有模块

            【上海先安科技】(tony AT openerp.cn)

            1 条回复 最后回复
            0
            • O 离线
              O 离线
              oldrev
              写于 最后由 编辑
              #6

              addons-extra 仓库里有可以运行的 travel

              1 条回复 最后回复
              0
              • T 离线
                T 离线
                test004
                写于 最后由 编辑
                #7

                我的模块内容 在上面都贴出来了.

                把 custom.py 的内容换为你提供的内容后, 安装后还是提示

                Object Error
                Object travel.room doesn't exist

                1 条回复 最后回复
                0
                • digitalsatoriD 离线
                  digitalsatoriD 离线
                  digitalsatori 管理员
                  写于 最后由 编辑
                  #8

                  停止openerp服务器,用以下命令重启服务器:

                  openerp-server&#46;py --update=travel
                  

                  【上海先安科技】(tony AT openerp.cn)

                  1 条回复 最后回复
                  0

                  • 登录

                  • 没有帐号? 注册

                  • 登录或注册以进行搜索。
                  • 第一个帖子
                    最后一个帖子
                  0
                  • 版块
                  • 标签
                  • 热门
                  • 用户
                  • 群组