diff options
| author | bth-openerp <bth@tinyerp.com> | 2013-06-10 10:59:27 +0530 |
|---|---|---|
| committer | bth-openerp <bth@tinyerp.com> | 2013-06-10 10:59:27 +0530 |
| commit | 53e8ddb3df0d6ed4a2258d4eccd5ca41e3f496b0 (patch) | |
| tree | 15d80b15f91d65b4cc2cba7841fa5c901ee06467 /addons/project | |
| parent | 4d4385d8ca5fd2e5ab3a3cf51ccd3bb04cf3c064 (diff) | |
| parent | 70f16ce73b0dab305b9e7d63a74416cbcb0448da (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.html | 3 | ||||
| -rw-r--r-- | addons/project/i18n/ru.po | 116 | ||||
| -rw-r--r-- | addons/project/process/task_process.xml | 12 | ||||
| -rw-r--r-- | addons/project/project.py | 29 | ||||
| -rw-r--r-- | addons/project/report/project_cumulative.xml | 2 |
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"> </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=""""Delegate"""" name="name"/> <field eval=""""Delegates tasks to the other user"""" 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=""""Draft Open task"""" name="name"/> <field eval=""""From draft state, it will come into the open state."""" 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=""""Open Done Task"""" name="name"/> <field eval=""""When task is completed, it will come into the done state."""" 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"/> |
