from odoo import http from odoo.http import request from datetime import datetime, date class ActRevise(http.Controller): @http.route(['/my/act_revise/'], type='http', auth="public", website=True) def print_report(self): partner = request.env.user.partner_id.parent_id.id partner_name = request.env.user.partner_id.parent_id.name if not partner: partner = request.env.user.partner_id.id partner_name = request.env.user.partner_id.name company = request.env.user.company_id.id company_name = request.env.user.company_id.name today = date.today() d1 = today.strftime("%d.%m.%y") wizard_data = { "target_move": "posted", "hide_account_at_0": True, "foreign_currency": True, "company_id": company, "partner_ids": [partner], "show_cost_center": True, "centralize": True } wizard_record = request.env['general.ledger.act_revise.wizard'].sudo().create(wizard_data) action = request.env.ref('act_revise.action_general_ledger_wizard').read()[0] action['res_id'] = wizard_record.id action['context'] = dict(request.env.context) return request.redirect('/web#action=' + str(action['id']) + '&id=' + str(wizard_record.id) + '&view_type=form') # @http.route(['/my/act_revise/'], type='http', auth="public", website=True) # def print_report(self): # partner = request.env.user.partner_id.parent_id.id # partner_name = request.env.user.partner_id.parent_id.name # if not partner: # partner = request.env.user.partner_id.id # partner_name = request.env.user.partner_id.name # company = request.env.user.company_id.id # company_name = request.env.user.company_id.name # today = date.today() # d1 = today.strftime("%d.%m.%y") # # new_url = str('Акт Сверки ' + d1 + ' ' + company_name + '_' + partner_name) # # new_url=str('AC ' + company +' - ' + partner + ' ' + d1) # # if request.httprequest.full_path == '/my/act_revise/a?': # # return werkzeug.utils.redirect('/my/act_revise/%s' % new_url) # wizard_data = {"target_move": "posted", # "hide_account_at_0": True, # "foreign_currency": True, # #"show_analytic_tags": True, # "company_id": company, # "partner_ids": [partner], # #"show_partner_details": True, # "show_cost_center": True, # "centralize": True} # t = request.env['general.ledger.act_revise.wizard'].sudo().create(wizard_data) # data = t._prepare_report_general_ledger() # name = t.get_report_filename() # report_name = name.encode('cp1251') # pdf, _ = request.env['ir.actions.report']._render_qweb_pdf( # 'act_revise.action_print_report_general_ledger_qweb', res_ids=t.id, data=data) # pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', len(pdf)), ] # return request.make_response(pdf, headers=pdfhttpheaders) @http.route(['/my/act_revise_contact/'], type='http', auth="public", website=True) def print_report_contact(self, date_to, date_from, target_move, company, partner): partner_id = int(partner) or 'default_partner_value' company_id = int(company) wizard_data = {"date_to": date_to, "date_from": date_from, "target_move": target_move, "hide_account_at_0": True, "foreign_currency": True, #"show_analytic_tags": True, "company_id": company_id, "partner_ids": [partner_id], #"show_partner_details": True, "show_cost_center": True, "centralize": True} t = request.env['general.ledger.act_revise.wizard'].sudo().create(wizard_data) data = t._prepare_report_general_ledger() pdf, _ = request.env['ir.actions.report']._render_qweb_pdf( 'act_revise.action_print_report_general_ledger_qweb', res_ids=t.id, data=data) pdfhttpheaders = [('Content-Type', 'application/pdf'), ('Content-Length', len(pdf)), ] return request.make_response(pdf, headers=pdfhttpheaders)