diff options
| author | Christophe Matthieu <chm@openerp.com> | 2013-08-02 06:35:26 +0200 |
|---|---|---|
| committer | Christophe Matthieu <chm@openerp.com> | 2013-08-02 06:35:26 +0200 |
| commit | 89ddff91e3575022b895afe44b93f3788cfe06d5 (patch) | |
| tree | 507aa85355ea6e4014f15cb254754b1dbfc06025 | |
| parent | d37aebb7f0fd712a063d0beb6f19e81d1d337510 (diff) | |
[IMP] website_event
bzr revid: chm@openerp.com-20130802043526-btxa9x3xi5co9oru
| -rw-r--r-- | addons/website_event/__init__.py | 2 | ||||
| -rw-r--r-- | addons/website_event/__openerp__.py | 20 | ||||
| -rw-r--r-- | addons/website_event/controllers/__init__.py | 1 | ||||
| -rw-r--r-- | addons/website_event/controllers/main.py | 30 | ||||
| -rw-r--r-- | addons/website_event/event.py | 11 | ||||
| -rw-r--r-- | addons/website_event/security/ir.model.access.csv | 2 | ||||
| -rw-r--r-- | addons/website_event/security/website_event.xml | 15 | ||||
| -rw-r--r-- | addons/website_event/static/src/css/Makefile | 2 | ||||
| -rw-r--r-- | addons/website_event/static/src/css/hr.sass | 1 | ||||
| -rw-r--r-- | addons/website_event/static/src/js/website_event.js | 18 | ||||
| -rw-r--r-- | addons/website_event/views/website_event.xml | 71 | ||||
| -rw-r--r-- | addons/website_hr/security/website_hr.xml | 2 | ||||
| -rw-r--r-- | addons/website_hr/views/website_hr.xml | 2 |
13 files changed, 175 insertions, 2 deletions
diff --git a/addons/website_event/__init__.py b/addons/website_event/__init__.py new file mode 100644 index 00000000000..91898dc2123 --- /dev/null +++ b/addons/website_event/__init__.py @@ -0,0 +1,2 @@ +import controllers +import event
\ No newline at end of file diff --git a/addons/website_event/__openerp__.py b/addons/website_event/__openerp__.py new file mode 100644 index 00000000000..f871094048a --- /dev/null +++ b/addons/website_event/__openerp__.py @@ -0,0 +1,20 @@ +{ + 'name': 'Website Event', + 'category': 'mail', + 'version': '1.0', + 'description': """ +OpenERP Blog +============ + + """, + 'author': 'OpenERP SA', + 'depends': ['website', 'event'], + 'data': [ + 'views/website_event.xml', + 'security/ir.model.access.csv', + 'security/website_event.xml', + ], + 'qweb': ['static/src/xml/*.xml'], + 'installable': True, + 'auto_install': True, +} diff --git a/addons/website_event/controllers/__init__.py b/addons/website_event/controllers/__init__.py new file mode 100644 index 00000000000..8ee9bae18d9 --- /dev/null +++ b/addons/website_event/controllers/__init__.py @@ -0,0 +1 @@ +import main diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py new file mode 100644 index 00000000000..a039bcce61f --- /dev/null +++ b/addons/website_event/controllers/main.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +from openerp.addons.web import http +from openerp.addons.web.http import request +from openerp.addons.website import website + +class website_hr(http.Controller): + + @http.route(['/event'], type='http', auth="public") + def blog(self, **post): + data_obj = request.registry['event.event'] + + obj_ids = data_obj.search(request.cr, request.uid, [(1, "=", 1)]) + values = { + 'event_ids': data_obj.browse(request.cr, request.uid, obj_ids), + } + + html = website.render("website_event.index", values) + return html + + @http.route(['/hr/publish'], type='http', auth="public") + def publish(self, **post): + obj_id = int(post['id']) + data_obj = request.registry['event.event'] + + obj = data_obj.browse(request.cr, request.uid, obj_id) + data_obj.write(request.cr, request.uid, [obj_id], {'website_published': not obj.website_published}) + obj = data_obj.browse(request.cr, request.uid, obj_id) + + return obj.website_published and "1" or "0" diff --git a/addons/website_event/event.py b/addons/website_event/event.py new file mode 100644 index 00000000000..a1f6b32081a --- /dev/null +++ b/addons/website_event/event.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- + +from openerp.osv import osv, fields + + +class event(osv.osv): + _inherit = 'event.event' + _columns = { + 'website_published': fields.boolean('Available in the website'), + } + diff --git a/addons/website_event/security/ir.model.access.csv b/addons/website_event/security/ir.model.access.csv new file mode 100644 index 00000000000..6bc81d1794d --- /dev/null +++ b/addons/website_event/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_event_event_public,event.event.public,event.model_event_event,base.group_public,1,0,0,0
\ No newline at end of file diff --git a/addons/website_event/security/website_event.xml b/addons/website_event/security/website_event.xml new file mode 100644 index 00000000000..c571a1f4f9b --- /dev/null +++ b/addons/website_event/security/website_event.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> +<data> + <record id="event_event_public" model="ir.rule"> + <field name="name">event: Public</field> + <field name="model_id" ref="event.model_event_event"/> + <field name="domain_force">[('website_published', '=', True), ('state', '=', 'confirm')]</field> + <field name="groups" eval="[(4, ref('base.group_public'))]"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="False"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + </record> +</data> +</openerp> diff --git a/addons/website_event/static/src/css/Makefile b/addons/website_event/static/src/css/Makefile new file mode 100644 index 00000000000..2694cc0791b --- /dev/null +++ b/addons/website_event/static/src/css/Makefile @@ -0,0 +1,2 @@ +sass: + sass --compass --trace -t expanded hr.sass hr.css diff --git a/addons/website_event/static/src/css/hr.sass b/addons/website_event/static/src/css/hr.sass new file mode 100644 index 00000000000..33ae61b5260 --- /dev/null +++ b/addons/website_event/static/src/css/hr.sass @@ -0,0 +1 @@ +@import "compass/css3" diff --git a/addons/website_event/static/src/js/website_event.js b/addons/website_event/static/src/js/website_event.js new file mode 100644 index 00000000000..54115172481 --- /dev/null +++ b/addons/website_event/static/src/js/website_event.js @@ -0,0 +1,18 @@ +$(document).ready(function () { + $(document).on('click', '.js_publish, .js_unpublish', function (e) { + e.preventDefault(); + var $link = $(this).parent(); + $link.find('.js_publish, .js_unpublish').addClass("hidden"); + var $unp = $link.find(".js_unpublish"); + var $p = $link.find(".js_publish"); + $.post('/event/publish', {'id': $link.data('id')}, function (result) { + if (+result) { + $p.addClass("hidden"); + $unp.removeClass("hidden"); + } else { + $p.removeClass("hidden"); + $unp.addClass("hidden"); + } + }); + }); +});
\ No newline at end of file diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml new file mode 100644 index 00000000000..23beaa97adf --- /dev/null +++ b/addons/website_event/views/website_event.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> +<data> + + <!-- Layout add nav and footer --> + + <record id="header_website_event" model="ir.ui.view"> + <field name="name">header_website_event</field> + <field name="inherit_id" ref="website.header"/> + <field name="arch" type="xml"> + <data> + <xpath expr="(//li)[last()]" position="after"> + <li class="pull-right"><a href="/event">Events</a></li> + </xpath> + </data> + </field> + </record> + <record id="footer_website_event" model="ir.ui.view"> + <field name="name">footer_website_event</field> + <field name="inherit_id" ref="website.footer"/> + <field name="arch" type="xml"> + <data> + <xpath expr="//a[@href='/page/website.contactus']" position="after"> + <li><a href="/event">Events</a></li> + </xpath> + </data> + </field> + </record> + + <!-- Page --> + + <template id="index"> + <t t-call="website.layout"> + <t t-set="head"> + <script type="text/javascript" src="/website_event/static/src/js/website_event.js"></script> + <t t-raw="head"/> + </t> + <t t-set="title">Events</t> + <div class="container"> + <div class="thumbnails"> + <t t-foreach="event_ids" t-as="event_id"> + <div class="span4 mt16"> + <div class="media thumbnail"> + <div class="media-body"> + <t t-if="editable"> + <a href="#" t-att-data-id="event_id.id" class="pull-right"> + <span t-att-class="'label label-success js_unpublish %%s' %% (not event_id.website_published and 'hidden' or '')">Click to Unpublish</span> + <span t-att-class="'label label-important js_publish %%s' %% (event_id.website_published and 'hidden' or '')">Click to Publish</span> + </a> + </t> + <h5 class="media-heading"><span t-record="event_id" t-field="name"> </span></h5> + <div>Start Date: <span t-record="event_id" t-field="date_begin"> </span></div> + <div>End Date: <span t-record="event_id" t-field="date_end"> </span></div> + <div t-record="event_id" t-field="type"> </div> + <div t-record="event_id" t-field="country_id"> </div> + <div>Participations : + <span t-record="event_id" t-field="register_current">0</span> + <t t-if="event_id.register_max"> / <span t-record="event_id" t-field="register_max"> </span></t> + </div> + <div t-record="event_id" t-field="note"> </div> + <div t-record="event_id" t-field="country_id"> </div> + </div> + </div> + </div> + </t> + </div> + </div> + </t> + </template> + </data> +</openerp> diff --git a/addons/website_hr/security/website_hr.xml b/addons/website_hr/security/website_hr.xml index a5c544ba3ca..0b581fa600b 100644 --- a/addons/website_hr/security/website_hr.xml +++ b/addons/website_hr/security/website_hr.xml @@ -4,7 +4,7 @@ <record id="hr_employee_public" model="ir.rule"> <field name="name">hr_employee: Public</field> <field name="model_id" ref="hr.model_hr_employee"/> - <field name="domain_force">['|', ('visibility', '=', 'public'), ("website_published_on_contact_form", "=", True)]</field> + <field name="domain_force">[('website_published', '=', True)]</field> <field name="groups" eval="[(4, ref('base.group_public'))]"/> <field name="perm_read" eval="True"/> <field name="perm_write" eval="False"/> diff --git a/addons/website_hr/views/website_hr.xml b/addons/website_hr/views/website_hr.xml index f85d8ed1c0a..66c380b176b 100644 --- a/addons/website_hr/views/website_hr.xml +++ b/addons/website_hr/views/website_hr.xml @@ -4,7 +4,7 @@ <!-- Layout add nav and footer --> - <record id="footer_hr_mail" model="ir.ui.view"> + <record id="footer_website_hr" model="ir.ui.view"> <field name="name">footer_website_hr</field> <field name="inherit_id" ref="website.footer"/> <field name="arch" type="xml"> |
