149 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Python
		
	
	
# -*- encoding: utf-8 -*-
 | 
						|
##############################################################################
 | 
						|
#
 | 
						|
#    OpenERP, Open Source Management Solution    
 | 
						|
#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
 | 
						|
#    $Id$
 | 
						|
#
 | 
						|
#    This program is free software: you can redistribute it and/or modify
 | 
						|
#    it under the terms of the GNU 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 General Public License for more details.
 | 
						|
#
 | 
						|
#    You should have received a copy of the GNU General Public License
 | 
						|
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
#
 | 
						|
##############################################################################
 | 
						|
 | 
						|
from openerp import fields, models
 | 
						|
from openerp import api
 | 
						|
from openerp.tools.translate import _
 | 
						|
from openerp import SUPERUSER_ID
 | 
						|
from openerp import tools
 | 
						|
from lxml import etree
 | 
						|
 | 
						|
DISABLED_MENUS = [
 | 
						|
]
 | 
						|
 | 
						|
class ir_ui_menu(models.Model):
 | 
						|
    _inherit = 'ir.ui.menu'
 | 
						|
    
 | 
						|
    @tools.ormcache(skiparg=2)
 | 
						|
    def get_disabled_menu_ids(self, cr, uid, context=None):
 | 
						|
        data_obj = self.pool.get('ir.model.data')
 | 
						|
        
 | 
						|
        menu_ids = []
 | 
						|
        for menu in DISABLED_MENUS:
 | 
						|
            module,xml_id = menu.split('.')
 | 
						|
            menu = data_obj.get_object(cr, uid, module, xml_id)
 | 
						|
            if menu:
 | 
						|
                menu_ids.append(menu.id)
 | 
						|
        return menu_ids  
 | 
						|
 | 
						|
    def _filter_visible_menus(self, cr, uid, ids, context=None): 
 | 
						|
        if uid != 1:       
 | 
						|
            disabled_ids = self.get_disabled_menu_ids(cr, uid)
 | 
						|
            
 | 
						|
            ids = [id for id in ids if id not in disabled_ids]
 | 
						|
 | 
						|
        ids = super(ir_ui_menu, self)._filter_visible_menus(cr, uid, ids, context)
 | 
						|
        return ids
 | 
						|
 | 
						|
class res_partner(models.Model):
 | 
						|
    _inherit = 'res.partner'
 | 
						|
     
 | 
						|
    @api.model
 | 
						|
    def fields_view_get_address(self, arch):
 | 
						|
        """ verhindert das Überschreiben von address_format """
 | 
						|
        return arch
 | 
						|
    
 | 
						|
 | 
						|
class mail_notification(models.Model):
 | 
						|
    _inherit = 'mail.notification'
 | 
						|
 | 
						|
    # override original function
 | 
						|
    def get_signature_footer(self, cr, uid, user_id, res_model=None, res_id=None, context=None, user_signature=True):
 | 
						|
        """ Format a standard footer for notification emails (such as pushed messages
 | 
						|
            notification or invite emails).
 | 
						|
            Format:
 | 
						|
                <p>--<br />
 | 
						|
                    Administrator
 | 
						|
                </p>
 | 
						|
                <div>
 | 
						|
                    <small>Sent from <a ...>Your Company</a> using <a ...>OpenERP</a>.</small>
 | 
						|
                </div>
 | 
						|
        """
 | 
						|
        footer = ""
 | 
						|
        if not user_id:
 | 
						|
            return footer
 | 
						|
 | 
						|
        # add user signature
 | 
						|
        user = self.pool.get("res.users").browse(cr, SUPERUSER_ID, [user_id], context=context)[0]
 | 
						|
        if user_signature:
 | 
						|
            if user.signature:
 | 
						|
                signature = user.signature
 | 
						|
            else:
 | 
						|
                signature = "--<br />%s" % user.name
 | 
						|
            footer = tools.append_content_to_html(footer, signature, plaintext=False)
 | 
						|
 | 
						|
        # add company signature
 | 
						|
#         if user.company_id.website:
 | 
						|
#             website_url = ('http://%s' % user.company_id.website) if not user.company_id.website.lower().startswith(('http:', 'https:')) \
 | 
						|
#                 else user.company_id.website
 | 
						|
#             company = "<a style='color:inherit' href='%s'>%s</a>" % (website_url, user.company_id.name)
 | 
						|
#         else:
 | 
						|
#             company = user.company_id.name
 | 
						|
#         sent_by = _('Sent by %(company)s using %(odoo)s')
 | 
						|
# 
 | 
						|
#         signature_company = '<br /><small>%s</small>' % (sent_by % {
 | 
						|
#             'company': company,
 | 
						|
#             'odoo': "<a style='color:inherit' href='https://www.odoo.com/'>Odoo</a>"
 | 
						|
#         })
 | 
						|
#         footer = tools.append_content_to_html(footer, signature_company, plaintext=False, container_tag='div')
 | 
						|
 | 
						|
        return footer
 | 
						|
    
 | 
						|
# class product_product(osv.osv):
 | 
						|
#     _inherit = 'product.product'
 | 
						|
#     
 | 
						|
#     def name_get(self, cr, user, ids, context=None):
 | 
						|
#         if context is None:
 | 
						|
#             context = {}
 | 
						|
#         c = context.copy()
 | 
						|
#         c.update({'display_default_code': False})
 | 
						|
#         return super(product_product, self).name_get(cr, user, ids, context=c) 
 | 
						|
    
 | 
						|
class sale_order_line(models.Model):
 | 
						|
    _inherit = 'sale.order.line'
 | 
						|
    
 | 
						|
    @api.onchange('name')
 | 
						|
    def onchange_name(self):
 | 
						|
        if self.name != False and self.product_id.id == False:
 | 
						|
            ir_values = self.pool.get('ir.values')
 | 
						|
            company = self.env['res.company'].search([], limit=1)
 | 
						|
            taxes_id = ir_values.get_default(self._cr, self._uid, 'product.template', 'taxes_id', company_id=company.id)
 | 
						|
            at = self.env['account.tax'].search([('id','=',isinstance(taxes_id, list) and taxes_id[0] or taxes_id)])
 | 
						|
            self.tax_id = at
 | 
						|
 | 
						|
class product_product(models.Model):
 | 
						|
    _inherit = 'product.product'
 | 
						|
    
 | 
						|
    def name_get(self, cr, user, ids, context=None):
 | 
						|
        """ beim Angebot die Nummer nicht in das Feld Bezeichnung übernehmen"""
 | 
						|
        if context is None:
 | 
						|
            context = {}
 | 
						|
        c = context.copy()
 | 
						|
        if c.get('partner_id', False):
 | 
						|
            if not c.get('quantity', False):
 | 
						|
                c.update({'display_default_code': False})
 | 
						|
        return super(product_product, self).name_get(cr, user, ids, context=c)
 | 
						|
 | 
						|
class res_country(models.Model):
 | 
						|
    _inherit = 'res.country'
 | 
						|
    
 | 
						|
    active = fields.Boolean('Aktiv', default=True) |