[REF] Refectored the fields_view_get hack

bzr revid: jam@tinyerp.com-20120705101331-rjbxvjrbpme9wqrq
This commit is contained in:
Jigar Amin - OpenERP 2012-07-05 15:43:31 +05:30
parent dbe2cdd6ee
commit 2bf0978994
10 changed files with 12 additions and 74 deletions

View File

@ -160,18 +160,6 @@ class crm_case_section(osv.osv):
name = record['parent_id'][1] + ' / ' + name name = record['parent_id'][1] + ' / ' + name
res.append((record['id'], name)) res.append((record['id'], name))
return res return res
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(crm_case_section,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if view_type == 'form':
domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)
if not domain:
doc = etree.XML(res['arch'])
alias_node = doc.xpath("//div[@name='alias_box']")[0]
parent = alias_node.getparent()
parent.remove(alias_node)
res['arch'] = etree.tostring(doc)
return res
def create(self, cr, uid, vals, context=None): def create(self, cr, uid, vals, context=None):
alias_pool = self.pool.get('mail.alias') alias_pool = self.pool.get('mail.alias')

View File

@ -87,7 +87,7 @@
<field name="change_responsible"/> <field name="change_responsible"/>
<field name="member_ids"/> <field name="member_ids"/>
</group> </group>
<group> <group attrs="{'invisible': [('alias_domain', '=', False)]}">
<div name="alias_box"> <div name="alias_box">
<label for="alias_name"/> <label for="alias_name"/>
<field name="alias_name" class="oe_inline" required="0"/>@<field name="alias_domain" class="oe_inline"/> <field name="alias_name" class="oe_inline" required="0"/>@<field name="alias_domain" class="oe_inline"/>

View File

@ -557,18 +557,6 @@ class hr_job(osv.osv):
"This Alias MailBox also create and Manage the new Email applicant for this job and also manage the existing applicant email communication."), "This Alias MailBox also create and Manage the new Email applicant for this job and also manage the existing applicant email communication."),
} }
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(hr_job,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if view_type == 'form':
domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)
if not domain:
doc = etree.XML(res['arch'])
alias_node = doc.xpath("//div[@name='alias_box']")[0]
parent = alias_node.getparent()
parent.remove(alias_node)
res['arch'] = etree.tostring(doc)
return res
def create(self, cr, uid, vals, context=None): def create(self, cr, uid, vals, context=None):
alias_pool = self.pool.get('mail.alias') alias_pool = self.pool.get('mail.alias')
if not vals.get('alias_id'): if not vals.get('alias_id'):

View File

@ -349,7 +349,7 @@
</div> </div>
</field> </field>
<field name="company_id" version="7.0" position="after"> <field name="company_id" version="7.0" position="after">
<group colspan="4"> <group colspan="4" attrs="{'invisible': [('alias_domain', '=', False)]}">
<div name="alias_box"> <div name="alias_box">
<label for="alias_name"/> <label for="alias_name"/>
<field name="alias_name" required="0" class="oe_inline"/>@ <field name="alias_name" required="0" class="oe_inline"/>@

View File

@ -141,18 +141,6 @@ class mail_group(osv.osv):
'photo': _get_default_photo, 'photo': _get_default_photo,
} }
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(mail_group,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if view_type == 'form':
domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)
if not domain:
doc = etree.XML(res['arch'])
alias_node = doc.xpath("//div[@name='alias_box']")[0]
parent = alias_node.getparent()
parent.remove(alias_node)
res['arch'] = etree.tostring(doc)
return res
def create(self, cr, uid, vals, context=None): def create(self, cr, uid, vals, context=None):
alias_pool = self.pool.get('mail.alias') alias_pool = self.pool.get('mail.alias')
if not vals.get('alias_id'): if not vals.get('alias_id'):

View File

@ -68,11 +68,13 @@
<label for="public"/> <label for="public"/>
<field name="public" class="oe_inline"/> <field name="public" class="oe_inline"/>
</div> </div>
<group colspan="4" attrs="{'invisible': [('alias_domain', '=', False)]}">
<div name="alias_box">
<label for="alias_name"/>
<field name="alias_name" required="0" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/>
</div>
</group>
<field name="description" colspan="4" nolabel="1"/> <field name="description" colspan="4" nolabel="1"/>
<div name="alias_box">
<label for="alias_name"/>
<field name="alias_name" required="0" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/>
</div>
</div> </div>
</div> </div>
<footer> <footer>

View File

@ -60,18 +60,6 @@ class res_users(osv.osv):
self.SELF_WRITEABLE_FIELDS.append('notification_email_pref') self.SELF_WRITEABLE_FIELDS.append('notification_email_pref')
return init_res return init_res
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(res_users,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if view_type == 'form':
domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)
if not domain:
doc = etree.XML(res['arch'])
alias_node = doc.xpath("//div[@name='alias_box']")[0]
parent = alias_node.getparent()
parent.remove(alias_node)
res['arch'] = etree.tostring(doc)
return res
def create(self, cr, uid, data, context=None): def create(self, cr, uid, data, context=None):
# create default alias same as the login # create default alias same as the login
alias_pool = self.pool.get('mail.alias') alias_pool = self.pool.get('mail.alias')

View File

@ -32,7 +32,7 @@
</div> </div>
</xpath> </xpath>
<field name="active" position="after"> <field name="active" position="after">
<group colspan="2"> <group colspan="2" attrs="{'invisible': [('alias_domain', '=', False)]}">
<div name="alias_box"> <div name="alias_box">
<label for="alias_name"/> <label for="alias_name"/>
<field name="alias_name" readonly="1" required="0" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/> <field name="alias_name" readonly="1" required="0" class="oe_inline"/>@<field name="alias_domain" class="oe_inline"/>

View File

@ -257,23 +257,6 @@ class project(osv.osv):
(_check_dates, 'Error! project start-date must be lower then project end-date.', ['date_start', 'date']) (_check_dates, 'Error! project start-date must be lower then project end-date.', ['date_start', 'date'])
] ]
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(project,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if view_type == 'form' or view_type == 'kanban':
domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)
if not domain:
doc = etree.XML(res['arch'])
if view_type == "form":
model_node = doc.xpath("//group[@string='Mailbox Alias']")[0]
parent = model_node.getparent()
parent.remove(model_node)
else:
model_node = doc.xpath("//div[@name='alias_box']")[0]
parent = model_node.getparent()
parent.remove(model_node)
res['arch'] = etree.tostring(doc)
return res
def set_template(self, cr, uid, ids, context=None): def set_template(self, cr, uid, ids, context=None):
res = self.setActive(cr, uid, ids, value=False, context=context) res = self.setActive(cr, uid, ids, value=False, context=context)
return res return res

View File

@ -102,7 +102,7 @@
<field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/> <field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
<field name="currency_id" select="1" groups="base.group_multi_company" required="1"/> <field name="currency_id" select="1" groups="base.group_multi_company" required="1"/>
</group> </group>
<group string="Mailbox Alias" colspan="4"> <group string="Mailbox Alias" colspan="4" attrs="{'invisible': [('alias_domain', '=', False)]}">
<div> <div>
<label for="alias_name"/> <label for="alias_name"/>
<field name="alias_name" required="0" class="oe_inline"/>@ <field name="alias_name" required="0" class="oe_inline"/>@
@ -201,6 +201,7 @@
<field name="color"/> <field name="color"/>
<field name="task_count"/> <field name="task_count"/>
<field name="alias_id"/> <field name="alias_id"/>
<field name="alias_domain"/>
<templates> <templates>
<t t-name="kanban-box"> <t t-name="kanban-box">
<div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_auto_height oe_kanban_global_click"> <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_auto_height oe_kanban_global_click">
@ -229,7 +230,7 @@
<div>Progress</div> <div>Progress</div>
<div><t t-esc="Math.round(record.effective_hours.raw_value)"/> / <t t-esc="Math.round(record.planned_hours.raw_value)"/> <field name="company_uom_id"/></div> <div><t t-esc="Math.round(record.effective_hours.raw_value)"/> / <t t-esc="Math.round(record.planned_hours.raw_value)"/> <field name="company_uom_id"/></div>
</div> </div>
<div name="alias_box" t-if="record.alias_id.raw_value" class="oe_kanban_ellipsis"> <div name="alias_box" t-if="record.alias_domain.raw_value" class="oe_kanban_ellipsis">
Mailbox Alias : Mailbox Alias :
<a t-attf-href="mailto:#{record.alias_id.raw_value}"><field name="alias_id"/></a> <a t-attf-href="mailto:#{record.alias_id.raw_value}"><field name="alias_id"/></a>
</div> </div>