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
|
import datetime
from odoo import http
from odoo.http import request
import json
from pytz import timezone
class ApiController(http.Controller):
def authenticate(self, kw):
db = kw.get('db')
username = kw.get('username')
password = kw.get('password')
request.session.authenticate(db, username, password)
def time_to_str(self, object, format):
time = ''
if isinstance(object, datetime.datetime):
time = object.astimezone(timezone('Asia/Jakarta')).strftime(format)
return time
def search_with_api_params(self, model: str, kw, default_domain=[]):
limit = kw.get('limit', 0)
offset = kw.get('offset', 0)
order = kw.get('order', '')
domain = kw.get('domain', [])
if domain:
domain = json.loads(domain)
domain += default_domain
return request.env[model].search(domain, limit=int(limit), offset=int(offset), order=order)
|