summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Monjoie <dmo@odoo.com>2015-01-20 17:34:17 +0100
committerThibault Delavallée <tde@openerp.com>2015-01-20 17:34:33 +0100
commitb81d384c52709beb83f2f2ee5ee1d79b96ccbb5a (patch)
treefa69d39c5915c9f9986130bb7a78ff697503a657
parent280774ae8df43f862f48f954cb93cbb7b7ed5827 (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__.py1
-rw-r--r--addons/website_hr/controllers/main.py8
-rw-r--r--addons/website_hr/models/hr.py15
-rw-r--r--addons/website_hr/views/website_hr.xml7
-rw-r--r--addons/website_hr/views/website_hr_view.xml20
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>