Fall 4448: Multi Company
							parent
							
								
									f96665f3c6
								
							
						
					
					
						commit
						1752eebd03
					
				|  | @ -34,6 +34,8 @@ | ||||||
|     ], |     ], | ||||||
|     'data': [ |     'data': [ | ||||||
|         'data/dp_custom_data.xml', |         'data/dp_custom_data.xml', | ||||||
|  |         'data/glaser_company_data.xml', | ||||||
|  |         'data/tz_austria_company_data.xml', | ||||||
|         'views/dp_custom_views.xml', |         'views/dp_custom_views.xml', | ||||||
|         'security/ir.model.access.csv', |         'security/ir.model.access.csv', | ||||||
|     ], |     ], | ||||||
|  |  | ||||||
|  | @ -0,0 +1,45 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo noupdate="0"> | ||||||
|  |     <record id="glaser_and_co_company" model="res.company"> | ||||||
|  |         <field name="name">Glaser & Co.</field> | ||||||
|  |         <field name="street">Neugasse 36</field> | ||||||
|  |         <field name="city">Spannberg</field> | ||||||
|  |         <field name="zip">2244</field> | ||||||
|  |         <field name="phone">+43 (0)2538/8628-0</field> | ||||||
|  |         <field name="fax">+43 (0)2538/8628-400</field> | ||||||
|  |         <field name="email">office@glaser-co.at</field> | ||||||
|  |         <field name="website">https://www.glaser-co.at</field> | ||||||
|  |         <field name="company_registry">FN 61793 y</field> | ||||||
|  |         <field name="country_id" search="[('code','=','AT')]"/> | ||||||
|  |         <field name="vat">ATU17860303</field> | ||||||
|  |         <field name="vat_check_vies" eval="False"/> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <function id="set_company_logo" model="res.company" name="set_company_logo"> | ||||||
|  |         <value eval="[ref('glaser_and_co_company')]"/> | ||||||
|  |         <value>../static/src/img/logo_glaser.png</value> | ||||||
|  |     </function> | ||||||
|  | 
 | ||||||
|  |     <record id="glaser_admin_user" model="res.users"> | ||||||
|  |         <field name="lastname">Glaser & Co. ADMIN</field> | ||||||
|  |         <field name="login">glaser-admin</field> | ||||||
|  |         <field name="email">admin@glaser.at</field> | ||||||
|  |         <field name="company_id" eval="ref('glaser_and_co_company')"/> | ||||||
|  |         <field name="company_ids" eval="[(6, 0, [ref('glaser_and_co_company')])]"/> | ||||||
|  |         <field name="groups_id" | ||||||
|  |                eval="[(4,ref('account.group_account_manager')), | ||||||
|  |                (4,ref('sales_team.group_sale_manager')), | ||||||
|  |                (4,ref('stock.group_stock_manager')), | ||||||
|  |                (4,ref('base.group_system')), | ||||||
|  |                (4,ref('base.group_partner_manager'))]"/> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  |     <!--<function--> | ||||||
|  |     <!--id="set_company_favicon"--> | ||||||
|  |     <!--model="res.company"--> | ||||||
|  |     <!--name="set_company_favicon"--> | ||||||
|  |     <!--eval="[ref('glaser_and_co_company')]">--> | ||||||
|  |     <!--<value>../static/src/img/favicon_glaser.png</value>--> | ||||||
|  |     <!--</function>--> | ||||||
|  | 
 | ||||||
|  | </odoo> | ||||||
|  | @ -0,0 +1,17 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <odoo noupdate="0"> | ||||||
|  |     <record id="tz_admin_user" model="res.users"> | ||||||
|  |         <field name="lastname">TZ Tischlerzentrum ADMIN</field> | ||||||
|  |         <field name="login">tz-admin</field> | ||||||
|  |         <field name="company_id" eval="ref('base.main_company')"/> | ||||||
|  |         <field name="company_ids" eval="[(6, 0, [ref('base.main_company')])]"/> | ||||||
|  |         <field name="email">admin@tz-austria.at</field> | ||||||
|  |         <field name="groups_id" | ||||||
|  |                eval="[(4,ref('account.group_account_manager')), | ||||||
|  |                (4,ref('sales_team.group_sale_manager')), | ||||||
|  |                (4,ref('stock.group_stock_manager')), | ||||||
|  |                (4,ref('base.group_system')), | ||||||
|  |                (4,ref('base.group_partner_manager'))]"/> | ||||||
|  |     </record> | ||||||
|  | 
 | ||||||
|  | </odoo> | ||||||
|  | @ -21,3 +21,4 @@ | ||||||
| 
 | 
 | ||||||
| from . import ir_ui_menu | from . import ir_ui_menu | ||||||
| from . import res_partner | from . import res_partner | ||||||
|  | from . import res_company | ||||||
|  |  | ||||||
|  | @ -19,9 +19,7 @@ | ||||||
| # | # | ||||||
| ############################################################################## | ############################################################################## | ||||||
| 
 | 
 | ||||||
| from odoo import models | from odoo import models, api, tools | ||||||
| from odoo import api |  | ||||||
| from odoo import tools |  | ||||||
| 
 | 
 | ||||||
| DISABLED_MENUS = [ | DISABLED_MENUS = [ | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -0,0 +1,47 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | ############################################################################## | ||||||
|  | # | ||||||
|  | #    datenpol gmbh | ||||||
|  | #    Copyright (C) 2013-TODAY datenpol gmbh (<http://www.datenpol.at/>) | ||||||
|  | # | ||||||
|  | #    This program is free software: you can redistribute it and/or modify | ||||||
|  | #    it under the terms of the GNU Affero General Public License as | ||||||
|  | #    published by the Free Software Foundation, either version 3 of the | ||||||
|  | #    License, or (at your option) any later version. | ||||||
|  | # | ||||||
|  | #    This program is distributed in the hope that it will be useful, | ||||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | #    GNU Affero General Public License for more details. | ||||||
|  | # | ||||||
|  | #    You should have received a copy of the GNU Affero General Public License | ||||||
|  | #    along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | ############################################################################## | ||||||
|  | import os | ||||||
|  | import base64 | ||||||
|  | 
 | ||||||
|  | from odoo import fields, models, api | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Company(models.Model): | ||||||
|  |     _inherit = 'res.company' | ||||||
|  | 
 | ||||||
|  |     @api.model | ||||||
|  |     def set_company_logo(self, company, logo): | ||||||
|  |         filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), logo) | ||||||
|  |         fi = open(filename, 'rb') | ||||||
|  |         content = base64.b64encode(fi.read()) | ||||||
|  |         content = content.decode() | ||||||
|  |         fi.close() | ||||||
|  |         self.browse(company).write({'logo': content}) | ||||||
|  | 
 | ||||||
|  |     @api.model | ||||||
|  |     def set_company_favicon(self, company, logo): | ||||||
|  |         filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), logo) | ||||||
|  |         fi = open(filename, 'rb') | ||||||
|  |         content = base64.b64encode(fi.read()) | ||||||
|  |         content = content.decode() | ||||||
|  |         fi.close() | ||||||
|  |         self.browse(company).write( | ||||||
|  |             {'favicon_backend': content, 'favicon_backend_mimetype': 'image/x-icon'}) | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 329 B | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 18 KiB | 
|  | @ -119,6 +119,7 @@ def main(): | ||||||
|         #'default_set_order_policy', |         #'default_set_order_policy', | ||||||
|         'update_values', |         'update_values', | ||||||
|         #'update_special_values', |         #'update_special_values', | ||||||
|  |         'set_password_for_admin_users', | ||||||
|         'set_sys_params', |         'set_sys_params', | ||||||
|         #'setup_reports', |         #'setup_reports', | ||||||
|         'consume_tours', |         'consume_tours', | ||||||
|  |  | ||||||
|  | @ -198,7 +198,6 @@ class Config(): | ||||||
|             # 'dp_reports_stock', |             # 'dp_reports_stock', | ||||||
|             'account_cancel', |             'account_cancel', | ||||||
|             'stock', |             'stock', | ||||||
|             'partner_firstname', |  | ||||||
|             'dp_changelogs' |             'dp_changelogs' | ||||||
|         ] |         ] | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -90,8 +90,7 @@ class DatenpolFunctions: | ||||||
|             vals['favicon_backend'] = self._readAndReturnFile(vals['favicon_backend'], encode='base64') |             vals['favicon_backend'] = self._readAndReturnFile(vals['favicon_backend'], encode='base64') | ||||||
| 
 | 
 | ||||||
|         vals['country_id'] = country_id |         vals['country_id'] = country_id | ||||||
|         c_ids = self.odoo.env['res.company'].search([]) |         return self.odoo.env.ref('base.main_company').write(vals) | ||||||
|         return self.odoo.env['res.company'].write(c_ids, vals) |  | ||||||
| 
 | 
 | ||||||
|     def set_taxes(self): |     def set_taxes(self): | ||||||
|         """Setze nicht benötigte Steuern auf inaktiv""" |         """Setze nicht benötigte Steuern auf inaktiv""" | ||||||
|  | @ -562,6 +561,18 @@ class DatenpolFunctions: | ||||||
|         """Spezialwerte setzen""" |         """Spezialwerte setzen""" | ||||||
|         return True |         return True | ||||||
| 
 | 
 | ||||||
|  |     def set_password_for_admin_users(self): | ||||||
|  |         """Passwort für admin Users setzen""" | ||||||
|  |         user_ids = self.odoo.env['res.users'].search([('login', 'ilike', 'admin'), ('id', '!=', 1)]) | ||||||
|  |         wizard_id = self.odoo.env['change.password.wizard'].create({}) | ||||||
|  |         change_ids = [] | ||||||
|  |         for user_id in user_ids: | ||||||
|  |             change_id = self.odoo.env['change.password.user'].create( | ||||||
|  |                 {'wizard_id': wizard_id, 'user_id': user_id, 'new_passwd': self.env.pwd}) | ||||||
|  |             change_ids.append(change_id) | ||||||
|  |         self.odoo.env['change.password.user'].browse(change_ids).change_password_button() | ||||||
|  |         return True | ||||||
|  | 
 | ||||||
|     def update_values(self): |     def update_values(self): | ||||||
|         """Existierende Daten aktualisieren""" |         """Existierende Daten aktualisieren""" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue