[IMP] website_contract
- removed already-defined res.partner fields, using dependency towards website_partner; - fixed references/<partner_id>/ that was buggy; - cleaned a bit references controller; - fixed customer template that was crashing; website_partner: added website_published onto the partner form view, to be able to change it directly in the backend bzr revid: tde@openerp.com-20131002125801-zdoor3laarm7j3su
This commit is contained in:
parent
84e24d62b5
commit
a0c2def796
|
@ -1,2 +1 @@
|
|||
import controllers
|
||||
import website_contract
|
|
@ -9,7 +9,7 @@ OpenERP Blog
|
|||
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['website', 'sale', 'website_google_map'],
|
||||
'depends': ['website_partner', 'sale', 'website_google_map'],
|
||||
'data': [
|
||||
'views/website_contract.xml',
|
||||
],
|
||||
|
|
|
@ -7,6 +7,7 @@ from openerp.addons.web.http import request
|
|||
from openerp.addons.website.models import website
|
||||
import urllib
|
||||
|
||||
|
||||
class website_contract(http.Controller):
|
||||
|
||||
@website.route(['/references/', '/references/page/<int:page>/'], type='http', auth="public")
|
||||
|
@ -23,9 +24,13 @@ class website_contract(http.Controller):
|
|||
domain = ['|', ('id', "in", contract_project_ids), ('id', "child_of", contract_project_ids)]
|
||||
|
||||
if post.get('search'):
|
||||
domain += ['|',
|
||||
domain += [
|
||||
'|',
|
||||
('name', 'ilike', "%%%s%%" % post.get("search")),
|
||||
('website_description', 'ilike', "%%%s%%" % post.get("search"))]
|
||||
('website_description', 'ilike', "%%%s%%" % post.get("search"))
|
||||
]
|
||||
if request.context['is_public_user']:
|
||||
domain = ['&'] + domain + [('website_published', '=', True)]
|
||||
|
||||
# public partner profile
|
||||
partner_ids = partner_obj.search(
|
||||
|
@ -33,12 +38,6 @@ class website_contract(http.Controller):
|
|||
domain + [('website_published', '=', True)], context=request.context)
|
||||
google_map_partner_ids = ",".join([str(p) for p in partner_ids])
|
||||
|
||||
if not request.context['is_public_user']:
|
||||
# search without website_published
|
||||
partner_ids += partner_obj.search(request.cr, request.uid,
|
||||
domain, context=request.context)
|
||||
partner_ids = list(set(partner_ids))
|
||||
|
||||
# group by country
|
||||
countries = partner_obj.read_group(
|
||||
request.cr, request.uid, domain, ["id", "country_id"],
|
||||
|
@ -75,22 +74,28 @@ class website_contract(http.Controller):
|
|||
}
|
||||
return request.website.render("website_contract.index", values)
|
||||
|
||||
@website.route(['/references/<int:ref_id>/'], type='http', auth="public")
|
||||
def references_ref(self, ref_id=0, **post):
|
||||
@website.route(['/references/<int:partner_id>/'], type='http', auth="public")
|
||||
def references_ref(self, partner_id=None, **post):
|
||||
""" Route for displaying a single partner.
|
||||
|
||||
:param integer partner_id: partner to display. If not set or not valid
|
||||
call basic references method.
|
||||
"""
|
||||
partner_obj = request.registry['res.partner']
|
||||
partner_ids = partner_obj.search(
|
||||
request.cr, openerp.SUPERUSER_ID, [
|
||||
('website_published', '=', True),
|
||||
('id', '=', ref_id)
|
||||
], context=request.context)
|
||||
if not request.context['is_public_user']:
|
||||
partner_ids += partner_obj.search(
|
||||
request.cr, request.uid, [('id', '=', ref_id)],
|
||||
context=request.context)
|
||||
if request.context['is_public_user']:
|
||||
partner_ids = partner_obj.search(
|
||||
request.cr, openerp.SUPERUSER_ID, [
|
||||
('website_published', '=', True),
|
||||
('id', '=', partner_id)
|
||||
], context=request.context)
|
||||
partner_id = partner_ids and partner_ids[0] or None
|
||||
|
||||
if not partner_id:
|
||||
return self.references(post)
|
||||
|
||||
values = {
|
||||
'partner_id': partner_obj.browse(
|
||||
request.cr, openerp.SUPERUSER_ID, partner_ids[0],
|
||||
request.cr, openerp.SUPERUSER_ID, partner_id,
|
||||
dict(request.context, show_address=True)),
|
||||
}
|
||||
|
||||
|
|
|
@ -101,7 +101,8 @@
|
|||
<div class="text-center">
|
||||
<img t-att-src="partner_id.img('image_medium')"/>
|
||||
</div>
|
||||
<address>
|
||||
<div class="mt32" t-field="partner_id.website_short_description"/>
|
||||
<address>
|
||||
<table style="margin: auto;" class="well">
|
||||
<colgroup>
|
||||
<col width="100"/>
|
||||
|
@ -110,11 +111,11 @@
|
|||
<tbody>
|
||||
<t t-set="address" t-value="'<br/>'.join(partner_id.name_get()[0][1].split('\n')[1:])"/>
|
||||
<tr t-if="address or editable"><th>Address</th><td class="col-md-2" t-raw="address"/></tr>
|
||||
<tr t-if="partner_id.website or editable"><th>Website</th><td class="col-md-2" t-field="partner_id.website"/></tr>
|
||||
<tr t-if="partner_id.phone or editable"><th>Tel</th><td class="col-md-2" t-field="partner_id.phone"/></tr>
|
||||
<tr t-if="partner_id.mobile or editable"><th>Tel</th><td class="col-md-2" t-field="partner_id.mobile"/></tr>
|
||||
<tr t-if="partner_id.fax or editable"><th>Fax</th><td class="col-md-2" t-field="partner_id.fax"/></tr>
|
||||
<tr t-if="partner_id.email or editable"><th>Email</th><td class="col-md-2" t-field="partner_id.email"/></tr>
|
||||
<tr t-if="partner_id.website or editable"><th>Website</th><td class="col-md-2"><span t-field="partner_id.website"/></td></tr>
|
||||
<tr t-if="partner_id.phone or editable"><th>Tel</th><td class="col-md-2"><span t-field="partner_id.phone"/></td></tr>
|
||||
<tr t-if="partner_id.mobile or editable"><th>Tel</th><td class="col-md-2"><span t-field="partner_id.mobile"/></td></tr>
|
||||
<tr t-if="partner_id.fax or editable"><th>Fax</th><td class="col-md-2"><span t-field="partner_id.fax"/></td></tr>
|
||||
<tr t-if="partner_id.email or editable"><th>Email</th><td class="col-md-2"><span t-field="partner_id.email"/></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</address>
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp.osv import osv, fields
|
||||
|
||||
class res_partner(osv.osv):
|
||||
_inherit = 'res.partner'
|
||||
_columns = {
|
||||
'website_description': fields.html('Description for the website'),
|
||||
'website_short_description': fields.text('Sort description for the website'),
|
||||
}
|
||||
|
||||
def img(self, cr, uid, ids, field='image_small', context=None):
|
||||
return "/website/image?model=%s&field=%s&id=%s" % (self._name, field, ids[0])
|
|
@ -28,6 +28,7 @@
|
|||
'author': 'OpenERP SA',
|
||||
'depends': ['website'],
|
||||
'data': [
|
||||
'views/res_partner_view.xml',
|
||||
],
|
||||
'css': [
|
||||
],
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Add section_id (SalesTeam) and contextual button on partner form view -->
|
||||
<record id="view_partners_form_website" model="ir.ui.view">
|
||||
<field name="name">view.res.partner.form.website</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field eval="18" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<field name="active" position="after">
|
||||
<field name="website_published"/>
|
||||
</field>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
Loading…
Reference in New Issue