Merge branch 'develop' of ssh://gitlab.datenpol.at:122/odoo/tz-austria into develop

develop
Andreas Brückl 2017-11-21 16:30:15 +01:00
commit ad0b16dfc6
7 changed files with 103 additions and 12 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@
.settings
.idea
*.swp
tza36

View File

@ -0,0 +1,17 @@
[options]
xmlrpc_port = 8080
; This is the password that allows database operations:
; admin_passwd = admin
db_host = localhost
db_port = 5432
db_user = tzaustria
db_password = x
addons_path = ext/odoo/addons,ext/custom-addons,ext/3rd-party-addons
; For enterprise use the addons path bellow
; addons_path = ext/enterprise-addons,ext/odoo/addons,ext/3rd-party-addons,ext/custom-addons,dmi/run1
timezone = Europe/Vienna
#dbfilter_test = ['.*',]
show_debug = 1

View File

@ -12,5 +12,4 @@
<field name="code">model.cron_get_changelog()
</field>
</record>
</odoo>

View File

@ -2,6 +2,7 @@
from subprocess import check_output
import pytz
import os
from odoo import models, fields, api, tools
@ -20,35 +21,65 @@ class ChangeLog(models.Model):
tz_name = self.env.context.get('tz') or tools.config.get('timezone')
date_string = fields.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
date_string = fields.Datetime.to_string(
pytz.timezone('UTC').localize(fields.Datetime.from_string(date_string), is_dst=None).astimezone(
pytz.timezone('UTC').localize(fields.Datetime.from_string(date_string),
is_dst=None).astimezone(
pytz.timezone(tz_name)))
return 'Changelog ' + date_string[:-3]
name = fields.Char('Name', required=True, default=_get_changelog_name)
date = fields.Date('Datum', required=True, default=lambda *a: fields.datetime.now())
date = fields.Datetime('Timestamp', required=True, default=lambda *a: fields.datetime.now())
commit = fields.Char('Commit')
changelogs = fields.Text('Changelogs')
ppid = fields.Char('letzte ppid')
@api.model
def cron_get_changelog(self):
vals = self._get_changelogs_vals()
changelog = self.create(vals)
changelog = False
if vals:
changelog = self.create(vals)
return changelog
@api.model
def _get_changelogs_vals(self):
commit = check_output(["git", "log", "--pretty=oneline", "-1"])
commit1 = self.search([], limit=1)
last_commit = self.search([], limit=1)
com2 = commit.decode("utf-8")
com2 = com2.split(' ')[0]
new_logs = b''
if commit1:
com1 = commit1.commit
if last_commit:
com1 = last_commit.commit
changelogs = check_output(["git", "log", "--pretty=oneline", com1 + "..." + com2])
new_logs = b''
for changelog in changelogs.splitlines():
new_logs += b' '.join(changelog.split(b' ')[1:]) + b'\n'
return {
'commit': com2,
'changelogs': new_logs
}
if new_logs == b'':
vals = {}
else:
vals = {
'commit': com2,
'changelogs': new_logs,
'ppid': last_commit.ppid
}
return vals
@api.model
def _get_reboot_vals(self):
last_commit = self.search([], limit=1)
if last_commit and last_commit.ppid != str(os.getppid()):
vals = {
'commit': last_commit.commit,
'changelogs': 'Reboot',
'ppid': str(os.getppid())
}
return vals
@api.model_cr
def _register_hook(self):
try:
self.cron_get_changelog()
vals = self._get_reboot_vals()
if vals:
self.create(vals)
except:
# falls git nicht vorhanden ist wird sicher eine Fehler ausgegeben.
pass

View File

@ -10,6 +10,7 @@
<field name="name"/>
<field name="date"/>
<field name="commit"/>
<field name="ppid"/>
</group>
<group name="changelogs">
<field name="changelogs"/>
@ -27,6 +28,7 @@
<field name="name"/>
<field name="date"/>
<field name="commit"/>
<field name="ppid"/>
<field name="changelogs"/>
</tree>
</field>

View File

@ -0,0 +1,40 @@
Babel==2.3.4
decorator==4.0.10
docutils==0.12
ebaysdk==2.1.5
feedparser==5.2.1
gevent>=1.1.2
greenlet>=0.4.10
html2text==2016.9.19
Jinja2==2.8
lxml>=3.5.0
Mako==1.0.4
MarkupSafe==0.23
mock==2.0.0
num2words==0.5.4
ofxparse==0.16
passlib==1.6.5
Pillow>=3.4.1
psutil>=4.3.1
psycopg2==2.7.1
pydot==1.2.3
#pyldap==2.4.28
pyparsing==2.1.10
PyPDF2==1.26.0
pyserial==3.1.1
python-dateutil==2.5.3
pytz==2016.7
pyusb==1.0.0
PyYAML==3.12
qrcode==5.3
reportlab>=3.3.0
requests==2.11.1
six==1.10.0
suds-jurko==0.6
vatnumber==1.2
vobject==0.9.3
Werkzeug==0.11.11
XlsxWriter==0.9.3
xlwt==1.3.*
xlrd==1.0.0
odoorpc==0.6.0

View File

@ -26,6 +26,7 @@ ENVIRONMENTS = {
# Local environments are listed with passwords
'br': Environment('http://localhost', '8080', 'tz-austria_1', 'admin', 'x', 'admin'),
'aa': Environment('http://localhost', '8080', 'tz-austria_1', 'admin', 'x', 'admin'),
'oa': Environment('http://localhost', '8080', 'tz-austria_1', 'admin', 'x', 'admin'),
# Remote environments are always listed without passwords!
# Do not store them here, you have to type them anyway!