Odoo Setup NEU
parent
86cb264579
commit
121fadb715
|
|
@ -84,7 +84,6 @@ def main():
|
||||||
'create_db',
|
'create_db',
|
||||||
'login',
|
'login',
|
||||||
'install_module_sale',
|
'install_module_sale',
|
||||||
#'setup_accounting',
|
|
||||||
'set_admin_rights',
|
'set_admin_rights',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -100,9 +99,8 @@ def main():
|
||||||
|
|
||||||
setup_methods = [
|
setup_methods = [
|
||||||
'login',
|
'login',
|
||||||
'uninstall_chat',
|
|
||||||
'install_modules',
|
'install_modules',
|
||||||
'set_warehouse',
|
#'set_warehouse',
|
||||||
#'base_config',
|
#'base_config',
|
||||||
#'sale_config',
|
#'sale_config',
|
||||||
#'finance_config',
|
#'finance_config',
|
||||||
|
|
@ -114,9 +112,9 @@ def main():
|
||||||
#'purchase_config',
|
#'purchase_config',
|
||||||
'set_date_format',
|
'set_date_format',
|
||||||
'set_company',
|
'set_company',
|
||||||
'set_taxes',
|
#'set_taxes',
|
||||||
'set_uom',
|
#'set_uom',
|
||||||
'set_steuerzuordnung',
|
#'set_steuerzuordnung',
|
||||||
#'setup_journals',
|
#'setup_journals',
|
||||||
'set_currencies',
|
'set_currencies',
|
||||||
'set_decimal_price',
|
'set_decimal_price',
|
||||||
|
|
|
||||||
|
|
@ -202,37 +202,34 @@ class Config():
|
||||||
'document',
|
'document',
|
||||||
'knowledge',
|
'knowledge',
|
||||||
'auth_crypt',
|
'auth_crypt',
|
||||||
'cam_testenv',
|
'auth_admin_passkey',
|
||||||
'cam_max_width',
|
'auth_brute_force',
|
||||||
'oerp_no_phoning_home',
|
'auth_session_timeout',
|
||||||
'cam_custom',
|
'disable_odoo_online',
|
||||||
'cam_reports',
|
'mass_editing',
|
||||||
|
'password_security',
|
||||||
|
'res_config_settings_enterprise_remove',
|
||||||
|
'scheduler_error_mailer',
|
||||||
|
'web_dialog_size',
|
||||||
|
'web_environment_ribbon',
|
||||||
|
'web_favicon',
|
||||||
|
'web_responsive',
|
||||||
|
'web_searchbar_full_width',
|
||||||
|
'web_sheet_full_width',
|
||||||
|
'web_shortcut',
|
||||||
|
'web_translate_dialog',
|
||||||
|
'web_tree_many2one_clickable',
|
||||||
|
#'website_no_crawler',
|
||||||
|
#'website_odoo_debranding',
|
||||||
|
'dp_custom',
|
||||||
|
'dp_reports',
|
||||||
'account_cancel',
|
'account_cancel',
|
||||||
'cam_invoice_skonto',
|
|
||||||
'web_printscreen_zb',
|
|
||||||
'crm',
|
|
||||||
'sale',
|
|
||||||
'mail_follower_control',
|
|
||||||
#'cam_hr_overtime',
|
|
||||||
#'cam_hr',
|
|
||||||
#'sale_order_optional',
|
|
||||||
#'sale_order_reminder',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
# Setze das Feld "Attachment" im Report (wenn gesetzt wird das PDF in den Anhängen gespeichert)
|
# Setze das Feld "Attachment" im Report (wenn gesetzt wird das PDF in den Anhängen gespeichert)
|
||||||
timestamp = " + '_' + time.strftime('%Y-%m-%d-%H%M') + '.pdf')"
|
timestamp = " + '_' + time.strftime('%Y-%m-%d-%H%M') + '.pdf')"
|
||||||
self.reports = {
|
self.reports = {
|
||||||
'sale.report_saleorder': "((object.state in ('draft','sent') and 'KV_' or 'AB_') + object.name" + timestamp,
|
'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'
|
self.users_file = 'res.users.csv'
|
||||||
|
|
@ -245,17 +242,17 @@ class Config():
|
||||||
]
|
]
|
||||||
|
|
||||||
self.default_values = [ # ir.values
|
self.default_values = [ # ir.values
|
||||||
('product.template', 'type', 'service'),
|
#('product.template', 'type', 'service'),
|
||||||
('product.template', 'type', 'XML:xmlid'), #mit prefix "XML:" kann eine XML ID übergeben werden
|
#('product.template', 'type', 'XML:xmlid'), #mit prefix "XML:" kann eine XML ID übergeben werden
|
||||||
]
|
]
|
||||||
|
|
||||||
self.data_updates = {
|
self.data_updates = {
|
||||||
'mrp.route_warehouse0_manufacture': {'name': 'Produzieren'},
|
#'mrp.route_warehouse0_manufacture': {'name': 'Produzieren'},
|
||||||
'purchase.route_warehouse0_buy': {'name': 'Einkaufen'},
|
#'purchase.route_warehouse0_buy': {'name': 'Einkaufen'},
|
||||||
'stock.route_warehouse0_mto': {'name': 'Beschaffe von Auftrag'},
|
#'stock.route_warehouse0_mto': {'name': 'Beschaffe von Auftrag'},
|
||||||
}
|
}
|
||||||
|
|
||||||
self.system_parameters = {
|
self.system_parameters = {
|
||||||
'ir_attachment.location': 'db', # [db] oder [file]
|
'ir_attachment.location': 'file', # [db] oder [file]
|
||||||
'database.expiration_date': '2038-01-19',
|
'database.expiration_date': '2038-01-19',
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -155,8 +155,6 @@ class DatenpolFunctions():
|
||||||
'grouping': '[3,3]',
|
'grouping': '[3,3]',
|
||||||
}
|
}
|
||||||
self._execute('res.lang', 'write', lang_ids, vals)
|
self._execute('res.lang', 'write', lang_ids, vals)
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
@ -414,15 +412,6 @@ class DatenpolFunctions():
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def uninstall_chat(self):
|
|
||||||
"""Chat-Modul deinstallieren"""
|
|
||||||
|
|
||||||
modules = ['im_chat', 'im_odoo_support', 'bus']
|
|
||||||
modules_to_install = self._execute('ir.module.module', 'search', [('name', 'in', modules)])
|
|
||||||
self._execute('ir.module.module', 'button_uninstall', modules_to_install)
|
|
||||||
self._execute('base.module.upgrade', 'upgrade_module', modules_to_install)
|
|
||||||
return True
|
|
||||||
|
|
||||||
def set_uom(self):
|
def set_uom(self):
|
||||||
"""Mengeneinheiten setzen"""
|
"""Mengeneinheiten setzen"""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ class odoo {
|
||||||
content => $sudo_entry,
|
content => $sudo_entry,
|
||||||
}
|
}
|
||||||
|
|
||||||
ssh_authorized_key { "andreas@camadeus":
|
ssh_authorized_key { "andreas@datenpol":
|
||||||
user => odoo,
|
user => odoo,
|
||||||
type => 'ssh-rsa',
|
type => 'ssh-rsa',
|
||||||
key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDBIg6NZV4tTs+J5qUP4/zQAn+Xi3muKqbaSDV8yYm50mH77PcLwbkZVlxdF0/OFCl5f5FCNp4Ag4Px97M35Nv+BweOTCZNMKOHmvtXY1fCRUQnk6ca3NlipImppL0U47SUzt9KkNIsz0FWxLu74LANgxKwrf8Hgim8Nkq8WrlvuoJCqf+542N15cGrf/9eD6yRm7AmdFi7VIYrP4m7TPbXJBGX+cXOo0bKTyaq8mtinbUN5UCi/eJ08wYkm/CGVxL+9cm6HOABw332A8OadAliCZBWqhFT0rBKdoWLxBbTsILALskrddpKLwBLOUIU79YeT0OfNpLCnVi8u67X9inl',
|
key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDBIg6NZV4tTs+J5qUP4/zQAn+Xi3muKqbaSDV8yYm50mH77PcLwbkZVlxdF0/OFCl5f5FCNp4Ag4Px97M35Nv+BweOTCZNMKOHmvtXY1fCRUQnk6ca3NlipImppL0U47SUzt9KkNIsz0FWxLu74LANgxKwrf8Hgim8Nkq8WrlvuoJCqf+542N15cGrf/9eD6yRm7AmdFi7VIYrP4m7TPbXJBGX+cXOo0bKTyaq8mtinbUN5UCi/eJ08wYkm/CGVxL+9cm6HOABw332A8OadAliCZBWqhFT0rBKdoWLxBbTsILALskrddpKLwBLOUIU79YeT0OfNpLCnVi8u67X9inl',
|
||||||
|
|
@ -79,11 +79,11 @@ class odoo {
|
||||||
'python-pip',
|
'python-pip',
|
||||||
'python-psutil',
|
'python-psutil',
|
||||||
'python-psycopg2',
|
'python-psycopg2',
|
||||||
'python-pybabel',
|
#'python-pybabel',
|
||||||
'python-pychart',
|
'python-pychart',
|
||||||
'python-pydot',
|
'python-pydot',
|
||||||
'python-pyparsing',
|
'python-pyparsing',
|
||||||
'python-pypdf',
|
#'python-pypdf',
|
||||||
'python-reportlab-accel',
|
'python-reportlab-accel',
|
||||||
'python-reportlab',
|
'python-reportlab',
|
||||||
# 'python-requests', ist bei debian version 0.12.1 => daher install mit pip
|
# 'python-requests', ist bei debian version 0.12.1 => daher install mit pip
|
||||||
|
|
@ -102,43 +102,34 @@ class odoo {
|
||||||
# für wkhtmltox
|
# für wkhtmltox
|
||||||
'xfonts-base',
|
'xfonts-base',
|
||||||
'xfonts-75dpi',
|
'xfonts-75dpi',
|
||||||
'node-less'
|
'node-less',
|
||||||
|
'libxslt-dev', # lxml
|
||||||
|
'libxml2-dev', # lxml
|
||||||
|
'lib32z1-dev'. # lxml
|
||||||
|
'libldap2-dev', #ldap
|
||||||
|
'libsasl2-dev', #ldap
|
||||||
]:
|
]:
|
||||||
ensure => present,
|
ensure => present,
|
||||||
}
|
}
|
||||||
|
|
||||||
exec { "/usr/bin/wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb":
|
exec { "/usr/bin/wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb":
|
||||||
alias => "wkhtmltox",
|
alias => "wkhtmltox",
|
||||||
cwd => "/tmp",
|
cwd => "/tmp",
|
||||||
creates => '/tmp/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb'
|
creates => '/tmp/wkhtmltox-0.12.1_linux-trusty-amd64.deb'
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "wkthmltox":
|
file { "wkthmltox":
|
||||||
name => "/tmp/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb",
|
name => "/tmp/wkhtmltox-0.12.1_linux-trusty-amd64.deb",
|
||||||
owner => root,
|
owner => root,
|
||||||
group => root,
|
group => root,
|
||||||
ensure => present,
|
ensure => present,
|
||||||
alias => "wkhtmltox",
|
alias => "wkhtmltox",
|
||||||
require => Exec["wkhtmltox"] }
|
require => Exec["wkhtmltox"] }
|
||||||
|
|
||||||
# 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"
|
|
||||||
# }
|
|
||||||
|
|
||||||
# wget::fetch { "wkhtmltox":
|
|
||||||
# source => 'http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb',
|
|
||||||
# destination => '/tmp/',
|
|
||||||
# timeout => 0,
|
|
||||||
# verbose => true,
|
|
||||||
# }
|
|
||||||
|
|
||||||
package { 'wkhtmltox':
|
package { 'wkhtmltox':
|
||||||
provider => dpkg,
|
provider => dpkg,
|
||||||
ensure => installed,
|
ensure => installed,
|
||||||
source => "/tmp/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb",
|
source => "/tmp/wkhtmltox-0.12.1_linux-trusty-amd64.deb",
|
||||||
require => [FILE['wkhtmltox'],Package['xfonts-base']],
|
require => [FILE['wkhtmltox'],Package['xfonts-base']],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -148,7 +139,9 @@ class odoo {
|
||||||
'requests',
|
'requests',
|
||||||
'vatnumber',
|
'vatnumber',
|
||||||
'xlsxwriter',
|
'xlsxwriter',
|
||||||
'ofxparse'
|
'ofxparse',
|
||||||
|
'babel',
|
||||||
|
'pypdf',
|
||||||
]:
|
]:
|
||||||
ensure => installed,
|
ensure => installed,
|
||||||
provider => 'pip',
|
provider => 'pip',
|
||||||
|
|
@ -300,13 +293,13 @@ define odoo::instance ($db_pw,$ssl = false, $servername, $odooport, $odooport_lo
|
||||||
}
|
}
|
||||||
|
|
||||||
$gitdir="/home/$instance/ext"
|
$gitdir="/home/$instance/ext"
|
||||||
$giturl="ssh://git@gitlab.datenpol.at:122/odoo/$gitrepo.git"
|
$giturl="ssh://git@gitlab.datenpol.at:122/odoo/$gitrepo.git"$gituser="$instance"
|
||||||
vcsrepo { $gitdir:
|
vcsrepo { $gitdir:
|
||||||
ensure => present,
|
ensure => present,
|
||||||
provider => git,
|
provider => git,
|
||||||
source => $giturl,
|
source => $giturl,
|
||||||
revision => $gitbranch,
|
revision => $gitbranch,
|
||||||
user => 'ctba-prod'
|
user => $instance,
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/home/$instance/config":
|
file { "/home/$instance/config":
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ db_password = False
|
||||||
db_port = False
|
db_port = False
|
||||||
db_user = False
|
db_user = False
|
||||||
|
|
||||||
|
proxy_mode = True
|
||||||
|
|
||||||
debug_mode = False
|
debug_mode = False
|
||||||
list_db = True
|
list_db = True
|
||||||
log_level = info
|
log_level = info
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@ upstream odoo-server-<%= @instance %> {
|
||||||
server 127.0.0.1:<%= @odooport %> fail_timeout=3000s;
|
server 127.0.0.1:<%= @odooport %> fail_timeout=3000s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upstream odoo-server-<%= @instance %>-long {
|
||||||
|
server 127.0.0.1:<%= @odooport_longpolling %> fail_timeout=300s;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
<% if @ssl == true %>
|
<% if @ssl == true %>
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
|
|
@ -37,9 +41,9 @@ server {
|
||||||
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
|
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
|
||||||
ssl_ciphers HIGH:!aNULL:!MD5;
|
ssl_ciphers HIGH:!aNULL:!MD5;
|
||||||
|
|
||||||
<% if @servername =~ /.*camadeus.at$/ %>
|
<% if @servername =~ /.*datenpol.at$/ %>
|
||||||
ssl_certificate /etc/nginx/ssl/camadeus.at.crt;
|
ssl_certificate /etc/nginx/ssl/datenpol.at.crt;
|
||||||
ssl_certificate_key /etc/nginx/ssl/camadeus.at.key;
|
ssl_certificate_key /etc/nginx/ssl/datenpol.at.key;
|
||||||
<% else %>
|
<% else %>
|
||||||
ssl_certificate /etc/nginx/ssl/<%= @instance %>.crt;
|
ssl_certificate /etc/nginx/ssl/<%= @instance %>.crt;
|
||||||
ssl_certificate_key /etc/nginx/ssl/<%= @instance %>.key;
|
ssl_certificate_key /etc/nginx/ssl/<%= @instance %>.key;
|
||||||
|
|
@ -63,8 +67,12 @@ server {
|
||||||
|
|
||||||
# by default, do not forward anything
|
# by default, do not forward anything
|
||||||
proxy_redirect off;
|
proxy_redirect off;
|
||||||
|
|
||||||
|
location /longpollling {
|
||||||
|
proxy_pass http://odoo-server-<%= @instance %>-long;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# cache some static data in memory for 60mins.
|
# cache some static data in memory for 60mins.
|
||||||
# under heavy load this should relieve stress on the OpenERP web interface a bit.
|
# under heavy load this should relieve stress on the OpenERP web interface a bit.
|
||||||
location ~* /web/static/ {
|
location ~* /web/static/ {
|
||||||
|
|
@ -73,6 +81,9 @@ server {
|
||||||
expires 864000;
|
expires 864000;
|
||||||
proxy_pass http://odoo-server-<%= @instance %>;
|
proxy_pass http://odoo-server-<%= @instance %>;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
HOST='lst.datenpol.at'
|
HOST='xxx.datenpol.at'
|
||||||
PORT=22
|
PORT=22
|
||||||
|
|
||||||
if [ $# -lt 1 ] || [ $# -gt 1 ]; then
|
if [ $# -lt 1 ] || [ $# -gt 1 ]; then
|
||||||
|
|
@ -41,6 +41,7 @@ rsync -av -e "ssh -p ${PORT}" --copy-links "site.pp" "${USER}@${HOST}:/tmp/site.
|
||||||
rsync -arv -e "ssh -p ${PORT}" --copy-links "modules" "${USER}@${HOST}:/tmp"
|
rsync -arv -e "ssh -p ${PORT}" --copy-links "modules" "${USER}@${HOST}:/tmp"
|
||||||
|
|
||||||
ssh -p ${PORT} ${USER}@${HOST} "sudo mv -f /tmp/site.pp /etc/puppet/manifests/site.pp"
|
ssh -p ${PORT} ${USER}@${HOST} "sudo mv -f /tmp/site.pp /etc/puppet/manifests/site.pp"
|
||||||
|
# Achtung für Debian werden die Puppet-Module unter /etc/puppet/code/modules abgelegt
|
||||||
ssh -p ${PORT} ${USER}@${HOST} "sudo rm -rf /etc/puppet/modules/odoo; sudo mv /tmp/modules/odoo /etc/puppet/modules; sudo rm -rf /tmp/modules"
|
ssh -p ${PORT} ${USER}@${HOST} "sudo rm -rf /etc/puppet/modules/odoo; sudo mv /tmp/modules/odoo /etc/puppet/modules; sudo rm -rf /tmp/modules"
|
||||||
|
|
||||||
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet apply /etc/puppet/manifests/site.pp"
|
ssh -p ${PORT} ${USER}@${HOST} "sudo puppet apply /etc/puppet/manifests/site.pp"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
node default {
|
node default {
|
||||||
|
|
||||||
TODO
|
|
||||||
odoo::instance {'TODO-prod':
|
odoo::instance {'TODO-prod':
|
||||||
db_pw => 'x54ef6t77t6ZZul3',
|
db_pw => 'x54ef6t77t6ZZul3',
|
||||||
ssl => true,
|
ssl => true,
|
||||||
|
|
@ -10,7 +9,7 @@ node default {
|
||||||
odooport_longpolling => 8070,
|
odooport_longpolling => 8070,
|
||||||
gitrepo => 'TODO',
|
gitrepo => 'TODO',
|
||||||
gitbranch => 'master'
|
gitbranch => 'master'
|
||||||
|
}
|
||||||
|
|
||||||
odoo::instance {'TODO-test':
|
odoo::instance {'TODO-test':
|
||||||
db_pw => '9fd87sdfXXdfTs',
|
db_pw => '9fd87sdfXXdfTs',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue