From 185827a579d1a03aec925a4daf2cd6f92e202011 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 24 Jul 2013 17:20:27 +0200 Subject: [PATCH] [IMP] website_mail bzr revid: chm@openerp.com-20130724152027-hzcdqli4t80ytg3l --- addons/website_mail/__init__.py | 2 + addons/website_mail/__openerp__.py | 20 ++++ addons/website_mail/controllers/__init__.py | 1 + addons/website_mail/controllers/main.py | 44 ++++++++ addons/website_mail/mail_message.py | 29 ++++++ addons/website_mail/views/website_mail.xml | 108 ++++++++++++++++++++ addons/website_sale/views/ecommerce.xml | 4 - 7 files changed, 204 insertions(+), 4 deletions(-) create mode 100644 addons/website_mail/__init__.py create mode 100644 addons/website_mail/__openerp__.py create mode 100644 addons/website_mail/controllers/__init__.py create mode 100644 addons/website_mail/controllers/main.py create mode 100644 addons/website_mail/mail_message.py create mode 100644 addons/website_mail/views/website_mail.xml diff --git a/addons/website_mail/__init__.py b/addons/website_mail/__init__.py new file mode 100644 index 00000000000..f2eed8dcedb --- /dev/null +++ b/addons/website_mail/__init__.py @@ -0,0 +1,2 @@ +import controllers +import mail_message diff --git a/addons/website_mail/__openerp__.py b/addons/website_mail/__openerp__.py new file mode 100644 index 00000000000..2ed5290fdc2 --- /dev/null +++ b/addons/website_mail/__openerp__.py @@ -0,0 +1,20 @@ +{ + 'name': 'Blog', + 'category': 'mail', + 'version': '1.0', + 'description': """ +OpenERP Blog +============ + + """, + 'author': 'OpenERP SA', + 'depends': ['website', 'mail'], + 'data': [ + 'views/website_mail.xml', + ], + 'js': ['static/src/js/*.js'], + 'css': ['static/src/css/*.css'], + 'qweb': ['static/src/xml/*.xml'], + 'installable': True, + 'auto_install': True, +} diff --git a/addons/website_mail/controllers/__init__.py b/addons/website_mail/controllers/__init__.py new file mode 100644 index 00000000000..8ee9bae18d9 --- /dev/null +++ b/addons/website_mail/controllers/__init__.py @@ -0,0 +1 @@ +import main diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py new file mode 100644 index 00000000000..05ef2130b12 --- /dev/null +++ b/addons/website_mail/controllers/main.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +from openerp.addons.web import http +from openerp.addons.web.http import request +from openerp.addons.website.controllers.main import template_values + + +class website_mail(http.Controller): + + @http.route(['/blog', '/blog//'], type='http', auth="admin") + def blog(self, mail_group_id=None, blog_id=None, **post): + cr = request.cr + uid = request.uid + values = template_values() + + mail_group_obj = request.registry['mail.group'] + mail_message_obj = request.registry['mail.message'] + + if not mail_group_id: + mail_group_ids = mail_group_obj.search(cr, uid, [("public", "=", "public")]) + mail_group_id = mail_group_ids[0] + + domain = [("subject", "!=", False), ("parent_id", "=", False)]#, ("website_published", "=", True)] + + if blog_id and not mail_message_obj.search(cr, uid, [("id", "=", blog_id)] + domain): + blog_id = None + + message_ids = mail_message_obj.search(cr, uid, [("res_id", "=", mail_group_id), ("model", "=", 'mail.group')]) + domain += [("id", "in", message_ids)] + + values.update({ + 'res_company': request.registry['res.company'].browse(cr, uid, 1), + 'blog_ids': not blog_id and mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="create_date desc", limit=20)) or None, + 'popular_ids': mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="child_ids desc", limit=5)), + 'recent_ids': mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="create_date desc", limit=5)), + 'last_ids': mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="write_date desc", limit=5)), + 'blog_id': blog_id and mail_message_obj.browse(cr, uid, blog_id) or None, + }) + html = request.registry.get("ir.ui.view").render(cr, uid, "website_mail.index", values) + return html diff --git a/addons/website_mail/mail_message.py b/addons/website_mail/mail_message.py new file mode 100644 index 00000000000..4427af34e9d --- /dev/null +++ b/addons/website_mail/mail_message.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import osv, fields + + +class mail_message(osv.osv): + _inherit = "mail.message" + _columns = { + 'website_published': fields.boolean('Publish', help="Publish on the website as a blog"), + } diff --git a/addons/website_mail/views/website_mail.xml b/addons/website_mail/views/website_mail.xml new file mode 100644 index 00000000000..94c394c520a --- /dev/null +++ b/addons/website_mail/views/website_mail.xml @@ -0,0 +1,108 @@ + + + + + + + + mail.group.website.form + mail.group + + + + + + + + + + + + header_website_mail + + + + +
  • Blog
  • +
    +
    +
    +
    + + + + + +
    +
    diff --git a/addons/website_sale/views/ecommerce.xml b/addons/website_sale/views/ecommerce.xml index e719943bffb..026359c781c 100644 --- a/addons/website_sale/views/ecommerce.xml +++ b/addons/website_sale/views/ecommerce.xml @@ -2,10 +2,6 @@ - - Shipping Address - -