OdooDigitizationService/addons/tx_cms/controllers/capability_diagnosis.py

54 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
import logging
from odoo import http, tools
from .tool import MakeResponse
_logger = logging.getLogger(__name__)
class capabilityDiagnosis(http.Controller):
@http.route(['/capability_diagnosis'], type='http', auth="public", website=True)
def list(self, **kw):
return http.request.render('tx_cms.capabilityDiagnosis', {})
@http.route(['/capability_diagnosis_data', '/capability_diagnosis_data/page/<int:page>'], type='http', auth="public",
website=True)
def listData(self, page=1, **kw):
diagnosis_obj = http.request.env["tx.capability.diagnosis"].sudo()
_post_per_page = 10
page = int(page)
diagnosisAll = diagnosis_obj.search([])
pager = tools.lazy(
lambda: http.request.website.pager(url='/capability_diagnosis_data', total=diagnosisAll.__len__(),
page=page, step=_post_per_page, scope=_post_per_page,
url_args=kw))
diagnosisData = diagnosisAll[
(page - 1) * _post_per_page:page * _post_per_page]
records = []
for diagnosis in diagnosisData:
records.append({
"imgUrl": http.request.website.image_url(diagnosis, 'img'),
"id": diagnosis.id,
"name": diagnosis.name,
"state": diagnosis.get_state_value(diagnosis.state),
"diagnosisRange": diagnosis.diagnosis_range,
"briefIntroduction": diagnosis.brief_introduction
})
return MakeResponse.success({
"records": records,
"pager": pager._value,
})
@http.route('/capability_diagnosis_details/<model("tx.capability.diagnosis"):obj>', type='http', auth="public",
website=True)
def object(self, obj, **kw):
return http.request.render('tx_cms.capabilityDiagnosisDetails', {
'object': obj
})