TIP: You can type at any time to perform a new search.
Project Scrum
project_scrum · OCA/project-agile
- Repository
- OCA/project-agile · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Project Management
- Folder size
- 0.63 MB
- License
- AGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://github.com/OCA/project-agile
- Last tracking update
- 2026-08-07 07:47:47
- Authors
- Odoo Community Association (OCA)
- Maintainers
- Odoo Community Association (OCA)
- Committers
- Jesús Alan Ramos Rodríguez, Weblate, OCA-git-bot, oca-travis
Code Analysis ⓘ
Views touched (25)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
Edit Project | project.project | Inherits project.edit_project | |
edit_ps_project |
project.scrum.project.form | project.project | form | Inherits project.edit_project |
project_ps_view |
project.project.tree | project.project | tree | Inherits project.view_project |
view_ps_kanban |
project.scrum.project.kanban | project.project | kanban | Inherits project.view_project_kanban |
view_ps_meeting_calendar |
project.scrum.meeting.calendar | project.scrum.meeting | calendar | New |
view_ps_meeting_form |
project.scrum.meeting.form | project.scrum.meeting | form | New |
view_ps_meeting_search |
project.scrum.meeting.search | project.scrum.meeting | search | New |
view_ps_meeting_tree |
project.scrum.meeting.tree | project.scrum.meeting | tree | New |
view_ps_sprint_calendar |
project.scrum.sprint.calendar | project.scrum.sprint | calendar | New |
view_ps_sprint_form |
project.scrum.sprint.form | project.scrum.sprint | form | New |
view_ps_sprint_gantt |
project.scrum.sprint.gantt | project.scrum.sprint | gantt | New |
view_ps_sprint_graph |
project.scrum.sprint.graph | project.scrum.sprint | graph | New |
view_ps_sprint_search |
project.scrum.sprint.search | project.scrum.sprint | search | New |
view_ps_sprint_task_form2 |
project.scrum.task.form | project.task | form | Inherits project.view_task_form2 |
view_ps_sprint_task_tree2 |
project.scrum.task.tree | project.task | tree | Inherits project.view_task_tree2 |
view_ps_sprint_tree |
project.scrum.sprint.tree | project.scrum.sprint | tree | New |
view_ps_task_search |
project.scrum.sprint.task | project.task | search | Inherits project.view_task_search_form |
view_ps_tc_form |
project.scrum.test.form | project.scrum.test | form | New |
view_ps_tc_kanban |
project.scrum.test.kanban | project.scrum.test | kanban | New |
view_ps_tc_search |
project.scrum.test.search | project.scrum.test | search | New |
view_ps_tc_tree |
project.scrum.test.tree | project.scrum.test | tree | New |
view_ps_us_form |
project.scrum.us.form | project.scrum.us | form | New |
view_ps_us_kanban |
project.scrum.us.kanban | project.scrum.us | kanban | New |
view_ps_us_search |
project.scrum.us.search | project.scrum.us | search | New |
view_ps_us_tree |
project.scrum.us.tree | project.scrum.us | tree | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (12)
-
default_sprintdurationIntegerdefault=14help='Default Sprint time for this project, in days'required=Falsestring='Calendar' -
descriptionHtml -
manhoursIntegerhelp="How many hours you expect this project needs before it's finished"required=Falsestring='Man Hours' -
meeting_countIntegercompute='_compute_meeting_count'string='# Meetings' -
meeting_idsOne2many → project.scrum.meetingcomodel_name='project.scrum.meeting'inverse_name='project_id'string='Meetings' -
sprint_countIntegercompute='_compute_sprint_count'index=Truestring='# Sprints' -
sprint_idsOne2many → project.scrum.sprintcomodel_name='project.scrum.sprint'inverse_name='project_id'string='Sprints' -
test_case_countIntegercompute='_compute_test_case_count'string='# Test Cases' -
test_case_idsOne2many → project.scrum.testcomodel_name='project.scrum.test'inverse_name='project_id'string='Test Cases' -
use_scrumBoolean -
user_story_countIntegercompute='_compute_user_story_count'string='# User Stories' -
user_story_idsOne2many → project.scrum.uscomodel_name='project.scrum.us'inverse_name='project_id'string='User Stories'
No public methods.
New fields (1)
-
nameCharrequired=True
No public methods.
New fields (9)
-
company_idMany2onerelated='project_id.company_id' -
datetime_meetingDatetimerequired=Truestring='Date and Time of the meeting' -
project_idMany2one → project.projectchange_default=Truecomodel_name='project.project'index=Trueondelete='cascade'required=Truestring='Project'tracking=True -
question_backlogSelectiondefault='yes'required=Falsestring='Backlog Accurate?' args: [('yes', 'Yes'), ('no', 'No')] -
question_blocksHtmlrequired=Falsestring='Description' -
question_todayHtmlrequired=Truestring='Description Today' -
question_yesterdayHtmlrequired=Truestring='Description Yesterday' -
sprint_idMany2one → project.scrum.sprintcomodel_name='project.scrum.sprint'string='Sprint' -
user_id_meetingMany2one → res.userscomodel_name='res.users'default=<expr>required=Truestring='Meeting Organizer'
-
name_get(self) -
send_email(self)
New fields (18)
-
company_idMany2onerelated='project_id.company_id' -
date_startDatestring='Starting Date' -
date_stopDatestring='Ending Date' -
descriptionText -
meeting_idsOne2many → project.scrum.meetingcomodel_name='project.scrum.meeting'inverse_name='sprint_id'string='Daily Scrum' -
nameCharrequired=Truestring='Sprint Name' -
planned_hoursFloathelp='Estimated time to do the task, usually set by the project manager when the task is in draft state.' -
product_owner_idMany2one → res.userscomodel_name='res.users'help='The person who responsible for the product'required=Falsestring='Product Owner' -
project_idMany2one → project.projectchange_default=Truecomodel_name='project.project'help='If you have [?] in the project name, it means there are no analytic account linked to this project.'index=Trueondelete='cascade'required=Truestring='Project'tracking=True -
retrospectiveHtmldefault='\n <h1 style="color:blue">\n <ul>What will you start doing in next sprint?</ul></h1>\n <br/><br/>\n <h1 style="color:blue">\n <ul>What will you stop doing in next sprint?</ul></h1>\n <br/><br/>\n <h1 style="color:blue">\n <ul>What will you continue doing in next sprint?</ul></h1>\n <br/><br/>'string='Sprint Retrospective' -
reviewHtmldefault='\n <h1 style="color:blue">\n <ul>What was the goal of this sprint?</ul>\n </h1><br/><br/>\n <h1 style="color:blue">\n <ul>Has the goal been reached?</ul></h1>\n <br/><br/>'string='Sprint Review' -
scrum_master_idMany2one → res.userscomodel_name='res.users'help='The person who maintains the processes for the product'required=Falsestring='Scrum Master' -
sequenceIntegerhelp='Gives the sequence order when displaying a list of tasks.' -
stateSelectionrequired=False args: [('draft', 'Draft'), ('open', 'Open'), ('pending', 'Pending'), ('cancel', 'Cancelled'), ('done', 'Done')] -
task_countIntegercompute='_compute_task_count' -
task_idsOne2many → project.taskcomodel_name='project.task'inverse_name='sprint_id' -
us_idsMany2many → project.scrum.uscomodel_name='project.scrum.us'string='User Stories' -
user_idMany2one → res.userscomodel_name='res.users'index=Truestring='Assigned to'
-
get_current_sprint(self, project_id) -
onchange_date_start(self)@api.onchange('date_start') -
onchange_project_id(self)@api.onchange('project_id') -
time_cal(self)
New fields (9)
-
colorIntegerrelated='project_id.color' -
company_idMany2onerelated='project_id.company_id' -
description_testHtmlstring='Description' -
nameCharrequired=True -
project_idMany2one → project.projectchange_default=Truecomodel_name='project.project'index=Trueondelete='cascade'required=Truestring='Project'tracking=True -
sequence_testIntegerindex=Truestring='Sequence' -
sprint_idMany2one → project.scrum.sprintcomodel_name='project.scrum.sprint'string='Sprint' -
stats_testSelectionrequired=Falsestring='State' args: [('draft', 'Draft'), ('in progress', 'In Progress'), ('cancel', 'Cancelled')] -
user_story_id_testMany2one → project.scrum.uscomodel_name='project.scrum.us'string='User Story'
No public methods.
New fields (19)
-
actor_idsMany2many → project.scrum.actorscomodel_name='project.scrum.actors'string='Actor' -
colorIntegerrelated='project_id.color' -
company_idMany2onerelated='project_id.company_id'store=True -
descriptionHtml -
kanban_stateSelectiondefault='blocked' args: [('normal', 'Mark as impeded'), ('blocked', 'Mark as waiting'), ('done', 'Mark item as defined and ready for implementation')] -
kanoSelectionargs: '_get_kano_field' -
moscowSelectionargs: '_get_moscow_field' -
nameCharrequired=Truestring='User Story' -
project_idMany2one → project.projectchange_default=Truecomodel_name='project.project'index=Trueondelete='restrict'required=Truestring='Project'tracking=True -
referenceCharcopy=Falsedefault='/'index=Truereadonly=True args: 'Number' -
riskSelectionargs: '_get_risk_field' -
sequenceInteger -
sprint_idsMany2many → project.scrum.sprintcomodel_name='project.scrum.sprint'group_expand='_read_group_sprint_id'string='Sprint' -
task_countIntegercompute='_compute_task_count'store=True -
task_idsOne2many → project.taskcomodel_name='project.task'inverse_name='us_id' -
task_test_idsOne2many → project.scrum.testcomodel_name='project.scrum.test'inverse_name='user_story_id_test' -
test_countIntegercompute='_compute_test_count'store=True -
test_idsOne2many → project.scrum.testcomodel_name='project.scrum.test'inverse_name='user_story_id_test' -
valueSelectionargs: '_get_value_field'
-
create(self, vals)@api.model
New fields (10)
-
actor_idsMany2many → project.scrum.actorscomodel_name='project.scrum.actors'string='Actor' -
colorIntegerrelated='project_id.color' -
current_sprintBooleancompute='_compute_current_sprint'search='_search_current_sprint' -
kanoSelectionargs: '_get_kano_field' -
moscowSelectionargs: '_get_moscow_field' -
riskSelectionargs: '_get_risk_field' -
sprint_idMany2one → project.scrum.sprintcomodel_name='project.scrum.sprint'string='Sprint' -
us_idMany2one → project.scrum.uscomodel_name='project.scrum.us'index=Truestring='User Stories' -
use_scrumBooleanreadonly=1related='project_id.use_scrum' -
valueSelectionargs: '_get_value_field'
-
get_formview_id(self, access_uid=None)
Loading…
Loading…