odoo

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

README

go-odoo

An Odoo API client enabling Go programs to interact with Odoo in a simple and uniform way.

GitHub license GoDoc Go Report Card GitHub issues

Usage

Generate your models

Note: Generating models require to follow instructions in GOPATH mode. Refactoring for go modules will come soon.

Define the environment variables to be able to connect to your odoo instance :

(Don't set ODOO_MODELS if you want all your models to be generated)

export ODOO_ADMIN=admin // ensure the user has sufficient permissions to generate models
export ODOO_PASSWORD=password
export ODOO_DATABASE=odoo
export ODOO_URL=http://localhost:8069
export ODOO_MODELS="crm.lead"

ODOO_REPO_PATH is the path where the repository will be downloaded (by default its GOPATH):

export ODOO_REPO_PATH=$(echo $GOPATH | awk -F ':' '{ print $1 }')/src/github.com/skilld-labs/go-odoo

Download library and generate models :

GO111MODULE="off" go get github.com/skilld-labs/go-odoo
cd $ODOO_REPO_PATH
ls | grep -v "conversion.go\|generator\|go.mod\|go-odoo-generator\|go.sum\|ir_model_fields.go\|ir_model.go\|LICENSE\|odoo.go\|README.md\|types.go\|version.go" // keep only go-odoo core files
GO111MODULE="off" go generate

That's it ! Your models have been generated !

Current generated models
Core models

Core models are ir_model.go and ir_model_fields.go since there are used to generate models.

It is highly recommanded to not remove them, since you would not be able to generate models again.

Custom skilld-labs models

All others models (not core one) are specific to skilld-labs usage. They use our own odoo instance which is version 11. (note that models structure changed between odoo major versions).

If you're ok to work with those models, you can use this library instance, if not you should fork the repository and generate you own models by following steps above.

Enjoy coding!

(All exemples on this README are based on model crm.lead)

package main

import (
	odoo "github.com/skilld-labs/go-odoo"
)

func main() {
	c, err := odoo.NewClient(&odoo.ClientConfig{
		Admin:    "admin",
		Password: "password",
		Database: "odoo",
		URL:      "http://localhost:8069",
	})
	if err != nil {
		log.Fatal(err)
	}
	crm := &odoo.CrmLead{
		Name: odoo.NewString("my first opportunity"),
	}
	if id, err := c.CreateCrmLead(crm); err != nil {
		log.Fatal(err)
	} else {
		fmt.Printf("the id of the new crm.lead is %d", id)
	}
}

Models

Generated models contains high level functions to interact with models in an easy and golang way. It covers the most common usage and contains for each models those functions :

Create
func (c *Client) CreateCrmLead(cl *CrmLead) (int64, error) {}
func (c *Client) CreateCrmLeads(cls []*CrmLead) ([]int64, error) {} // !! Only for odoo 12+ versions !!
Update
func (c *Client) UpdateCrmLead(cl *CrmLead) error {}
func (c *Client) UpdateCrmLeads(ids []int64, cl *CrmLead) error {}
Delete
func (c *Client) DeleteCrmLead(id int64) error {}
func (c *Client) DeleteCrmLeads(ids []int64) error {}
Get
func (c *Client) GetCrmLead(id int64) (*CrmLead, error) {}
func (c *Client) GetCrmLeads(ids []int64) (*CrmLeads, error) {}
Find

Find is powerful and allow you to query a model and filter results. Criteria and Options

func (c *Client) FindCrmLead(criteria *Criteria) (*CrmLead, error) {}
func (c *Client) FindCrmLeads(criteria *Criteria, options *Options) (*CrmLeads, error) {}
Conversion

Generated models can be converted to Many2One easily.

func (cl *CrmLead) Many2One() *Many2One {}

Types

The library contains custom types to improve the usability :

Basic types
func NewString(v string) *String {}
func (s *String) Get() string {}

func NewInt(v int64) *Int {}
func (i *Int) Get() int64 {}

func NewBool(v bool) *Bool {}
func (b *Bool) Get() bool {}

func NewSelection(v interface{}) *Selection {}
func (s *Selection) Get() (interface{}) {}

func NewTime(v time.Time) *Time {}
func (t *Time) Get() time.Time {}

func NewFloat(v float64) *Float {}
func (f *Float) Get() float64 {}
Relational types
func NewMany2One(id int64, name string) *Many2One {}
func (m *Many2One) Get() int64 {}

func NewRelation() *Relation {}
func (r *Relation) Get() []int64 {}

one2many and many2many are represented by the Relation type and allow you to execute special actions as defined here.

Criteria and Options

Criteria is a set of Criterion and allow you to query models. More informations

Combined Criterions

Criterions can be combined using AND (arity 2), OR (arity 2) and NOT (arity 1) operators. Criteria have And, Or and Not methods to be able to do such query eg:

c := odoo.NewCriteria().Or(
	odoo.NewCriterion("user_id.name", "=", "Jane Doe"),
	odoo.NewCriterion("user_id.name", "=", "John Doe"),
)

Options allow you to filter results.

cls, err := c.FindCrmLeads(odoo.NewCriteria().Add("user_id.name", "=", "John Doe"), odoo.NewOptions().Limit(2))

Low level functions

All high level functions are based on basic odoo webservices functions.

These functions give you more flexibility but less usability. We recommand you to use models functions (high level).

Here are available low level functions :

func (c *Client) Create(model string, values []interface{}) ([]int64, error) {} !! Creating multiple instances is only for odoo 12+ versions !!
func (c *Client) Update(model string, ids []int64, values interface{}) error {}
func (c *Client) Delete(model string, ids []int64) error {}
func (c *Client) SearchRead(model string, criteria *Criteria, options *Options, elem interface{}) error {}
func (c *Client) Read(model string, ids []int64, options *Options, elem interface{}) error {}
func (c *Client) Count(model string, criteria *Criteria, options *Options) (int64, error) {}
func (c *Client) Search(model string, criteria *Criteria, options *Options) ([]int64, error) {}
func (c *Client) FieldsGet(model string, options *Options) (map[string]interface{}, error) {}
func (c *Client) ExecuteKw(method, model string, args []interface{}, options *Options) (interface{}, error) {}

Todo

  • Tests
  • Modular template

Issues

Documentation

Overview

Package odoo contains client code of library

Index

Constants

View Source
const IrModelFieldsModel = "ir.model.fields"

IrModelFieldsModel is the odoo model name.

View Source
const IrModelModel = "ir.model"

IrModelModel is the odoo model name.

View Source
const LoyaltyCardModel = "loyalty.card"

LoyaltyCardModel is the odoo model name.

View Source
const PaymentLinkWizardModel = "payment.link.wizard"

PaymentLinkWizardModel is the odoo model name.

View Source
const RatingMixinModel = "rating.mixin"

RatingMixinModel is the odoo model name.

View Source
const ResPartnerModel = "res.partner"

ResPartnerModel is the odoo model name.

View Source
const ResUsersModel = "res.users"

ResUsersModel is the odoo model name.

View Source
const SaleOrderLineModel = "sale.order.line"

SaleOrderLineModel is the odoo model name.

View Source
const SaleOrderModel = "sale.order"

SaleOrderModel is the odoo model name.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bool

type Bool struct {
	// contains filtered or unexported fields
}

Bool is a bool wrapper

func NewBool

func NewBool(v bool) *Bool

NewBool creates a new *Bool.

func (*Bool) Get

func (b *Bool) Get() bool

Get *Bool value.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides high and low level functions to interact with odoo

func NewClient

func NewClient(cfg *ClientConfig) (*Client, error)

NewClient creates a new *Client.

func (*Client) Close

func (c *Client) Close()

Close closes all opened client connections.

func (*Client) Count

func (c *Client) Count(model string, criteria *Criteria, options *Options) (int64, error)

Count model records matching with *Criteria. https://www.odoo.com/documentation/13.0/webservices/odoo.html#count-records

func (*Client) Create

func (c *Client) Create(model string, values []interface{}) ([]int64, error)

Create new model instances. https://www.odoo.com/documentation/13.0/webservices/odoo.html#create-records

func (*Client) CreateIrModel

func (c *Client) CreateIrModel(im *IrModel) (int64, error)

CreateIrModel creates a new ir.model model and returns its id.

func (*Client) CreateIrModelFields

func (c *Client) CreateIrModelFields(imf *IrModelFields) (int64, error)

CreateIrModelFields creates a new ir.model.fields model and returns its id.

func (*Client) CreateIrModelFieldss

func (c *Client) CreateIrModelFieldss(imfs []*IrModelFields) ([]int64, error)

CreateIrModelFields creates a new ir.model.fields model and returns its id.

func (*Client) CreateIrModels

func (c *Client) CreateIrModels(ims []*IrModel) ([]int64, error)

CreateIrModel creates a new ir.model model and returns its id.

func (*Client) CreateLoyaltyCard

func (c *Client) CreateLoyaltyCard(lc *LoyaltyCard) (int64, error)

CreateLoyaltyCard creates a new loyalty.card model and returns its id.

func (*Client) CreateLoyaltyCards

func (c *Client) CreateLoyaltyCards(lcs []*LoyaltyCard) ([]int64, error)

CreateLoyaltyCard creates a new loyalty.card model and returns its id.

func (*Client) CreatePaymentLinkWizard added in v1.0.1

func (c *Client) CreatePaymentLinkWizard(plw *PaymentLinkWizard) (int64, error)

CreatePaymentLinkWizard creates a new payment.link.wizard model and returns its id.

func (*Client) CreatePaymentLinkWizards added in v1.0.1

func (c *Client) CreatePaymentLinkWizards(plws []*PaymentLinkWizard) ([]int64, error)

CreatePaymentLinkWizard creates a new payment.link.wizard model and returns its id.

func (*Client) CreateRatingMixin added in v1.0.1

func (c *Client) CreateRatingMixin(rm *RatingMixin) (int64, error)

CreateRatingMixin creates a new rating.mixin model and returns its id.

func (*Client) CreateRatingMixins added in v1.0.1

func (c *Client) CreateRatingMixins(rms []*RatingMixin) ([]int64, error)

CreateRatingMixin creates a new rating.mixin model and returns its id.

func (*Client) CreateResPartner

func (c *Client) CreateResPartner(rp *ResPartner) (int64, error)

CreateResPartner creates a new res.partner model and returns its id.

func (*Client) CreateResPartners

func (c *Client) CreateResPartners(rps []*ResPartner) ([]int64, error)

CreateResPartner creates a new res.partner model and returns its id.

func (*Client) CreateResUsers

func (c *Client) CreateResUsers(ru *ResUsers) (int64, error)

CreateResUsers creates a new res.users model and returns its id.

func (*Client) CreateResUserss

func (c *Client) CreateResUserss(rus []*ResUsers) ([]int64, error)

CreateResUsers creates a new res.users model and returns its id.

func (*Client) CreateSaleOrder

func (c *Client) CreateSaleOrder(so *SaleOrder) (int64, error)

CreateSaleOrder creates a new sale.order model and returns its id.

func (*Client) CreateSaleOrderLine

func (c *Client) CreateSaleOrderLine(sol *SaleOrderLine) (int64, error)

CreateSaleOrderLine creates a new sale.order.line model and returns its id.

func (*Client) CreateSaleOrderLines

func (c *Client) CreateSaleOrderLines(sols []*SaleOrderLine) ([]int64, error)

CreateSaleOrderLine creates a new sale.order.line model and returns its id.

func (*Client) CreateSaleOrders

func (c *Client) CreateSaleOrders(sos []*SaleOrder) ([]int64, error)

CreateSaleOrder creates a new sale.order model and returns its id.

func (*Client) Delete

func (c *Client) Delete(model string, ids []int64) error

Delete existing model row(s). https://www.odoo.com/documentation/13.0/webservices/odoo.html#delete-records

func (*Client) DeleteIrModel

func (c *Client) DeleteIrModel(id int64) error

DeleteIrModel deletes an existing ir.model record.

func (*Client) DeleteIrModelFields

func (c *Client) DeleteIrModelFields(id int64) error

DeleteIrModelFields deletes an existing ir.model.fields record.

func (*Client) DeleteIrModelFieldss

func (c *Client) DeleteIrModelFieldss(ids []int64) error

DeleteIrModelFieldss deletes existing ir.model.fields records.

func (*Client) DeleteIrModels

func (c *Client) DeleteIrModels(ids []int64) error

DeleteIrModels deletes existing ir.model records.

func (*Client) DeleteLoyaltyCard

func (c *Client) DeleteLoyaltyCard(id int64) error

DeleteLoyaltyCard deletes an existing loyalty.card record.

func (*Client) DeleteLoyaltyCards

func (c *Client) DeleteLoyaltyCards(ids []int64) error

DeleteLoyaltyCards deletes existing loyalty.card records.

func (*Client) DeletePaymentLinkWizard added in v1.0.1

func (c *Client) DeletePaymentLinkWizard(id int64) error

DeletePaymentLinkWizard deletes an existing payment.link.wizard record.

func (*Client) DeletePaymentLinkWizards added in v1.0.1

func (c *Client) DeletePaymentLinkWizards(ids []int64) error

DeletePaymentLinkWizards deletes existing payment.link.wizard records.

func (*Client) DeleteRatingMixin added in v1.0.1

func (c *Client) DeleteRatingMixin(id int64) error

DeleteRatingMixin deletes an existing rating.mixin record.

func (*Client) DeleteRatingMixins added in v1.0.1

func (c *Client) DeleteRatingMixins(ids []int64) error

DeleteRatingMixins deletes existing rating.mixin records.

func (*Client) DeleteResPartner

func (c *Client) DeleteResPartner(id int64) error

DeleteResPartner deletes an existing res.partner record.

func (*Client) DeleteResPartners

func (c *Client) DeleteResPartners(ids []int64) error

DeleteResPartners deletes existing res.partner records.

func (*Client) DeleteResUsers

func (c *Client) DeleteResUsers(id int64) error

DeleteResUsers deletes an existing res.users record.

func (*Client) DeleteResUserss

func (c *Client) DeleteResUserss(ids []int64) error

DeleteResUserss deletes existing res.users records.

func (*Client) DeleteSaleOrder

func (c *Client) DeleteSaleOrder(id int64) error

DeleteSaleOrder deletes an existing sale.order record.

func (*Client) DeleteSaleOrderLine

func (c *Client) DeleteSaleOrderLine(id int64) error

DeleteSaleOrderLine deletes an existing sale.order.line record.

func (*Client) DeleteSaleOrderLines

func (c *Client) DeleteSaleOrderLines(ids []int64) error

DeleteSaleOrderLines deletes existing sale.order.line records.

func (*Client) DeleteSaleOrders

func (c *Client) DeleteSaleOrders(ids []int64) error

DeleteSaleOrders deletes existing sale.order records.

func (*Client) ExecuteKw

func (c *Client) ExecuteKw(method, model string, args []interface{}, options *Options) (interface{}, error)

ExecuteKw is a RPC function. The lowest library function. It is use for all function related to "xmlrpc/2/object" endpoint.

func (*Client) FieldsGet

func (c *Client) FieldsGet(model string, options *Options) (map[string]interface{}, error)

FieldsGet inspect model fields. https://www.odoo.com/documentation/13.0/webservices/odoo.html#listing-record-fields

func (*Client) FindIrModel

func (c *Client) FindIrModel(criteria *Criteria) (*IrModel, error)

FindIrModel finds ir.model record by querying it with criteria.

func (*Client) FindIrModelFields

func (c *Client) FindIrModelFields(criteria *Criteria) (*IrModelFields, error)

FindIrModelFields finds ir.model.fields record by querying it with criteria.

func (*Client) FindIrModelFieldsId

func (c *Client) FindIrModelFieldsId(criteria *Criteria, options *Options) (int64, error)

FindIrModelFieldsId finds record id by querying it with criteria.

func (*Client) FindIrModelFieldsIds

func (c *Client) FindIrModelFieldsIds(criteria *Criteria, options *Options) ([]int64, error)

FindIrModelFieldsIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindIrModelFieldss

func (c *Client) FindIrModelFieldss(criteria *Criteria, options *Options) (*IrModelFieldss, error)

FindIrModelFieldss finds ir.model.fields records by querying it and filtering it with criteria and options.

func (*Client) FindIrModelId

func (c *Client) FindIrModelId(criteria *Criteria, options *Options) (int64, error)

FindIrModelId finds record id by querying it with criteria.

func (*Client) FindIrModelIds

func (c *Client) FindIrModelIds(criteria *Criteria, options *Options) ([]int64, error)

FindIrModelIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindIrModels

func (c *Client) FindIrModels(criteria *Criteria, options *Options) (*IrModels, error)

FindIrModels finds ir.model records by querying it and filtering it with criteria and options.

func (*Client) FindLoyaltyCard

func (c *Client) FindLoyaltyCard(criteria *Criteria) (*LoyaltyCard, error)

FindLoyaltyCard finds loyalty.card record by querying it with criteria.

func (*Client) FindLoyaltyCardId

func (c *Client) FindLoyaltyCardId(criteria *Criteria, options *Options) (int64, error)

FindLoyaltyCardId finds record id by querying it with criteria.

func (*Client) FindLoyaltyCardIds

func (c *Client) FindLoyaltyCardIds(criteria *Criteria, options *Options) ([]int64, error)

FindLoyaltyCardIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindLoyaltyCards

func (c *Client) FindLoyaltyCards(criteria *Criteria, options *Options) (*LoyaltyCards, error)

FindLoyaltyCards finds loyalty.card records by querying it and filtering it with criteria and options.

func (*Client) FindPaymentLinkWizard added in v1.0.1

func (c *Client) FindPaymentLinkWizard(criteria *Criteria) (*PaymentLinkWizard, error)

FindPaymentLinkWizard finds payment.link.wizard record by querying it with criteria.

func (*Client) FindPaymentLinkWizardId added in v1.0.1

func (c *Client) FindPaymentLinkWizardId(criteria *Criteria, options *Options) (int64, error)

FindPaymentLinkWizardId finds record id by querying it with criteria.

func (*Client) FindPaymentLinkWizardIds added in v1.0.1

func (c *Client) FindPaymentLinkWizardIds(criteria *Criteria, options *Options) ([]int64, error)

FindPaymentLinkWizardIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindPaymentLinkWizards added in v1.0.1

func (c *Client) FindPaymentLinkWizards(criteria *Criteria, options *Options) (*PaymentLinkWizards, error)

FindPaymentLinkWizards finds payment.link.wizard records by querying it and filtering it with criteria and options.

func (*Client) FindRatingMixin added in v1.0.1

func (c *Client) FindRatingMixin(criteria *Criteria) (*RatingMixin, error)

FindRatingMixin finds rating.mixin record by querying it with criteria.

func (*Client) FindRatingMixinId added in v1.0.1

func (c *Client) FindRatingMixinId(criteria *Criteria, options *Options) (int64, error)

FindRatingMixinId finds record id by querying it with criteria.

func (*Client) FindRatingMixinIds added in v1.0.1

func (c *Client) FindRatingMixinIds(criteria *Criteria, options *Options) ([]int64, error)

FindRatingMixinIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindRatingMixins added in v1.0.1

func (c *Client) FindRatingMixins(criteria *Criteria, options *Options) (*RatingMixins, error)

FindRatingMixins finds rating.mixin records by querying it and filtering it with criteria and options.

func (*Client) FindResPartner

func (c *Client) FindResPartner(criteria *Criteria) (*ResPartner, error)

FindResPartner finds res.partner record by querying it with criteria.

func (*Client) FindResPartnerId

func (c *Client) FindResPartnerId(criteria *Criteria, options *Options) (int64, error)

FindResPartnerId finds record id by querying it with criteria.

func (*Client) FindResPartnerIds

func (c *Client) FindResPartnerIds(criteria *Criteria, options *Options) ([]int64, error)

FindResPartnerIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindResPartners

func (c *Client) FindResPartners(criteria *Criteria, options *Options) (*ResPartners, error)

FindResPartners finds res.partner records by querying it and filtering it with criteria and options.

func (*Client) FindResUsers

func (c *Client) FindResUsers(criteria *Criteria) (*ResUsers, error)

FindResUsers finds res.users record by querying it with criteria.

func (*Client) FindResUsersId

func (c *Client) FindResUsersId(criteria *Criteria, options *Options) (int64, error)

FindResUsersId finds record id by querying it with criteria.

func (*Client) FindResUsersIds

func (c *Client) FindResUsersIds(criteria *Criteria, options *Options) ([]int64, error)

FindResUsersIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindResUserss

func (c *Client) FindResUserss(criteria *Criteria, options *Options) (*ResUserss, error)

FindResUserss finds res.users records by querying it and filtering it with criteria and options.

func (*Client) FindSaleOrder

func (c *Client) FindSaleOrder(criteria *Criteria) (*SaleOrder, error)

FindSaleOrder finds sale.order record by querying it with criteria.

func (*Client) FindSaleOrderId

func (c *Client) FindSaleOrderId(criteria *Criteria, options *Options) (int64, error)

FindSaleOrderId finds record id by querying it with criteria.

func (*Client) FindSaleOrderIds

func (c *Client) FindSaleOrderIds(criteria *Criteria, options *Options) ([]int64, error)

FindSaleOrderIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindSaleOrderLine

func (c *Client) FindSaleOrderLine(criteria *Criteria) (*SaleOrderLine, error)

FindSaleOrderLine finds sale.order.line record by querying it with criteria.

func (*Client) FindSaleOrderLineId

func (c *Client) FindSaleOrderLineId(criteria *Criteria, options *Options) (int64, error)

FindSaleOrderLineId finds record id by querying it with criteria.

func (*Client) FindSaleOrderLineIds

func (c *Client) FindSaleOrderLineIds(criteria *Criteria, options *Options) ([]int64, error)

FindSaleOrderLineIds finds records ids by querying it and filtering it with criteria and options.

func (*Client) FindSaleOrderLines

func (c *Client) FindSaleOrderLines(criteria *Criteria, options *Options) (*SaleOrderLines, error)

FindSaleOrderLines finds sale.order.line records by querying it and filtering it with criteria and options.

func (*Client) FindSaleOrders

func (c *Client) FindSaleOrders(criteria *Criteria, options *Options) (*SaleOrders, error)

FindSaleOrders finds sale.order records by querying it and filtering it with criteria and options.

func (*Client) GetIrModel

func (c *Client) GetIrModel(id int64) (*IrModel, error)

GetIrModel gets ir.model existing record.

func (*Client) GetIrModelFields

func (c *Client) GetIrModelFields(id int64) (*IrModelFields, error)

GetIrModelFields gets ir.model.fields existing record.

func (*Client) GetIrModelFieldss

func (c *Client) GetIrModelFieldss(ids []int64) (*IrModelFieldss, error)

GetIrModelFieldss gets ir.model.fields existing records.

func (*Client) GetIrModels

func (c *Client) GetIrModels(ids []int64) (*IrModels, error)

GetIrModels gets ir.model existing records.

func (*Client) GetLoyaltyCard

func (c *Client) GetLoyaltyCard(id int64) (*LoyaltyCard, error)

GetLoyaltyCard gets loyalty.card existing record.

func (*Client) GetLoyaltyCards

func (c *Client) GetLoyaltyCards(ids []int64) (*LoyaltyCards, error)

GetLoyaltyCards gets loyalty.card existing records.

func (*Client) GetPaymentLinkWizard added in v1.0.1

func (c *Client) GetPaymentLinkWizard(id int64) (*PaymentLinkWizard, error)

GetPaymentLinkWizard gets payment.link.wizard existing record.

func (*Client) GetPaymentLinkWizards added in v1.0.1

func (c *Client) GetPaymentLinkWizards(ids []int64) (*PaymentLinkWizards, error)

GetPaymentLinkWizards gets payment.link.wizard existing records.

func (*Client) GetRatingMixin added in v1.0.1

func (c *Client) GetRatingMixin(id int64) (*RatingMixin, error)

GetRatingMixin gets rating.mixin existing record.

func (*Client) GetRatingMixins added in v1.0.1

func (c *Client) GetRatingMixins(ids []int64) (*RatingMixins, error)

GetRatingMixins gets rating.mixin existing records.

func (*Client) GetResPartner

func (c *Client) GetResPartner(id int64) (*ResPartner, error)

GetResPartner gets res.partner existing record.

func (*Client) GetResPartners

func (c *Client) GetResPartners(ids []int64) (*ResPartners, error)

GetResPartners gets res.partner existing records.

func (*Client) GetResUsers

func (c *Client) GetResUsers(id int64) (*ResUsers, error)

GetResUsers gets res.users existing record.

func (*Client) GetResUserss

func (c *Client) GetResUserss(ids []int64) (*ResUserss, error)

GetResUserss gets res.users existing records.

func (*Client) GetSaleOrder

func (c *Client) GetSaleOrder(id int64) (*SaleOrder, error)

GetSaleOrder gets sale.order existing record.

func (*Client) GetSaleOrderLine

func (c *Client) GetSaleOrderLine(id int64) (*SaleOrderLine, error)

GetSaleOrderLine gets sale.order.line existing record.

func (*Client) GetSaleOrderLines

func (c *Client) GetSaleOrderLines(ids []int64) (*SaleOrderLines, error)

GetSaleOrderLines gets sale.order.line existing records.

func (*Client) GetSaleOrders

func (c *Client) GetSaleOrders(ids []int64) (*SaleOrders, error)

GetSaleOrders gets sale.order existing records.

func (*Client) Read

func (c *Client) Read(model string, ids []int64, options *Options, elem interface{}) error

Read model records matching with ids. https://www.odoo.com/documentation/13.0/webservices/odoo.html#read-records

func (*Client) Search

func (c *Client) Search(model string, criteria *Criteria, options *Options) ([]int64, error)

Search model record ids matching with *Criteria. https://www.odoo.com/documentation/13.0/webservices/odoo.html#list-records

func (*Client) SearchRead

func (c *Client) SearchRead(model string, criteria *Criteria, options *Options, elem interface{}) error

SearchRead search model records matching with *Criteria and read it. https://www.odoo.com/documentation/13.0/webservices/odoo.html#search-and-read

func (*Client) Update

func (c *Client) Update(model string, ids []int64, values interface{}) error

Update existing model row(s). https://www.odoo.com/documentation/13.0/webservices/odoo.html#update-records

func (*Client) UpdateIrModel

func (c *Client) UpdateIrModel(im *IrModel) error

UpdateIrModel updates an existing ir.model record.

func (*Client) UpdateIrModelFields

func (c *Client) UpdateIrModelFields(imf *IrModelFields) error

UpdateIrModelFields updates an existing ir.model.fields record.

func (*Client) UpdateIrModelFieldss

func (c *Client) UpdateIrModelFieldss(ids []int64, imf *IrModelFields) error

UpdateIrModelFieldss updates existing ir.model.fields records. All records (represented by ids) will be updated by imf values.

func (*Client) UpdateIrModels

func (c *Client) UpdateIrModels(ids []int64, im *IrModel) error

UpdateIrModels updates existing ir.model records. All records (represented by ids) will be updated by im values.

func (*Client) UpdateLoyaltyCard

func (c *Client) UpdateLoyaltyCard(lc *LoyaltyCard) error

UpdateLoyaltyCard updates an existing loyalty.card record.

func (*Client) UpdateLoyaltyCards

func (c *Client) UpdateLoyaltyCards(ids []int64, lc *LoyaltyCard) error

UpdateLoyaltyCards updates existing loyalty.card records. All records (represented by ids) will be updated by lc values.

func (*Client) UpdatePaymentLinkWizard added in v1.0.1

func (c *Client) UpdatePaymentLinkWizard(plw *PaymentLinkWizard) error

UpdatePaymentLinkWizard updates an existing payment.link.wizard record.

func (*Client) UpdatePaymentLinkWizards added in v1.0.1

func (c *Client) UpdatePaymentLinkWizards(ids []int64, plw *PaymentLinkWizard) error

UpdatePaymentLinkWizards updates existing payment.link.wizard records. All records (represented by ids) will be updated by plw values.

func (*Client) UpdateRatingMixin added in v1.0.1

func (c *Client) UpdateRatingMixin(rm *RatingMixin) error

UpdateRatingMixin updates an existing rating.mixin record.

func (*Client) UpdateRatingMixins added in v1.0.1

func (c *Client) UpdateRatingMixins(ids []int64, rm *RatingMixin) error

UpdateRatingMixins updates existing rating.mixin records. All records (represented by ids) will be updated by rm values.

func (*Client) UpdateResPartner

func (c *Client) UpdateResPartner(rp *ResPartner) error

UpdateResPartner updates an existing res.partner record.

func (*Client) UpdateResPartners

func (c *Client) UpdateResPartners(ids []int64, rp *ResPartner) error

UpdateResPartners updates existing res.partner records. All records (represented by ids) will be updated by rp values.

func (*Client) UpdateResUsers

func (c *Client) UpdateResUsers(ru *ResUsers) error

UpdateResUsers updates an existing res.users record.

func (*Client) UpdateResUserss

func (c *Client) UpdateResUserss(ids []int64, ru *ResUsers) error

UpdateResUserss updates existing res.users records. All records (represented by ids) will be updated by ru values.

func (*Client) UpdateSaleOrder

func (c *Client) UpdateSaleOrder(so *SaleOrder) error

UpdateSaleOrder updates an existing sale.order record.

func (*Client) UpdateSaleOrderLine

func (c *Client) UpdateSaleOrderLine(sol *SaleOrderLine) error

UpdateSaleOrderLine updates an existing sale.order.line record.

func (*Client) UpdateSaleOrderLines

func (c *Client) UpdateSaleOrderLines(ids []int64, sol *SaleOrderLine) error

UpdateSaleOrderLines updates existing sale.order.line records. All records (represented by ids) will be updated by sol values.

func (*Client) UpdateSaleOrders

func (c *Client) UpdateSaleOrders(ids []int64, so *SaleOrder) error

UpdateSaleOrders updates existing sale.order records. All records (represented by ids) will be updated by so values.

func (*Client) Version

func (c *Client) Version() (Version, error)

Version get informations about your odoo instance version.

type ClientConfig

type ClientConfig struct {
	Database string
	Admin    string
	Password string
	URL      string
}

ClientConfig is the configuration to create a new *Client by givin connection infomations.

type Criteria

type Criteria []interface{}

Criteria is a set of Criterion, each Criterion is a triple (field_name, operator, value). It allow you to search models. see documentation: https://www.odoo.com/documentation/13.0/reference/orm.html#reference-orm-domains

func NewCriteria

func NewCriteria() *Criteria

NewCriteria creates a new *Criteria.

func (*Criteria) Add

func (c *Criteria) Add(field, operator string, value interface{}) *Criteria

Add a new Criterion to a *Criteria.

func (*Criteria) AddCriterion

func (c *Criteria) AddCriterion(cri *Criterion) *Criteria

Add a new Criterion to a *Criteria.

func (*Criteria) And

func (c *Criteria) And(c1, c2 *Criterion) *Criteria

func (*Criteria) Not

func (c *Criteria) Not(cri *Criterion) *Criteria

func (*Criteria) Or

func (c *Criteria) Or(c1, c2 *Criterion) *Criteria

type Criterion

type Criterion []interface{}

func NewCriterion

func NewCriterion(field, operator string, value interface{}) *Criterion

func (*Criterion) ToInterface

func (c *Criterion) ToInterface() []interface{}

type Float

type Float struct {
	// contains filtered or unexported fields
}

Float is a float64 wrapper

func NewFloat

func NewFloat(v float64) *Float

NewFloat creates a new *Float.

func (*Float) Get

func (f *Float) Get() float64

Get *Float value.

type Int

type Int struct {
	// contains filtered or unexported fields
}

Int is an int64 wrapper

func NewInt

func NewInt(v int64) *Int

NewInt creates a new *Int.

func (*Int) Get

func (i *Int) Get() int64

Get *Int value.

type IrModel

type IrModel struct {
	LastUpdate        *Time      `xmlrpc:"__last_update,omptempty"`
	AccessIds         *Relation  `xmlrpc:"access_ids,omptempty"`
	Count             *Int       `xmlrpc:"count,omptempty"`
	CreateDate        *Time      `xmlrpc:"create_date,omptempty"`
	CreateUid         *Many2One  `xmlrpc:"create_uid,omptempty"`
	DisplayName       *String    `xmlrpc:"display_name,omptempty"`
	FieldId           *Relation  `xmlrpc:"field_id,omptempty"`
	Id                *Int       `xmlrpc:"id,omptempty"`
	Info              *String    `xmlrpc:"info,omptempty"`
	InheritedModelIds *Relation  `xmlrpc:"inherited_model_ids,omptempty"`
	IsMailThread      *Bool      `xmlrpc:"is_mail_thread,omptempty"`
	Model             *String    `xmlrpc:"model,omptempty"`
	Modules           *String    `xmlrpc:"modules,omptempty"`
	Name              *String    `xmlrpc:"name,omptempty"`
	State             *Selection `xmlrpc:"state,omptempty"`
	Transient         *Bool      `xmlrpc:"transient,omptempty"`
	ViewIds           *Relation  `xmlrpc:"view_ids,omptempty"`
	WriteDate         *Time      `xmlrpc:"write_date,omptempty"`
	WriteUid          *Many2One  `xmlrpc:"write_uid,omptempty"`
}

IrModel represents ir.model model.

func (*IrModel) Many2One

func (im *IrModel) Many2One() *Many2One

Many2One convert IrModel to *Many2One.

type IrModelFields

type IrModelFields struct {
	LastUpdate       *Time      `xmlrpc:"__last_update,omptempty"`
	Column1          *String    `xmlrpc:"column1,omptempty"`
	Column2          *String    `xmlrpc:"column2,omptempty"`
	CompleteName     *String    `xmlrpc:"complete_name,omptempty"`
	Compute          *String    `xmlrpc:"compute,omptempty"`
	Copy             *Bool      `xmlrpc:"copy,omptempty"`
	CreateDate       *Time      `xmlrpc:"create_date,omptempty"`
	CreateUid        *Many2One  `xmlrpc:"create_uid,omptempty"`
	Depends          *String    `xmlrpc:"depends,omptempty"`
	DisplayName      *String    `xmlrpc:"display_name,omptempty"`
	Domain           *String    `xmlrpc:"domain,omptempty"`
	FieldDescription *String    `xmlrpc:"field_description,omptempty"`
	Groups           *Relation  `xmlrpc:"groups,omptempty"`
	Help             *String    `xmlrpc:"help,omptempty"`
	Id               *Int       `xmlrpc:"id,omptempty"`
	Index            *Bool      `xmlrpc:"index,omptempty"`
	Model            *String    `xmlrpc:"model,omptempty"`
	ModelId          *Many2One  `xmlrpc:"model_id,omptempty"`
	Modules          *String    `xmlrpc:"modules,omptempty"`
	Name             *String    `xmlrpc:"name,omptempty"`
	OnDelete         *Selection `xmlrpc:"on_delete,omptempty"`
	Readonly         *Bool      `xmlrpc:"readonly,omptempty"`
	Related          *String    `xmlrpc:"related,omptempty"`
	Relation         *String    `xmlrpc:"relation,omptempty"`
	RelationField    *String    `xmlrpc:"relation_field,omptempty"`
	RelationTable    *String    `xmlrpc:"relation_table,omptempty"`
	Required         *Bool      `xmlrpc:"required,omptempty"`
	Selectable       *Bool      `xmlrpc:"selectable,omptempty"`
	Selection        *String    `xmlrpc:"selection,omptempty"`
	Size             *Int       `xmlrpc:"size,omptempty"`
	State            *Selection `xmlrpc:"state,omptempty"`
	Store            *Bool      `xmlrpc:"store,omptempty"`
	TrackVisibility  *Selection `xmlrpc:"track_visibility,omptempty"`
	Translate        *Bool      `xmlrpc:"translate,omptempty"`
	Ttype            *Selection `xmlrpc:"ttype,omptempty"`
	WriteDate        *Time      `xmlrpc:"write_date,omptempty"`
	WriteUid         *Many2One  `xmlrpc:"write_uid,omptempty"`
}

IrModelFields represents ir.model.fields model.

func (*IrModelFields) Many2One

func (imf *IrModelFields) Many2One() *Many2One

Many2One convert IrModelFields to *Many2One.

type IrModelFieldss

type IrModelFieldss []IrModelFields

IrModelFieldss represents array of ir.model.fields model.

type IrModels

type IrModels []IrModel

IrModels represents array of ir.model model.

type LoyaltyCard

type LoyaltyCard struct {
	Code                     *String    `xmlrpc:"code,omptempty"`
	CompanyId                *Many2One  `xmlrpc:"company_id,omptempty"`
	CreateDate               *Time      `xmlrpc:"create_date,omptempty"`
	CreateUid                *Many2One  `xmlrpc:"create_uid,omptempty"`
	CurrencyId               *Many2One  `xmlrpc:"currency_id,omptempty"`
	DisplayName              *String    `xmlrpc:"display_name,omptempty"`
	ExpirationDate           *Time      `xmlrpc:"expiration_date,omptempty"`
	HasMessage               *Bool      `xmlrpc:"has_message,omptempty"`
	Id                       *Int       `xmlrpc:"id,omptempty"`
	MessageAttachmentCount   *Int       `xmlrpc:"message_attachment_count,omptempty"`
	MessageFollowerIds       *Relation  `xmlrpc:"message_follower_ids,omptempty"`
	MessageHasError          *Bool      `xmlrpc:"message_has_error,omptempty"`
	MessageHasErrorCounter   *Int       `xmlrpc:"message_has_error_counter,omptempty"`
	MessageHasSmsError       *Bool      `xmlrpc:"message_has_sms_error,omptempty"`
	MessageIds               *Relation  `xmlrpc:"message_ids,omptempty"`
	MessageIsFollower        *Bool      `xmlrpc:"message_is_follower,omptempty"`
	MessageNeedaction        *Bool      `xmlrpc:"message_needaction,omptempty"`
	MessageNeedactionCounter *Int       `xmlrpc:"message_needaction_counter,omptempty"`
	MessagePartnerIds        *Relation  `xmlrpc:"message_partner_ids,omptempty"`
	OrderId                  *Many2One  `xmlrpc:"order_id,omptempty"`
	PartnerId                *Many2One  `xmlrpc:"partner_id,omptempty"`
	PointName                *String    `xmlrpc:"point_name,omptempty"`
	Points                   *Float     `xmlrpc:"points,omptempty"`
	PointsDisplay            *String    `xmlrpc:"points_display,omptempty"`
	ProgramId                *Many2One  `xmlrpc:"program_id,omptempty"`
	ProgramType              *Selection `xmlrpc:"program_type,omptempty"`
	RatingIds                *Relation  `xmlrpc:"rating_ids,omptempty"`
	UseCount                 *Int       `xmlrpc:"use_count,omptempty"`
	WebsiteMessageIds        *Relation  `xmlrpc:"website_message_ids,omptempty"`
	WriteDate                *Time      `xmlrpc:"write_date,omptempty"`
	WriteUid                 *Many2One  `xmlrpc:"write_uid,omptempty"`
}

LoyaltyCard represents loyalty.card model.

func (*LoyaltyCard) Many2One

func (lc *LoyaltyCard) Many2One() *Many2One

Many2One convert LoyaltyCard to *Many2One.

type LoyaltyCards

type LoyaltyCards []LoyaltyCard

LoyaltyCards represents array of loyalty.card model.

type Many2One

type Many2One struct {
	ID   int64
	Name string
}

Many2One represents odoo many2one type. https://www.odoo.com/documentation/13.0/reference/orm.html#relational-fields

func NewMany2One

func NewMany2One(id int64, name string) *Many2One

NewMany2One create a new *Many2One.

func (*Many2One) Get

func (m *Many2One) Get() int64

Get *Many2One value.

type Options

type Options map[string]interface{}

Options allow you to filter search results.

func NewOptions

func NewOptions() *Options

NewOptions creates a new *Options

func (*Options) Add

func (o *Options) Add(opt string, v interface{}) *Options

Add on option by providing option name and value.

func (*Options) AllFields

func (o *Options) AllFields(fields ...string) *Options

AllFields is useful for FieldsGet function. It represents the fields to document you want odoo to return. https://www.odoo.com/documentation/13.0/reference/orm.html#fields-views

func (*Options) Attributes

func (o *Options) Attributes(attributes ...string) *Options

Attributes is useful for FieldsGet function. It represents the attributes to document you want odoo to return. https://www.odoo.com/documentation/13.0/reference/orm.html#fields-views

func (*Options) FetchFields

func (o *Options) FetchFields(fields ...string) *Options

FetchFields allow you to precise the model fields you want odoo to return. https://www.odoo.com/documentation/13.0/webservices/odoo.html#search-and-read

func (*Options) Limit

func (o *Options) Limit(limit int) *Options

Limit adds the limit options. https://www.odoo.com/documentation/13.0/webservices/odoo.html#pagination

func (*Options) Offset

func (o *Options) Offset(offset int) *Options

Offset adds the offset options. https://www.odoo.com/documentation/13.0/webservices/odoo.html#pagination

func (*Options) SetFields

func (o *Options) SetFields(fields []string) *Options

SetFields is useful for FieldsGet function. It represents the fields to document you want odoo to return. https://www.odoo.com/documentation/13.0/reference/orm.html#fields-views

type PaymentLinkWizard added in v1.0.1

type PaymentLinkWizard struct {
	Amount              *Float    `xmlrpc:"amount,omptempty"`
	AmountMax           *Float    `xmlrpc:"amount_max,omptempty"`
	AmountPaid          *Float    `xmlrpc:"amount_paid,omptempty"`
	CompanyId           *Many2One `xmlrpc:"company_id,omptempty"`
	ConfirmationMessage *String   `xmlrpc:"confirmation_message,omptempty"`
	CreateDate          *Time     `xmlrpc:"create_date,omptempty"`
	CreateUid           *Many2One `xmlrpc:"create_uid,omptempty"`
	CurrencyId          *Many2One `xmlrpc:"currency_id,omptempty"`
	DisplayName         *String   `xmlrpc:"display_name,omptempty"`
	Id                  *Int      `xmlrpc:"id,omptempty"`
	Link                *String   `xmlrpc:"link,omptempty"`
	PartnerEmail        *String   `xmlrpc:"partner_email,omptempty"`
	PartnerId           *Many2One `xmlrpc:"partner_id,omptempty"`
	ResId               *Int      `xmlrpc:"res_id,omptempty"`
	ResModel            *String   `xmlrpc:"res_model,omptempty"`
	WarningMessage      *String   `xmlrpc:"warning_message,omptempty"`
	WriteDate           *Time     `xmlrpc:"write_date,omptempty"`
	WriteUid            *Many2One `xmlrpc:"write_uid,omptempty"`
}

PaymentLinkWizard represents payment.link.wizard model.

func (*PaymentLinkWizard) Many2One added in v1.0.1

func (plw *PaymentLinkWizard) Many2One() *Many2One

Many2One convert PaymentLinkWizard to *Many2One.

type PaymentLinkWizards added in v1.0.1

type PaymentLinkWizards []PaymentLinkWizard

PaymentLinkWizards represents array of payment.link.wizard model.

type RatingMixin added in v1.0.1

type RatingMixin struct {
	HasMessage                   *Bool      `xmlrpc:"has_message,omptempty"`
	MessageAttachmentCount       *Int       `xmlrpc:"message_attachment_count,omptempty"`
	MessageFollowerIds           *Relation  `xmlrpc:"message_follower_ids,omptempty"`
	MessageHasError              *Bool      `xmlrpc:"message_has_error,omptempty"`
	MessageHasErrorCounter       *Int       `xmlrpc:"message_has_error_counter,omptempty"`
	MessageHasSmsError           *Bool      `xmlrpc:"message_has_sms_error,omptempty"`
	MessageIds                   *Relation  `xmlrpc:"message_ids,omptempty"`
	MessageIsFollower            *Bool      `xmlrpc:"message_is_follower,omptempty"`
	MessageNeedaction            *Bool      `xmlrpc:"message_needaction,omptempty"`
	MessageNeedactionCounter     *Int       `xmlrpc:"message_needaction_counter,omptempty"`
	MessagePartnerIds            *Relation  `xmlrpc:"message_partner_ids,omptempty"`
	RatingAvg                    *Float     `xmlrpc:"rating_avg,omptempty"`
	RatingAvgText                *Selection `xmlrpc:"rating_avg_text,omptempty"`
	RatingCount                  *Int       `xmlrpc:"rating_count,omptempty"`
	RatingIds                    *Relation  `xmlrpc:"rating_ids,omptempty"`
	RatingLastFeedback           *String    `xmlrpc:"rating_last_feedback,omptempty"`
	RatingLastImage              *String    `xmlrpc:"rating_last_image,omptempty"`
	RatingLastText               *Selection `xmlrpc:"rating_last_text,omptempty"`
	RatingLastValue              *Float     `xmlrpc:"rating_last_value,omptempty"`
	RatingPercentageSatisfaction *Float     `xmlrpc:"rating_percentage_satisfaction,omptempty"`
	WebsiteMessageIds            *Relation  `xmlrpc:"website_message_ids,omptempty"`
}

RatingMixin represents rating.mixin model.

func (*RatingMixin) Many2One added in v1.0.1

func (rm *RatingMixin) Many2One() *Many2One

Many2One convert RatingMixin to *Many2One.

type RatingMixins added in v1.0.1

type RatingMixins []RatingMixin

RatingMixins represents array of rating.mixin model.

type Relation

type Relation struct {
	// contains filtered or unexported fields
}

Relation represents odoo one2many and many2many types. https://www.odoo.com/documentation/13.0/reference/orm.html#relational-fields

func NewRelation

func NewRelation() *Relation

NewRelation creates a new *Relation.

func (*Relation) AddNewRecord

func (r *Relation) AddNewRecord(values interface{})

AddNewRecord is an helper to create a new record of one2many or many2many. https://www.odoo.com/documentation/13.0/reference/orm.html#odoo.models.Model.write

func (*Relation) AddRecord

func (r *Relation) AddRecord(record int64)

AddRecord is an helper to add an existing record of one2many or many2many. https://www.odoo.com/documentation/13.0/reference/orm.html#odoo.models.Model.write

func (*Relation) DeleteRecord

func (r *Relation) DeleteRecord(record int64)

DeleteRecord is an helper to delete an existing record of one2many or many2many. https://www.odoo.com/documentation/13.0/reference/orm.html#odoo.models.Model.write

func (*Relation) Get

func (r *Relation) Get() []int64

Get *Relation value.

func (*Relation) RemoveAllRecords

func (r *Relation) RemoveAllRecords()

RemoveAllRecords is an helper to remove all records of one2many or many2many. https://www.odoo.com/documentation/13.0/reference/orm.html#odoo.models.Model.write

func (*Relation) RemoveRecord

func (r *Relation) RemoveRecord(record int64)

RemoveRecord is an helper to remove an existing record of one2many or many2many. https://www.odoo.com/documentation/13.0/reference/orm.html#odoo.models.Model.write

func (*Relation) ReplaceAllRecords

func (r *Relation) ReplaceAllRecords(newRecords []int64)

ReplaceAllRecords is an helper to replace all records of one2many or many2many. https://www.odoo.com/documentation/13.0/reference/orm.html#odoo.models.Model.write

func (*Relation) UpdateRecord

func (r *Relation) UpdateRecord(record int64, values interface{})

UpdateRecord is an helper to update an existing record of one2many or many2many. https://www.odoo.com/documentation/13.0/reference/orm.html#odoo.models.Model.write

type ResPartner

type ResPartner struct {
	Active                             *Bool      `xmlrpc:"active,omptempty"`
	ActiveLangCount                    *Int       `xmlrpc:"active_lang_count,omptempty"`
	ActivityCalendarEventId            *Many2One  `xmlrpc:"activity_calendar_event_id,omptempty"`
	ActivityDateDeadline               *Time      `xmlrpc:"activity_date_deadline,omptempty"`
	ActivityExceptionDecoration        *Selection `xmlrpc:"activity_exception_decoration,omptempty"`
	ActivityExceptionIcon              *String    `xmlrpc:"activity_exception_icon,omptempty"`
	ActivityIds                        *Relation  `xmlrpc:"activity_ids,omptempty"`
	ActivityState                      *Selection `xmlrpc:"activity_state,omptempty"`
	ActivitySummary                    *String    `xmlrpc:"activity_summary,omptempty"`
	ActivityTypeIcon                   *String    `xmlrpc:"activity_type_icon,omptempty"`
	ActivityTypeId                     *Many2One  `xmlrpc:"activity_type_id,omptempty"`
	ActivityUserId                     *Many2One  `xmlrpc:"activity_user_id,omptempty"`
	AdditionalInfo                     *String    `xmlrpc:"additional_info,omptempty"`
	Avatar1024                         *String    `xmlrpc:"avatar_1024,omptempty"`
	Avatar128                          *String    `xmlrpc:"avatar_128,omptempty"`
	Avatar1920                         *String    `xmlrpc:"avatar_1920,omptempty"`
	Avatar256                          *String    `xmlrpc:"avatar_256,omptempty"`
	Avatar512                          *String    `xmlrpc:"avatar_512,omptempty"`
	BankAccountCount                   *Int       `xmlrpc:"bank_account_count,omptempty"`
	BankIds                            *Relation  `xmlrpc:"bank_ids,omptempty"`
	Barcode                            *String    `xmlrpc:"barcode,omptempty"`
	CalendarLastNotifAck               *Time      `xmlrpc:"calendar_last_notif_ack,omptempty"`
	CanPublish                         *Bool      `xmlrpc:"can_publish,omptempty"`
	CategoryId                         *Relation  `xmlrpc:"category_id,omptempty"`
	ChannelIds                         *Relation  `xmlrpc:"channel_ids,omptempty"`
	ChildIds                           *Relation  `xmlrpc:"child_ids,omptempty"`
	City                               *String    `xmlrpc:"city,omptempty"`
	Color                              *Int       `xmlrpc:"color,omptempty"`
	Comment                            *String    `xmlrpc:"comment,omptempty"`
	CommercialCompanyName              *String    `xmlrpc:"commercial_company_name,omptempty"`
	CommercialPartnerId                *Many2One  `xmlrpc:"commercial_partner_id,omptempty"`
	CompanyId                          *Many2One  `xmlrpc:"company_id,omptempty"`
	CompanyName                        *String    `xmlrpc:"company_name,omptempty"`
	CompanyRegistry                    *String    `xmlrpc:"company_registry,omptempty"`
	CompanyType                        *Selection `xmlrpc:"company_type,omptempty"`
	CompleteName                       *String    `xmlrpc:"complete_name,omptempty"`
	ContactAddress                     *String    `xmlrpc:"contact_address,omptempty"`
	ContactAddressComplete             *String    `xmlrpc:"contact_address_complete,omptempty"`
	ContactAddressInline               *String    `xmlrpc:"contact_address_inline,omptempty"`
	ContractIds                        *Relation  `xmlrpc:"contract_ids,omptempty"`
	CountryCode                        *String    `xmlrpc:"country_code,omptempty"`
	CountryId                          *Many2One  `xmlrpc:"country_id,omptempty"`
	CreateDate                         *Time      `xmlrpc:"create_date,omptempty"`
	CreateUid                          *Many2One  `xmlrpc:"create_uid,omptempty"`
	Credit                             *Float     `xmlrpc:"credit,omptempty"`
	CreditLimit                        *Float     `xmlrpc:"credit_limit,omptempty"`
	CreditToInvoice                    *Float     `xmlrpc:"credit_to_invoice,omptempty"`
	CurrencyId                         *Many2One  `xmlrpc:"currency_id,omptempty"`
	CustomerRank                       *Int       `xmlrpc:"customer_rank,omptempty"`
	Date                               *Time      `xmlrpc:"date,omptempty"`
	DaysSalesOutstanding               *Float     `xmlrpc:"days_sales_outstanding,omptempty"`
	Debit                              *Float     `xmlrpc:"debit,omptempty"`
	DebitLimit                         *Float     `xmlrpc:"debit_limit,omptempty"`
	DisplayName                        *String    `xmlrpc:"display_name,omptempty"`
	DuplicatedBankAccountPartnersCount *Int       `xmlrpc:"duplicated_bank_account_partners_count,omptempty"`
	Email                              *String    `xmlrpc:"email,omptempty"`
	EmailFormatted                     *String    `xmlrpc:"email_formatted,omptempty"`
	EmailNormalized                    *String    `xmlrpc:"email_normalized,omptempty"`
	Employee                           *Bool      `xmlrpc:"employee,omptempty"`
	FiscalCountryCodes                 *String    `xmlrpc:"fiscal_country_codes,omptempty"`
	Function                           *String    `xmlrpc:"function,omptempty"`
	HasMessage                         *Bool      `xmlrpc:"has_message,omptempty"`
	HasUnreconciledEntries             *Bool      `xmlrpc:"has_unreconciled_entries,omptempty"`
	Id                                 *Int       `xmlrpc:"id,omptempty"`
	ImStatus                           *String    `xmlrpc:"im_status,omptempty"`
	Image1024                          *String    `xmlrpc:"image_1024,omptempty"`
	Image128                           *String    `xmlrpc:"image_128,omptempty"`
	Image1920                          *String    `xmlrpc:"image_1920,omptempty"`
	Image256                           *String    `xmlrpc:"image_256,omptempty"`
	Image512                           *String    `xmlrpc:"image_512,omptempty"`
	ImageMedium                        *String    `xmlrpc:"image_medium,omptempty"`
	IndustryId                         *Many2One  `xmlrpc:"industry_id,omptempty"`
	InvoiceIds                         *Relation  `xmlrpc:"invoice_ids,omptempty"`
	InvoiceWarn                        *Selection `xmlrpc:"invoice_warn,omptempty"`
	InvoiceWarnMsg                     *String    `xmlrpc:"invoice_warn_msg,omptempty"`
	IsBlacklisted                      *Bool      `xmlrpc:"is_blacklisted,omptempty"`
	IsCompany                          *Bool      `xmlrpc:"is_company,omptempty"`
	IsPublic                           *Bool      `xmlrpc:"is_public,omptempty"`
	IsPublished                        *Bool      `xmlrpc:"is_published,omptempty"`
	JournalItemCount                   *Int       `xmlrpc:"journal_item_count,omptempty"`
	Lang                               *Selection `xmlrpc:"lang,omptempty"`
	LastTimeEntriesChecked             *Time      `xmlrpc:"last_time_entries_checked,omptempty"`
	LastWebsiteSoId                    *Many2One  `xmlrpc:"last_website_so_id,omptempty"`
	LoyaltyCardCount                   *Int       `xmlrpc:"loyalty_card_count,omptempty"`
	MeetingCount                       *Int       `xmlrpc:"meeting_count,omptempty"`
	MeetingIds                         *Relation  `xmlrpc:"meeting_ids,omptempty"`
	MessageAttachmentCount             *Int       `xmlrpc:"message_attachment_count,omptempty"`
	MessageBounce                      *Int       `xmlrpc:"message_bounce,omptempty"`
	MessageFollowerIds                 *Relation  `xmlrpc:"message_follower_ids,omptempty"`
	MessageHasError                    *Bool      `xmlrpc:"message_has_error,omptempty"`
	MessageHasErrorCounter             *Int       `xmlrpc:"message_has_error_counter,omptempty"`
	MessageHasSmsError                 *Bool      `xmlrpc:"message_has_sms_error,omptempty"`
	MessageIds                         *Relation  `xmlrpc:"message_ids,omptempty"`
	MessageIsFollower                  *Bool      `xmlrpc:"message_is_follower,omptempty"`
	MessageNeedaction                  *Bool      `xmlrpc:"message_needaction,omptempty"`
	MessageNeedactionCounter           *Int       `xmlrpc:"message_needaction_counter,omptempty"`
	MessagePartnerIds                  *Relation  `xmlrpc:"message_partner_ids,omptempty"`
	Mobile                             *String    `xmlrpc:"mobile,omptempty"`
	MobileBlacklisted                  *Bool      `xmlrpc:"mobile_blacklisted,omptempty"`
	MyActivityDateDeadline             *Time      `xmlrpc:"my_activity_date_deadline,omptempty"`
	Name                               *String    `xmlrpc:"name,omptempty"`
	OcnToken                           *String    `xmlrpc:"ocn_token,omptempty"`
	OpportunityCount                   *Int       `xmlrpc:"opportunity_count,omptempty"`
	OpportunityIds                     *Relation  `xmlrpc:"opportunity_ids,omptempty"`
	ParentId                           *Many2One  `xmlrpc:"parent_id,omptempty"`
	ParentName                         *String    `xmlrpc:"parent_name,omptempty"`
	PartnerGid                         *Int       `xmlrpc:"partner_gid,omptempty"`
	PartnerLatitude                    *Float     `xmlrpc:"partner_latitude,omptempty"`
	PartnerLongitude                   *Float     `xmlrpc:"partner_longitude,omptempty"`
	PartnerShare                       *Bool      `xmlrpc:"partner_share,omptempty"`
	PaymentTokenCount                  *Int       `xmlrpc:"payment_token_count,omptempty"`
	PaymentTokenIds                    *Relation  `xmlrpc:"payment_token_ids,omptempty"`
	PeppolEas                          *Selection `xmlrpc:"peppol_eas,omptempty"`
	PeppolEndpoint                     *String    `xmlrpc:"peppol_endpoint,omptempty"`
	Phone                              *String    `xmlrpc:"phone,omptempty"`
	PhoneBlacklisted                   *Bool      `xmlrpc:"phone_blacklisted,omptempty"`
	PhoneMobileSearch                  *String    `xmlrpc:"phone_mobile_search,omptempty"`
	PhoneSanitized                     *String    `xmlrpc:"phone_sanitized,omptempty"`
	PhoneSanitizedBlacklisted          *Bool      `xmlrpc:"phone_sanitized_blacklisted,omptempty"`
	PickingWarn                        *Selection `xmlrpc:"picking_warn,omptempty"`
	PickingWarnMsg                     *String    `xmlrpc:"picking_warn_msg,omptempty"`
	PropertyAccountPayableId           *Many2One  `xmlrpc:"property_account_payable_id,omptempty"`
	PropertyAccountPositionId          *Many2One  `xmlrpc:"property_account_position_id,omptempty"`
	PropertyAccountReceivableId        *Many2One  `xmlrpc:"property_account_receivable_id,omptempty"`
	PropertyDeliveryCarrierId          *Many2One  `xmlrpc:"property_delivery_carrier_id,omptempty"`
	PropertyPaymentTermId              *Many2One  `xmlrpc:"property_payment_term_id,omptempty"`
	PropertyProductPricelist           *Many2One  `xmlrpc:"property_product_pricelist,omptempty"`
	PropertyStockCustomer              *Many2One  `xmlrpc:"property_stock_customer,omptempty"`
	PropertyStockSupplier              *Many2One  `xmlrpc:"property_stock_supplier,omptempty"`
	PropertySupplierPaymentTermId      *Many2One  `xmlrpc:"property_supplier_payment_term_id,omptempty"`
	RatingIds                          *Relation  `xmlrpc:"rating_ids,omptempty"`
	Ref                                *String    `xmlrpc:"ref,omptempty"`
	RefCompanyIds                      *Relation  `xmlrpc:"ref_company_ids,omptempty"`
	SaleOrderCount                     *Int       `xmlrpc:"sale_order_count,omptempty"`
	SaleOrderIds                       *Relation  `xmlrpc:"sale_order_ids,omptempty"`
	SaleWarn                           *Selection `xmlrpc:"sale_warn,omptempty"`
	SaleWarnMsg                        *String    `xmlrpc:"sale_warn_msg,omptempty"`
	SameCompanyRegistryPartnerId       *Many2One  `xmlrpc:"same_company_registry_partner_id,omptempty"`
	SameVatPartnerId                   *Many2One  `xmlrpc:"same_vat_partner_id,omptempty"`
	SddCount                           *Int       `xmlrpc:"sdd_count,omptempty"`
	SddMandateIds                      *Relation  `xmlrpc:"sdd_mandate_ids,omptempty"`
	Self                               *Many2One  `xmlrpc:"self,omptempty"`
	ShowCreditLimit                    *Bool      `xmlrpc:"show_credit_limit,omptempty"`
	SignupExpiration                   *Time      `xmlrpc:"signup_expiration,omptempty"`
	SignupToken                        *String    `xmlrpc:"signup_token,omptempty"`
	SignupType                         *String    `xmlrpc:"signup_type,omptempty"`
	SignupUrl                          *String    `xmlrpc:"signup_url,omptempty"`
	SignupValid                        *Bool      `xmlrpc:"signup_valid,omptempty"`
	SlaIds                             *Relation  `xmlrpc:"sla_ids,omptempty"`
	StarredMessageIds                  *Relation  `xmlrpc:"starred_message_ids,omptempty"`
	StateId                            *Many2One  `xmlrpc:"state_id,omptempty"`
	Street                             *String    `xmlrpc:"street,omptempty"`
	Street2                            *String    `xmlrpc:"street2,omptempty"`
	SupplierRank                       *Int       `xmlrpc:"supplier_rank,omptempty"`
	TeamId                             *Many2One  `xmlrpc:"team_id,omptempty"`
	TicketCount                        *Int       `xmlrpc:"ticket_count,omptempty"`
	Title                              *Many2One  `xmlrpc:"title,omptempty"`
	TotalInvoiced                      *Float     `xmlrpc:"total_invoiced,omptempty"`
	Trust                              *Selection `xmlrpc:"trust,omptempty"`
	Type                               *Selection `xmlrpc:"type,omptempty"`
	Tz                                 *Selection `xmlrpc:"tz,omptempty"`
	TzOffset                           *String    `xmlrpc:"tz_offset,omptempty"`
	UblCiiFormat                       *Selection `xmlrpc:"ubl_cii_format,omptempty"`
	UsePartnerCreditLimit              *Bool      `xmlrpc:"use_partner_credit_limit,omptempty"`
	UserId                             *Many2One  `xmlrpc:"user_id,omptempty"`
	UserIds                            *Relation  `xmlrpc:"user_ids,omptempty"`
	UserLivechatUsername               *String    `xmlrpc:"user_livechat_username,omptempty"`
	Vat                                *String    `xmlrpc:"vat,omptempty"`
	VisitorIds                         *Relation  `xmlrpc:"visitor_ids,omptempty"`
	Website                            *String    `xmlrpc:"website,omptempty"`
	WebsiteId                          *Many2One  `xmlrpc:"website_id,omptempty"`
	WebsiteMessageIds                  *Relation  `xmlrpc:"website_message_ids,omptempty"`
	WebsitePublished                   *Bool      `xmlrpc:"website_published,omptempty"`
	WebsiteUrl                         *String    `xmlrpc:"website_url,omptempty"`
	WriteDate                          *Time      `xmlrpc:"write_date,omptempty"`
	WriteUid                           *Many2One  `xmlrpc:"write_uid,omptempty"`
	XStudioUserId                      *String    `xmlrpc:"x_studio_user_id,omptempty"`
	Zip                                *String    `xmlrpc:"zip,omptempty"`
}

ResPartner represents res.partner model.

func (*ResPartner) Many2One

func (rp *ResPartner) Many2One() *Many2One

Many2One convert ResPartner to *Many2One.

type ResPartners

type ResPartners []ResPartner

ResPartners represents array of res.partner model.

type ResUsers

type ResUsers struct {
	AccessesCount                      *Int       `xmlrpc:"accesses_count,omptempty"`
	ActionId                           *Many2One  `xmlrpc:"action_id,omptempty"`
	Active                             *Bool      `xmlrpc:"active,omptempty"`
	ActiveLangCount                    *Int       `xmlrpc:"active_lang_count,omptempty"`
	ActivePartner                      *Bool      `xmlrpc:"active_partner,omptempty"`
	ActivityCalendarEventId            *Many2One  `xmlrpc:"activity_calendar_event_id,omptempty"`
	ActivityDateDeadline               *Time      `xmlrpc:"activity_date_deadline,omptempty"`
	ActivityExceptionDecoration        *Selection `xmlrpc:"activity_exception_decoration,omptempty"`
	ActivityExceptionIcon              *String    `xmlrpc:"activity_exception_icon,omptempty"`
	ActivityIds                        *Relation  `xmlrpc:"activity_ids,omptempty"`
	ActivityState                      *Selection `xmlrpc:"activity_state,omptempty"`
	ActivitySummary                    *String    `xmlrpc:"activity_summary,omptempty"`
	ActivityTypeIcon                   *String    `xmlrpc:"activity_type_icon,omptempty"`
	ActivityTypeId                     *Many2One  `xmlrpc:"activity_type_id,omptempty"`
	ActivityUserId                     *Many2One  `xmlrpc:"activity_user_id,omptempty"`
	AdditionalInfo                     *String    `xmlrpc:"additional_info,omptempty"`
	ApiKeyIds                          *Relation  `xmlrpc:"api_key_ids,omptempty"`
	Avatar1024                         *String    `xmlrpc:"avatar_1024,omptempty"`
	Avatar128                          *String    `xmlrpc:"avatar_128,omptempty"`
	Avatar1920                         *String    `xmlrpc:"avatar_1920,omptempty"`
	Avatar256                          *String    `xmlrpc:"avatar_256,omptempty"`
	Avatar512                          *String    `xmlrpc:"avatar_512,omptempty"`
	BankAccountCount                   *Int       `xmlrpc:"bank_account_count,omptempty"`
	BankIds                            *Relation  `xmlrpc:"bank_ids,omptempty"`
	Barcode                            *String    `xmlrpc:"barcode,omptempty"`
	CalendarLastNotifAck               *Time      `xmlrpc:"calendar_last_notif_ack,omptempty"`
	CanPublish                         *Bool      `xmlrpc:"can_publish,omptempty"`
	CategoryId                         *Relation  `xmlrpc:"category_id,omptempty"`
	ChannelIds                         *Relation  `xmlrpc:"channel_ids,omptempty"`
	ChildIds                           *Relation  `xmlrpc:"child_ids,omptempty"`
	City                               *String    `xmlrpc:"city,omptempty"`
	Color                              *Int       `xmlrpc:"color,omptempty"`
	Comment                            *String    `xmlrpc:"comment,omptempty"`
	CommercialCompanyName              *String    `xmlrpc:"commercial_company_name,omptempty"`
	CommercialPartnerId                *Many2One  `xmlrpc:"commercial_partner_id,omptempty"`
	CompaniesCount                     *Int       `xmlrpc:"companies_count,omptempty"`
	CompanyId                          *Many2One  `xmlrpc:"company_id,omptempty"`
	CompanyIds                         *Relation  `xmlrpc:"company_ids,omptempty"`
	CompanyName                        *String    `xmlrpc:"company_name,omptempty"`
	CompanyRegistry                    *String    `xmlrpc:"company_registry,omptempty"`
	CompanyType                        *Selection `xmlrpc:"company_type,omptempty"`
	CompleteName                       *String    `xmlrpc:"complete_name,omptempty"`
	ContactAddress                     *String    `xmlrpc:"contact_address,omptempty"`
	ContactAddressComplete             *String    `xmlrpc:"contact_address_complete,omptempty"`
	ContactAddressInline               *String    `xmlrpc:"contact_address_inline,omptempty"`
	ContractIds                        *Relation  `xmlrpc:"contract_ids,omptempty"`
	CountryCode                        *String    `xmlrpc:"country_code,omptempty"`
	CountryId                          *Many2One  `xmlrpc:"country_id,omptempty"`
	CreateDate                         *Time      `xmlrpc:"create_date,omptempty"`
	CreateUid                          *Many2One  `xmlrpc:"create_uid,omptempty"`
	Credit                             *Float     `xmlrpc:"credit,omptempty"`
	CreditLimit                        *Float     `xmlrpc:"credit_limit,omptempty"`
	CreditToInvoice                    *Float     `xmlrpc:"credit_to_invoice,omptempty"`
	CrmTeamIds                         *Relation  `xmlrpc:"crm_team_ids,omptempty"`
	CrmTeamMemberIds                   *Relation  `xmlrpc:"crm_team_member_ids,omptempty"`
	CurrencyId                         *Many2One  `xmlrpc:"currency_id,omptempty"`
	CustomerRank                       *Int       `xmlrpc:"customer_rank,omptempty"`
	Date                               *Time      `xmlrpc:"date,omptempty"`
	DaysSalesOutstanding               *Float     `xmlrpc:"days_sales_outstanding,omptempty"`
	Debit                              *Float     `xmlrpc:"debit,omptempty"`
	DebitLimit                         *Float     `xmlrpc:"debit_limit,omptempty"`
	DisplayName                        *String    `xmlrpc:"display_name,omptempty"`
	DuplicatedBankAccountPartnersCount *Int       `xmlrpc:"duplicated_bank_account_partners_count,omptempty"`
	Email                              *String    `xmlrpc:"email,omptempty"`
	EmailFormatted                     *String    `xmlrpc:"email_formatted,omptempty"`
	EmailNormalized                    *String    `xmlrpc:"email_normalized,omptempty"`
	Employee                           *Bool      `xmlrpc:"employee,omptempty"`
	FiscalCountryCodes                 *String    `xmlrpc:"fiscal_country_codes,omptempty"`
	Function                           *String    `xmlrpc:"function,omptempty"`
	GroupsCount                        *Int       `xmlrpc:"groups_count,omptempty"`
	GroupsId                           *Relation  `xmlrpc:"groups_id,omptempty"`
	HasAccessLivechat                  *Bool      `xmlrpc:"has_access_livechat,omptempty"`
	HasMessage                         *Bool      `xmlrpc:"has_message,omptempty"`
	HasUnreconciledEntries             *Bool      `xmlrpc:"has_unreconciled_entries,omptempty"`
	HelpdeskTargetClosed               *Int       `xmlrpc:"helpdesk_target_closed,omptempty"`
	HelpdeskTargetRating               *Float     `xmlrpc:"helpdesk_target_rating,omptempty"`
	HelpdeskTargetSuccess              *Float     `xmlrpc:"helpdesk_target_success,omptempty"`
	Id                                 *Int       `xmlrpc:"id,omptempty"`
	ImStatus                           *String    `xmlrpc:"im_status,omptempty"`
	Image1024                          *String    `xmlrpc:"image_1024,omptempty"`
	Image128                           *String    `xmlrpc:"image_128,omptempty"`
	Image1920                          *String    `xmlrpc:"image_1920,omptempty"`
	Image256                           *String    `xmlrpc:"image_256,omptempty"`
	Image512                           *String    `xmlrpc:"image_512,omptempty"`
	ImageMedium                        *String    `xmlrpc:"image_medium,omptempty"`
	IndustryId                         *Many2One  `xmlrpc:"industry_id,omptempty"`
	InvoiceIds                         *Relation  `xmlrpc:"invoice_ids,omptempty"`
	InvoiceWarn                        *Selection `xmlrpc:"invoice_warn,omptempty"`
	InvoiceWarnMsg                     *String    `xmlrpc:"invoice_warn_msg,omptempty"`
	IsBlacklisted                      *Bool      `xmlrpc:"is_blacklisted,omptempty"`
	IsCompany                          *Bool      `xmlrpc:"is_company,omptempty"`
	IsPublic                           *Bool      `xmlrpc:"is_public,omptempty"`
	IsPublished                        *Bool      `xmlrpc:"is_published,omptempty"`
	JournalItemCount                   *Int       `xmlrpc:"journal_item_count,omptempty"`
	Lang                               *Selection `xmlrpc:"lang,omptempty"`
	LastTimeEntriesChecked             *Time      `xmlrpc:"last_time_entries_checked,omptempty"`
	LastWebsiteSoId                    *Many2One  `xmlrpc:"last_website_so_id,omptempty"`
	LivechatLangIds                    *Relation  `xmlrpc:"livechat_lang_ids,omptempty"`
	LivechatUsername                   *String    `xmlrpc:"livechat_username,omptempty"`
	LogIds                             *Relation  `xmlrpc:"log_ids,omptempty"`
	Login                              *String    `xmlrpc:"login,omptempty"`
	LoginDate                          *Time      `xmlrpc:"login_date,omptempty"`
	LoyaltyCardCount                   *Int       `xmlrpc:"loyalty_card_count,omptempty"`
	MeetingCount                       *Int       `xmlrpc:"meeting_count,omptempty"`
	MeetingIds                         *Relation  `xmlrpc:"meeting_ids,omptempty"`
	MessageAttachmentCount             *Int       `xmlrpc:"message_attachment_count,omptempty"`
	MessageBounce                      *Int       `xmlrpc:"message_bounce,omptempty"`
	MessageFollowerIds                 *Relation  `xmlrpc:"message_follower_ids,omptempty"`
	MessageHasError                    *Bool      `xmlrpc:"message_has_error,omptempty"`
	MessageHasErrorCounter             *Int       `xmlrpc:"message_has_error_counter,omptempty"`
	MessageHasSmsError                 *Bool      `xmlrpc:"message_has_sms_error,omptempty"`
	MessageIds                         *Relation  `xmlrpc:"message_ids,omptempty"`
	MessageIsFollower                  *Bool      `xmlrpc:"message_is_follower,omptempty"`
	MessageNeedaction                  *Bool      `xmlrpc:"message_needaction,omptempty"`
	MessageNeedactionCounter           *Int       `xmlrpc:"message_needaction_counter,omptempty"`
	MessagePartnerIds                  *Relation  `xmlrpc:"message_partner_ids,omptempty"`
	Mobile                             *String    `xmlrpc:"mobile,omptempty"`
	MobileBlacklisted                  *Bool      `xmlrpc:"mobile_blacklisted,omptempty"`
	MyActivityDateDeadline             *Time      `xmlrpc:"my_activity_date_deadline,omptempty"`
	Name                               *String    `xmlrpc:"name,omptempty"`
	NewPassword                        *String    `xmlrpc:"new_password,omptempty"`
	NotificationType                   *Selection `xmlrpc:"notification_type,omptempty"`
	OcnToken                           *String    `xmlrpc:"ocn_token,omptempty"`
	OdoobotFailed                      *Bool      `xmlrpc:"odoobot_failed,omptempty"`
	OdoobotState                       *Selection `xmlrpc:"odoobot_state,omptempty"`
	OpportunityCount                   *Int       `xmlrpc:"opportunity_count,omptempty"`
	OpportunityIds                     *Relation  `xmlrpc:"opportunity_ids,omptempty"`
	ParentId                           *Many2One  `xmlrpc:"parent_id,omptempty"`
	ParentName                         *String    `xmlrpc:"parent_name,omptempty"`
	PartnerGid                         *Int       `xmlrpc:"partner_gid,omptempty"`
	PartnerId                          *Many2One  `xmlrpc:"partner_id,omptempty"`
	PartnerLatitude                    *Float     `xmlrpc:"partner_latitude,omptempty"`
	PartnerLongitude                   *Float     `xmlrpc:"partner_longitude,omptempty"`
	PartnerShare                       *Bool      `xmlrpc:"partner_share,omptempty"`
	Password                           *String    `xmlrpc:"password,omptempty"`
	PaymentTokenCount                  *Int       `xmlrpc:"payment_token_count,omptempty"`
	PaymentTokenIds                    *Relation  `xmlrpc:"payment_token_ids,omptempty"`
	PeppolEas                          *Selection `xmlrpc:"peppol_eas,omptempty"`
	PeppolEndpoint                     *String    `xmlrpc:"peppol_endpoint,omptempty"`
	Phone                              *String    `xmlrpc:"phone,omptempty"`
	PhoneBlacklisted                   *Bool      `xmlrpc:"phone_blacklisted,omptempty"`
	PhoneMobileSearch                  *String    `xmlrpc:"phone_mobile_search,omptempty"`
	PhoneSanitized                     *String    `xmlrpc:"phone_sanitized,omptempty"`
	PhoneSanitizedBlacklisted          *Bool      `xmlrpc:"phone_sanitized_blacklisted,omptempty"`
	PickingWarn                        *Selection `xmlrpc:"picking_warn,omptempty"`
	PickingWarnMsg                     *String    `xmlrpc:"picking_warn_msg,omptempty"`
	PropertyAccountPayableId           *Many2One  `xmlrpc:"property_account_payable_id,omptempty"`
	PropertyAccountPositionId          *Many2One  `xmlrpc:"property_account_position_id,omptempty"`
	PropertyAccountReceivableId        *Many2One  `xmlrpc:"property_account_receivable_id,omptempty"`
	PropertyDeliveryCarrierId          *Many2One  `xmlrpc:"property_delivery_carrier_id,omptempty"`
	PropertyPaymentTermId              *Many2One  `xmlrpc:"property_payment_term_id,omptempty"`
	PropertyProductPricelist           *Many2One  `xmlrpc:"property_product_pricelist,omptempty"`
	PropertyStockCustomer              *Many2One  `xmlrpc:"property_stock_customer,omptempty"`
	PropertyStockSupplier              *Many2One  `xmlrpc:"property_stock_supplier,omptempty"`
	PropertySupplierPaymentTermId      *Many2One  `xmlrpc:"property_supplier_payment_term_id,omptempty"`
	PropertyWarehouseId                *Many2One  `xmlrpc:"property_warehouse_id,omptempty"`
	RatingIds                          *Relation  `xmlrpc:"rating_ids,omptempty"`
	Ref                                *String    `xmlrpc:"ref,omptempty"`
	RefCompanyIds                      *Relation  `xmlrpc:"ref_company_ids,omptempty"`
	ResUsersSettingsId                 *Many2One  `xmlrpc:"res_users_settings_id,omptempty"`
	ResUsersSettingsIds                *Relation  `xmlrpc:"res_users_settings_ids,omptempty"`
	ResourceCalendarId                 *Many2One  `xmlrpc:"resource_calendar_id,omptempty"`
	ResourceIds                        *Relation  `xmlrpc:"resource_ids,omptempty"`
	RulesCount                         *Int       `xmlrpc:"rules_count,omptempty"`
	SaleOrderCount                     *Int       `xmlrpc:"sale_order_count,omptempty"`
	SaleOrderIds                       *Relation  `xmlrpc:"sale_order_ids,omptempty"`
	SaleTeamId                         *Many2One  `xmlrpc:"sale_team_id,omptempty"`
	SaleWarn                           *Selection `xmlrpc:"sale_warn,omptempty"`
	SaleWarnMsg                        *String    `xmlrpc:"sale_warn_msg,omptempty"`
	SameCompanyRegistryPartnerId       *Many2One  `xmlrpc:"same_company_registry_partner_id,omptempty"`
	SameVatPartnerId                   *Many2One  `xmlrpc:"same_vat_partner_id,omptempty"`
	SddCount                           *Int       `xmlrpc:"sdd_count,omptempty"`
	SddMandateIds                      *Relation  `xmlrpc:"sdd_mandate_ids,omptempty"`
	Self                               *Many2One  `xmlrpc:"self,omptempty"`
	Share                              *Bool      `xmlrpc:"share,omptempty"`
	ShowCreditLimit                    *Bool      `xmlrpc:"show_credit_limit,omptempty"`
	Signature                          *String    `xmlrpc:"signature,omptempty"`
	SignupExpiration                   *Time      `xmlrpc:"signup_expiration,omptempty"`
	SignupToken                        *String    `xmlrpc:"signup_token,omptempty"`
	SignupType                         *String    `xmlrpc:"signup_type,omptempty"`
	SignupUrl                          *String    `xmlrpc:"signup_url,omptempty"`
	SignupValid                        *Bool      `xmlrpc:"signup_valid,omptempty"`
	SlaIds                             *Relation  `xmlrpc:"sla_ids,omptempty"`
	StarredMessageIds                  *Relation  `xmlrpc:"starred_message_ids,omptempty"`
	State                              *Selection `xmlrpc:"state,omptempty"`
	StateId                            *Many2One  `xmlrpc:"state_id,omptempty"`
	Street                             *String    `xmlrpc:"street,omptempty"`
	Street2                            *String    `xmlrpc:"street2,omptempty"`
	SupplierRank                       *Int       `xmlrpc:"supplier_rank,omptempty"`
	TargetSalesDone                    *Int       `xmlrpc:"target_sales_done,omptempty"`
	TargetSalesInvoiced                *Int       `xmlrpc:"target_sales_invoiced,omptempty"`
	TargetSalesWon                     *Int       `xmlrpc:"target_sales_won,omptempty"`
	TeamId                             *Many2One  `xmlrpc:"team_id,omptempty"`
	TicketCount                        *Int       `xmlrpc:"ticket_count,omptempty"`
	Title                              *Many2One  `xmlrpc:"title,omptempty"`
	TotalInvoiced                      *Float     `xmlrpc:"total_invoiced,omptempty"`
	TotpEnabled                        *Bool      `xmlrpc:"totp_enabled,omptempty"`
	TotpSecret                         *String    `xmlrpc:"totp_secret,omptempty"`
	TotpTrustedDeviceIds               *Relation  `xmlrpc:"totp_trusted_device_ids,omptempty"`
	Trust                              *Selection `xmlrpc:"trust,omptempty"`
	Type                               *Selection `xmlrpc:"type,omptempty"`
	Tz                                 *Selection `xmlrpc:"tz,omptempty"`
	TzOffset                           *String    `xmlrpc:"tz_offset,omptempty"`
	UblCiiFormat                       *Selection `xmlrpc:"ubl_cii_format,omptempty"`
	UsePartnerCreditLimit              *Bool      `xmlrpc:"use_partner_credit_limit,omptempty"`
	UserGroupWarning                   *String    `xmlrpc:"user_group_warning,omptempty"`
	UserId                             *Many2One  `xmlrpc:"user_id,omptempty"`
	UserIds                            *Relation  `xmlrpc:"user_ids,omptempty"`
	UserLivechatUsername               *String    `xmlrpc:"user_livechat_username,omptempty"`
	Vat                                *String    `xmlrpc:"vat,omptempty"`
	VisitorIds                         *Relation  `xmlrpc:"visitor_ids,omptempty"`
	Website                            *String    `xmlrpc:"website,omptempty"`
	WebsiteId                          *Many2One  `xmlrpc:"website_id,omptempty"`
	WebsiteMessageIds                  *Relation  `xmlrpc:"website_message_ids,omptempty"`
	WebsitePublished                   *Bool      `xmlrpc:"website_published,omptempty"`
	WebsiteUrl                         *String    `xmlrpc:"website_url,omptempty"`
	WriteDate                          *Time      `xmlrpc:"write_date,omptempty"`
	WriteUid                           *Many2One  `xmlrpc:"write_uid,omptempty"`
	XStudioCharField6Qr1Hnpvqtj7       *String    `xmlrpc:"x_studio_char_field_6qr_1hnpvqtj7,omptempty"`
	XStudioUserId                      *String    `xmlrpc:"x_studio_user_id,omptempty"`
	Zip                                *String    `xmlrpc:"zip,omptempty"`
}

ResUsers represents res.users model.

func (*ResUsers) Many2One

func (ru *ResUsers) Many2One() *Many2One

Many2One convert ResUsers to *Many2One.

type ResUserss

type ResUserss []ResUsers

ResUserss represents array of res.users model.

type SaleOrder

type SaleOrder struct {
	AccessPointAddress           interface{} `xmlrpc:"access_point_address,omptempty"`
	AccessToken                  *String     `xmlrpc:"access_token,omptempty"`
	AccessUrl                    *String     `xmlrpc:"access_url,omptempty"`
	AccessWarning                *String     `xmlrpc:"access_warning,omptempty"`
	ActivityCalendarEventId      *Many2One   `xmlrpc:"activity_calendar_event_id,omptempty"`
	ActivityDateDeadline         *Time       `xmlrpc:"activity_date_deadline,omptempty"`
	ActivityExceptionDecoration  *Selection  `xmlrpc:"activity_exception_decoration,omptempty"`
	ActivityExceptionIcon        *String     `xmlrpc:"activity_exception_icon,omptempty"`
	ActivityIds                  *Relation   `xmlrpc:"activity_ids,omptempty"`
	ActivityState                *Selection  `xmlrpc:"activity_state,omptempty"`
	ActivitySummary              *String     `xmlrpc:"activity_summary,omptempty"`
	ActivityTypeIcon             *String     `xmlrpc:"activity_type_icon,omptempty"`
	ActivityTypeId               *Many2One   `xmlrpc:"activity_type_id,omptempty"`
	ActivityUserId               *Many2One   `xmlrpc:"activity_user_id,omptempty"`
	AmountDelivery               *Float      `xmlrpc:"amount_delivery,omptempty"`
	AmountInvoiced               *Float      `xmlrpc:"amount_invoiced,omptempty"`
	AmountPaid                   *Float      `xmlrpc:"amount_paid,omptempty"`
	AmountTax                    *Float      `xmlrpc:"amount_tax,omptempty"`
	AmountToInvoice              *Float      `xmlrpc:"amount_to_invoice,omptempty"`
	AmountTotal                  *Float      `xmlrpc:"amount_total,omptempty"`
	AmountUndiscounted           *Float      `xmlrpc:"amount_undiscounted,omptempty"`
	AmountUntaxed                *Float      `xmlrpc:"amount_untaxed,omptempty"`
	AnalyticAccountId            *Many2One   `xmlrpc:"analytic_account_id,omptempty"`
	AppliedCouponIds             *Relation   `xmlrpc:"applied_coupon_ids,omptempty"`
	AuthorizedTransactionIds     *Relation   `xmlrpc:"authorized_transaction_ids,omptempty"`
	CampaignId                   *Many2One   `xmlrpc:"campaign_id,omptempty"`
	CarrierId                    *Many2One   `xmlrpc:"carrier_id,omptempty"`
	CartQuantity                 *Int        `xmlrpc:"cart_quantity,omptempty"`
	CartRecoveryEmailSent        *Bool       `xmlrpc:"cart_recovery_email_sent,omptempty"`
	ClientOrderRef               *String     `xmlrpc:"client_order_ref,omptempty"`
	CodeEnabledRuleIds           *Relation   `xmlrpc:"code_enabled_rule_ids,omptempty"`
	CommitmentDate               *Time       `xmlrpc:"commitment_date,omptempty"`
	CompanyId                    *Many2One   `xmlrpc:"company_id,omptempty"`
	CountryCode                  *String     `xmlrpc:"country_code,omptempty"`
	CouponPointIds               *Relation   `xmlrpc:"coupon_point_ids,omptempty"`
	CreateDate                   *Time       `xmlrpc:"create_date,omptempty"`
	CreateUid                    *Many2One   `xmlrpc:"create_uid,omptempty"`
	CurrencyId                   *Many2One   `xmlrpc:"currency_id,omptempty"`
	CurrencyRate                 *Float      `xmlrpc:"currency_rate,omptempty"`
	DateOrder                    *Time       `xmlrpc:"date_order,omptempty"`
	DeliveryCount                *Int        `xmlrpc:"delivery_count,omptempty"`
	DeliveryMessage              *String     `xmlrpc:"delivery_message,omptempty"`
	DeliveryRatingSuccess        *Bool       `xmlrpc:"delivery_rating_success,omptempty"`
	DeliverySet                  *Bool       `xmlrpc:"delivery_set,omptempty"`
	DeliveryStatus               *Selection  `xmlrpc:"delivery_status,omptempty"`
	DisabledAutoRewards          *Relation   `xmlrpc:"disabled_auto_rewards,omptempty"`
	DisplayName                  *String     `xmlrpc:"display_name,omptempty"`
	EffectiveDate                *Time       `xmlrpc:"effective_date,omptempty"`
	ExpectedDate                 *Time       `xmlrpc:"expected_date,omptempty"`
	FiscalPositionId             *Many2One   `xmlrpc:"fiscal_position_id,omptempty"`
	HasActivePricelist           *Bool       `xmlrpc:"has_active_pricelist,omptempty"`
	HasMessage                   *Bool       `xmlrpc:"has_message,omptempty"`
	Id                           *Int        `xmlrpc:"id,omptempty"`
	Incoterm                     *Many2One   `xmlrpc:"incoterm,omptempty"`
	IncotermLocation             *String     `xmlrpc:"incoterm_location,omptempty"`
	InvoiceCount                 *Int        `xmlrpc:"invoice_count,omptempty"`
	InvoiceIds                   *Relation   `xmlrpc:"invoice_ids,omptempty"`
	InvoiceStatus                *Selection  `xmlrpc:"invoice_status,omptempty"`
	IsAbandonedCart              *Bool       `xmlrpc:"is_abandoned_cart,omptempty"`
	IsAllService                 *Bool       `xmlrpc:"is_all_service,omptempty"`
	IsExpired                    *Bool       `xmlrpc:"is_expired,omptempty"`
	JournalId                    *Many2One   `xmlrpc:"journal_id,omptempty"`
	JsonPopover                  *String     `xmlrpc:"json_popover,omptempty"`
	Locked                       *Bool       `xmlrpc:"locked,omptempty"`
	MediumId                     *Many2One   `xmlrpc:"medium_id,omptempty"`
	MessageAttachmentCount       *Int        `xmlrpc:"message_attachment_count,omptempty"`
	MessageFollowerIds           *Relation   `xmlrpc:"message_follower_ids,omptempty"`
	MessageHasError              *Bool       `xmlrpc:"message_has_error,omptempty"`
	MessageHasErrorCounter       *Int        `xmlrpc:"message_has_error_counter,omptempty"`
	MessageHasSmsError           *Bool       `xmlrpc:"message_has_sms_error,omptempty"`
	MessageIds                   *Relation   `xmlrpc:"message_ids,omptempty"`
	MessageIsFollower            *Bool       `xmlrpc:"message_is_follower,omptempty"`
	MessageNeedaction            *Bool       `xmlrpc:"message_needaction,omptempty"`
	MessageNeedactionCounter     *Int        `xmlrpc:"message_needaction_counter,omptempty"`
	MessagePartnerIds            *Relation   `xmlrpc:"message_partner_ids,omptempty"`
	MyActivityDateDeadline       *Time       `xmlrpc:"my_activity_date_deadline,omptempty"`
	Name                         *String     `xmlrpc:"name,omptempty"`
	Note                         *String     `xmlrpc:"note,omptempty"`
	OnlyServices                 *Bool       `xmlrpc:"only_services,omptempty"`
	OpportunityId                *Many2One   `xmlrpc:"opportunity_id,omptempty"`
	OrderLine                    *Relation   `xmlrpc:"order_line,omptempty"`
	Origin                       *String     `xmlrpc:"origin,omptempty"`
	PartnerCreditWarning         *String     `xmlrpc:"partner_credit_warning,omptempty"`
	PartnerId                    *Many2One   `xmlrpc:"partner_id,omptempty"`
	PartnerInvoiceId             *Many2One   `xmlrpc:"partner_invoice_id,omptempty"`
	PartnerShippingId            *Many2One   `xmlrpc:"partner_shipping_id,omptempty"`
	PaymentTermId                *Many2One   `xmlrpc:"payment_term_id,omptempty"`
	PickingIds                   *Relation   `xmlrpc:"picking_ids,omptempty"`
	PickingPolicy                *Selection  `xmlrpc:"picking_policy,omptempty"`
	PrepaymentPercent            *Float      `xmlrpc:"prepayment_percent,omptempty"`
	PricelistId                  *Many2One   `xmlrpc:"pricelist_id,omptempty"`
	ProcurementGroupId           *Many2One   `xmlrpc:"procurement_group_id,omptempty"`
	RatingIds                    *Relation   `xmlrpc:"rating_ids,omptempty"`
	RecomputeDeliveryPrice       *Bool       `xmlrpc:"recompute_delivery_price,omptempty"`
	Reference                    *String     `xmlrpc:"reference,omptempty"`
	RequirePayment               *Bool       `xmlrpc:"require_payment,omptempty"`
	RequireSignature             *Bool       `xmlrpc:"require_signature,omptempty"`
	RewardAmount                 *Float      `xmlrpc:"reward_amount,omptempty"`
	SaleOrderOptionIds           *Relation   `xmlrpc:"sale_order_option_ids,omptempty"`
	SaleOrderTemplateId          *Many2One   `xmlrpc:"sale_order_template_id,omptempty"`
	ShippingWeight               *Float      `xmlrpc:"shipping_weight,omptempty"`
	ShopWarning                  *String     `xmlrpc:"shop_warning,omptempty"`
	ShowJsonPopover              *Bool       `xmlrpc:"show_json_popover,omptempty"`
	ShowUpdateFpos               *Bool       `xmlrpc:"show_update_fpos,omptempty"`
	ShowUpdatePricelist          *Bool       `xmlrpc:"show_update_pricelist,omptempty"`
	Signature                    *String     `xmlrpc:"signature,omptempty"`
	SignedBy                     *String     `xmlrpc:"signed_by,omptempty"`
	SignedOn                     *Time       `xmlrpc:"signed_on,omptempty"`
	SourceId                     *Many2One   `xmlrpc:"source_id,omptempty"`
	State                        *Selection  `xmlrpc:"state,omptempty"`
	TagIds                       *Relation   `xmlrpc:"tag_ids,omptempty"`
	TaxCalculationRoundingMethod *Selection  `xmlrpc:"tax_calculation_rounding_method,omptempty"`
	TaxCountryId                 *Many2One   `xmlrpc:"tax_country_id,omptempty"`
	TaxTotals                    *String     `xmlrpc:"tax_totals,omptempty"`
	TeamId                       *Many2One   `xmlrpc:"team_id,omptempty"`
	TermsType                    *Selection  `xmlrpc:"terms_type,omptempty"`
	TransactionIds               *Relation   `xmlrpc:"transaction_ids,omptempty"`
	TypeName                     *String     `xmlrpc:"type_name,omptempty"`
	UserId                       *Many2One   `xmlrpc:"user_id,omptempty"`
	ValidityDate                 *Time       `xmlrpc:"validity_date,omptempty"`
	WarehouseId                  *Many2One   `xmlrpc:"warehouse_id,omptempty"`
	WebsiteId                    *Many2One   `xmlrpc:"website_id,omptempty"`
	WebsiteMessageIds            *Relation   `xmlrpc:"website_message_ids,omptempty"`
	WebsiteOrderLine             *Relation   `xmlrpc:"website_order_line,omptempty"`
	WriteDate                    *Time       `xmlrpc:"write_date,omptempty"`
	WriteUid                     *Many2One   `xmlrpc:"write_uid,omptempty"`
}

SaleOrder represents sale.order model.

func (*SaleOrder) Many2One

func (so *SaleOrder) Many2One() *Many2One

Many2One convert SaleOrder to *Many2One.

type SaleOrderLine

type SaleOrderLine struct {
	AnalyticDistribution              interface{} `xmlrpc:"analytic_distribution,omptempty"`
	AnalyticDistributionSearch        interface{} `xmlrpc:"analytic_distribution_search,omptempty"`
	AnalyticLineIds                   *Relation   `xmlrpc:"analytic_line_ids,omptempty"`
	AnalyticPrecision                 *Int        `xmlrpc:"analytic_precision,omptempty"`
	CompanyId                         *Many2One   `xmlrpc:"company_id,omptempty"`
	CouponId                          *Many2One   `xmlrpc:"coupon_id,omptempty"`
	CreateDate                        *Time       `xmlrpc:"create_date,omptempty"`
	CreateUid                         *Many2One   `xmlrpc:"create_uid,omptempty"`
	CurrencyId                        *Many2One   `xmlrpc:"currency_id,omptempty"`
	CustomerLead                      *Float      `xmlrpc:"customer_lead,omptempty"`
	Discount                          *Float      `xmlrpc:"discount,omptempty"`
	DisplayName                       *String     `xmlrpc:"display_name,omptempty"`
	DisplayQtyWidget                  *Bool       `xmlrpc:"display_qty_widget,omptempty"`
	DisplayType                       *Selection  `xmlrpc:"display_type,omptempty"`
	ForecastExpectedDate              *Time       `xmlrpc:"forecast_expected_date,omptempty"`
	FreeQtyToday                      *Float      `xmlrpc:"free_qty_today,omptempty"`
	Id                                *Int        `xmlrpc:"id,omptempty"`
	InvoiceLines                      *Relation   `xmlrpc:"invoice_lines,omptempty"`
	InvoiceStatus                     *Selection  `xmlrpc:"invoice_status,omptempty"`
	IsConfigurableProduct             *Bool       `xmlrpc:"is_configurable_product,omptempty"`
	IsDelivery                        *Bool       `xmlrpc:"is_delivery,omptempty"`
	IsDownpayment                     *Bool       `xmlrpc:"is_downpayment,omptempty"`
	IsExpense                         *Bool       `xmlrpc:"is_expense,omptempty"`
	IsMto                             *Bool       `xmlrpc:"is_mto,omptempty"`
	IsRewardLine                      *Bool       `xmlrpc:"is_reward_line,omptempty"`
	LinkedLineId                      *Many2One   `xmlrpc:"linked_line_id,omptempty"`
	MoveIds                           *Relation   `xmlrpc:"move_ids,omptempty"`
	Name                              *String     `xmlrpc:"name,omptempty"`
	NameShort                         *String     `xmlrpc:"name_short,omptempty"`
	OptionLineIds                     *Relation   `xmlrpc:"option_line_ids,omptempty"`
	OrderId                           *Many2One   `xmlrpc:"order_id,omptempty"`
	OrderPartnerId                    *Many2One   `xmlrpc:"order_partner_id,omptempty"`
	PointsCost                        *Float      `xmlrpc:"points_cost,omptempty"`
	PriceReduceTaxexcl                *Float      `xmlrpc:"price_reduce_taxexcl,omptempty"`
	PriceReduceTaxinc                 *Float      `xmlrpc:"price_reduce_taxinc,omptempty"`
	PriceSubtotal                     *Float      `xmlrpc:"price_subtotal,omptempty"`
	PriceTax                          *Float      `xmlrpc:"price_tax,omptempty"`
	PriceTotal                        *Float      `xmlrpc:"price_total,omptempty"`
	PriceUnit                         *Float      `xmlrpc:"price_unit,omptempty"`
	PricelistItemId                   *Many2One   `xmlrpc:"pricelist_item_id,omptempty"`
	ProductCustomAttributeValueIds    *Relation   `xmlrpc:"product_custom_attribute_value_ids,omptempty"`
	ProductId                         *Many2One   `xmlrpc:"product_id,omptempty"`
	ProductNoVariantAttributeValueIds *Relation   `xmlrpc:"product_no_variant_attribute_value_ids,omptempty"`
	ProductPackagingId                *Many2One   `xmlrpc:"product_packaging_id,omptempty"`
	ProductPackagingQty               *Float      `xmlrpc:"product_packaging_qty,omptempty"`
	ProductQty                        *Float      `xmlrpc:"product_qty,omptempty"`
	ProductTemplateAttributeValueIds  *Relation   `xmlrpc:"product_template_attribute_value_ids,omptempty"`
	ProductTemplateId                 *Many2One   `xmlrpc:"product_template_id,omptempty"`
	ProductType                       *Selection  `xmlrpc:"product_type,omptempty"`
	ProductUom                        *Many2One   `xmlrpc:"product_uom,omptempty"`
	ProductUomCategoryId              *Many2One   `xmlrpc:"product_uom_category_id,omptempty"`
	ProductUomQty                     *Float      `xmlrpc:"product_uom_qty,omptempty"`
	ProductUomReadonly                *Bool       `xmlrpc:"product_uom_readonly,omptempty"`
	ProductUpdatable                  *Bool       `xmlrpc:"product_updatable,omptempty"`
	QtyAvailableToday                 *Float      `xmlrpc:"qty_available_today,omptempty"`
	QtyDelivered                      *Float      `xmlrpc:"qty_delivered,omptempty"`
	QtyDeliveredMethod                *Selection  `xmlrpc:"qty_delivered_method,omptempty"`
	QtyInvoiced                       *Float      `xmlrpc:"qty_invoiced,omptempty"`
	QtyToDeliver                      *Float      `xmlrpc:"qty_to_deliver,omptempty"`
	QtyToInvoice                      *Float      `xmlrpc:"qty_to_invoice,omptempty"`
	RecomputeDeliveryPrice            *Bool       `xmlrpc:"recompute_delivery_price,omptempty"`
	RewardId                          *Many2One   `xmlrpc:"reward_id,omptempty"`
	RewardIdentifierCode              *String     `xmlrpc:"reward_identifier_code,omptempty"`
	RouteId                           *Many2One   `xmlrpc:"route_id,omptempty"`
	SaleOrderOptionIds                *Relation   `xmlrpc:"sale_order_option_ids,omptempty"`
	SalesmanId                        *Many2One   `xmlrpc:"salesman_id,omptempty"`
	ScheduledDate                     *Time       `xmlrpc:"scheduled_date,omptempty"`
	Sequence                          *Int        `xmlrpc:"sequence,omptempty"`
	ShopWarning                       *String     `xmlrpc:"shop_warning,omptempty"`
	State                             *Selection  `xmlrpc:"state,omptempty"`
	TaxCalculationRoundingMethod      *Selection  `xmlrpc:"tax_calculation_rounding_method,omptempty"`
	TaxCountryId                      *Many2One   `xmlrpc:"tax_country_id,omptempty"`
	TaxId                             *Relation   `xmlrpc:"tax_id,omptempty"`
	UntaxedAmountInvoiced             *Float      `xmlrpc:"untaxed_amount_invoiced,omptempty"`
	UntaxedAmountToInvoice            *Float      `xmlrpc:"untaxed_amount_to_invoice,omptempty"`
	VirtualAvailableAtDate            *Float      `xmlrpc:"virtual_available_at_date,omptempty"`
	WarehouseId                       *Many2One   `xmlrpc:"warehouse_id,omptempty"`
	WriteDate                         *Time       `xmlrpc:"write_date,omptempty"`
	WriteUid                          *Many2One   `xmlrpc:"write_uid,omptempty"`
}

SaleOrderLine represents sale.order.line model.

func (*SaleOrderLine) Many2One

func (sol *SaleOrderLine) Many2One() *Many2One

Many2One convert SaleOrderLine to *Many2One.

type SaleOrderLines

type SaleOrderLines []SaleOrderLine

SaleOrderLines represents array of sale.order.line model.

type SaleOrders

type SaleOrders []SaleOrder

SaleOrders represents array of sale.order model.

type Selection

type Selection struct {
	// contains filtered or unexported fields
}

Selection represents selection odoo type.

func NewSelection

func NewSelection(v interface{}) *Selection

NewSelection creates a new *Selection.

func (*Selection) Get

func (s *Selection) Get() interface{}

Get *Selection value.

type String

type String struct {
	// contains filtered or unexported fields
}

String is a string wrapper

func NewString

func NewString(v string) *String

NewString creates a new *String.

func (*String) Get

func (s *String) Get() string

Get *String value.

type Time

type Time struct {
	// contains filtered or unexported fields
}

Time is a time.Time wrapper.

func NewTime

func NewTime(v time.Time) *Time

NewTime creates a new *Time.

func (*Time) Get

func (t *Time) Get() time.Time

Get *Time value.

type Version

type Version struct {
	ServerVersion     *String     `xmlrpc:"server_version"`
	ServerVersionInfo interface{} `xmlrpc:"server_version_info"`
	ServerSerie       *String     `xmlrpc:"server_serie"`
	ProtocolVersion   *Int        `xmlrpc:"protocol_version"`
}

Version describes odoo instance version.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL