diff options
| author | Antony Lesuisse <al@openerp.com> | 2014-01-31 01:51:57 +0100 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2014-01-31 01:51:57 +0100 |
| commit | 4b30f1fcbd8701f82dbbe4e5c8386ee432b063ac (patch) | |
| tree | 93b17a03b45927c20fbb045cda8c8aa09d853409 /addons/website_project | |
| parent | ba2d4c90307661a79d78e6ce3b274b76b4c62717 (diff) | |
| parent | 1c283ddf242f0681c1d060f3b8658efa3fcaa0a8 (diff) | |
[MERGE] trunk-website-al
bzr revid: al@openerp.com-20140131005157-jkf8hz6fh2buml2c
Diffstat (limited to 'addons/website_project')
| -rw-r--r-- | addons/website_project/__init__.py | 2 | ||||
| -rw-r--r-- | addons/website_project/__openerp__.py | 19 | ||||
| -rw-r--r-- | addons/website_project/controllers/__init__.py | 1 | ||||
| -rw-r--r-- | addons/website_project/controllers/main.py | 50 | ||||
| -rw-r--r-- | addons/website_project/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/website_project/models/website_project.py | 9 | ||||
| -rw-r--r-- | addons/website_project/views/website_project.xml | 54 |
7 files changed, 136 insertions, 0 deletions
diff --git a/addons/website_project/__init__.py b/addons/website_project/__init__.py new file mode 100644 index 00000000000..d3e4f782456 --- /dev/null +++ b/addons/website_project/__init__.py @@ -0,0 +1,2 @@ +import models +import controllers
\ No newline at end of file diff --git a/addons/website_project/__openerp__.py b/addons/website_project/__openerp__.py new file mode 100644 index 00000000000..81d64cd8d3f --- /dev/null +++ b/addons/website_project/__openerp__.py @@ -0,0 +1,19 @@ + +{ + 'name': 'Public Projects', + 'category': 'Website', + 'summary': 'Publish Your Public Projects', + 'version': '1.0', + 'description': """ +OpenERP Projects +================ + + """, + 'author': 'OpenERP SA', + 'depends': ['website_mail', 'project'], + 'data': [ + 'views/website_project.xml', + ], + 'qweb': ['static/src/xml/*.xml'], + 'installable': True, +} diff --git a/addons/website_project/controllers/__init__.py b/addons/website_project/controllers/__init__.py new file mode 100644 index 00000000000..8ee9bae18d9 --- /dev/null +++ b/addons/website_project/controllers/__init__.py @@ -0,0 +1 @@ +import main diff --git a/addons/website_project/controllers/main.py b/addons/website_project/controllers/main.py new file mode 100644 index 00000000000..4940a521072 --- /dev/null +++ b/addons/website_project/controllers/main.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013-Today OpenERP SA (<http://www.openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +from openerp.addons.web import http +from openerp.addons.web.http import request +from openerp.osv import osv + + +class Website(osv.Model): + _inherit = "website" + + def preprocess_request(self, cr, uid, ids, request, context=None): + project_obj = request.registry['project.project'] + project_ids = project_obj.search(cr, uid, [('privacy_visibility', "=", "public")], context=request.context) + + request.context.update({ + 'website_project_ids': project_obj.browse(cr, uid, project_ids, context=request.context) + }) + + return super(Website, self).preprocess_request(cr, uid, ids, request, context=None) + + +class website_project(http.Controller): + + @http.route(['/project/<model("project.project"):project>/'], type='http', auth="public", website=True, multilang=True) + def project(self, project=None, **post): + cr, uid, context = request.cr, request.uid, request.context + render_values = { + 'project': project, + 'main_object': project, + } + return request.website.render("website_project.index", render_values) diff --git a/addons/website_project/models/__init__.py b/addons/website_project/models/__init__.py new file mode 100644 index 00000000000..bf67277dc77 --- /dev/null +++ b/addons/website_project/models/__init__.py @@ -0,0 +1 @@ +import website_project
\ No newline at end of file diff --git a/addons/website_project/models/website_project.py b/addons/website_project/models/website_project.py new file mode 100644 index 00000000000..30dc36afcb4 --- /dev/null +++ b/addons/website_project/models/website_project.py @@ -0,0 +1,9 @@ +from openerp.osv import orm + +class project(orm.Model): + _name = 'project.project' + _inherit = ['project.project','website.seo.metadata'] + +class task(orm.Model): + _name = 'project.task' + _inherit = ['project.task','website.seo.metadata']
\ No newline at end of file diff --git a/addons/website_project/views/website_project.xml b/addons/website_project/views/website_project.xml new file mode 100644 index 00000000000..514194083f2 --- /dev/null +++ b/addons/website_project/views/website_project.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> +<data> + +<!-- Layout add nav and footer --> +<template id="footer_custom" inherit_id="website.layout" name="Footer Project's Links"> + <xpath expr="//footer//ul[@name='products']" position="inside"> + <li t-foreach="website_project_ids" t-as="project"> + <a t-attf-href="/project/#{ project.id }/"><span t-field="project.name"/></a> + </li> + </xpath> +</template> + +<!-- Project --> +<template id="task_kanban_card" name="TaskKanban"> + <div class="thumbnail"> + <a t-attf-href="/web#model=project.task&id=#{object_id.id}"><span t-field="object_id.name"/></a> + <div> + Assigned to <span t-field="object_id.user_id"/> + </div> + <div> + <span t-foreach="object_id.categ_ids" t-as="categ_id" class="label"> + <t t-esc="categ_id.name"/> + </span> + </div> + <small> + <i class="fa fa-clock-o"></i> <span t-field="object_id.date_start"/><br/> + <t t-if="object_id.date_end">Ending Date: <span t-field="object_id.date_end"/></t> + </small> + </div> +</template> +<template id="index" name="Project"> + <t t-call="website.layout"> + <t t-set="additional_title">Project</t> + <div id="wrap"> + <div class="oe_structure"/> + <div class="container"> + <h4 t-field="project.name"/> + <t t-call="website.kanban"> + <t t-set="model">project.task</t> + <t t-set="domain" t-value="[('project_id', '=', project.id)]"/> + <t t-set="column">stage_id</t> + <t t-set="template">website_project.task_kanban_card</t> + <t t-set="step">10</t> + <t t-set="scope">3</t> + </t> + </div> + <div class="oe_structure"/> + </div> + </t> +</template> + +</data> +</openerp> |
