diff options
| author | David Monjoie <dmo@odoo.com> | 2015-01-20 17:34:17 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2015-01-20 17:34:33 +0100 |
| commit | b81d384c52709beb83f2f2ee5ee1d79b96ccbb5a (patch) | |
| tree | fa69d39c5915c9f9986130bb7a78ff697503a657 | |
| parent | 280774ae8df43f862f48f954cb93cbb7b7ed5827 (diff) | |
[IMP][REF] website_hr: add of published mixin, update of displayed
employees. Website publishers now see all employees + a publish button, like
for other website documents. Other people see the same published employees
as before.
The URL link for employees is not a specific url for each employee but the
about us page.
| -rw-r--r-- | addons/website_hr/__openerp__.py | 1 | ||||
| -rw-r--r-- | addons/website_hr/controllers/main.py | 8 | ||||
| -rw-r--r-- | addons/website_hr/models/hr.py | 15 | ||||
| -rw-r--r-- | addons/website_hr/views/website_hr.xml | 7 | ||||
| -rw-r--r-- | addons/website_hr/views/website_hr_view.xml | 20 |
5 files changed, 40 insertions, 11 deletions
diff --git a/addons/website_hr/__openerp__.py b/addons/website_hr/__openerp__.py index bb30bbdeeb3..ad864265aeb 100644 --- a/addons/website_hr/__openerp__.py +++ b/addons/website_hr/__openerp__.py @@ -16,6 +16,7 @@ Our Team Page 'data': [ 'data/website_hr_data.xml', 'views/website_hr.xml', + 'views/website_hr_view.xml', 'security/ir.model.access.csv', 'security/website_hr.xml', ], diff --git a/addons/website_hr/controllers/main.py b/addons/website_hr/controllers/main.py index 430c47b5dfa..f269c099e13 100644 --- a/addons/website_hr/controllers/main.py +++ b/addons/website_hr/controllers/main.py @@ -8,10 +8,12 @@ class website_hr(http.Controller): @http.route(['/page/website.aboutus', '/page/aboutus'], type='http', auth="public", website=True) def blog(self, **post): hr_obj = request.registry['hr.employee'] - employee_ids = hr_obj.search(request.cr, request.uid, [('website_published', '=', True)], - context=request.context) + if request.registry['res.users'].has_group(request.cr, request.uid, 'base.group_website_publisher'): + employee_ids = hr_obj.search(request.cr, request.uid, [], context=request.context) + else: + employee_ids = hr_obj.search(request.cr, request.uid, [('website_published', '=', True)], context=request.context) values = { 'employee_ids': hr_obj.browse(request.cr, request.uid, employee_ids, - request.context) + request.context), } return request.website.render("website.aboutus", values) diff --git a/addons/website_hr/models/hr.py b/addons/website_hr/models/hr.py index faed91b4a28..d202331218c 100644 --- a/addons/website_hr/models/hr.py +++ b/addons/website_hr/models/hr.py @@ -3,12 +3,15 @@ from openerp.osv import osv, fields -class hr(osv.osv): - _inherit = 'hr.employee' +class hr_employee(osv.osv): + _name = 'hr.employee' + _inherit = ['hr.employee', 'website.published.mixin'] + _columns = { - 'website_published': fields.boolean('Available in the website', copy=False), 'public_info': fields.text('Public Info'), } - _defaults = { - 'website_published': False - } + + def _website_url(self, cr, uid, ids, field_name, arg, context=None): + res = super(hr_employee, self)._website_url(cr, uid, ids, field_name, arg, context=context) + res.update({(employee_id, '/page/website.aboutus#team') for employee_id in ids}) + return res diff --git a/addons/website_hr/views/website_hr.xml b/addons/website_hr/views/website_hr.xml index a1385624ff4..4d8be6e3b6e 100644 --- a/addons/website_hr/views/website_hr.xml +++ b/addons/website_hr/views/website_hr.xml @@ -5,12 +5,15 @@ <template id="aboutus" inherit_id="website.aboutus" customize_show="True" name="Our Team"> <xpath expr="//div[@class='oe_structure']" position="after"> - <section class="container"> + <section class="container" id="team"> <div class="col-sm-12 text-center" t-if="len(employee_ids)"> <h2>Our Team</h2> </div> <div t-foreach="employee_ids" t-as="employee" class="col-sm-3 col-lg-2 mt16 text-center colsize"> - <t t-call="website.publish_management"><t t-set="object" t-value="employee"/></t> + <t t-call="website.publish_management"> + <t t-set="object" t-value="employee"/> + <t t-set="publish_edit" t-value="True"/> + </t> <div class="clearfix"/> <img t-att-src="website.image_url(employee, 'image_medium')" class="img shadow img-rounded"/> <div class="mt8"> diff --git a/addons/website_hr/views/website_hr_view.xml b/addons/website_hr/views/website_hr_view.xml new file mode 100644 index 00000000000..f4592f80392 --- /dev/null +++ b/addons/website_hr/views/website_hr_view.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> +<data> + + <record model="ir.ui.view" id="hr_employee_form_view_website_published"> + <field name="name">hr.employee.website.form</field> + <field name="model">hr.employee</field> + <field name="inherit_id" ref="hr.view_employee_form"/> + <field name="arch" type="xml"> + <xpath expr="//div[@name='button_box']" position="inside"> + <button class="oe_inline oe_stat_button" name="open_website_url" + type="object" icon="fa-globe"> + <field name="website_published" widget="website_button"/> + </button> + </xpath> + </field> + </record> + + </data> +</openerp> |
