Skip to content

Commit

Permalink
[IMP/ADD]Improved code,Removed Linked Project field add Project_ids f…
Browse files Browse the repository at this point in the history
…ield,modify code as per changes
  • Loading branch information
YogeshMahera-SerpentCS committed Aug 25, 2017
1 parent 0a188b6 commit 10fe3e3
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 57 deletions.
57 changes: 23 additions & 34 deletions business_requirement_deliverable_project/i18n/sl.po
@@ -1,27 +1,19 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * business_requirement_deliverable_project
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# * business_requirement_deliverable_project
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-04 09:58+0000\n"
"PO-Revision-Date: 2017-08-04 09:58+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"POT-Creation-Date: 2017-08-25 11:57+0000\n"
"PO-Revision-Date: 2017-08-25 11:57+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"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"

#. module: business_requirement_deliverable_project
#: model:ir.actions.act_window,name:business_requirement_deliverable_project.action_view_tasks_business_requirement
msgid "Action Tasks Related BR"
msgstr "Ukrepi povezani s PZ"
"Plural-Forms: \n"

#. module: business_requirement_deliverable_project
#: field:business.requirement,all_project_generated:0
Expand All @@ -31,11 +23,8 @@ msgstr "Vsi ustvarjeni projekti"
#. module: business_requirement_deliverable_project
#: code:addons/business_requirement_deliverable_project/models/project.py:43
#, python-format
msgid ""
"All business requirements of the project should be "
"stakeholder_approval/canceled/done"
msgstr ""
"Vse poslovne zahteve projekta morajo biti odobrene/preklicane/opravljene"
msgid "All business requirements of the project should be stakeholder_approval/canceled/done"
msgstr "Vse poslovne zahteve projekta morajo biti odobrene/preklicane/opravljene"

#. module: business_requirement_deliverable_project
#: model:ir.model,name:business_requirement_deliverable_project.model_business_requirement
Expand Down Expand Up @@ -158,12 +147,6 @@ msgstr "Poveži opravilo s poslovno zahtevo"
msgid "Linked Project"
msgstr "Povezani projekt"

#. module: business_requirement_deliverable_project
#: field:business.requirement,linked_project:0
#: field:business.requirement.deliverable,linked_project:0
msgid "Linked project"
msgstr "Povezani projekt"

#. module: business_requirement_deliverable_project
#: field:business.requirement,linked_project_count:0
msgid "Number of Business Requirements"
Expand All @@ -172,11 +155,9 @@ msgstr "Število poslovnih zahtev"
#. module: business_requirement_deliverable_project
#: code:addons/business_requirement_deliverable_project/models/project.py:37
#, python-format
msgid ""
"Please set working time default unit in project\n"
msgid "Please set working time default unit in project\n"
" config settings"
msgstr ""
"Nastavite privzeto enoto za delovni čas v\n"
msgstr "Nastavite privzeto enoto za delovni čas v\n"
" nastavitvah projekta"

#. module: business_requirement_deliverable_project
Expand All @@ -189,6 +170,14 @@ msgstr "Projekt"
msgid "Project to create the tasks"
msgstr "Projekt, kjer se ustvari opravila"

#. module: business_requirement_deliverable_project
#: code:addons/business_requirement_deliverable_project/models/business.py:66
#: field:business.requirement,project_ids:0
#: field:business.requirement.deliverable,project_ids:0
#, python-format
msgid "Projects"
msgstr "Projects"

#. module: business_requirement_deliverable_project
#: field:project.project,origin:0
msgid "Source Document"
Expand All @@ -203,17 +192,16 @@ msgstr "Opravilo"
#: view:business.requirement:business_requirement_deliverable_project.view_business_requirement_form
#: view:business.requirement:business_requirement_deliverable_project.view_business_requirement_kanban_project
#: field:business.requirement,task_ids:0
#: model:ir.actions.act_window,name:business_requirement_deliverable_project.action_view_tasks_business_requirement
msgid "Tasks"
msgstr "Opravila"

#. module: business_requirement_deliverable_project
#: code:addons/business_requirement_deliverable_project/models/project.py:66
#, python-format
msgid ""
"There is no available business requirement resource line\n"
msgid "There is no available business requirement resource line\n"
" to generate task"
msgstr ""
"Ni poslovne zahteve na voljo, da bi lahko ustvarili\n"
msgstr "Ni poslovne zahteve na voljo, da bi lahko ustvarili\n"
" opravilo"

#. module: business_requirement_deliverable_project
Expand Down Expand Up @@ -250,3 +238,4 @@ msgstr "_Preklic"
#: view:br.generate.projects:business_requirement_deliverable_project.view_br_generate_projects_form
msgid "or"
msgstr "ali"

54 changes: 38 additions & 16 deletions business_requirement_deliverable_project/models/business.py
Expand Up @@ -13,12 +13,10 @@ def generate_projects_wizard(self):
br_ids=self).generate_project_wizard()
return res

linked_project = fields.Many2one(
string='Linked project',
project_ids = fields.One2many(
comodel_name='project.project',
groups='project.group_project_user',
readonly=True,
copy=False
inverse_name='business_requirement_id',
string='Projects'
)

task_ids = fields.One2many(
Expand All @@ -43,12 +41,12 @@ def generate_projects_wizard(self):
compute='_compute_planned_hour'
)
linked_project_count = fields.Integer(
compute='_compute_linked_project_count',
compute='_compute_projects_count',
string="Number of Business Requirements"
)

@api.depends('linked_project', 'deliverable_lines')
def _compute_linked_project_count(self):
@api.depends('project_ids', 'deliverable_lines')
def _compute_projects_count(self):
for rec in self:
domain = ['|',
('business_requirement_id', '=', rec.id),
Expand Down Expand Up @@ -80,15 +78,15 @@ def action_open_linked_project(self):
)

@api.depends('business_requirement_ids',
'business_requirement_ids.linked_project')
'business_requirement_ids.project_ids')
def compute_all_project_generated(self):
for rec in self:
if rec.business_requirement_ids:
if all(rec.mapped('business_requirement_ids.linked_project')):
if all(rec.mapped('business_requirement_ids.project_ids')):
rec.all_project_generated = True
else:
rec.all_project_generated = False
elif rec.linked_project:
elif rec.project_ids:
rec.all_project_generated = True
else:
rec.all_project_generated = False
Expand Down Expand Up @@ -123,9 +121,33 @@ def _compute_planned_hour(self):
class BusinessRequirementDeliverable(models.Model):
_inherit = "business.requirement.deliverable"

linked_project = fields.Many2one(
string='Linked project',
project_ids = fields.One2many(
comodel_name='project.project',
groups='project.group_project_user',
readonly=True,
)
inverse_name='business_requirement_deliverable_id',
string='Projects'
)

linked_project_count = fields.Integer(
compute='_compute_projects_count',
string="Number of Business Requirements"
)

@api.depends('project_ids')
def _compute_projects_count(self):
for rec in self:
rec.linked_project_count = len(rec.project_ids.ids)

@api.multi
def action_open_linked_project(self):
for rec in self:
domain = [('business_requirement_deliverable_id', '=',
rec.id)]
return {
'name': _('Projects'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'tree,form,graph',
'res_model': 'project.project',
'target': 'current',
'domain': domain
}
2 changes: 1 addition & 1 deletion business_requirement_deliverable_project/models/project.py
Expand Up @@ -61,7 +61,7 @@ def generate_project_wizard(self):
if generated:
continue
lines |= resource_line
if not lines and not br.linked_project:
if not lines and not br.project_ids:
raise ValidationError(
_("""There is no available business requirement resource line
to generate task"""))
Expand Down
7 changes: 6 additions & 1 deletion business_requirement_deliverable_project/tests/test_br.py
Expand Up @@ -254,7 +254,12 @@ def test_br_generate_projects_wizard(self):
self.assertEqual(
'ir.actions.act_window',
action['type'])
self.brA._compute_linked_project_count()
self.brA._compute_projects_count()
self.brA.deliverable_lines[0]._compute_projects_count()

def test_action_open_linked_project_for_br_dl(self):
self.brA.action_open_linked_project()
self.brA.deliverable_lines[0].action_open_linked_project()

def test_project_generate_project_wizard(self):
self.brA.state = 'approved'
Expand Down
23 changes: 22 additions & 1 deletion business_requirement_deliverable_project/views/business_view.xml
Expand Up @@ -64,7 +64,7 @@

<xpath expr="//field[@name='priority']"
position="after">
<field name="linked_project" invisible="1"/>
<field name="project_ids" invisible="1"/>
</xpath>

</field>
Expand Down Expand Up @@ -151,5 +151,26 @@
string="Business requirement"/></field>
</field>
</record>
<record id="view_business_requirement_deliverable_form" model="ir.ui.view">
<field name="name">business.requirement.deliverable.form</field>
<field name="model">business.requirement.deliverable</field>
<field name="type">form</field>
<field name="inherit_id" ref="business_requirement_deliverable.view_business_requirement_deliverable_form" />
<field name="arch" type="xml">
<xpath expr="//group[1]" position="before">
<group>
<button name="action_open_linked_project"
class="oe_stat_button"
type="object"
icon="fa-tasks">
<field string="Linked Project"
name="linked_project_count"
widget="statinfo"/>
</button>
</group>
</xpath>
</field>
</record>

</data>
</openerp>
Expand Up @@ -110,17 +110,17 @@ def generate_br_projects(self, parent_project, br, project_ids, task_ids):
br_project = self.get_generated_project(br)
if br_project:
br_project = br_project[0]
elif not br.linked_project:
elif not br.project_ids:
br_project_val = self._prepare_project_vals(
br, parent_project)
br_project = project_obj.create(br_project_val)
msg = ('Project %s has been created') % (br_project.name)
br.message_post(body=msg)
br.linked_project = br_project.id
br_project.business_requirement_id = br.id
project_ids.append(br_project.id)
else:
br_project = br.linked_project
project_ids.append(br_project.id)
for project in br.project_ids:
project_ids.append(project.id)
if not self.for_deliverable:
self.create_project_task([br.resource_lines],
br_project.id, task_ids)
Expand Down

0 comments on commit 10fe3e3

Please sign in to comment.