diff options
| author | Thibault Delavallée <tde@openerp.com> | 2013-03-15 12:43:38 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2013-03-15 12:43:38 +0100 |
| commit | 4484a3197ca558341ce595df41ffdc072a8d05d2 (patch) | |
| tree | 160895b3cd052ef5a0661ed2ee02a53494dab207 /addons/project_issue | |
| parent | 4387187b8bdac6223979e9a652b6ef6a19096804 (diff) | |
| parent | d0f5b28bd0da703e3d5a23cb68db91a6a87482dc (diff) | |
[MERGE] Sync with trunk, resolved conflicts due to forward port of 7.0
bzr revid: tde@openerp.com-20130315114338-54scb00rkp7zwr30
Diffstat (limited to 'addons/project_issue')
| -rw-r--r-- | addons/project_issue/project_issue.py | 20 | ||||
| -rw-r--r-- | addons/project_issue/project_issue_data.xml | 15 | ||||
| -rw-r--r-- | addons/project_issue/project_issue_view.xml | 28 | ||||
| -rw-r--r-- | addons/project_issue/security/ir.model.access.csv | 1 |
4 files changed, 26 insertions, 38 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 8eb7281cd24..9233a95634c 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -20,6 +20,7 @@ ############################################################################## from openerp.addons.base_status.base_stage import base_stage +from openerp.addons.project.project import _TASK_STATE from openerp.addons.crm import crm from datetime import datetime from openerp.osv import fields,osv @@ -41,9 +42,6 @@ class project_issue_version(osv.osv): } project_issue_version() -_ISSUE_STATE = [('draft', 'New'), ('open', 'In Progress'), ('cancel', 'Cancelled'), ('done', 'Done'), ('pending', 'Pending')] - - class project_issue(base_stage, osv.osv): _name = "project.issue" _description = "Project Issue" @@ -252,7 +250,7 @@ class project_issue(base_stage, osv.osv): 'company_id': fields.many2one('res.company', 'Company'), 'description': fields.text('Private Note'), 'state': fields.related('stage_id', 'state', type="selection", store=True, - selection=_ISSUE_STATE, string="Status", readonly=True, + selection=_TASK_STATE, string="Status", readonly=True, help='The status is set to \'Draft\', when a case is created.\ If the case is in progress the status is set to \'Open\'.\ When the case is over, the status is set to \'Done\'.\ @@ -485,6 +483,15 @@ class project_issue(base_stage, osv.osv): return [issue.project_id.message_get_reply_to()[0] if issue.project_id else False for issue in self.browse(cr, uid, ids, context=context)] + def message_get_suggested_recipients(self, cr, uid, ids, context=None): + recipients = super(project_issue, self).message_get_suggested_recipients(cr, uid, ids, context=context) + for issue in self.browse(cr, uid, ids, context=context): + if issue.partner_id: + self._message_add_suggested_recipient(cr, uid, recipients, issue, partner=issue.partner_id, reason=_('Customer')) + elif issue.email_from: + self._message_add_suggested_recipient(cr, uid, recipients, issue, email=issue.email_from, reason=_('Customer Email')) + return recipients + def message_new(self, cr, uid, msg, custom_values=None, context=None): """ Overrides mail_thread message_new that is called by the mailgateway through message_process. @@ -549,12 +556,13 @@ class project(osv.osv): res = dict.fromkeys(ids, 0) issue_ids = self.pool.get('project.issue').search(cr, uid, [('project_id', 'in', ids)]) for issue in self.pool.get('project.issue').browse(cr, uid, issue_ids, context): - res[issue.project_id.id] += 1 + if issue.state not in ('done', 'cancelled'): + res[issue.project_id.id] += 1 return res _columns = { 'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), - 'issue_count': fields.function(_issue_count, type='integer'), + 'issue_count': fields.function(_issue_count, type='integer', string="Unclosed Issues"), } def _check_escalation(self, cr, uid, ids, context=None): diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index 591e6c04878..2e43ca69193 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -2,21 +2,6 @@ <openerp> <data noupdate="1"> - <!-- Case Categories --> - <!-- For Bugs --> - - <record model="crm.case.categ" id="bug_categ"> - <field name="name">Maintenance</field> - <field name="section_id" ref="crm.section_sales_department"/> - <field name="object_id" search="[('model','=','project.issue')]" model="ir.model"/> - </record> - - <record model="crm.case.categ" id="feature_request_categ"> - <field name="name">Feature Requests</field> - <field name="section_id" ref="crm.section_sales_department"/> - <field name="object_id" search="[('model','=','project.issue')]" model="ir.model"/> - </record> - <!-- Case type_id --> <!-- For Bugs --> <record model="project.issue.version" id="type1"> diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index 6ffa75dd926..500a1376422 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -41,16 +41,6 @@ </record> <menuitem action="project_issue_version_action" id="menu_project_issue_version_act" parent="menu_project_confi" groups="base.group_no_one"/> - <record id="project_issue_categ_action" model="ir.actions.act_window"> - <field name="name">Issue Categories</field> - <field name="res_model">crm.case.categ</field> - <field name="view_type">form</field> - <field name="view_id" ref="crm.crm_case_categ_tree-view"/> - <field name="domain">[('object_id.model', '=', 'project.issue')]</field> - <field name="context" eval="{'object_id': ref('model_project_issue')}"/> - </record> - - <menuitem action="project_issue_categ_action" name="Categories" id="menu_project_issue_category_act" parent="menu_project_confi" groups="base.group_no_one"/> <record model="ir.ui.view" id="project_issue_form_view"> <field name="name">Project Issue Tracker Form</field> @@ -62,7 +52,7 @@ states="open" groups="base.group_user"/> <button name="case_close" string="Done" type="object" states="draft,pending" groups="base.group_user"/> - <button name="case_cancel" string="Cancel" type="object" + <button name="case_cancel" string="Cancel Issue" type="object" states="draft,open,pending" groups="base.group_user"/> <field name="stage_id" widget="statusbar" clickable="True"/> </header> @@ -75,6 +65,8 @@ <button name="set_kanban_state_blocked" help="Ready for Next Stage" attrs="{'invisible': [('kanban_state', 'in', ['normal','blocked'])]}" type="object" icon="gtk-yes" class="oe_link oe_right"/> <button name="set_kanban_state_normal" help="Blocked" attrs="{'invisible': [('kanban_state', 'in', ['done','normal'])]}" type="object" icon="gtk-no" class="oe_link oe_right"/> </h1> + <label for="categ_ids" class="oe_edit_only"/> + <field name="categ_ids" widget="many2many_tags"/> <group> <group groups="base.group_user"> <field name="user_id" @@ -88,7 +80,7 @@ </div> </group> <group> - <field name="categ_ids" widget="many2many_tags"/> + <field name="id"/> <field name="version_id" groups="base.group_user"/> <field name="priority" groups="base.group_user"/> <label for="task_id" groups="base.group_user"/> @@ -111,11 +103,8 @@ <field name="inactivity_days"/> <field name="days_since_creation"/> </group> - <group string="References"> - <field name="id"/> - <field name="active"/> - </group> <group string="Status" groups="base.group_no_one"> + <field name="active"/> <field name="state" string="Status"/> </group> </page> @@ -209,6 +198,7 @@ <field name="user_id"/> <field name="date_deadline"/> <field name="kanban_state"/> + <field name="message_summary"/> <templates> <t t-name="kanban-tooltip"> <ul class="oe_kanban_tooltip"> @@ -259,6 +249,9 @@ <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/> </div> </div> + <div class="oe_kanban_footer_left"> + <t t-raw="record.message_summary.raw_value"/> + </div> </div> <div class="oe_clear"></div> </div> @@ -325,6 +318,9 @@ <xpath expr='//div[@name="buttons"]' position='inside'> <button name="%(act_project_project_2_project_issue_all)d" string="Issues" type="action" attrs="{'invisible':[('use_issues','=', 0)]}"/> </xpath> + <xpath expr='//page[@name="project_stages"]' position="attributes"> + <attribute name="attrs">{'invisible': [('use_tasks', '=', False),('use_issues','=',False)]}</attribute> + </xpath> <field name="priority" position="before"> <field name="project_escalation_id"/> </field> diff --git a/addons/project_issue/security/ir.model.access.csv b/addons/project_issue/security/ir.model.access.csv index 5799fb0b611..ef4edfdc13a 100644 --- a/addons/project_issue/security/ir.model.access.csv +++ b/addons/project_issue/security/ir.model.access.csv @@ -1,7 +1,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_project_issue_user,project.issue,model_project_issue,project.group_project_user,1,1,1,1
access_project_issue_report_all,project.issue.report,model_project_issue_report,project.group_project_manager,1,1,1,1
-access_crm_case_categ_id,crm.case.categ,crm.model_crm_case_categ,project.group_project_manager,1,1,1,1
access_project_issue_version_project,project_issue_version manager,model_project_issue_version,project.group_project_manager,1,1,1,1
access_project_issue_version_project_user,project_issue_version user,model_project_issue_version,project.group_project_user,1,0,0,0
access_resource_calendar_project_manager,resource.calendar.project.manager,resource.model_resource_calendar,project.group_project_manager,1,1,1,1
|
