# -*- coding: utf-8 -*- import openobject.templating class FormEditor(openobject.templating.TemplateEditor): templates = ['/openerp/controllers/templates/form.mako'] MAIN_FORM_BODY = u'id="main_form_body"' def insert_share_button(self, output): # Insert the share button on the form title H1 line, at the very end, # but only if the user is a member of the sharing group share_opener_insertion = output.index('% endif', output.index( '/view_diagram/process', output.index(self.MAIN_FORM_BODY))) + len('% endif') return output[:share_opener_insertion] + ''' <% if 'has_share' not in cp.session: cp.session['has_share'] = rpc.RPCProxy('share.wizard').has_share() %> % if cp.session['has_share'] and buttons.toolbar and not is_dashboard: \n % endif ''' + output[share_opener_insertion:] def edit(self, template, template_text): return self.insert_share_button( super(FormEditor, self).edit(template, template_text)) class SidebarEditor(openobject.templating.TemplateEditor): templates = ['/openerp/widgets/templates/sidebar.mako'] ADD_SHARE_SECTION = u'id="sidebar"' def insert_share_link(self, output): # Insert the link on the line, right after the link to open the # attachment form, but only if the user is a member of the sharing group share_opener_insertion = output.index( '\n', output.index(self.ADD_SHARE_SECTION)) + 1 return output[:share_opener_insertion] + ''' <% if 'has_share' not in cp.session: cp.session['has_share'] = rpc.RPCProxy('share.wizard').has_share() %> % if cp.session['has_share']:

${_("Sharing")}

\n % endif ''' + output[share_opener_insertion:] def edit(self, template, template_text): return self.insert_share_link( super(SidebarEditor, self).edit(template, template_text))