Showing posts with label odoo. Show all posts
Showing posts with label odoo. Show all posts

Inherit page di Odoo 9

Setelah sekian abad lama mencari apa nama selector untuk menggantikan string (jika di odoo 8) akhirnya ketemu juga caranya. Dan disini saya ingin membagikannya kepada teman-teman semua yang membaca postingan saya ini.

Disini saya contohkan untuk menginherit form view yang di Sales Order.

Langsung saja, pertama kita buat modul baru di odoo server kita. Lalu kita buat file python

from openerp import models, fields, api, _ 
class InheritModule(models.Model):
_inherit = "sale.order"
_description = "sembarang opo kui, penjelasanmu, opo?" 
nama = fields.Char("Lowongan", required=True)


Untuk xml nya kita isi
<?xml version="1.0" encoding="utf-8"?>
  <openerp>
    <data>

      <!-- menambahkan record di sales order -->
      <record id="namamu" model="ir.ui.view">
        <field name="name">sale.order.inherit</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_order_form"/>
        <field name="arch" type="xml">
          <xpath expr="
/form/sheet[1]/notebook[1]/page[1]" position="after">
            <page string='Iki berhasil'>
              <field name="nama"/>
              <field name="gambar"/>
            </page>
          </xpath>
        </field>
      </record>
      <!-- / menambahkan record di sales order -->
 
    </data>
  </openerp>
 Pada selector tersebut kita menggunakan angka untuk mengindex yang mana yang akan kita inherit.
mulai dari form, sheet pertama, notebook pertama, dan page yang pertama di posisi setelahnya. Maka hasilnya akan seperti ini..


Terima kasih telah berkunjung, jika ada yang mau ditanyakan silahkan bertanya.

Mengatasi Error LookupError: the converter 'page' does not exist di Log Odoo Server

okehh, langsung saja. Inti permasalahannya adalah di database.. tadi saya juga mengalami masalah yang serupa. Setiap kalo run server dan masuk ke localhost:port odoo yang kita gunakan, pasti menemui 500 Internal Server Error. dan di log tertulis 

2016-11-09 09:49:38,159 10150 ERROR maksindo werkzeug: Error on request:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 180, in run_wsgi
    execute(self.server.app)
  File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 168, in execute
    application_iter = app(environ, start_response)
  File "/home/afrijal/odoo-dev/odoo8/openerp/service/server.py", line 291, in app
    return self.app(e, s)
  File "/home/afrijal/odoo-dev/odoo8/openerp/service/wsgi_server.py", line 216, in application
    return application_unproxied(environ, start_response)
  File "/home/afrijal/odoo-dev/odoo8/openerp/service/wsgi_server.py", line 202, in application_unproxied
    result = handler(environ, start_response)
  File "/home/afrijal/odoo-dev/odoo8/openerp/http.py", line 1297, in __call__
    return self.dispatch(environ, start_response)
  File "/home/afrijal/odoo-dev/odoo8/openerp/http.py", line 1271, in __call__
    return self.app(environ, start_wrapped)
  File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 591, in __call__
    return self.app(environ, start_response)
  File "/home/afrijal/odoo-dev/odoo8/openerp/http.py", line 1444, in dispatch
    result = ir_http._dispatch()
  File "/home/afrijal/odoo-dev/odoo8/addons/ori/base/ir/ir_http.py", line 152, in _dispatch
    rule, arguments = self._find_handler(return_rule=True)
  File "/home/afrijal/odoo-dev/odoo8/addons/ori/base/ir/ir_http.py", line 65, in _find_handler
    return self.routing_map().bind_to_environ(request.httprequest.environ).match(return_rule=return_rule)
  File "/home/afrijal/odoo-dev/odoo8/addons/ori/base/ir/ir_http.py", line 199, in routing_map
    self._routing_map = http.routing_map(mods, False, converters=self._get_converters())
  File "/home/afrijal/odoo-dev/odoo8/openerp/http.py", line 863, in routing_map
    routing_map.add(werkzeug.routing.Rule(url, endpoint=endpoint, methods=routing['methods'], **kw))
  File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 1128, in add
    rule.bind(self)
  File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 622, in bind
    self.compile()
  File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 672, in compile
    _build_regex(self.is_leaf and self.rule or self.rule.rstrip('/'))
  File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 662, in _build_regex
    variable, converter, c_args, c_kwargs)
  File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 630, in get_converter
    raise LookupError('the converter %r does not exist' % converter_name)
LookupError: the converter 'page' does not exist

saya sudah mencari-cari solusinya di google (stackoverflow) dan kebanyakan disuruh menghapus cache di browser dan menggunakan mode incognito setiap kali ingin develop.

Disini saya sebenarnya hanya ingin menampilkan homescreen odoo di web browser saya. Saya berinisitatif membuat database baru dan ternyata berhasil. Cara yang saya gunakan adalah sebagai berikut.

Pertama, saya masuk dulu ke postgresql dengan user postgres
sudo -u postgres psql
Kemudian saya membuat database baru
 create database <nama database>;
Untuk menampilkan daftar database kita bisa menggunakan
\l
 nah disana akan terlihat nama database kita dan owner database kita. Pastikan owner database sama dengan db_user yang terdapat pada file konfigurasi odoo di server kita. cara mengubahnya yaitu dengan
ALTER DATABASE <nama database> OWNER TO <nama owner baru>;
Kita cek lagi daftar database, maka  owner database kita telah berubah. sekarang kita tinggal menjalankan odoo server kita dengan perintah sebagai berikut
./odoo.py -c <file konfigurasi> -d <nama database>
Setelah kita masuk ke localhost:port yang telah kita konfigurasi, maka tampilan odoo akan keluar..

Sekian postingan saya kali ini, jika ada pertanyaan silahkan bertanya. Bisa dengan komentar atau langsung ke sosial media yang sudah saya bagikan untuk lebih cepat dalam responnya.

Mohon maaf jika ada kekurangan, terima kasih sudah membaca

Wassalamu'alaikum Wr. Wb.

Rabu, 9 November 2016
di Rumah Bude, Bintara, Bekasi Barat
Bekasi