diff --git a/setup/lib/cli.py b/setup/lib/cli.py index 5db70c41..ac7ba5a8 100755 --- a/setup/lib/cli.py +++ b/setup/lib/cli.py @@ -87,6 +87,7 @@ def main(): 'delete_mail_server', 'update_values', 'set_sys_params', + 'setup_reports', ] if cmd == 'rollout': diff --git a/setup/lib/config_at.py b/setup/lib/config_at.py index 29aa3379..b6307a24 100644 --- a/setup/lib/config_at.py +++ b/setup/lib/config_at.py @@ -208,6 +208,22 @@ class Config(): #'sale_order_optional', #'sale_order_reminder', ] + + # Setzen das Feld "Attachment" im Report (wenn gesetzt, wird das PDF in den Anhängen gespeichert) + timestamp = " + '_' + time.strftime('%Y-%m-%d-%H%M') + '.pdf')" + self.reports = { + 'sale.report_saleorder': "((object.state in ('draft','sent') and 'KV_' or 'AB_') + object.name" + timestamp, + 'cam_reports.report_saleorder_ohne': "((object.state in ('draft','sent') and 'KV_' or 'AB_') + object.name" + timestamp, + 'cam_reports.report_porto_anforderung': "('PV_' + object.name " + timestamp, + 'cam_reports.report_porto_anforderung_ohne': "('PV_' + object.name " + timestamp, + 'account.report_invoice': "(object.state in ('open','paid')) and ('RE_'+(object.number or '').replace('/','')" + timestamp, + 'cam_reports.report_invoices_ohne': "(object.state in ('open','paid')) and ('RE_'+(object.number or '').replace('/','')" + timestamp, + 'cam_reports.report_porto_rechnung': "(object.state in ('open','paid')) and ('RE_'+(object.number or '').replace('/','')" + timestamp, + 'cam_reports.report_porto_rechnung_ohne': "(object.state in ('open','paid')) and ('RE_'+(object.number or '').replace('/','')" + timestamp, + 'purchase.report_purchasequotation': "('AN_' + object.name" + timestamp, + 'purchase.report_purchaseorder': "('B_' + object.name" + timestamp, + 'cam_reports.report_purchaseorder_ohne': "('B_' + object.name" + timestamp, + } self.users_file = "res.users.csv" diff --git a/setup/lib/functions.py b/setup/lib/functions.py index 0d054673..612c91cf 100755 --- a/setup/lib/functions.py +++ b/setup/lib/functions.py @@ -669,4 +669,15 @@ class CamadeusFunctions(): self._execute('ir.config_parameter', 'write', param_ids, vals) else: self._execute('ir.config_parameter', 'create', vals) + return True + + def setup_reports(self): + """Berichte konfigurieren""" + + for report, attachment in self.config.reports.items(): + r_ids = self._execute('ir.actions.report.xml', 'search', [('report_name','=',report)]) + if r_ids: + self._execute('ir.actions.report.xml', 'write', r_ids, {'attachment': attachment}) + else: + return False return True \ No newline at end of file diff --git a/setup/puppet/modules/odoo/files/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb b/setup/puppet/modules/odoo/files/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb similarity index 62% rename from setup/puppet/modules/odoo/files/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb rename to setup/puppet/modules/odoo/files/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb index a6d1895e..0f4a2341 100644 Binary files a/setup/puppet/modules/odoo/files/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb and b/setup/puppet/modules/odoo/files/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb differ diff --git a/setup/puppet/modules/odoo/manifests/init.pp b/setup/puppet/modules/odoo/manifests/init.pp index 0a876357..4e4971ef 100644 --- a/setup/puppet/modules/odoo/manifests/init.pp +++ b/setup/puppet/modules/odoo/manifests/init.pp @@ -64,6 +64,7 @@ class odoo { 'bzr', 'git', 'nginx', + 'ntp', 'poppler-utils', 'postgresql', 'python-dateutil', @@ -99,7 +100,7 @@ class odoo { 'python-simplejson', 'python-tz', 'python-unittest2', - 'python-vatnumber', + #'python-vatnumber', 'python-vobject', 'python-webdav', 'python-werkzeug', @@ -115,25 +116,25 @@ class odoo { } -# file { 'wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb': -# name => "/tmp/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb", -# owner => root, -# group => root, -# source => "puppet:///modules/odoo/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb" -# } - -# package { 'wkhtmltox': -# provider => dpkg, -# ensure => installed, -# source => "/tmp/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb", -# require => [File['wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb'],Package['xfonts-base']], -# } + file { 'wkhtmltox': + name => "/tmp/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb", + owner => root, + group => root, + source => "puppet:///modules/odoo/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb" + } + + package { 'wkhtmltox': + provider => dpkg, + ensure => installed, + source => "/tmp/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb", + require => [File['wkhtmltopdf'],Package['xfonts-base']], + } package {['passlib', 'psycogreen', 'gdata', 'requests', - 'setproctitle', + 'vatnumber', ]: ensure => installed, provider => 'pip', @@ -183,7 +184,7 @@ class odoo { mode => '0600', ensure => present, content => template('odoo/default.nginx.erb'), - notify => Package['nginx'], + notify => Service['nginx'], } # NGINX SSL @@ -390,7 +391,7 @@ git --work-tree=/home/$instance/ext --git-dir=/home/$instance/ext.git checkout - postgresql::server::role { "$instance": password_hash => postgresql_password($instance, $db_pw), createdb => true, - require => Exec['utf8 postgres'], +# require => Exec['utf8 postgres'], } # NGINX