-
Notifications
You must be signed in to change notification settings - Fork 0
/
ir_qweb_field_contact.go
130 lines (113 loc) · 4.46 KB
/
ir_qweb_field_contact.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package odoo
import (
"fmt"
)
// IrQwebFieldContact represents ir.qweb.field.contact model.
type IrQwebFieldContact struct {
LastUpdate *Time `xmlrpc:"__last_update,omptempty"`
DisplayName *String `xmlrpc:"display_name,omptempty"`
Id *Int `xmlrpc:"id,omptempty"`
}
// IrQwebFieldContacts represents array of ir.qweb.field.contact model.
type IrQwebFieldContacts []IrQwebFieldContact
// IrQwebFieldContactModel is the odoo model name.
const IrQwebFieldContactModel = "ir.qweb.field.contact"
// Many2One convert IrQwebFieldContact to *Many2One.
func (iqfc *IrQwebFieldContact) Many2One() *Many2One {
return NewMany2One(iqfc.Id.Get(), "")
}
// CreateIrQwebFieldContact creates a new ir.qweb.field.contact model and returns its id.
func (c *Client) CreateIrQwebFieldContact(iqfc *IrQwebFieldContact) (int64, error) {
ids, err := c.CreateIrQwebFieldContacts([]*IrQwebFieldContact{iqfc})
if err != nil {
return -1, err
}
if len(ids) == 0 {
return -1, nil
}
return ids[0], nil
}
// CreateIrQwebFieldContact creates a new ir.qweb.field.contact model and returns its id.
func (c *Client) CreateIrQwebFieldContacts(iqfcs []*IrQwebFieldContact) ([]int64, error) {
var vv []interface{}
for _, v := range iqfcs {
vv = append(vv, v)
}
return c.Create(IrQwebFieldContactModel, vv)
}
// UpdateIrQwebFieldContact updates an existing ir.qweb.field.contact record.
func (c *Client) UpdateIrQwebFieldContact(iqfc *IrQwebFieldContact) error {
return c.UpdateIrQwebFieldContacts([]int64{iqfc.Id.Get()}, iqfc)
}
// UpdateIrQwebFieldContacts updates existing ir.qweb.field.contact records.
// All records (represented by ids) will be updated by iqfc values.
func (c *Client) UpdateIrQwebFieldContacts(ids []int64, iqfc *IrQwebFieldContact) error {
return c.Update(IrQwebFieldContactModel, ids, iqfc)
}
// DeleteIrQwebFieldContact deletes an existing ir.qweb.field.contact record.
func (c *Client) DeleteIrQwebFieldContact(id int64) error {
return c.DeleteIrQwebFieldContacts([]int64{id})
}
// DeleteIrQwebFieldContacts deletes existing ir.qweb.field.contact records.
func (c *Client) DeleteIrQwebFieldContacts(ids []int64) error {
return c.Delete(IrQwebFieldContactModel, ids)
}
// GetIrQwebFieldContact gets ir.qweb.field.contact existing record.
func (c *Client) GetIrQwebFieldContact(id int64) (*IrQwebFieldContact, error) {
iqfcs, err := c.GetIrQwebFieldContacts([]int64{id})
if err != nil {
return nil, err
}
if iqfcs != nil && len(*iqfcs) > 0 {
return &((*iqfcs)[0]), nil
}
return nil, fmt.Errorf("id %v of ir.qweb.field.contact not found", id)
}
// GetIrQwebFieldContacts gets ir.qweb.field.contact existing records.
func (c *Client) GetIrQwebFieldContacts(ids []int64) (*IrQwebFieldContacts, error) {
iqfcs := &IrQwebFieldContacts{}
if err := c.Read(IrQwebFieldContactModel, ids, nil, iqfcs); err != nil {
return nil, err
}
return iqfcs, nil
}
// FindIrQwebFieldContact finds ir.qweb.field.contact record by querying it with criteria.
func (c *Client) FindIrQwebFieldContact(criteria *Criteria) (*IrQwebFieldContact, error) {
iqfcs := &IrQwebFieldContacts{}
if err := c.SearchRead(IrQwebFieldContactModel, criteria, NewOptions().Limit(1), iqfcs); err != nil {
return nil, err
}
if iqfcs != nil && len(*iqfcs) > 0 {
return &((*iqfcs)[0]), nil
}
return nil, fmt.Errorf("ir.qweb.field.contact was not found with criteria %v", criteria)
}
// FindIrQwebFieldContacts finds ir.qweb.field.contact records by querying it
// and filtering it with criteria and options.
func (c *Client) FindIrQwebFieldContacts(criteria *Criteria, options *Options) (*IrQwebFieldContacts, error) {
iqfcs := &IrQwebFieldContacts{}
if err := c.SearchRead(IrQwebFieldContactModel, criteria, options, iqfcs); err != nil {
return nil, err
}
return iqfcs, nil
}
// FindIrQwebFieldContactIds finds records ids by querying it
// and filtering it with criteria and options.
func (c *Client) FindIrQwebFieldContactIds(criteria *Criteria, options *Options) ([]int64, error) {
ids, err := c.Search(IrQwebFieldContactModel, criteria, options)
if err != nil {
return []int64{}, err
}
return ids, nil
}
// FindIrQwebFieldContactId finds record id by querying it with criteria.
func (c *Client) FindIrQwebFieldContactId(criteria *Criteria, options *Options) (int64, error) {
ids, err := c.Search(IrQwebFieldContactModel, criteria, options)
if err != nil {
return -1, err
}
if len(ids) > 0 {
return ids[0], nil
}
return -1, fmt.Errorf("ir.qweb.field.contact was not found with criteria %v and options %v", criteria, options)
}