summaryrefslogtreecommitdiff
path: root/addons/project
diff options
context:
space:
mode:
authorbth-openerp <bth@tinyerp.com>2013-06-10 10:59:27 +0530
committerbth-openerp <bth@tinyerp.com>2013-06-10 10:59:27 +0530
commit53e8ddb3df0d6ed4a2258d4eccd5ca41e3f496b0 (patch)
tree15d80b15f91d65b4cc2cba7841fa5c901ee06467 /addons/project
parent4d4385d8ca5fd2e5ab3a3cf51ccd3bb04cf3c064 (diff)
parent70f16ce73b0dab305b9e7d63a74416cbcb0448da (diff)
[MERGE]Merge lp:openobject-addons.
bzr revid: bth@tinyerp.com-20130610052927-b496hrq36mlrs5xi
Diffstat (limited to 'addons/project')
-rw-r--r--addons/project/html/index.html3
-rw-r--r--addons/project/i18n/ru.po116
-rw-r--r--addons/project/process/task_process.xml12
-rw-r--r--addons/project/project.py29
-rw-r--r--addons/project/report/project_cumulative.xml2
5 files changed, 97 insertions, 65 deletions
diff --git a/addons/project/html/index.html b/addons/project/html/index.html
index 21f4c93b0d2..93f1be8a41d 100644
--- a/addons/project/html/index.html
+++ b/addons/project/html/index.html
@@ -7,7 +7,6 @@
<a href="https://www.openerp.com/saas_master/demo?lang=en_US&module=project">
<img src="project_01.png">
</a>
- <span class="oe_demo_play">&nbsp;</span>
<div class="oe_demo_footer oe_centeralign">Online Demo</div>
</div>
</div>
@@ -194,3 +193,5 @@ accurate reports on your team's performance.
</div>
</div>
</section>
+<section class="oe_container oe_separator">
+</section>
diff --git a/addons/project/i18n/ru.po b/addons/project/i18n/ru.po
index 1743d66e55d..b64662f916b 100644
--- a/addons/project/i18n/ru.po
+++ b/addons/project/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
-"PO-Revision-Date: 2013-03-14 06:44+0000\n"
+"PO-Revision-Date: 2013-05-28 06:22+0000\n"
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-16 04:56+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-05-29 05:37+0000\n"
+"X-Generator: Launchpad (build 16640)\n"
#. module: project
#: view:project.project:0
@@ -27,6 +27,8 @@ msgid ""
"If checked, this contract will be available in the project menu and you will "
"be able to manage tasks or track issues"
msgstr ""
+"Если выбрано, этот контракт станет активным в меню проекта, и вы сможете "
+"редактировать задачи или отслеживать проблемы"
#. module: project
#: field:project.project,progress_rate:0
@@ -217,7 +219,7 @@ msgstr "Предложение контакта"
#. module: project
#: help:project.config.settings,group_time_work_estimation_tasks:0
msgid "Allows you to compute Time Estimation on tasks."
-msgstr ""
+msgstr "Позволяет вычислить расход времени на задачи."
#. module: project
#: field:report.project.task.user,user_id:0
@@ -913,6 +915,8 @@ msgid ""
"Provides management of issues/bugs in projects.\n"
" This installs the module project_issue."
msgstr ""
+"Обеспечивает управление проблем / ошибок в проектах.\n"
+" Устанавливает модуль project_issue."
#. module: project
#: help:project.task,kanban_state:0
@@ -927,7 +931,7 @@ msgstr ""
#. module: project
#: view:project.task:0
msgid "10"
-msgstr ""
+msgstr "10"
#. module: project
#: help:project.project,analytic_account_id:0
@@ -953,7 +957,7 @@ msgstr "Отменить"
#. module: project
#: view:project.project:0
msgid "Other Info"
-msgstr ""
+msgstr "Прочая информация"
#. module: project
#: view:project.task.delegate:0
@@ -981,6 +985,8 @@ msgid ""
"Follow this project to automatically track the events associated to tasks "
"and issues of this project."
msgstr ""
+"Позволяет проекту автоматически отслеживать события, связанные с задачами и "
+"проблемами этого проекта."
#. module: project
#: view:project.task:0
@@ -990,7 +996,7 @@ msgstr "Исполнитель"
#. module: project
#: model:mail.message.subtype,name:project.mt_task_stage
msgid "Stage Changed"
-msgstr ""
+msgstr "Стадия изменена"
#. module: project
#: view:project.project:0
@@ -1006,7 +1012,7 @@ msgstr "Важное"
#. module: project
#: field:project.category,name:0
msgid "Name"
-msgstr ""
+msgstr "Название"
#. module: project
#: selection:report.project.task.user,month:0
@@ -1033,7 +1039,7 @@ msgstr "Общие"
#: help:project.project,message_ids:0
#: help:project.task,message_ids:0
msgid "Messages and communication history"
-msgstr ""
+msgstr "Сообщения и история общения"
#. module: project
#: view:project.project:0
@@ -1041,6 +1047,8 @@ msgid ""
"To invoice or setup invoicing and renewal options, go to the related "
"contract:"
msgstr ""
+"Для выставления счета или изменения счета и обновления вариантов, перейти к "
+"соответствующему контракту:"
#. module: project
#: field:project.task.delegate,state:0
@@ -1097,7 +1105,7 @@ msgstr "Порученные задания"
#: view:project.task:0
#: field:project.task,message_unread:0
msgid "Unread Messages"
-msgstr ""
+msgstr "Непрочитанные"
#. module: project
#: view:project.task:0
@@ -1139,7 +1147,7 @@ msgstr "Показывать только срочные задания"
#. module: project
#: model:project.category,name:project.project_category_04
msgid "Usability"
-msgstr ""
+msgstr "Удобство использования"
#. module: project
#: view:report.project.task.user:0
@@ -1156,7 +1164,7 @@ msgstr "Выполнил(а)"
#: code:addons/project/project.py:181
#, python-format
msgid "Invalid Action!"
-msgstr ""
+msgstr "Неверное действие!"
#. module: project
#: help:project.task.type,state:0
@@ -1165,6 +1173,9 @@ msgid ""
"stage. For example, if a stage is related to the status 'Close', when your "
"document reaches this stage, it is automatically closed."
msgstr ""
+"Статус документа автоматически изменяется по выбранному этапу. Например, "
+"если стадия связана со статусом «Закрыть» , когда ваш документ достигает "
+"этой стадии, оно автоматически закрывается."
#. module: project
#: view:project.task:0
@@ -1174,7 +1185,7 @@ msgstr "Доп. информация"
#. module: project
#: view:project.task:0
msgid "Edit..."
-msgstr ""
+msgstr "Изменить..."
#. module: project
#: view:report.project.task.user:0
@@ -1185,7 +1196,7 @@ msgstr "№ задачи"
#. module: project
#: field:project.project,doc_count:0
msgid "Number of documents attached"
-msgstr ""
+msgstr "Количество прикрепленных документов"
#. module: project
#: field:project.task,priority:0
@@ -1205,6 +1216,9 @@ msgid ""
"automatically synchronizedwith Tasks (or optionally Issues if the Issue "
"Tracker module is installed)."
msgstr ""
+"Внутренние e-mail, связанный с этим проектом. Входящие письма автоматически "
+"синхронизируются с заданиями (или проблемами, если модуль Issue Tracker "
+"установлен)."
#. module: project
#: model:ir.actions.act_window,help:project.open_task_type_form
@@ -1237,7 +1251,7 @@ msgstr "%s (копия)"
#. module: project
#: model:mail.message.subtype,name:project.mt_project_task_stage
msgid "Task Stage Changed"
-msgstr ""
+msgstr "Этап задачи изменен"
#. module: project
#: view:project.task:0
@@ -1269,12 +1283,12 @@ msgstr "Время отсрочки"
#. module: project
#: view:project.project:0
msgid "Team"
-msgstr ""
+msgstr "Группа"
#. module: project
#: help:project.config.settings,time_unit:0
msgid "This will set the unit of measure used in projects and tasks."
-msgstr ""
+msgstr "Установить единицу измерения, используемую в проектах и задачах."
#. module: project
#: selection:project.task,priority:0
@@ -1328,7 +1342,7 @@ msgstr "Заголовок вашего проверочного задания"
#. module: project
#: field:project.config.settings,time_unit:0
msgid "Working time unit"
-msgstr ""
+msgstr "Единица рабочего времени"
#. module: project
#: view:project.project:0
@@ -1344,7 +1358,7 @@ msgstr "Низкий"
#. module: project
#: selection:project.project,state:0
msgid "Closed"
-msgstr ""
+msgstr "Закрыто"
#. module: project
#: view:project.project:0
@@ -1366,7 +1380,7 @@ msgstr "В ожидании"
#: view:project.category:0
#: field:project.task,categ_ids:0
msgid "Tags"
-msgstr ""
+msgstr "Теги"
#. module: project
#: model:ir.model,name:project.model_project_task_history
@@ -1386,7 +1400,7 @@ msgstr ""
#. module: project
#: help:project.config.settings,group_manage_delegation_task:0
msgid "Allows you to delegate tasks to other users."
-msgstr ""
+msgstr "Позволяет делегировать задачи другим пользователям."
#. module: project
#: field:project.project,active:0
@@ -1415,7 +1429,7 @@ msgstr ""
#. module: project
#: view:project.config.settings:0
msgid "Helpdesk & Support"
-msgstr ""
+msgstr "Поддержка"
#. module: project
#: help:report.project.task.user,opening_days:0
@@ -1441,7 +1455,7 @@ msgstr ""
#: code:addons/project/project.py:220
#, python-format
msgid "Attachments"
-msgstr ""
+msgstr "Вложения"
#. module: project
#: view:project.task:0
@@ -1464,6 +1478,8 @@ msgid ""
"You cannot delete a project containing tasks. You can either delete all the "
"project's tasks and then delete the project or simply deactivate the project."
msgstr ""
+"Вы не можете удалить проект, содержащий задачи. Вы можете либо удалить все "
+"задачи проекта, а затем удалить проект или просто сделать проект неактивным."
#. module: project
#: model:process.transition.action,name:project.process_transition_action_draftopentask0
@@ -1474,7 +1490,7 @@ msgstr "Открытые"
#. module: project
#: field:project.project,privacy_visibility:0
msgid "Privacy / Visibility"
-msgstr ""
+msgstr "Безопасность/Видимость"
#. module: project
#: view:project.task:0
@@ -1488,7 +1504,7 @@ msgstr "Оставшееся время"
#. module: project
#: model:mail.message.subtype,description:project.mt_task_stage
msgid "Stage changed"
-msgstr ""
+msgstr "Этап изменен"
#. module: project
#: constraint:project.task:0
@@ -1521,7 +1537,7 @@ msgstr "Общее время"
#. module: project
#: model:ir.model,name:project.model_project_config_settings
msgid "project.config.settings"
-msgstr ""
+msgstr "project.config.settings"
#. module: project
#: model:project.task.type,name:project.project_tt_development
@@ -1586,12 +1602,12 @@ msgstr "Назначить на"
#. module: project
#: model:res.groups,name:project.group_time_work_estimation_tasks
msgid "Time Estimation on Tasks"
-msgstr ""
+msgstr "Оценка времени на задачи"
#. module: project
#: field:project.task,total_hours:0
msgid "Total"
-msgstr ""
+msgstr "Всего"
#. module: project
#: model:process.node,note:project.process_node_taskbydelegate0
@@ -1601,7 +1617,7 @@ msgstr "Поручить ваше задание другому пользова
#. module: project
#: model:mail.message.subtype,description:project.mt_task_started
msgid "Task started"
-msgstr ""
+msgstr "Задание начато"
#. module: project
#: help:project.task.reevaluate,remaining_hours:0
@@ -1614,6 +1630,8 @@ msgid ""
"This stage is not visible, for example in status bar or kanban view, when "
"there are no records in that stage to display."
msgstr ""
+"Эта стадия не видима, например в статус-баре или виде канбан, когда нет "
+"записей на этой стадии для отображения."
#. module: project
#: view:project.task:0
@@ -1643,7 +1661,7 @@ msgstr "Проекты в ожидании"
#. module: project
#: view:project.task:0
msgid "Remaining"
-msgstr ""
+msgstr "Осталось"
#. module: project
#: field:project.task,progress:0
@@ -1672,17 +1690,17 @@ msgstr ""
#. module: project
#: field:project.config.settings,module_project_issue:0
msgid "Track issues and bugs"
-msgstr ""
+msgstr "Отслеживание проблем и ошибок"
#. module: project
#: field:project.config.settings,module_project_mrp:0
msgid "Generate tasks from sale orders"
-msgstr ""
+msgstr "Создание задач из заказов"
#. module: project
#: model:ir.ui.menu,name:project.menu_task_types_view
msgid "Task Stages"
-msgstr ""
+msgstr "Этапы задач"
#. module: project
#: model:process.node,note:project.process_node_drafttask0
@@ -1693,7 +1711,7 @@ msgstr "Определить требования и установить зап
#: field:project.project,message_ids:0
#: field:project.task,message_ids:0
msgid "Messages"
-msgstr ""
+msgstr "Сообщения"
#. module: project
#: field:project.project,color:0
@@ -1752,17 +1770,17 @@ msgstr "Дата окончания"
#. module: project
#: field:project.task.type,state:0
msgid "Related Status"
-msgstr ""
+msgstr "Связанный статус"
#. module: project
#: view:project.project:0
msgid "Documents"
-msgstr ""
+msgstr "Документы"
#. module: project
#: model:mail.message.subtype,description:project.mt_task_new
msgid "Task created"
-msgstr ""
+msgstr "Задача создана"
#. module: project
#: view:report.project.task.user:0
@@ -1774,7 +1792,7 @@ msgstr "# дней"
#: field:project.project,message_follower_ids:0
#: field:project.task,message_follower_ids:0
msgid "Followers"
-msgstr ""
+msgstr "Подписчики"
#. module: project
#: selection:project.project,state:0
@@ -1812,7 +1830,7 @@ msgstr "Проверка задания"
#. module: project
#: field:project.config.settings,module_project_long_term:0
msgid "Manage resources planning on gantt view"
-msgstr ""
+msgstr "Управление планированием ресурсов на диаграмме Ганта"
#. module: project
#: view:project.task:0
@@ -1871,7 +1889,7 @@ msgstr "Проекты"
#. module: project
#: model:res.groups,name:project.group_tasks_work_on_tasks
msgid "Task's Work on Tasks"
-msgstr ""
+msgstr "Задачи, работающие на задачи"
#. module: project
#: help:project.task.delegate,name:0
@@ -1914,7 +1932,7 @@ msgstr "Декабрь"
#: view:project.task.delegate:0
#: view:project.task.reevaluate:0
msgid "or"
-msgstr ""
+msgstr "или"
#. module: project
#: help:project.config.settings,module_project_mrp:0
@@ -1938,7 +1956,7 @@ msgstr ""
#. module: project
#: model:project.category,name:project.project_category_03
msgid "Experiment"
-msgstr ""
+msgstr "Эксперимент"
#. module: project
#: model:process.transition.action,name:project.process_transition_action_opendrafttask0
@@ -1998,7 +2016,7 @@ msgstr ""
#: model:ir.actions.act_window,name:project.action_config_settings
#: view:project.config.settings:0
msgid "Configure Project"
-msgstr ""
+msgstr "Настроить проект"
#. module: project
#: view:project.task.history.cumulative:0
@@ -2030,7 +2048,7 @@ msgstr "Пожалуйста, сначала удалите проект, ссы
#: model:mail.message.subtype,name:project.mt_project_task_new
#: model:mail.message.subtype,name:project.mt_task_new
msgid "Task Created"
-msgstr ""
+msgstr "Задание создано"
#. module: project
#: view:report.project.task.user:0
@@ -2048,12 +2066,12 @@ msgstr "Проекты, в которых я менеджер"
#: selection:project.task.history,kanban_state:0
#: selection:project.task.history.cumulative,kanban_state:0
msgid "Ready for next stage"
-msgstr ""
+msgstr "Готово к следующей стадии"
#. module: project
#: field:project.task.type,case_default:0
msgid "Default for New Projects"
-msgstr ""
+msgstr "По умолчанию для нового проекта"
#. module: project
#: view:project.task:0
@@ -2098,7 +2116,7 @@ msgstr ""
#. module: project
#: model:mail.message.subtype,description:project.mt_task_closed
msgid "Task closed"
-msgstr ""
+msgstr "Задание закрыто"
#. module: project
#: selection:report.project.task.user,month:0
@@ -2130,13 +2148,13 @@ msgstr ""
#. module: project
#: selection:project.project,privacy_visibility:0
msgid "Followers Only"
-msgstr ""
+msgstr "Только для подписчиков"
#. module: project
#: view:board.board:0
#: field:project.project,task_count:0
msgid "Open Tasks"
-msgstr ""
+msgstr "Открытые задачи"
#. module: project
#: field:project.project,priority:0
diff --git a/addons/project/process/task_process.xml b/addons/project/process/task_process.xml
index 4a73bfd00d1..9955fe1ffe1 100644
--- a/addons/project/process/task_process.xml
+++ b/addons/project/process/task_process.xml
@@ -68,24 +68,24 @@
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Delegate&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Delegates tasks to the other user&quot;&quot;&quot;" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_drafttask0"/>
- <field model="process.node" name="source_node_id" ref="process_node_taskbydelegate0"/>
+ <field name="target_node_id" ref="process_node_drafttask0"/>
+ <field name="source_node_id" ref="process_node_taskbydelegate0"/>
</record>
<record id="process_transition_draftopentask0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Draft Open task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;From draft state, it will come into the open state.&quot;&quot;&quot;" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_opentask0"/>
- <field model="process.node" name="source_node_id" ref="process_node_drafttask0"/>
+ <field name="target_node_id" ref="process_node_opentask0"/>
+ <field name="source_node_id" ref="process_node_drafttask0"/>
</record>
<record id="process_transition_opendonetask0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Open Done Task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;When task is completed, it will come into the done state.&quot;&quot;&quot;" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_donetask0"/>
- <field model="process.node" name="source_node_id" ref="process_node_opentask0"/>
+ <field name="target_node_id" ref="process_node_donetask0"/>
+ <field name="source_node_id" ref="process_node_opentask0"/>
</record>
diff --git a/addons/project/project.py b/addons/project/project.py
index 5d5abce3066..28e4bd6e5d2 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -85,7 +85,7 @@ class project(osv.osv):
if context and context.get('user_preference'):
cr.execute("""SELECT project.id FROM project_project project
LEFT JOIN account_analytic_account account ON account.id = project.analytic_account_id
- LEFT JOIN project_user_rel rel ON rel.project_id = project.analytic_account_id
+ LEFT JOIN project_user_rel rel ON rel.project_id = project.id
WHERE (account.user_id = %s or rel.uid = %s)"""%(user, user))
return [(r[0]) for r in cr.fetchall()]
return super(project, self).search(cr, user, args, offset=offset, limit=limit, order=order,
@@ -450,7 +450,7 @@ class project(osv.osv):
for project in projects:
if (not project.members) and force_members:
- raise osv.except_osv(_('Warning!'),_("You must assign members on the project '%s' !") % (project.name,))
+ raise osv.except_osv(_('Warning!'),_("You must assign members on the project '%s'!") % (project.name,))
resource_pool = self.pool.get('resource.resource')
@@ -581,12 +581,12 @@ class task(base_stage, osv.osv):
_track = {
'state': {
- 'project.mt_task_new': lambda self, cr, uid, obj, ctx=None: obj['state'] == 'new',
+ 'project.mt_task_new': lambda self, cr, uid, obj, ctx=None: obj['state'] in ['new', 'draft'],
'project.mt_task_started': lambda self, cr, uid, obj, ctx=None: obj['state'] == 'open',
'project.mt_task_closed': lambda self, cr, uid, obj, ctx=None: obj['state'] == 'done',
},
'stage_id': {
- 'project.mt_task_stage': lambda self, cr, uid, obj, ctx=None: obj['state'] not in ['new', 'done', 'open'],
+ 'project.mt_task_stage': lambda self, cr, uid, obj, ctx=None: obj['state'] not in ['new', 'draft', 'done', 'open'],
},
'kanban_state': { # kanban state: tracked, but only block subtype
'project.mt_task_blocked': lambda self, cr, uid, obj, ctx=None: obj['kanban_state'] == 'blocked',
@@ -956,7 +956,7 @@ class task(base_stage, osv.osv):
if task.child_ids:
for child in task.child_ids:
if child.state in ['draft', 'open', 'pending']:
- raise osv.except_osv(_("Warning !"), _("Child task still open.\nPlease cancel or complete child task first."))
+ raise osv.except_osv(_("Warning!"), _("Child task still open.\nPlease cancel or complete child task first."))
return True
def action_close(self, cr, uid, ids, context=None):
@@ -1120,10 +1120,12 @@ class task(base_stage, osv.osv):
context = {}
if not vals.get('stage_id'):
ctx = context.copy()
- if vals.get('project_id'):
+ if vals.get('project_id'):
ctx['default_project_id'] = vals['project_id']
vals['stage_id'] = self._get_default_stage_id(cr, uid, context=ctx)
- task_id = super(task, self).create(cr, uid, vals, context=context)
+ # context: no_log, because subtype already handle this
+ create_context = dict(context, mail_create_nolog=True)
+ task_id = super(task, self).create(cr, uid, vals, context=create_context)
self._store_history(cr, uid, [task_id], context=context)
return task_id
@@ -1197,6 +1199,17 @@ class task(base_stage, osv.osv):
return [task.project_id.message_get_reply_to()[0] if task.project_id else False
for task in self.browse(cr, uid, ids, context=context)]
+ def check_mail_message_access(self, cr, uid, mids, operation, model_obj=None, context=None):
+ """ mail.message document permission rule: can post a new message if can read
+ because of portal document. """
+ if not model_obj:
+ model_obj = self
+ if operation == 'create':
+ model_obj.check_access_rights(cr, uid, 'read')
+ model_obj.check_access_rule(cr, uid, mids, 'read', context=context)
+ else:
+ return super(task, self).check_mail_message_access(cr, uid, mids, operation, model_obj=model_obj, context=context)
+
def message_new(self, cr, uid, msg, custom_values=None, context=None):
""" Override to updates the document according to the email. """
if custom_values is None: custom_values = {}
@@ -1205,7 +1218,7 @@ class task(base_stage, osv.osv):
'planned_hours': 0.0,
}
defaults.update(custom_values)
- return super(task,self).message_new(cr, uid, msg, custom_values=defaults, context=context)
+ return super(task, self).message_new(cr, uid, msg, custom_values=defaults, context=context)
def message_update(self, cr, uid, ids, msg, update_vals=None, context=None):
""" Override to update the task according to the email. """
diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml
index c30c91fe6c0..17e059c8de7 100644
--- a/addons/project/report/project_cumulative.xml
+++ b/addons/project/report/project_cumulative.xml
@@ -6,7 +6,7 @@
<field name="name">project.task.history.cumulative.tree</field>
<field name="model">project.task.history.cumulative</field>
<field name="arch" type="xml">
- <tree string="Tasks's Cumulative Flow">
+ <tree string="Tasks's Cumulative Flow" create="false">
<field name="date"/>
<field name="project_id"/>
<field name="task_id"/>