[IMP] website_event

bzr revid: chm@openerp.com-20130802043526-btxa9x3xi5co9oru
This commit is contained in:
Christophe Matthieu 2013-08-02 06:35:26 +02:00
parent d37aebb7f0
commit 89ddff91e3
13 changed files with 175 additions and 2 deletions

View File

@ -0,0 +1,2 @@
import controllers
import event

View File

@ -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,
}

View File

@ -0,0 +1 @@
import main

View File

@ -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"

View File

@ -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'),
}

View File

@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_event_event_public event.event.public event.model_event_event base.group_public 1 0 0 0

View File

@ -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>

View File

@ -0,0 +1,2 @@
sass:
sass --compass --trace -t expanded hr.sass hr.css

View File

@ -0,0 +1 @@
@import "compass/css3"

View File

@ -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");
}
});
});
});

View File

@ -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>

View File

@ -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"/>

View File

@ -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">