summaryrefslogtreecommitdiff
path: root/indoteknik_custom/controllers/api_controller.py
blob: cb5fae608886e06c3eb6c4a663ae08fe256a570a (plain)
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)