54 lines
2.0 KiB
Python
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
|
|
})
|