Merge lp:~jfb-tempo-consulting/unifield-server/US-6032 into lp:unifield-server

Proposed by jftempo
Status: Merged
Merged at revision: 5460
Proposed branch: lp:~jfb-tempo-consulting/unifield-server/US-6032
Merge into: lp:unifield-server
Diff against target: 155 lines (+77/-5)
3 files modified
bin/addons/base/module/instance_auto_creation.py (+55/-3)
bin/addons/sync_client/sync_client.py (+2/-0)
tools/UFautoInstall/uf_auto_install.conf (+20/-2)
To merge this branch: bzr merge lp:~jfb-tempo-consulting/unifield-server/US-6032
Reviewer Review Type Date Requested Status
UniField Reviewer Team Pending
Review via email: mp+370754@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/addons/base/module/instance_auto_creation.py'
2--- bin/addons/base/module/instance_auto_creation.py 2019-02-21 09:35:10 +0000
3+++ bin/addons/base/module/instance_auto_creation.py 2019-07-30 10:04:55 +0000
4@@ -30,7 +30,8 @@
5 import threading
6 from tools.translate import _
7 from osv import fields, osv
8-
9+from mx import DateTime
10+import logging
11
12 TRUE_LIST = (True, 'True', 'true', 'TRUE', 'Yes', 'YES', 'yes')
13
14@@ -430,16 +431,19 @@
15 'beforepatching': config_dict['backup'].get('auto_bck_beforepatching') in TRUE_LIST,
16 'beforeautomaticsync': config_dict['backup'].get('auto_bck_beforeautomaticsync') in TRUE_LIST,
17 'afterautomaticsync': config_dict['backup'].get('auto_bck_afterautomaticsync') in TRUE_LIST,
18- 'scheduledbackup': config_dict['backup'].get('auto_bck_scheduledbackup') in TRUE_LIST,
19+ 'scheduledbackup': config_dict['backup'].get('auto_bck_scheduledbackup', True) in TRUE_LIST,
20 }
21 backup_obj.write(cr, uid, backup_id, backup_vals, context=context)
22
23 # update automatic backup cron job
24 vals = {
25- 'active': True,
26+ 'active': config_dict['backup'].get('auto_bck_scheduledbackup', True) in TRUE_LIST,
27 'interval_number': config_dict['backup'].get('auto_bck_interval_nb'),
28 'interval_type': config_dict['backup'].get('auto_bck_interval_unit'),
29 }
30+ if config_dict['backup'].get('auto_bck_next_exec_date'):
31+ vals['nextcall'] = config_dict['backup'].get('auto_bck_next_exec_date')
32+
33 auto_backup = self.pool.get('ir.model.data').get_object(cr, uid, 'sync_client', 'ir_cron_automaticsyncbackup')
34 cron_obj = self.pool.get('ir.cron')
35 if auto_backup:
36@@ -569,13 +573,61 @@
37 self.write(cr, 1, creation_id,
38 {'state': 'reconfigure_done'}, context=context)
39
40+ if config_dict.get('autosync'):
41+ auto_sync_cron = self.pool.get('ir.model.data').get_object(cr, uid, 'sync_client', 'ir_cron_automaticsynchronization0')
42+ if auto_sync_cron:
43+ auto_sync_data = {
44+ 'active': config_dict['autosync'].get('active', True) in TRUE_LIST,
45+ 'interval_number': config_dict['autosync'].get('interval_nb'),
46+ 'interval_type': config_dict['autosync'].get('interval_unit'),
47+ }
48+ if config_dict['autosync'].get('next_exec_date'):
49+ auto_sync_data['nextcall'] = config_dict['autosync'].get('next_exec_date')
50+ self.pool.get('ir.cron').write(cr, uid, auto_sync_cron.id, auto_sync_data, context=context)
51+
52+ if config_dict.get('stockmission'):
53+ cron_id = self.pool.get('ir.model.data').get_object(cr, uid, 'mission_stock', 'ir_cron_stock_mission_update_action')
54+ if cron_id:
55+ scheduler_data = {
56+ 'active': config_dict['stockmission'].get('active', True) in TRUE_LIST,
57+ 'interval_number': config_dict['stockmission'].get('interval_nb'),
58+ 'interval_type': config_dict['stockmission'].get('interval_unit'),
59+ }
60+ if config_dict['stockmission'].get('next_exec_date'):
61+ scheduler_data['nextcall'] = config_dict['stockmission'].get('next_exec_date')
62+ self.pool.get('ir.cron').write(cr, uid, cron_id.id, scheduler_data, context=context)
63+
64+ if config_dict.get('silentupgrade') and config_dict['silentupgrade'].get('hour_from') and config_dict['silentupgrade'].get('hour_to'):
65+ synchro_serv = pool.get('sync.client.sync_server_connection')
66+ ids = synchro_serv.search(cr, uid, [])
67+ if ids:
68+ from_mx = DateTime.strptime(config_dict['silentupgrade']['hour_from'], '%H:%M')
69+ to_mx = DateTime.strptime(config_dict['silentupgrade']['hour_to'], '%H:%M')
70+ sync_vals = {
71+ 'automatic_patching_hour_from': from_mx.hour + from_mx.minute/60.,
72+ 'automatic_patching_hour_to': to_mx.hour + to_mx.minute/60.,
73+ 'automatic_patching': config_dict['silentupgrade'].get('active', True) in TRUE_LIST
74+ }
75+ try:
76+ cr.commit()
77+ synchro_serv.write(cr, uid, ids, sync_vals)
78+ except:
79+ cr.rollback()
80+ logging.getLogger('autoinstall').warn('Unable to set Silent Upgrade, please check the silent upgrade and auto sync times')
81+
82 if not skip_import_files:
83 self.write(cr, 1, creation_id,
84 {'state': 'import_files'}, context=context)
85 import_path = os.path.join(tools.config['root_path'], '..', 'UFautoInstall', 'import')
86+ file_to_import = []
87 for file_name in os.listdir(import_path):
88 if not '.csv' in file_name:
89 raise osv.except_osv(_("Error!"), 'Only CSV file can be imported. \'%s\' is not a CSV extension.' % file_name)
90+ if file_name == 'account.analytic.journal.csv':
91+ file_to_import.insert(0, file_name)
92+ else:
93+ file_to_import.append(file_name)
94+ for file_name in file_to_import:
95 model_to_import = file_name.split('.csv')[0]
96 model_obj = self.pool.get(model_to_import)
97 model_obj.import_data_from_csv(cr, uid, os.path.join(import_path, file_name))
98
99=== modified file 'bin/addons/sync_client/sync_client.py'
100--- bin/addons/sync_client/sync_client.py 2019-03-20 08:31:53 +0000
101+++ bin/addons/sync_client/sync_client.py 2019-07-30 10:04:55 +0000
102@@ -1533,6 +1533,8 @@
103
104 if date is None:
105 date = datetime.today()
106+ if isinstance(date, basestring):
107+ date = datetime.strptime(date, '%Y-%m-%d %H:%M')
108
109 if not hour_from:
110 hour_from = connection.automatic_patching_hour_from
111
112=== modified file 'tools/UFautoInstall/uf_auto_install.conf'
113--- tools/UFautoInstall/uf_auto_install.conf 2019-02-21 09:35:10 +0000
114+++ tools/UFautoInstall/uf_auto_install.conf 2019-07-30 10:04:55 +0000
115@@ -1,6 +1,6 @@
116 [instance]
117-rb_prefix = jfb-int_
118-#sync_port = 14673
119+rb_prefix = jfb-us-6090_
120+#sync_port = 8069
121 db_name = %(rb_prefix)sHQ1C1P3
122 instance_name = %(db_name)s
123 prop_instance_code = %(db_name)s
124@@ -23,6 +23,7 @@
125 auto_bck_interval_nb = 3650
126 auto_bck_interval_unit = days
127 auto_bck_path = /tmp
128+auto_bck_next_exec_date = 2020-01-01 14:50
129 auto_bck_beforemanualsync = No
130 auto_bkc_aftermanualsync = no
131 auto_bck_beforeautomaticsync = No
132@@ -30,6 +31,23 @@
133 auto_bck_beforepatching = False
134 auto_bck_scheduledbackup = False
135
136+[autosync]
137+active = No
138+interval_nb = 1
139+interval_unit = days
140+next_exec_date = 2020-01-01 22:00
141+
142+[stockmission]
143+active = Yes
144+interval_nb = 1
145+interval_unit = days
146+next_exec_date = 2020-01-01 23:00
147+
148+[silentupgrade]
149+active = No
150+hour_from = 20:00
151+hour_to = 06:00
152+
153 [reconfigure]
154 address_street = 1A house, street 10
155 address_street2 = Quartal 215A

Subscribers

People subscribed via source and target branches