Skip to content
Snippets Groups Projects
Commit d2831bd8 authored by Daniil Digtyar Vasilieva's avatar Daniil Digtyar Vasilieva :call_me: Committed by Enrico Stano
Browse files

[IMP] Added dowload template button

parent 5af67077
No related branches found
No related tags found
2 merge requests!187Release 14.0.1.1.13,!155[IMP] energy_selfconsumption: importation of selfconsumption inscriptions, supply points and distribution tables by CSV
......@@ -20,6 +20,7 @@
"security/ir_rule_data.xml",
"data/project_type_data.xml",
"data/ir_sequence_data.xml",
"data/ir_attactment_data.xml",
"views/selfconsumption_views.xml",
"views/supply_point_views.xml",
"views/res_partner_views.xml",
......
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
<record model="ir.attachment" id="distribution_table_example_attachment">
<field name="name">import_distribution_table_example.csv</field>
<field name="type">binary</field>
<field name="datas">
Q1VQUyxDb2VmZmljaWVudApFUzAzOTA1NTU0MjgxMTA0MzRHTSwwLjUKRVMwMzkwMTUxMzUwNzc0NTI3WkEsMC4yNQpFUzAzOTA5NzQwOTIwODQ4MTJKQywwLjI1Cg==
</field>
<field name="company_id"></field>
</record>
<record model="ir.actions.act_url" id="distribution_table_download_act_url">
<field name="name">distribution_table_download_act_url</field>
<field name="url" eval="'/web/content/' + str(ref('distribution_table_example_attachment')) + '?download=true'"></field>
<field name="target">new</field>
</record>
</data>
</odoo>
......@@ -5,6 +5,8 @@ import logging
from io import StringIO
import chardet
from csv import reader
import werkzeug
from odoo.http import request
logger = logging.getLogger(__name__)
......@@ -17,9 +19,10 @@ class DistributionTableImportWizard(models.TransientModel):
@api.constrains('import_file')
def _constrains_import_file(self):
format = str(self.fname.split(".")[1])
if format != 'csv':
raise ValidationError("Only csv format files are accepted.")
if self.fname:
format = str(self.fname.split(".")[1])
if format != 'csv':
raise ValidationError("Only csv format files are accepted.")
def import_file_button(self):
file_data = base64.b64decode(self.import_file)
......@@ -30,6 +33,17 @@ class DistributionTableImportWizard(models.TransientModel):
self.import_all_lines(parsing_data, distribution_table)
return True
def download_template_button(self):
distribution_table_example_attachment = self.env.ref('energy_selfconsumption.distribution_table_example_attachment')
base_url = self.env['ir.config_parameter'].get_param('web.base.url')
download_url = '/web/content/' + str(distribution_table_example_attachment.id) + '?download=true'
# download
return {
"type": "ir.actions.act_url",
"url": str(base_url) + str(download_url),
"target": "new",
}
def _parse_file(self, data_file):
self.ensure_one()
try:
......
......@@ -8,6 +8,7 @@
<field name="arch" type="xml">
<form>
<sheet>
<button type="action" name="energy_selfconsumption.distribution_table_download_act_url">Download Template</button>
<group>
<field name="import_file" filename="fname" widget="binary"></field>
<field name="fname" invisible="1"></field>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment