summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@openerp.com>2013-08-02 06:35:26 +0200
committerChristophe Matthieu <chm@openerp.com>2013-08-02 06:35:26 +0200
commit89ddff91e3575022b895afe44b93f3788cfe06d5 (patch)
tree507aa85355ea6e4014f15cb254754b1dbfc06025
parentd37aebb7f0fd712a063d0beb6f19e81d1d337510 (diff)
[IMP] website_event
bzr revid: chm@openerp.com-20130802043526-btxa9x3xi5co9oru
-rw-r--r--addons/website_event/__init__.py2
-rw-r--r--addons/website_event/__openerp__.py20
-rw-r--r--addons/website_event/controllers/__init__.py1
-rw-r--r--addons/website_event/controllers/main.py30
-rw-r--r--addons/website_event/event.py11
-rw-r--r--addons/website_event/security/ir.model.access.csv2
-rw-r--r--addons/website_event/security/website_event.xml15
-rw-r--r--addons/website_event/static/src/css/Makefile2
-rw-r--r--addons/website_event/static/src/css/hr.sass1
-rw-r--r--addons/website_event/static/src/js/website_event.js18
-rw-r--r--addons/website_event/views/website_event.xml71
-rw-r--r--addons/website_hr/security/website_hr.xml2
-rw-r--r--addons/website_hr/views/website_hr.xml2
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">