mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
update common
This commit is contained in:
@@ -3,6 +3,8 @@
|
|||||||
import base64
|
import base64
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
import requests
|
import requests
|
||||||
|
from math import radians, cos, sin, asin, sqrt
|
||||||
|
|
||||||
from ..lib.user_agents import parse
|
from ..lib.user_agents import parse
|
||||||
|
|
||||||
from odoo import api, http, SUPERUSER_ID, _
|
from odoo import api, http, SUPERUSER_ID, _
|
||||||
@@ -69,5 +71,25 @@ class AppController(http.Controller):
|
|||||||
elif 'cn.erpapp.o20sticks.App' in ua:
|
elif 'cn.erpapp.o20sticks.App' in ua:
|
||||||
# 安卓app
|
# 安卓app
|
||||||
utype = 'native_android'
|
utype = 'native_android'
|
||||||
_logger.warning('=========get ua %s,%s' % (utype, ua))
|
# _logger.warning('=========get ua %s,%s' % (utype, ua))
|
||||||
return utype
|
return utype
|
||||||
|
|
||||||
|
|
||||||
|
def haversine(lon1, lat1, lon2, lat2):
|
||||||
|
# 计算地图上两点的距离
|
||||||
|
# in:经度1,纬度1,经度2,纬度2 (十进制度数)
|
||||||
|
# out: 距离(米)
|
||||||
|
"""
|
||||||
|
Calculate the great circle distance between two points
|
||||||
|
on the earth (specified in decimal degrees)
|
||||||
|
"""
|
||||||
|
# 将十进制度数转化为弧度
|
||||||
|
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
|
||||||
|
|
||||||
|
# haversine公式
|
||||||
|
dlon = lon2 - lon1
|
||||||
|
dlat = lat2 - lat1
|
||||||
|
a = sin(dlat / 2) ** 2 + cos(lat1) * cos(lat2) * sin(dlon / 2) ** 2
|
||||||
|
c = 2 * asin(sqrt(a))
|
||||||
|
r = 6371 # 地球平均半径,单位为公里
|
||||||
|
return c * r * 1000
|
||||||
|
|||||||
@@ -2,7 +2,9 @@
|
|||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
||||||
|
|
||||||
from ..controllers import main as imgc
|
import requests
|
||||||
|
import base64
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
from datetime import date, datetime, time
|
from datetime import date, datetime, time
|
||||||
import pytz
|
import pytz
|
||||||
@@ -48,5 +50,11 @@ class Base(models.AbstractModel):
|
|||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def get_image_from_url(self, url):
|
def get_image_from_url(self, url):
|
||||||
res = imgc.AppController.get_image_from_url(url)
|
if not url:
|
||||||
return res
|
return None
|
||||||
|
try:
|
||||||
|
response = requests.get(url) # 将这个图片保存在内存
|
||||||
|
except Exception as e:
|
||||||
|
return None
|
||||||
|
# 返回这个图片的base64编码
|
||||||
|
return base64.b64encode(BytesIO(response.content).read())
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ class IrModule(models.Model):
|
|||||||
})
|
})
|
||||||
return action
|
return action
|
||||||
|
|
||||||
@api.depends('name', 'latest_version', 'state')
|
@api.depends('name', 'state')
|
||||||
def _get_latest_version(self):
|
def _get_latest_version(self):
|
||||||
default_version = modules.adapt_version('1.0')
|
default_version = modules.adapt_version('1.0')
|
||||||
for module in self:
|
for module in self:
|
||||||
|
|||||||
Reference in New Issue
Block a user