OdooDigitizationService/addons/tx_cms/controllers/skill_improvement.py

78 lines
2.7 KiB
Python

# -*- coding: utf-8 -*-
import logging
from odoo import http, tools
from .tool import MakeResponse
_logger = logging.getLogger(__name__)
class skillImprovement(http.Controller):
@http.route(['/skill_improvement'], type='http', auth="public", website=True)
def list(self, **kw):
return http.request.render('tx_cms.skillImprovement', {})
@http.route(['/skill_improvement_data', '/skill_improvement_data/page/<int:page>'], type='http', auth="public",
website=True)
def listData(self, good_id=0, page=1, **kw):
skill_obj = http.request.env["tx.skill.improvement"].sudo()
_post_per_page = 9
page = int(page)
goodList = []
good_id = int(good_id)
good_ids = skill_obj.good_ids.sudo().search([("code", "=", "GF")])._get_dict_values()
for index, item in enumerate(good_ids):
item["active"] = True if item["id"] == good_id else False
goodList.append(item)
domain = []
if good_id:
domain.append(("good_ids", "in", [good_id]))
skillAll = skill_obj.search(domain)
pager = tools.lazy(
lambda: http.request.website.pager(url='/skill_improvement_data', total=skillAll.__len__(),
page=page, step=_post_per_page, scope=_post_per_page,
url_args=kw))
skillData = skillAll[
(page - 1) * _post_per_page:page * _post_per_page]
records = []
for skill in skillData:
records.append({
"id": skill.id,
"imgUrl": http.request.website.image_url(skill, 'img'),
"name": skill.name,
"chapters": skill.chapters,
"goodIds": [good_id.name for good_id in skill.good_ids],
})
return MakeResponse.success({
"goodList": goodList,
"records": records,
"good_id": good_id,
"pager": pager._value,
})
@http.route('/skill_improvement_details/<model("tx.skill.improvement"):obj>', type='http', auth="public",
website=True)
def object(self, obj, **kw):
return http.request.render('tx_cms.skillImprovementDetails', {
'object': obj
})
@http.route('/skill_improvement/details', methods=['get'], auth='public', website=True)
def record_details(self, recordId, **kw):
record_obj = http.request.env["tx.skill.improvement"].sudo()
obj = record_obj.sudo().browse([int(recordId)])
return MakeResponse.success({
"name": obj.name,
"author": obj.author,
"content": obj.content,
})