Skip to content

Commit 48e68bb

Browse files
Initial commit
0 parents  commit 48e68bb

File tree

699 files changed

+109699
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

699 files changed

+109699
-0
lines changed

Diff for: .gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/.settings
2+
/.project
3+
/.pydevproject
4+
/.idea
5+
/venv
6+
/filestore
7+
8+
*.pyc
9+
*~
10+
*.log
11+
*.tmp
12+
*.pid
13+
/scrummer/static/src/.sass-cache/

Diff for: README.md

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
2+
Scrummer
3+
=================================
4+
This project aims to extend Odoo with agile project management methodologies like:
5+
6+
* Scrum
7+
* Kanban
8+
* Scrumban
9+
* Lean
10+
* ...
11+
12+
as well as to introduce a completely fresh UI framework for agile project management.
13+
14+
[//]: # (addons)
15+
16+
17+
Available addons
18+
----------------
19+
addon | version | summary
20+
--- | --- | ---
21+
[scrummer](scrummer/) | 11.0.1.0.0 | Base module for development of all scrummer components.
22+
[scrummer_git](scrummer_git/) | 11.0.1.0.0 | Module which brings integration with [project_git](project_git/) module.
23+
[scrummer_kanban](scrummer_kanban/) | 11.0.1.0.0 | Module which brings integration with [project_agile_kanban](project_agile_kanban/) module.
24+
[scrummer_scrum](scrummer_scrum/) | 11.0.1.0.0 | Module which brings integration with [project_agile_scrum](project_agile_scrum/) module.
25+
[scrummer_timesheet_category](scrummer_timesheet_category/) | 11.0.1.0.0 | Module which brings integration with [project_timesheet_category](project_timesheet_category/) module.
26+
[scrummer_workflow_security](scrummer_workflow_security/) | 11.0.1.0.0 | Module which brings integration with [project_workflow_security](project_workflow_security/) module.
27+
[scrummer_workflow_transition_by_project](scrummer_workflow_transition_by_project/) | 11.0.1.0.0 | Module which brings integration with [project_workflow_transition_by_project](project_workflow_transition_by_project/) module.
28+
[scrummer_workflow_transitions_by_task_type](scrummer_workflow_transitions_by_task_type/) | 11.0.1.0.0 | Module which brings integration with [project_agile_workflow_transitions_by_task_type](project_agile_workflow_transitions_by_task_type/) module.
29+
[project_agile](project_agile/) | 11.0.1.0.0 | Base module for development of all agile methodologies.
30+
[project_agile_analytic](project_agile_analytic/) | 11.0.1.0.0 | Module which bring simple analytics for project tasks.
31+
[project_agile_jira](project_agile_jira/) | 11.0.1.0.0 | Module which brings interface for migration from JIRA to Odoo. Very light.
32+
[project_agile_kanban](project_agile_kanban/) | 11.0.1.0.0 | Module which brings agile kanban methodology.
33+
[project_agile_scrum](project_agile_scrum/) | 11.0.1.0.0 | Module which brings agile scrum methodology
34+
[project_agile_timesheet_category](project_agile_timesheet_category/) | 11.0.1.0.0 | Module which integrates [project_timesheet_category](project_timesheet_category/) with project_agile
35+
[project_agile_workflow_transitions_by_task_type](project_agile_workflow_transitions_by_task_type/) | 11.0.1.0.0 | Module which integrates [project_workflow_transitions_by_task_type](project_workflow_transitions_by_task_type/) with project agile.
36+
[project_git](project_git/) | 11.0.1.0.0 | Base module for development of other modules which will bring integration with specific git services like: GitHub, BitBucket, GitLab, etc.
37+
[project_git_bitbucket](project_git_bitbucket/) | 11.0.1.0.0 | Module which extends [project_git](project_git/) module with BitBucket integration.
38+
[project_git_github](project_git_github/) | 11.0.1.0.0 | Module which extends [project_git](project_git/) module with GitHub integration.
39+
[project_git_gitlab](project_git_gitlab/) | 11.0.1.0.0 | Module which extends [project_git](project_git/) module with GitLab integration.
40+
[project_key](project_key/) | 11.0.1.0.0 | Module which brings functionality to uniquely identify projects and tasks by simple auto generated ``key`` field.
41+
[project_portal](project_portal/) | 11.0.1.0.0 | Module which extends project portal controller to be more extendable.
42+
[project_task_archiving](project_task_archiving/) | 11.0.1.0.0 | Module which enables task archiving based on number of days task stays in a specific stage.
43+
[project_timesheet_category](project_timesheet_category/) | 11.0.1.0.0 | Module which brings categorization to the project timesheet.
44+
[project_workflow](project_workflow/) | 11.0.1.0.0 | This module provides functionality to create fully configurable workflow around ``project.task``
45+
[project_workflow_action](project_workflow_action/) | 11.0.1.0.0 | This module provides functionality to execute server actions when executing task workflow.
46+
[project_workflow_default_state_per_group](project_workflow_default_state_per_group/) | 11.0.1.0.0 | This module provides functionality to assign different initial state to task depending on the security group.
47+
[project_workflow_security](project_workflow_security/) | 11.0.1.0.0 | Module which extends [project_workflow](project_workflow/) to provide allowed security groups for workflow transitions.
48+
[project_workflow_transitions_by_project](project_workflow_transitions_by_project/) | 11.0.1.0.0 | Module which extends [project_workflow](project_workflow/) to provide project constraints for workflow transitions.
49+
[web_diagram_position](web_diagram_position/) | 11.0.1.0.0 | Module provides functionality to save workflow elements coordinates.
50+
[web_ir_actions_act_multi](web_ir_actions_act_multi/) | 11.0.1.0.0 | Module which brings new type of action to ActionManager which can execute provided list of actions.
51+
[web_ir_actions_act_view_reload](web_ir_actions_act_view_reload/) | 11.0.1.0.0 | Module which brings new type of action to ActionManager which can reload currently active view only.
52+
[web_syncer](web_syncer/) | 11.0.1.0.0 | Module which provides generic interface to receive CUD model notifications on web client side.
53+
[web_widget_image_url](web_widget_image_url/) | 11.0.1.0.0 | Module which provides web widget for displaying image from an URL.
54+
55+
[//]: # (end addons)
56+
57+
58+
Roadmap
59+
=======
60+
Roadmap for further development can be found [here](roadmap.md).
61+
62+
Credits
63+
=======
64+
65+
Contributors
66+
------------
67+
68+
* Igor Jovanović <[email protected]>
69+
* Petar Najman <[email protected]>
70+
* Aleksandar Gajić <[email protected]>
71+
* Jasmina Nikolić <[email protected]>
72+
* Sladjan Kantar <[email protected]>
73+
* Miroslav Nikolić <[email protected]>
74+
* Mladen Meseldžija <[email protected]>
75+
76+
Maintainer
77+
----------
78+
![Modoolar logo](https://www.modoolar.com/web/image/ir.attachment/3461/datas)
79+
80+
This repository is maintained by Modoolar.
81+
82+
As Odoo Gold partner, our company is specialized in Odoo ERP customization and business solutions development.
83+
Beside that, we build cool apps on top of Odoo platform.
84+
85+
To contribute to this module, please visit https://modoolar.com

Diff for: project_agile/README.rst

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
.. image:: https://www.gnu.org/graphics/lgplv3-147x51.png
2+
:target: https://www.gnu.org/licenses/lgpl-3.0.en.html
3+
:alt: License: LGPL-v3
4+
5+
=============
6+
Project Agile
7+
=============
8+
9+
This module provides core framework for development of the agile methodologies like kanban, scrum, scrumban, etc
10+
11+
12+
Credits
13+
=======
14+
15+
16+
Contributors
17+
------------
18+
* Aleksandar Gajić <[email protected]>
19+
* Petar Najman <[email protected]>
20+
* Jasmina Nikolić <[email protected]>
21+
* Igor Jovanović <[email protected]>
22+
* Miroslav Nikolić <[email protected]>
23+
24+
Maintainer
25+
----------
26+
27+
.. image:: https://www.modoolar.com/web/image/ir.attachment/3461/datas
28+
:alt: Modoolar
29+
:target: https://modoolar.com
30+
31+
This module is maintained by Modoolar.
32+
33+
::
34+
35+
As Odoo Gold partner, our company is specialized in Odoo ERP customization and business solutions development.
36+
Beside that, we build cool apps on top of Odoo platform.
37+
38+
To contribute to this module, please visit https://modoolar.com

Diff for: project_agile/__init__.py

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright 2017 - 2018 Modoolar <[email protected]>
2+
# License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html).
3+
4+
from . import tools
5+
from . import controllers
6+
from . import models
7+
from . import wizards
8+
from .hooks import post_init_hook

Diff for: project_agile/__manifest__.py

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Copyright 2017 - 2018 Modoolar <[email protected]>
2+
# License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html).
3+
{
4+
"name": "Project Agile",
5+
"summary": "Framework for development of agile methodologies",
6+
"category": "Project",
7+
"version": "11.0.1.0.0",
8+
"license": "LGPL-3",
9+
"author": "Modoolar",
10+
"website": "https://www.modoolar.com/",
11+
"depends": [
12+
"web",
13+
"project_key",
14+
"project_workflow",
15+
"hr_timesheet",
16+
"website",
17+
"web_editor",
18+
"project_portal",
19+
"project_task_archiving",
20+
],
21+
22+
"data": [
23+
# security
24+
"security/security.xml",
25+
"security/ir.model.access.csv",
26+
27+
# wizards
28+
"wizards/board_export_wizard.xml",
29+
"wizards/board_import_wizard.xml",
30+
"wizards/board_create_wizard.xml",
31+
"wizards/project_task_worklog_wizard.xml",
32+
"wizards/add_subtask_wizard.xml",
33+
"wizards/add_task_link_wizard.xml",
34+
"wizards/stage_change_confirmation_wizard.xml",
35+
36+
# views
37+
"views/project_project_views.xml",
38+
"views/project_task_views.xml",
39+
"views/project_workflow.xml",
40+
"views/project_agile_team_views.xml",
41+
"views/project_agile_board_views.xml",
42+
"views/project_agile.xml",
43+
44+
# Menus
45+
"views/menu.xml",
46+
47+
# data
48+
"data/project_task.xml",
49+
"data/project_project.xml",
50+
],
51+
52+
"demo": [
53+
],
54+
55+
"qweb": ["static/src/xml/*.xml"],
56+
"post_init_hook": "post_init_hook",
57+
"application": False,
58+
"installable": True,
59+
}

Diff for: project_agile/controllers/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright 2017 - 2018 Modoolar <[email protected]>
2+
# License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html).
3+
4+
from . import portal

Diff for: project_agile/controllers/portal.py

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Copyright 2017 - 2018 Modoolar <[email protected]>
2+
# License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html).
3+
4+
from odoo import _
5+
from odoo.http import request
6+
from odoo.osv.expression import OR
7+
from odoo.addons.project_portal.controllers.portal import CustomerPortal
8+
9+
10+
class CustomerPortal(CustomerPortal):
11+
12+
def portal_my_tasks_prepare_searchbar(self):
13+
searchbar = super(CustomerPortal, self).\
14+
portal_my_tasks_prepare_searchbar()
15+
16+
searchbar['sorting'].update({
17+
'type': {'label': _('Type'), 'order': 'type_id'},
18+
'priority': {'label': _('Priority'), 'order': 'priority_id'},
19+
})
20+
21+
return searchbar
22+
23+
def portal_my_tasks_prepare_task_search_domain(self, search_in, search):
24+
domain = super(CustomerPortal, self).\
25+
portal_my_tasks_prepare_task_search_domain(search_in, search)
26+
27+
if search and search_in:
28+
if search_in in ('content', 'all'):
29+
domain = OR([domain, [
30+
'|',
31+
('type_id', 'ilike', search),
32+
('priority_id', 'ilike', search)
33+
]])
34+
return domain
35+
36+
def portal_my_tasks_prepare_values(self,
37+
page=1, date_begin=None, date_end=None,
38+
sortby=None, filterby=None, search=None,
39+
search_in='content', **kw):
40+
41+
values = super(CustomerPortal, self).portal_my_tasks_prepare_values(
42+
page, date_begin, date_end, sortby,
43+
filterby, search, search_in, **kw
44+
)
45+
46+
values["priorities"] = request.env["project.task.priority"]\
47+
.sudo().search([])
48+
49+
values["types"] = request.env["project.task.type2"]\
50+
.sudo().search([])
51+
return values
52+
53+
def portal_my_task_prepare_values(self, task_id=None, **kw):
54+
values = super(CustomerPortal, self)\
55+
.portal_my_task_prepare_values(task_id, **kw)
56+
57+
values["types"] = request.env["project.task.type2"]\
58+
.sudo().search([])
59+
60+
values["priorities"] = request.env["project.task.priority"]\
61+
.sudo().search([])
62+
return values

Diff for: project_agile/data/project_project.xml

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
# Copyright 2017 - 2018 Modoolar <[email protected]>
4+
# License LGPLv3.0 or later (https://www.gnu.org/licenses/lgpl-3.0.en.html).
5+
-->
6+
<odoo>
7+
<data noupdate="1">
8+
<record id="project_type_software" model="project.type">
9+
<field name="name">Software</field>
10+
<field name="description">This type is for software developing projects.</field>
11+
<field name="active" eval="True"/>
12+
<field name="default_task_type_id" ref="project_task_type_task"/>
13+
<field name="task_type_ids" eval="[(6, 0, [
14+
ref('project_task_type_task'),
15+
ref('project_task_type_bug'),
16+
ref('project_task_type_story'),
17+
ref('project_task_type_epic'),
18+
])]"
19+
/>
20+
</record>
21+
22+
<record id="project_type_technical_support" model="project.type">
23+
<field name="name">Technical Support</field>
24+
<field name="description">This type is for technical support projects.</field>
25+
<field name="active" eval="True"/>
26+
<field name="default_task_type_id" ref="project_task_type_it_help"/>
27+
<field name="task_type_ids" eval="[(6, 0, [
28+
ref('project_task_type_it_help'),
29+
ref('project_task_type_improvement'),
30+
ref('project_task_type_change'),
31+
ref('project_task_type_access'),
32+
ref('project_task_type_fault'),
33+
ref('project_task_type_purchase'),
34+
ref('project_task_type_new_feature'),
35+
])]"
36+
/>
37+
</record>
38+
39+
<record id="project_type_business" model="project.type">
40+
<field name="name">Business</field>
41+
<field name="description">This type is for general business projects. It is used by default if not specified.</field>
42+
<field name="active" eval="True"/>
43+
<field name="default_task_type_id" ref="project_task_type_task"/>
44+
<field name="task_type_ids" eval="[(6, 0, [
45+
ref('project_task_type_purchase'),
46+
ref('project_task_type_task'),
47+
ref('project_task_type_change'),
48+
])]"
49+
/>
50+
</record>
51+
</data>
52+
</odoo>

0 commit comments

Comments
 (0)