[MERGE] project_issue: website portal
- Remove portal_project move rules to project - Add issues in the /my/home frontend portal - Remove website_project, task access is backend only
This commit is contained in:
+3
-13
@@ -687,16 +687,6 @@ file_filter = addons/portal_claim/i18n/<lang>.po
|
||||
source_file = addons/portal_claim/i18n/portal_claim.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-9.portal_project]
|
||||
file_filter = addons/portal_project/i18n/<lang>.po
|
||||
source_file = addons/portal_project/i18n/portal_project.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-9.portal_project_issue]
|
||||
file_filter = addons/portal_project_issue/i18n/<lang>.po
|
||||
source_file = addons/portal_project_issue/i18n/portal_project_issue.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-9.portal_sale]
|
||||
file_filter = addons/portal_sale/i18n/<lang>.po
|
||||
source_file = addons/portal_sale/i18n/portal_sale.pot
|
||||
@@ -1072,9 +1062,9 @@ file_filter = addons/website_payment/i18n/<lang>.po
|
||||
source_file = addons/website_payment/i18n/website_payment.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-9.website_project]
|
||||
file_filter = addons/website_project/i18n/<lang>.po
|
||||
source_file = addons/website_project/i18n/website_project.pot
|
||||
[odoo-9.website_project_issue]
|
||||
file_filter = addons/website_project_issue/i18n/<lang>.po
|
||||
source_file = addons/website_project_issue/i18n/portal_project_issue.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-9.website_quote]
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
# Arabic translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" انقر لبدء مشروع جديد.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "المشروع"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "المشروعات"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Czech translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Czech <cs@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klikněte pro založení nového projektu.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projekty"
|
||||
@@ -1,42 +0,0 @@
|
||||
# German translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klicken Sie um ein neues Projekt anzulegen.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projekte"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Spanish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish <es@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
"Pulse para crear un nuevo proyecto.\n"
|
||||
"</p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Proyecto"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Proyectos"
|
||||
@@ -1,44 +0,0 @@
|
||||
# Spanish (Argentina) translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Argentina) <es_AR@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Pulse para crear un nuevo proyecto.\n"
|
||||
" </p>\n"
|
||||
" \n"
|
||||
"</p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Proyectos"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Finnish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Finnish <fi@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klikkaa aloittaaksesi uuden projektin.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projekti"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projektit"
|
||||
@@ -1,42 +0,0 @@
|
||||
# French translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: French <fr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Cliquez pour démarrer un nouveau projet.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projet"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projets"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Hebrew translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hebrew <he@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr ""
|
||||
@@ -1,42 +0,0 @@
|
||||
# Croatian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Croatian <hr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Pritisnite za kreiranje novog projekta.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projekti"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Hungarian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hungarian <hu@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Kattintson új projekt létrehozásához.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projektek"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Italian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Cliccare per avviare un nuovo progetto.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Progetti"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Macedonian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-10-19 10:34+0000\n"
|
||||
"Last-Translator: Tome Barbov <tome.barbov@eskon.com.mk>\n"
|
||||
"Language-Team: Macedonian <mk@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-10-20 07:19+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Кликнете за да започнете нов проект.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Проект"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Проекти"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Dutch translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch <nl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Klik hier om een nieuw project te starten. .\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Project"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projecten"
|
||||
@@ -1,43 +0,0 @@
|
||||
# Polish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-27 21:17+0000\n"
|
||||
"Last-Translator: Monika Grzelak (OpenGLOBE.pl) "
|
||||
"<monika.grzelak@openglobe.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-28 06:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17174)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Kliknij, aby rozpocząć nowy projekt.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projekty"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * portal_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-01-21 14:08+0000\n"
|
||||
"PO-Revision-Date: 2015-01-21 14:08+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid "<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: code:addons/portal_project/project.py:33
|
||||
#, python-format
|
||||
msgid "Customer related project: visible through portal"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
# Portuguese translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-09-17 17:57+0000\n"
|
||||
"Last-Translator: Opencloud - PT <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-09-19 08:21+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Carregue, para criar um projeto.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projeto"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projetos"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Brazilian Portuguese translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Clique para iniciar um novo projeto.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Projeto"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projetos"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Romanian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<clasa p=\"oe_vizualizare_niciuncontinut_creeaza\">\n"
|
||||
" Faceti click pentru a incepe un proiect nou.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Proiecte"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Russian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-09-19 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Russian <ru@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-09-20 06:43+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr ""
|
||||
@@ -1,42 +0,0 @@
|
||||
# Slovenian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Slovenian <sl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Nov projekt.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projekti"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Swedish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Swedish <sv@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projekt"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Turkish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish <tr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Yeni bir proje başlatmak için tıklayın.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr "Proje"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "Projeler"
|
||||
@@ -1,42 +0,0 @@
|
||||
# Chinese (Simplified) translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:10+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-15 07:35+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,help:portal_project.open_view_project
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to start a new project.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" 点击开始一个新项目。\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.model,name:portal_project.model_project_project
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: portal_project
|
||||
#: model:ir.actions.act_window,name:portal_project.open_view_project
|
||||
#: model:ir.ui.menu,name:portal_project.portal_services_projects
|
||||
msgid "Projects"
|
||||
msgstr "项目"
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="open_view_project" model="ir.actions.act_window">
|
||||
<field name="name">Projects</field>
|
||||
<field name="res_model">project.project</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="view_mode">kanban,gantt</field>
|
||||
<field name="view_id" ref="project.view_project_kanban"/>
|
||||
<field name="search_view_id" ref="project.view_project_project_filter"/>
|
||||
<field name="context">{}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to start a new project.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Projects" id="portal_services_projects" parent="portal.portal_projects"
|
||||
action="open_view_project" sequence="10"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,20 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from openerp.osv import osv
|
||||
from openerp.tools.translate import _
|
||||
|
||||
class portal_project(osv.Model):
|
||||
""" Update of mail_mail class, to add the signin URL to notifications. """
|
||||
_inherit = 'project.project'
|
||||
|
||||
def _get_visibility_selection(self, cr, uid, context=None):
|
||||
""" Override to add portal option. """
|
||||
selection = super(portal_project, self)._get_visibility_selection(cr, uid, context=context)
|
||||
idx = [item[0] for item in selection].index('public')
|
||||
selection.insert((idx + 1), ('portal', _('Customer related project: visible through portal')))
|
||||
return selection
|
||||
# return [('public', 'All Users'),
|
||||
# ('portal', 'Portal Users and Employees'),
|
||||
# ('employees', 'Employees Only'),
|
||||
# ('followers', 'Followers Only')]
|
||||
@@ -1,3 +0,0 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_account_analytic_account,account_analytic_account,analytic.model_account_analytic_account,base.group_portal,1,0,0,0
|
||||
access_account_analytic_account_public,account_analytic_account,analytic.model_account_analytic_account,base.group_public,1,0,0,0
|
||||
|
@@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record model="ir.rule" id="project.project_public_members_rule">
|
||||
<field name="name">Project: employees: public, portal, employees or following</field>
|
||||
<field name="domain_force">['|',
|
||||
('privacy_visibility', 'in', ['public', 'portal', 'employees']),
|
||||
'&',
|
||||
('privacy_visibility', '=', 'followers'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="portal_project_rule" model="ir.rule">
|
||||
<field name="name">Project: portal users: public, portal or following</field>
|
||||
<field name="model_id" ref="project.model_project_project"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
'|',
|
||||
('privacy_visibility', '=', 'public'),
|
||||
'&',
|
||||
('privacy_visibility', '=', 'portal'),
|
||||
('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('privacy_visibility', '=', 'followers'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id])
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project_public_rule">
|
||||
<field name="name">Project: public users: public only</field>
|
||||
<field name="model_id" ref="project.model_project_project"/>
|
||||
<field name="domain_force">[('privacy_visibility', '=', 'public')]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_public'))]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project.task_visibility_rule">
|
||||
<field name="name">Project/Task: employees: public, portal, employee or (followers and following)</field>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
('project_id.privacy_visibility', 'in', ['public', 'portal', 'employees']),
|
||||
'|',
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
('project_id.message_follower_ids', 'in', [user.partner_id.id]),
|
||||
'|',
|
||||
('message_follower_ids', 'in', [user.partner_id.id]),
|
||||
('user_id', '=', user.id)
|
||||
]</field>
|
||||
</record>
|
||||
|
||||
<record id="portal_task_rule" model="ir.rule">
|
||||
<field name="name">Project/Task: portal users: public or (portal and colleagues following) or (followers and following)</field>
|
||||
<field name="model_id" ref="project.model_project_task"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
'|',
|
||||
'|',
|
||||
('project_id.privacy_visibility', '=', 'public'),
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
('project_id.message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
('project_id.message_follower_ids', 'in', [user.partner_id.id]),
|
||||
'&',
|
||||
# on employee project can receive messages but not access the object
|
||||
('project_id.privacy_visibility', '!=', 'employees'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id])
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="task_public_rule">
|
||||
<field name="name">Project/Task: public users: public only</field>
|
||||
<field name="model_id" ref="project.model_project_task"/>
|
||||
<field name="domain_force">[('project_id.privacy_visibility', '=', 'public')]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_public'))]"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,5 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import test_access_rights
|
||||
|
||||
@@ -115,9 +115,9 @@ class project(osv.osv):
|
||||
|
||||
def _get_visibility_selection(self, cr, uid, context=None):
|
||||
""" Overriden in portal_project to offer more options """
|
||||
return [('public', _('Public project')),
|
||||
('employees', _('Internal project: all employees can access')),
|
||||
('followers', _('Private project: followers Only'))]
|
||||
return [('portal', _('Customer Project: visible in portal if the customer is a follower')),
|
||||
('employees', _('All Employees Project: all employees can access')),
|
||||
('followers', _('Private Project: followers only'))]
|
||||
|
||||
def attachment_tree_view(self, cr, uid, ids, context):
|
||||
task_ids = self.pool.get('project.task').search(cr, uid, [('project_id', 'in', ids)])
|
||||
@@ -170,10 +170,7 @@ class project(osv.osv):
|
||||
help="The kind of document created when an email is received on this project's email alias"),
|
||||
'privacy_visibility': fields.selection(_visibility_selection, 'Privacy / Visibility', required=True,
|
||||
help="Holds visibility of the tasks or issues that belong to the current project:\n"
|
||||
"- Public: everybody sees everything; if portal is activated, portal users\n"
|
||||
" see all tasks or issues; if anonymous portal is activated, visitors\n"
|
||||
" see all tasks or issues\n"
|
||||
"- Portal (only available if Portal is installed): employees see everything;\n"
|
||||
"- Portal : employees see everything;\n"
|
||||
" if portal is activated, portal users see the tasks or issues followed by\n"
|
||||
" them or by someone of their company\n"
|
||||
"- Employees Only: employees see all tasks or issues\n"
|
||||
|
||||
@@ -50,15 +50,19 @@
|
||||
<field name="date_start" eval="time.strftime('%Y-%m-01 10:00:00')"/>
|
||||
<field name="state">open</field>
|
||||
<field name="type">normal</field>
|
||||
<field name="name">The Jackson Group's Project</field>
|
||||
<field name="name">Website for Sales & WMS</field>
|
||||
<field name="color">3</field>
|
||||
<field name="partner_id" ref="base.res_partner_10"/>
|
||||
<field name="partner_id" ref="portal.partner_demo_portal"/>
|
||||
<field name="parent_id" ref="all_projects_account"/>
|
||||
<field name="privacy_visibility">public</field>
|
||||
<field name="privacy_visibility">portal</field>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="description">Implement new website for Sale and Warehouse Management for a customer.</field>
|
||||
<field name="alias_model">project.task</field>
|
||||
<field name="type_ids" eval="[(4, ref('project_stage_0')) ,(4,ref('project_stage_1'))]"/>
|
||||
<field name="message_follower_ids" eval="[(6, 0, [
|
||||
ref('base.partner_root'),
|
||||
ref('base.partner_demo'),
|
||||
ref('portal.partner_demo_portal')])]"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
@@ -654,5 +654,9 @@
|
||||
</record>
|
||||
<menuitem action="project_tags_action" id="menu_project_tags_act" parent="menu_project_config" groups="base.group_no_one"/>
|
||||
|
||||
<!-- Portal menuitems -->
|
||||
<menuitem name="Projects" id="portal_services_projects" parent="portal.portal_projects"
|
||||
action="open_view_project_all" sequence="10"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -2,7 +2,8 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_project_project,project.project,model_project_project,project.group_project_user,1,0,0,0
|
||||
access_project_project_manager,project.project,model_project_project,project.group_project_manager,1,1,1,1
|
||||
access_account_analytic_account_user,account.analytic.account,analytic.model_account_analytic_account,project.group_project_user,1,0,0,0
|
||||
access_account_analytic_account,account.analytic.account,analytic.model_account_analytic_account,project.group_project_manager,1,1,1,1
|
||||
access_account_analytic_account_manager,account.analytic.account,analytic.model_account_analytic_account,project.group_project_manager,1,1,1,1
|
||||
access_account_analytic_account_portal,account_analytic_account,analytic.model_account_analytic_account,base.group_portal,1,0,0,0
|
||||
access_account_analytic_journal_project_manager,account.analytic.journal.project.manager,analytic.model_account_analytic_journal,project.group_project_manager,1,1,1,1
|
||||
access_account_analytic_journal_project_user,account.analytic.journal.project.user,analytic.model_account_analytic_journal,project.group_project_user,1,1,1,0
|
||||
access_project_task_type_user,project.task.type user,model_project_task_type,project.group_project_user,1,0,0,0
|
||||
@@ -26,11 +27,7 @@ access_resource_calendar_leaves_user,resource.calendar.leaves user,resource.mode
|
||||
access_project_tags_all,project.project_tags_all,model_project_tags,,1,0,0,0
|
||||
access_project_tags_manager,project.project_tags_manager,model_project_tags,project.group_project_manager,1,1,1,1
|
||||
access_project_tags_portal,project_tags_portal,project.model_project_tags,base.group_portal,1,0,0,0
|
||||
access_project_tags_public,project_tags_public,project.model_project_tags,base.group_public,1,0,0,0
|
||||
access_mail_alias,mail.alias,mail.model_mail_alias,project.group_project_manager,1,1,1,1
|
||||
access_project_portal,project__portal,project.model_project_project,base.group_portal,1,0,0,0
|
||||
access_task_portal,task_portal,project.model_project_task,base.group_portal,1,0,0,0
|
||||
access_task_type_portal,task_type_portal,project.model_project_task_type,base.group_portal,1,0,0,0
|
||||
access_project_public,project_public,project.model_project_project,base.group_public,1,0,0,0
|
||||
access_task_public,task_public,project.model_project_task,base.group_public,1,0,0,0
|
||||
access_task_type_public,task_type_public,project.model_project_task_type,base.group_public,1,0,0,0
|
||||
|
@@ -47,10 +47,10 @@
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project_public_members_rule">
|
||||
<field name="name">Project: employees: public, employees or followers</field>
|
||||
<field name="name">Project: employees: portal, employees or followers</field>
|
||||
<field name="model_id" ref="model_project_project"/>
|
||||
<field name="domain_force">['|',
|
||||
('privacy_visibility', 'in', ['public', 'employees']),
|
||||
('privacy_visibility', 'in', ['portal', 'employees']),
|
||||
('message_follower_ids', 'in', [user.partner_id.id])
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
|
||||
@@ -67,11 +67,11 @@
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="task_visibility_rule">
|
||||
<field name="name">Project/Task: employees: public or employee or (followers and following)</field>
|
||||
<field name="name">Project/Task: employees: portal or employee or (followers and following)</field>
|
||||
<field name="model_id" ref="model_project_task"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
('project_id.privacy_visibility', 'in', ['public', 'employees']),
|
||||
('project_id.privacy_visibility', 'in', ['portal', 'employees']),
|
||||
'|',
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
@@ -91,5 +91,41 @@
|
||||
<field name="groups" eval="[(4,ref('project.group_project_manager'))]"/>
|
||||
</record>
|
||||
|
||||
<!-- Portal -->
|
||||
<record model="ir.rule" id="portal_project_rule">
|
||||
<field name="name">Project: portal users: portal or following</field>
|
||||
<field name="model_id" ref="project.model_project_project"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
'&',
|
||||
('privacy_visibility', '=', 'portal'),
|
||||
('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('privacy_visibility', '=', 'followers'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id])
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="portal_task_rule">
|
||||
<field name="name">Project/Task: portal users: (portal and colleagues following) or (followers and following)</field>
|
||||
<field name="model_id" ref="project.model_project_task"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
'|',
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
('project_id.message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
('project_id.message_follower_ids', 'in', [user.partner_id.id]),
|
||||
'&',
|
||||
# on employee project can receive messages but not access the object
|
||||
('project_id.privacy_visibility', '!=', 'employees'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id])
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import test_project_base, test_project_flow
|
||||
from . import test_project_base, test_project_flow, test_access_rights
|
||||
|
||||
+2
-58
@@ -32,53 +32,6 @@ class TestPortalProjectBase(TestProjectBase):
|
||||
|
||||
class TestPortalProject(TestPortalProjectBase):
|
||||
|
||||
@mute_logger('openerp.addons.base.ir.ir_model')
|
||||
def test_public_project_access_rights(self):
|
||||
pigs = self.project_pigs
|
||||
|
||||
# Do: Alfred reads project -> ok (employee ok public)
|
||||
pigs.sudo(self.user_projectuser.id).read(['state'])
|
||||
# Test: all project tasks visible
|
||||
tasks = self.env['project.task'].sudo(self.user_projectuser.id).search([('project_id', '=', pigs.id)])
|
||||
self.assertEqual(tasks, self.task_1 | self.task_2 | self.task_3 | self.task_4 | self.task_5 | self.task_6,
|
||||
'access rights: project user should see all tasks of public project')
|
||||
# Test: all project tasks readable
|
||||
tasks.read(['name'])
|
||||
# Test: all project tasks writable
|
||||
tasks.write({'description': 'TestDescription'})
|
||||
|
||||
# Need to check assertRaises
|
||||
# Do: Bert reads project -> crash, no group
|
||||
self.assertRaises(AccessError, pigs.sudo(self.user_noone).read, ['state'])
|
||||
# Test: no project task visible
|
||||
self.assertRaises(AccessError, self.env['project.task'].sudo(self.user_noone).search, [('project_id', '=', pigs.id)])
|
||||
# Test: no project task readable
|
||||
self.assertRaises(AccessError, tasks.sudo(self.user_noone).read, ['name'])
|
||||
# Test: no project task writable
|
||||
self.assertRaises(AccessError, tasks.sudo(self.user_noone).write, {'description': 'TestDescription'})
|
||||
|
||||
# Do: Chell reads project -> ok (portal ok public)
|
||||
pigs.sudo(self.user_portal).read(['state'])
|
||||
# Test: all project tasks visible
|
||||
tasks = self.env['project.task'].sudo(self.user_portal).search([('project_id', '=', pigs.id)])
|
||||
self.assertEqual(tasks, self.task_1 | self.task_2 | self.task_3 | self.task_4 | self.task_5 | self.task_6,
|
||||
'access rights: portal user should see all tasks of a public project')
|
||||
# Test: all project tasks readable
|
||||
tasks.read(['name'])
|
||||
# Test: no project task writable
|
||||
self.assertRaises(AccessError, tasks.write, {'description': 'TestDescription'})
|
||||
|
||||
# Do: Donovan reads project -> ok (public)
|
||||
pigs.sudo(self.user_public).read(['state'])
|
||||
# Test: all project tasks visible
|
||||
tasks = self.env['project.task'].sudo(self.user_public.id).search([('project_id', '=', pigs.id)])
|
||||
self.assertEqual(tasks, self.task_1 | self.task_2 | self.task_3 | self.task_4 | self.task_5 | self.task_6,
|
||||
'access rights: public user should see all tasks of a public project')
|
||||
# Test: all project tasks readable
|
||||
tasks.read(['name'])
|
||||
# Test: no project task writable
|
||||
self.assertRaises(AccessError, tasks.write, {'description': 'TestDescription'})
|
||||
|
||||
@mute_logger('openerp.addons.base.ir.ir_model')
|
||||
def test_portal_project_access_rights(self):
|
||||
pigs = self.project_pigs
|
||||
@@ -106,9 +59,8 @@ class TestPortalProject(TestPortalProjectBase):
|
||||
# TODO: Change the except_orm to Warning ( Because here it's call check_access_rule
|
||||
# which still generate exception in except_orm.)
|
||||
self.assertRaises(except_orm, pigs.sudo(self.user_public).read, ['state'])
|
||||
# Test: no project task visible
|
||||
tasks = self.env['project.task'].sudo(self.user_public).search([('project_id', '=', pigs.id)])
|
||||
self.assertFalse(tasks, 'access rights: public user should not see tasks of a portal project')
|
||||
# Test: no access right to project.task
|
||||
self.assertRaises(AccessError, self.env['project.task'].sudo(self.user_public).search, [])
|
||||
# Data: task follower cleaning
|
||||
self.task_1.sudo(self.user_projectuser).message_unsubscribe_users(user_ids=[self.user_portal.id])
|
||||
self.task_3.sudo(self.user_projectuser).message_unsubscribe_users(user_ids=[self.user_portal.id])
|
||||
@@ -136,10 +88,6 @@ class TestPortalProject(TestPortalProjectBase):
|
||||
# Do: Donovan reads project -> ko (public ko employee)
|
||||
# TODO Change the except_orm to Warning
|
||||
self.assertRaises(except_orm, pigs.sudo(self.user_public).read, ['state'])
|
||||
# Test: no project task visible
|
||||
tasks = self.env['project.task'].sudo(self.user_public).search([('project_id', '=', pigs.id)])
|
||||
self.assertFalse(tasks.ids, 'access rights: public user should not see tasks of an employees project')
|
||||
|
||||
# Do: project user is employee and can create a task
|
||||
tmp_task = self.env['project.task'].sudo(self.user_projectuser).with_context({'mail_create_nolog': True}).create({
|
||||
'name': 'Pigs task',
|
||||
@@ -172,9 +120,6 @@ class TestPortalProject(TestPortalProjectBase):
|
||||
# Do: Donovan reads project -> ko (public ko employee)
|
||||
# TODO Change the except_orm to Warning
|
||||
self.assertRaises(except_orm, pigs.sudo(self.user_public).read, ['state'])
|
||||
# Test: no project task visible
|
||||
tasks = self.env['project.task'].sudo(self.user_public).search([('project_id', '=', pigs.id)])
|
||||
self.assertFalse(tasks, 'access rights: public user should not see tasks of a followers project')
|
||||
|
||||
# Data: subscribe Alfred, Chell and Donovan as follower
|
||||
pigs.message_subscribe_users(user_ids=[self.user_projectuser.id, self.user_portal.id, self.user_public.id])
|
||||
@@ -200,4 +145,3 @@ class TestPortalProject(TestPortalProjectBase):
|
||||
# Do: project user can create a task without project
|
||||
self.assertRaises(except_orm, self.env['project.task'].sudo(self.user_projectuser).with_context({
|
||||
'mail_create_nolog': True}).create, {'name': 'Pigs task', 'project_id': pigs.id})
|
||||
|
||||
@@ -32,7 +32,7 @@ class TestProjectBase(TestMail):
|
||||
# Test 'Pigs' project
|
||||
cls.project_pigs = cls.env['project.project'].with_context({'mail_create_nolog': True}).create({
|
||||
'name': 'Pigs',
|
||||
'privacy_visibility': 'public',
|
||||
'privacy_visibility': 'portal',
|
||||
'alias_name': 'project+pigs',
|
||||
'partner_id': cls.partner_1.id})
|
||||
# Already-existing tasks in Pigs
|
||||
|
||||
@@ -356,6 +356,7 @@ class project_issue(osv.Model):
|
||||
return res_id
|
||||
|
||||
@api.cr_uid_ids_context
|
||||
@api.returns('mail.message', lambda value: value.id)
|
||||
def message_post(self, cr, uid, thread_id, subtype=None, context=None, **kwargs):
|
||||
""" Overrides mail_thread message_post so that we can set the date of last action field when
|
||||
a new message is posted on the issue.
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/>
|
||||
<field name="priority">0</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="partner_id" ref="base.res_partner_2"/>
|
||||
<field name="partner_id" ref="portal.partner_demo_portal"/>
|
||||
<field name="team_id" ref="sales_team.team_sales_department"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="project_id" ref="project.project_project_1"/>
|
||||
|
||||
@@ -336,5 +336,29 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Portal -->
|
||||
<record id="open_view_issue" model="ir.actions.act_window">
|
||||
<field name="name">Issues</field>
|
||||
<field name="res_model">project.issue</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="project_issue.project_issue_tree_view"/>
|
||||
<field name="domain" eval=""/>
|
||||
<field name="context">{"search_default_user_id":'', "search_default_draft":'', "search_default_todo":'', "portal":'True'}</field>
|
||||
<field name="search_view_id" ref="project_issue.view_project_issue_filter"/>
|
||||
<field name="target">current</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create an issue.
|
||||
</p><p>
|
||||
You can track your issues from this menu and the action we
|
||||
will take.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Issues" id="portal_services_issues" parent="portal.portal_projects"
|
||||
action="open_view_issue" sequence="10"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -6,3 +6,4 @@ access_project_issue_report_user,project.issue.report user,model_project_issue_r
|
||||
access_crm_team,crm.team,sales_team.model_crm_team,project.group_project_user,1,0,0,0
|
||||
access_project_issue_salesman,project.issue,model_project_issue,base.group_sale_salesman,1,0,0,0
|
||||
access_project_issue_manager,project.issue,model_project_issue,base.group_sale_manager,1,0,0,0
|
||||
access_project_issue_portal,project.issue,model_project_issue,base.group_portal,1,0,0,0
|
||||
|
||||
|
@@ -10,10 +10,10 @@
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="issue_user_rule">
|
||||
<field name="name">Project/Issue: employees: public or employee or (followers and following)</field>
|
||||
<field name="name">Project/Issue: employees: employee or (followers and following)</field>
|
||||
<field name="model_id" ref="model_project_issue"/>
|
||||
<field name="domain_force">['|',
|
||||
('project_id.privacy_visibility', 'in', ['public', 'employees']),
|
||||
('project_id.privacy_visibility', '=', 'employees'),
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id]),
|
||||
@@ -21,5 +21,29 @@
|
||||
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="portal_issue_rule" model="ir.rule">
|
||||
<field name="name">Project/Issue: portal users: (portal and colleagues following) or (followers and following)</field>
|
||||
<field name="model_id" ref="project_issue.model_project_issue"/>
|
||||
<field name="domain_force">['|',
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project_issue.issue_user_rule">
|
||||
<field name="name">Project/Issue: employees: portal, employee or (followers and following)</field>
|
||||
<field name="domain_force">['|',
|
||||
('project_id.privacy_visibility', 'in', ['portal', 'employees']),
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -21,6 +21,7 @@ Worklogs can be maintained to signify number of hours spent by users to handle a
|
||||
'data': [
|
||||
'project_issue_sheet_view.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'security/portal_security.xml',
|
||||
],
|
||||
'demo': [],
|
||||
'installable': True,
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
options="{'classes': {'template': 'default', 'draft': 'info', 'open': 'success', 'pending': 'warning', 'close': 'danger', 'cancelled': 'warning'}}" readonly="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//notebook/page[@name='extra_info']" position="before">
|
||||
<page string="Timesheets">
|
||||
<page string="Timesheets" groups="[project.group_tasks_work_on_tasks,project.group_time_work_estimation_tasks]">
|
||||
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : uid, 'default_account_id' : analytic_account_id, 'default_is_timesheet':1}"
|
||||
groups="base.group_user">
|
||||
<tree editable="top" string="Timesheet Activities">
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="portal_issue_sheet_rule" model="ir.rule">
|
||||
<field name="name">Project/Issue Timesheets: frontend access</field>
|
||||
<field name="model_id" ref="analytic.model_account_analytic_line"/>
|
||||
<field name="domain_force">['|',
|
||||
'&',
|
||||
('issue_id.project_id.privacy_visibility', '=', 'portal'),
|
||||
('issue_id.message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('issue_id.project_id.privacy_visibility', '=', 'followers'),
|
||||
('issue_id.message_follower_ids', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -155,7 +155,7 @@
|
||||
groups="project.group_time_work_estimation_tasks"/>
|
||||
</field>
|
||||
<xpath expr="//notebook/page[@name='description_page']" position="after">
|
||||
<page string="Timesheets">
|
||||
<page string="Timesheets" groups="[project.group_tasks_work_on_tasks,project.group_time_work_estimation_tasks]">
|
||||
<field name="timesheet_ids" groups="project.group_tasks_work_on_tasks" context="{'default_account_id' : analytic_account_id, 'default_is_timesheet' : 1}">
|
||||
<tree editable="top" string="Timesheet Activities">
|
||||
<field name="date"/>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_sale_order_manager,sale.order,sale.model_sale_order,project.group_project_manager,1,0,0,0
|
||||
access_sale_order_user,sale.order,sale.model_sale_order,project.group_project_user,1,0,0,0
|
||||
access_analytic_line_portal,account.analytic.line,account.model_account_analytic_line,base.group_portal,1,0,0,0
|
||||
|
||||
|
@@ -4,6 +4,20 @@
|
||||
<record model="res.groups" id="base.group_user">
|
||||
<field name="implied_ids" eval="[(4, ref('project.group_tasks_work_on_tasks'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="portal_task_sheet_rule" model="ir.rule">
|
||||
<field name="name">Project/Task Timesheets: portal access</field>
|
||||
<field name="model_id" ref="analytic.model_account_analytic_line"/>
|
||||
<field name="domain_force">['|',
|
||||
'&',
|
||||
('task_id.project_id.privacy_visibility', '=', 'portal'),
|
||||
('task_id.message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('task_id.project_id.privacy_visibility', '=', 'followers'),
|
||||
('task_id.message_follower_ids', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
@@ -47,10 +47,5 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- add the email template as value for the project stage 2 -->
|
||||
<record id="project.project_stage_2" model="project.task.type">
|
||||
<field name="rating_template_id" ref="rating_project_request_email_template"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -22,6 +22,11 @@
|
||||
<field name="res_id" ref="project.project_task_24"/>
|
||||
</record>
|
||||
|
||||
<!-- add the email template as value for the project stage 2 -->
|
||||
<record id="project.project_stage_2" model="project.task.type">
|
||||
<field name="rating_template_id" ref="rating_project_request_email_template"/>
|
||||
</record>
|
||||
|
||||
<function model="rating.rating" name="apply_rating" eval="(10, 'project.task', ref('project.project_task_3'))"/>
|
||||
<function model="rating.rating" name="apply_rating" eval="(0, 'project.task', ref('project.project_task_8'))"/>
|
||||
<function model="rating.rating" name="apply_rating" eval="(5, 'project.task', ref('project.project_task_15'))"/>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
import models
|
||||
import controllers
|
||||
@@ -1,19 +0,0 @@
|
||||
|
||||
{
|
||||
'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,
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
import main
|
||||
@@ -1,16 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
|
||||
class website_project(http.Controller):
|
||||
|
||||
@http.route(['/project/<model("project.project"):project>'], type='http', auth="public", website=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)
|
||||
@@ -1,72 +0,0 @@
|
||||
# Arabic translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-11-14 18:27+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-11-15 07:02+0000\n"
|
||||
"X-Generator: Launchpad (build 17241)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr ""
|
||||
@@ -1,72 +0,0 @@
|
||||
# Czech translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-11-18 12:55+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Czech <cs@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-11-19 06:45+0000\n"
|
||||
"X-Generator: Launchpad (build 17252)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr ""
|
||||
@@ -1,73 +0,0 @@
|
||||
# German translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-09-18 06:21+0000\n"
|
||||
"Last-Translator: Thorsten Vocks (OpenBig.org) <thorsten.vocks@big-"
|
||||
"consulting.net>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-09-19 08:22+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Zugewiesen an"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr "Ende am:"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Aufgabe"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr "Webseite Metabeschreibung"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr "Webseite Metasuchbegriffe"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr "Webseite Metaüberschrift"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr ""
|
||||
@@ -1,72 +0,0 @@
|
||||
# Spanish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-18 20:49+0000\n"
|
||||
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
|
||||
"Language-Team: Spanish <es@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-19 07:06+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Asignado a"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr "Fecha de finalización:"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Proyecto"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Tarea"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr "Meta descripción del sitio web"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr "Meta palabras clave del sitio web"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr "Meta título del sitio web"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr "project.task"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr "stage_id"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr "website_project.task_kanban_card"
|
||||
@@ -1,72 +0,0 @@
|
||||
# Italian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-09-22 14:58+0000\n"
|
||||
"Last-Translator: Simone Bernini <simone@aperturelabs.it>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-09-23 07:27+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Assegnato a"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Progetto"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Attività"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr "project.task"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr "stage_id"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr "website_project.task_kanban_card"
|
||||
@@ -1,72 +0,0 @@
|
||||
# Macedonian translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-10-22 09:44+0000\n"
|
||||
"Last-Translator: Tome Barbov <tome.barbov@eskon.com.mk>\n"
|
||||
"Language-Team: Macedonian <mk@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-10-23 07:53+0000\n"
|
||||
"X-Generator: Launchpad (build 17203)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Доделено на"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr "Завршен датум:"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Проект"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Задача"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr "project.task"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr "stage_id"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr "website_project.task_kanban_card"
|
||||
@@ -1,72 +0,0 @@
|
||||
# Dutch translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-21 18:13+0000\n"
|
||||
"Last-Translator: Yenthe - Bapps.be <yenthespam@gmail.com>\n"
|
||||
"Language-Team: Dutch <nl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-22 08:25+0000\n"
|
||||
"X-Generator: Launchpad (build 17163)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Toegewezen aan"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr "Einddatum:"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Project"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Taak"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr "Website meta omschrijving"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr "Website meta trefwoorden"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr "Website meta titel"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr "project.task"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr "stage_id"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr "website_project.task_kanban_card"
|
||||
@@ -1,73 +0,0 @@
|
||||
# Polish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-25 13:49+0000\n"
|
||||
"Last-Translator: Monika Grzelak (OpenGLOBE.pl) "
|
||||
"<monika.grzelak@openglobe.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-26 08:42+0000\n"
|
||||
"X-Generator: Launchpad (build 17163)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Przypisane do"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr "Data zakończenia:"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Projekt"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Zadanie"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr "Opis strony - meta"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr "Słowa kluczowe dla strony - meta"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr "Tytuł strony - meta"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr ""
|
||||
@@ -1,72 +0,0 @@
|
||||
# Portuguese translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-19 22:52+0000\n"
|
||||
"Last-Translator: Opencloud - PT <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-08-20 06:28+0000\n"
|
||||
"X-Generator: Launchpad (build 17163)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Atribuído a"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr "Data final:"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Projeto"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Tarefa"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr "Website Meta Descrição"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr "Website meta keywords"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr "Website meta title"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr "project.task"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr "stage_id"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr "website_project.task_kanban_card"
|
||||
@@ -1,72 +0,0 @@
|
||||
# Brazilian Portuguese translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-09-17 11:16+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-09-19 08:22+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr ""
|
||||
@@ -1,72 +0,0 @@
|
||||
# Turkish translation for openobject-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-10-10 12:32+0000\n"
|
||||
"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
|
||||
"Language-Team: Turkish <tr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-10-11 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr "Atanan"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr "Bitiş Tarihi:"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr "Proje"
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Görev"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr "Websitesi meta açıklaması"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr "Websitesi meta anahtar kelimeler"
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr "Websitesi meta başlık"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr "project.task"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr "stage_id"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr "website_project.task_kanban_card"
|
||||
@@ -1,71 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * website_project
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-01-21 14:09+0000\n"
|
||||
"PO-Revision-Date: 2015-01-21 14:09+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Assigned to"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.task_kanban_card
|
||||
msgid "Ending Date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_project
|
||||
#: view:website:website_project.index
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: model:ir.model,name:website_project.model_project_task
|
||||
msgid "Task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_description:0
|
||||
#: field:project.task,website_meta_description:0
|
||||
msgid "Website meta description"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_keywords:0
|
||||
#: field:project.task,website_meta_keywords:0
|
||||
msgid "Website meta keywords"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: field:project.project,website_meta_title:0
|
||||
#: field:project.task,website_meta_title:0
|
||||
msgid "Website meta title"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "project.task"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "stage_id"
|
||||
msgstr ""
|
||||
|
||||
#. module: website_project
|
||||
#: view:website:website_project.index
|
||||
msgid "website_project.task_kanban_card"
|
||||
msgstr ""
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
import website_project
|
||||
@@ -1,9 +0,0 @@
|
||||
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']
|
||||
@@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- 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" translation="off">project.task</t>
|
||||
<t t-set="domain" t-value="[('project_id', '=', project.id)]"/>
|
||||
<t t-set="column" translation="off">stage_id</t>
|
||||
<t t-set="template" translation="off">website_project.task_kanban_card</t>
|
||||
<t t-set="step" translation="off">10</t>
|
||||
<t t-set="scope" translation="off">3</t>
|
||||
</t>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,2 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import controllers
|
||||
|
||||
@@ -8,17 +8,15 @@
|
||||
'category': 'Tools',
|
||||
'complexity': 'easy',
|
||||
'description': """
|
||||
This module adds issue menu and features to your portal if project_issue and portal are installed.
|
||||
This module adds project issues inside your account's page on website if project_issue and website_portal are installed.
|
||||
==================================================================================================
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['project_issue','portal', 'website'],
|
||||
'depends': ['project_issue', 'website_portal'],
|
||||
'data': [
|
||||
'security/portal_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'portal_project_issue_view.xml',
|
||||
'website_project_issue_view.xml',
|
||||
'views/portal_project_issue.xml',
|
||||
'views/project_issue_templates.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': True,
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import project
|
||||
import main
|
||||
@@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
from openerp import http
|
||||
from openerp.addons.website_portal.controllers.main import website_account
|
||||
from openerp.http import request
|
||||
|
||||
|
||||
class WebsiteAccount(website_account):
|
||||
@http.route(['/my', '/my/home'], type='http', auth="user", website=True)
|
||||
def account(self):
|
||||
response = super(WebsiteAccount, self).account()
|
||||
user = request.env.user
|
||||
# portal projects where you or someone from your company are a follower
|
||||
project_issues = request.env['project.issue'].search([
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
'|',
|
||||
('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
('message_follower_ids', 'child_of', [user.partner_id.id])
|
||||
])
|
||||
response.qcontext.update({'issues': project_issues})
|
||||
return response
|
||||
|
||||
|
||||
class WebsiteProjectIssue(http.Controller):
|
||||
@http.route(['/my/issues/<int:issue_id>'], type='http', auth="user", website=True)
|
||||
def issues_followup(self, issue_id=None):
|
||||
issue = request.env['project.issue'].browse(issue_id)
|
||||
return request.website.render("website_project_issue.issues_followup", {'issue': issue})
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="open_view_issue" model="ir.actions.act_window">
|
||||
<field name="name">Issues</field>
|
||||
<field name="res_model">project.issue</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="project_issue.project_issue_tree_view"/>
|
||||
<field name="domain" eval=""/>
|
||||
<field name="context">{"search_default_user_id":'', "search_default_draft":'', "search_default_todo":'', "portal":'True'}</field>
|
||||
<field name="search_view_id" ref="project_issue.view_project_issue_filter"/>
|
||||
<field name="target">current</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create an issue.
|
||||
</p><p>
|
||||
You can track your issues from this menu and the action we
|
||||
will take.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Issues" id="portal_services_issues" parent="portal.portal_projects"
|
||||
action="open_view_issue" sequence="10"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,4 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_issues,project_issue,project_issue.model_project_issue,base.group_portal,1,0,0,0
|
||||
access_case_section,crm_team,sales_team.model_crm_team,base.group_portal,1,0,0,0
|
||||
access_issues_public,project_issue,project_issue.model_project_issue,base.group_public,1,0,0,0
|
||||
|
@@ -3,10 +3,9 @@
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="portal_issue_rule" model="ir.rule">
|
||||
<field name="name">Project/Issue: portal users: public or (portal and colleagues following) or (followers and following)</field>
|
||||
<field name="name">Project/Issue: portal users: (portal and colleagues following) or (followers and following)</field>
|
||||
<field name="model_id" ref="project_issue.model_project_issue"/>
|
||||
<field name="domain_force">['|', '|',
|
||||
('project_id.privacy_visibility', 'in', ['public']),
|
||||
<field name="domain_force">['|',
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
@@ -18,21 +17,13 @@
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project_issue.issue_user_rule">
|
||||
<field name="name">Project/Issue: employees: public, portal, employee or (followers and following)</field>
|
||||
<field name="name">Project/Issue: employees: portal, employee or (followers and following)</field>
|
||||
<field name="domain_force">['|',
|
||||
('project_id.privacy_visibility', 'in', ['public', 'portal', 'employees']),
|
||||
('project_id.privacy_visibility', 'in', ['portal', 'employees']),
|
||||
'&',
|
||||
('project_id.privacy_visibility', '=', 'followers'),
|
||||
('message_follower_ids', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="issue_public_rule">
|
||||
<field name="name">Project/Issue: public users: public only</field>
|
||||
<field name="model_id" ref="project_issue.model_project_issue"/>
|
||||
<field name="domain_force">[('project_id.privacy_visibility', '=', 'public')]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_public'))]"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
.oe_portal_project_issue {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.oe_portal_project_issue .oe_kanban_groups {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.oe_portal_project_issue .oe_fold_column.oe_kanban_record {
|
||||
float: none;
|
||||
display: block;
|
||||
border-width: 1px;
|
||||
border-radius: 4px;
|
||||
border-style: solid;
|
||||
border-bottom-color: #B9B9B9;
|
||||
border-left-color: #D8D8D8;
|
||||
border-right-color: #D8D8D8;
|
||||
border-top-color: #D8D8D8;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.oe_portal_project_issue .oe_fold_column.oe_kanban_record .oe_kanban_content {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.oe_portal_project_issue .oe_fold_column.oe_kanban_record h1 {
|
||||
margin: 0;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp.addons.portal_project.tests.test_access_rights import TestPortalProjectBase
|
||||
from openerp.addons.project.tests.test_access_rights import TestPortalProjectBase
|
||||
from openerp.exceptions import AccessError
|
||||
from openerp.tools import mute_logger
|
||||
|
||||
@@ -33,52 +33,14 @@ class TestPortalIssue(TestPortalProjectBase):
|
||||
Issue = self.env['project.issue']
|
||||
|
||||
# ----------------------------------------
|
||||
# CASE1: public project
|
||||
# ----------------------------------------
|
||||
|
||||
# Do: Alfred reads project -> ok (employee ok public)
|
||||
# Test: all project issues visible
|
||||
issues = Issue.sudo(self.user_projectuser.id).search([('project_id', '=', pigs_id)])
|
||||
test_issue_ids = set([self.issue_1.id, self.issue_2.id, self.issue_3.id, self.issue_4.id, self.issue_5.id, self.issue_6.id])
|
||||
self.assertEqual(set(issues.ids), test_issue_ids,
|
||||
'access rights: project user cannot see all issues of a public project')
|
||||
# Test: all project issues readable
|
||||
issues.read(['name'])
|
||||
# Test: all project issues writable
|
||||
issues.sudo(self.user_projectuser.id).write({'description': 'TestDescription'})
|
||||
|
||||
# Do: Bert reads project -> crash, no group
|
||||
# Test: no project issue visible
|
||||
self.assertRaises(AccessError, Issue.sudo(self.user_noone.id).search, [('project_id', '=', pigs_id)])
|
||||
# Test: no project issue readable
|
||||
self.assertRaises(AccessError, issues.sudo(self.user_noone.id).read, ['name'])
|
||||
# Test: no project issue writable
|
||||
self.assertRaises(AccessError, issues.sudo(self.user_noone.id).write, {'description': 'TestDescription'})
|
||||
|
||||
# Do: Chell reads project -> ok (portal ok public)
|
||||
# Test: all project issues visible
|
||||
issues = Issue.sudo(self.user_portal.id).search([('project_id', '=', pigs_id)])
|
||||
self.assertEqual(set(issues.ids), test_issue_ids,
|
||||
'access rights: project user cannot see all issues of a public project')
|
||||
# Test: all project issues readable
|
||||
issues.sudo(self.user_portal.id).read(['name'])
|
||||
# Test: no project issue writable
|
||||
self.assertRaises(AccessError, issues.sudo(self.user_portal.id).write, {'description': 'TestDescription'})
|
||||
|
||||
# Do: Donovan reads project -> ok (public ok public)
|
||||
# Test: all project issues visible
|
||||
issues = Issue.sudo(self.user_public.id).search([('project_id', '=', pigs_id)])
|
||||
self.assertEqual(set(issues.ids), test_issue_ids,
|
||||
'access rights: project user cannot see all issues of a public project')
|
||||
|
||||
# ----------------------------------------
|
||||
# CASE2: portal project
|
||||
# CASE1: portal project
|
||||
# ----------------------------------------
|
||||
self.project_pigs.write({'privacy_visibility': 'portal'})
|
||||
|
||||
# Do: Alfred reads project -> ok (employee ok public)
|
||||
# Test: all project issues visible
|
||||
issues = Issue.sudo(self.user_projectuser.id).search([('project_id', '=', pigs_id)])
|
||||
test_issue_ids = set([self.issue_1.id, self.issue_2.id, self.issue_3.id, self.issue_4.id, self.issue_5.id, self.issue_6.id])
|
||||
self.assertEqual(set(issues.ids), test_issue_ids,
|
||||
'access rights: project user cannot see all issues of a portal project')
|
||||
|
||||
@@ -101,7 +63,7 @@ class TestPortalIssue(TestPortalProjectBase):
|
||||
self.issue_3.sudo(self.user_projectuser.id).message_unsubscribe_users(user_ids=[self.user_portal.id])
|
||||
|
||||
# ----------------------------------------
|
||||
# CASE3: employee project
|
||||
# CASE2: employee project
|
||||
# ----------------------------------------
|
||||
self.project_pigs.write({'privacy_visibility': 'employees'})
|
||||
|
||||
@@ -118,7 +80,7 @@ class TestPortalIssue(TestPortalProjectBase):
|
||||
self.assertFalse(issues.ids, 'access rights: portal user should not see issues of an employees project, even if assigned')
|
||||
|
||||
# ----------------------------------------
|
||||
# CASE4: followers project
|
||||
# CASE3: followers project
|
||||
# ----------------------------------------
|
||||
self.project_pigs.write({'privacy_visibility': 'followers'})
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="assets_backend" name="portal_project_issue assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" href="/website_project_issue/static/src/css/portal_project_issue.css"/>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<template id="portal_project_issue" name="Portal Project Issues" inherit_id="website_portal.account">
|
||||
<xpath expr="//div[contains(@class,'o_my_documents')]/*[last()]" position="after">
|
||||
<h3 class="page-header">Your Issues</h3>
|
||||
<t t-if="not issues">
|
||||
<p>There are currently no issues for your account.</p>
|
||||
</t>
|
||||
<t t-if="issues">
|
||||
<table class="table table-hover status_table">
|
||||
<thead>
|
||||
<tr class="active">
|
||||
<th>Issue</th>
|
||||
<th>Description</th><th/>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<t t-foreach="issues" t-as="issue">
|
||||
<tr t-att-class="'hidden to_hide' if issue_index > 4 else ''">
|
||||
<td><a t-attf-href="/my/issues/#{issue.id}">Issue <t t-esc="issue.id"/></a></td>
|
||||
<td><span t-field="issue.name"/></td><td/>
|
||||
<td><span t-field="issue.stage_id.name"/></td>
|
||||
</tr>
|
||||
</t>
|
||||
<tr t-att-class="'hidden' if len(issues) < 6 else ''">
|
||||
<td colspan="4">
|
||||
<a href="" class="o_my_show_more btn btn-xs btn-default"><span>Show more</span><span class="hidden">Show less</span></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="issues_followup" name="Project Issues">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap">
|
||||
<div class="container">
|
||||
<div class="oe_structure">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<ol class="breadcrumb mt8">
|
||||
<li><a href="/my/home">My Account</a></li>
|
||||
<li>Issue <span t-field="issue.id"/></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h4>
|
||||
Issue <span t-field="issue.id"/> - <span t-field="issue.name"/>
|
||||
<span t-field="issue.stage_id.name" class="pull-right label label-info" title="Current stage of this issue"/>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="mb8">
|
||||
<strong>Date:</strong> <span t-field="issue.create_date" t-field-options='{"widget": "date"}'/>
|
||||
</div>
|
||||
<div class='row'>
|
||||
<div class="col-md-6" t-if="issue.user_id">
|
||||
<strong>Assigned to</strong>
|
||||
<div>
|
||||
<address t-field="issue.user_id" t-field-options='{"widget": "contact", "fields": ["name", "email", "phone"], "no_marker": true}'/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<strong>Reported by</strong>
|
||||
<div t-if="issue.partner_id">
|
||||
<address t-field="issue.partner_id" t-field-options='{"widget": "contact", "fields": ["name", "email"], "no_marker": true}'/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt32">
|
||||
<div class="col-md-12">
|
||||
<h4><strong>Message and communication history</strong></h4>
|
||||
</div>
|
||||
<div class="col-md-10 col-md-offset-1 mt16">
|
||||
<t t-call="website_mail.message_thread">
|
||||
<t t-set="object" t-value="issue"/>
|
||||
<t t-set="chatter_mode" t-value="'json'"/>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<template id="website_project_issue.link_issues" name="Issues Link from User Account" inherit_id="website.layout" groups="base.group_portal">
|
||||
<xpath expr="//li[@id='o_logout']" position="before">
|
||||
<li><a href="/web#action=website_project_issue.open_view_issue" role="menuitem">Issues</a></li>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
+6
-7
@@ -3,22 +3,21 @@
|
||||
|
||||
|
||||
{
|
||||
'name': 'Portal Project',
|
||||
'name': 'Timesheet on Website Project Issue',
|
||||
'version': '0.1',
|
||||
'category': 'Tools',
|
||||
'complexity': 'easy',
|
||||
'description': """
|
||||
This module adds project menu and features (tasks) to your portal if project and portal are installed.
|
||||
======================================================================================================
|
||||
Add timesheet support on issue in the frontend.
|
||||
==================================================================================================
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['project', 'portal'],
|
||||
'depends': ['website_project_issue', 'project_issue_sheet'],
|
||||
'data': [
|
||||
'security/portal_security.xml',
|
||||
'views/project_issue_templates.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'portal_project_view.xml',
|
||||
'security/portal_security.xml',
|
||||
],
|
||||
'demo': [],
|
||||
'installable': True,
|
||||
'auto_install': True,
|
||||
'category': 'Hidden',
|
||||
@@ -0,0 +1,2 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_timesheets_portal,access_timesheets_portal,analytic.model_account_analytic_line,base.group_portal,1,0,0,0
|
||||
|
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="portal_issue_sheet_rule" model="ir.rule">
|
||||
<field name="name">Project/Issue Timesheets: frontend access</field>
|
||||
<field name="model_id" ref="analytic.model_account_analytic_line"/>
|
||||
<field name="domain_force">['|',
|
||||
'&',
|
||||
('issue_id.project_id.privacy_visibility', '=', 'portal'),
|
||||
('issue_id.message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
'&',
|
||||
('issue_id.project_id.privacy_visibility', '=', 'followers'),
|
||||
('issue_id.message_follower_ids', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<template id="issues_followup_sheet" inherit_id="website_project_issue.issues_followup" name="Project Issues Timesheets">
|
||||
<xpath expr="//div[@class='panel-body']" position="inside">
|
||||
<t t-if="issue.timesheet_ids">
|
||||
<hr/>
|
||||
<table class="table table-hover o_my_status_table">
|
||||
<thead>
|
||||
<tr class="active">
|
||||
<th>Date</th>
|
||||
<th>Description</th>
|
||||
<th>Responsible</th>
|
||||
<th>Duration</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr t-foreach="issue.timesheet_ids" t-as="timesheet">
|
||||
<td><span t-esc="timesheet.date"/></td>
|
||||
<td><span t-esc="timesheet.name"/></td>
|
||||
<td><span t-esc="timesheet.user_id.name"/></td>
|
||||
<td><span t-field="timesheet.unit_amount" t-field-options='{"widget": "duration", "unit": "hour"}'/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
@@ -15,7 +15,8 @@ This module display project customer satisfaction on your website.
|
||||
'rating_project_issue'
|
||||
],
|
||||
'data': [
|
||||
'views/website_rating_project.xml'
|
||||
'views/website_rating_project.xml',
|
||||
'views/project_project_view.xml',
|
||||
],
|
||||
'installable': True,
|
||||
}
|
||||
|
||||
@@ -4,19 +4,26 @@ from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
|
||||
import datetime
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
|
||||
class WebsiteRatingProject(http.Controller):
|
||||
|
||||
@http.route(['/project/rating/'], type='http', auth="public", website=True)
|
||||
def index(self, **kw):
|
||||
projects = request.env['project.project'].search([('is_visible_happy_customer', '=', 1)])
|
||||
projects = request.env['project.project'].sudo().search([('is_visible_happy_customer', '=', True), ('website_published', '=', True)])
|
||||
values = {'projects' : projects}
|
||||
return request.website.render('website_rating_project_issue.index', values)
|
||||
|
||||
@http.route(['''/project/rating/<model("project.project", "[('is_visible_happy_customer','=',1)]"):project>'''], type='http', auth="public", website=True)
|
||||
def page(self, project=None, **kw):
|
||||
# create domain for rating
|
||||
issues = request.env['project.issue'].search([('project_id', '=', project.id)])
|
||||
@http.route(['/project/rating/<int:project_id>'], type='http', auth="public", website=True)
|
||||
def page(self, project_id=None, **kw):
|
||||
user = request.env.user
|
||||
project = request.env['project.project'].sudo().browse(project_id)
|
||||
# to avoid giving any access rights on projects to the public user, let's use sudo
|
||||
# and check if the user should be able to view the project (project managers only if it's not published or has no rating)
|
||||
if not (project.is_visible_happy_customer and project.website_published) and not user.sudo(user).has_group('project.group_project_manager'):
|
||||
raise NotFound()
|
||||
issues = request.env['project.issue'].sudo().search([('project_id', '=', project.id)])
|
||||
domain = [('res_model', '=', 'project.issue'), ('res_id', 'in', issues.ids)]
|
||||
ratings = request.env['rating.rating'].search(domain, order="id desc", limit=100)
|
||||
|
||||
@@ -31,9 +38,8 @@ class WebsiteRatingProject(http.Controller):
|
||||
for rate in rating_stats:
|
||||
stats[x][rate['rating']] = (rate['rating_count'] * 100) / total
|
||||
values = {
|
||||
'team': project.sudo().members,
|
||||
'project': project,
|
||||
'ratings' : ratings,
|
||||
'ratings': ratings,
|
||||
'stats': stats,
|
||||
}
|
||||
return request.website.render('website_rating_project_issue.project_rating_page', values)
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from openerp import api, models
|
||||
from openerp import api, fields, models
|
||||
|
||||
|
||||
class Project(models.Model):
|
||||
|
||||
_inherit = 'project.project'
|
||||
_name = "project.project"
|
||||
_inherit = ['project.project', 'website.published.mixin']
|
||||
|
||||
@api.multi
|
||||
def action_view_all_rating(self):
|
||||
@@ -16,3 +17,10 @@ class Project(models.Model):
|
||||
'target': 'self',
|
||||
'url': "/project/rating/%s" % (self.id,)
|
||||
}
|
||||
|
||||
@api.multi
|
||||
def _website_url(self, field_name, arg):
|
||||
res = dict()
|
||||
for project in self:
|
||||
res[project.id] = "/project/rating/%s" % project.id
|
||||
return res
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<odoo>
|
||||
<record id="edit_project_inherit_website_rating_project_issue" model="ir.ui.view">
|
||||
<field name="name">project.project.inherit.form</field>
|
||||
<field name="model">project.project</field>
|
||||
<field name="inherit_id" ref="project.edit_project"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr='//div[@name="button_box"]/*[1]' position='before'>
|
||||
<button class="oe_stat_button" name="website_publish_button"
|
||||
type="object" icon="fa-globe" attrs="{'invisible': [('is_visible_happy_customer', '=', False)]}">
|
||||
<field name="website_published" widget="website_button"/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
@@ -53,7 +53,7 @@
|
||||
</div>
|
||||
<div class="caption">
|
||||
<p>
|
||||
<a t-att-href="'/project/rating/%s' % (slug(project),)" class="btn btn-primary btn-lg btn-block">
|
||||
<a t-att-href="'/project/rating/%s' % project.id" class="btn btn-primary btn-lg btn-block">
|
||||
<i class="fa fa-arrow-circle-right "/> See the feedbacks
|
||||
</a>
|
||||
</p>
|
||||
@@ -102,6 +102,13 @@
|
||||
<div class="container oe_website_rating_project">
|
||||
<h1 t-esc="project.name" class="text-center"/>
|
||||
<div class="row mb32">
|
||||
<div id="website_published_button" class="" groups="project.group_project_manager">
|
||||
<t t-call="website.publish_management">
|
||||
<t t-set="object" t-value="project"/>
|
||||
<t t-set="publish_edit" t-value="True"/>
|
||||
<t t-set="action" t-value="'project.open_view_project_all'"/>
|
||||
</t>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<h3 class="page-header">Customer Satisfaction</h3>
|
||||
<div class="row">
|
||||
@@ -127,17 +134,6 @@
|
||||
<img t-attf-src='/rating/static/src/img/rating_#{int(rating.rating)}.png' t-att-alt="rating.res_name" t-att-title="rating.res_name"/>
|
||||
</t>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h3 class="page-header">Team</h3>
|
||||
<div class="media" t-foreach="team" t-as="user">
|
||||
<div class="pull-left">
|
||||
<img t-att-src="website.image_url(user, 'image_small')" class="img-rounded" t-att-alt="user.name" style="width: 32px"/>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h5><t t-esc="user.name"/></h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
|
||||
Reference in New Issue
Block a user