Browse Source

NOV 14 : [ADD] Initial Commit 'odoo_trello_connector'

pull/295/head
Shijin V 2 years ago
parent
commit
b90f4abda2
  1. 53
      odoo_trello_connector/README.rst
  2. 22
      odoo_trello_connector/__init__.py
  3. 46
      odoo_trello_connector/__manifest__.py
  4. 7
      odoo_trello_connector/doc/RELEASE_NOTES.md
  5. 24
      odoo_trello_connector/models/__init__.py
  6. 30
      odoo_trello_connector/models/project_project.py
  7. 33
      odoo_trello_connector/models/project_task.py
  8. 233
      odoo_trello_connector/models/res_users.py
  9. BIN
      odoo_trello_connector/static/description/assets/icons/check.png
  10. BIN
      odoo_trello_connector/static/description/assets/icons/chevron.png
  11. BIN
      odoo_trello_connector/static/description/assets/icons/cogs.png
  12. BIN
      odoo_trello_connector/static/description/assets/icons/consultation.png
  13. BIN
      odoo_trello_connector/static/description/assets/icons/ecom-black.png
  14. BIN
      odoo_trello_connector/static/description/assets/icons/education-black.png
  15. BIN
      odoo_trello_connector/static/description/assets/icons/hotel-black.png
  16. BIN
      odoo_trello_connector/static/description/assets/icons/license.png
  17. BIN
      odoo_trello_connector/static/description/assets/icons/lifebuoy.png
  18. BIN
      odoo_trello_connector/static/description/assets/icons/manufacturing-black.png
  19. BIN
      odoo_trello_connector/static/description/assets/icons/pos-black.png
  20. BIN
      odoo_trello_connector/static/description/assets/icons/puzzle.png
  21. BIN
      odoo_trello_connector/static/description/assets/icons/restaurant-black.png
  22. BIN
      odoo_trello_connector/static/description/assets/icons/service-black.png
  23. BIN
      odoo_trello_connector/static/description/assets/icons/trading-black.png
  24. BIN
      odoo_trello_connector/static/description/assets/icons/training.png
  25. BIN
      odoo_trello_connector/static/description/assets/icons/update.png
  26. BIN
      odoo_trello_connector/static/description/assets/icons/user.png
  27. BIN
      odoo_trello_connector/static/description/assets/icons/wrench.png
  28. BIN
      odoo_trello_connector/static/description/assets/misc/categories.png
  29. BIN
      odoo_trello_connector/static/description/assets/misc/check-box.png
  30. BIN
      odoo_trello_connector/static/description/assets/misc/compass.png
  31. BIN
      odoo_trello_connector/static/description/assets/misc/corporate.png
  32. BIN
      odoo_trello_connector/static/description/assets/misc/customer-support.png
  33. BIN
      odoo_trello_connector/static/description/assets/misc/cybrosys-logo.png
  34. BIN
      odoo_trello_connector/static/description/assets/misc/features.png
  35. BIN
      odoo_trello_connector/static/description/assets/misc/logo.png
  36. BIN
      odoo_trello_connector/static/description/assets/misc/pictures.png
  37. BIN
      odoo_trello_connector/static/description/assets/misc/pie-chart.png
  38. BIN
      odoo_trello_connector/static/description/assets/misc/right-arrow.png
  39. BIN
      odoo_trello_connector/static/description/assets/misc/star.png
  40. BIN
      odoo_trello_connector/static/description/assets/misc/support.png
  41. BIN
      odoo_trello_connector/static/description/assets/misc/whatsapp.png
  42. BIN
      odoo_trello_connector/static/description/assets/modules/l1.png
  43. BIN
      odoo_trello_connector/static/description/assets/modules/l2.png
  44. BIN
      odoo_trello_connector/static/description/assets/modules/l3.png
  45. BIN
      odoo_trello_connector/static/description/assets/modules/l4.png
  46. BIN
      odoo_trello_connector/static/description/assets/modules/l5.png
  47. BIN
      odoo_trello_connector/static/description/assets/modules/l6.png
  48. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot.png
  49. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot0.png
  50. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot01.png
  51. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot02.png
  52. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot03.png
  53. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot04.png
  54. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot1.png
  55. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot10.png
  56. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot11.png
  57. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot2.png
  58. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot3.png
  59. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot4.png
  60. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot5.png
  61. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot6.png
  62. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot7.png
  63. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot8.png
  64. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot9.png
  65. BIN
      odoo_trello_connector/static/description/assets/screenshots/hero.gif
  66. BIN
      odoo_trello_connector/static/description/banner.png
  67. BIN
      odoo_trello_connector/static/description/icon.png
  68. 697
      odoo_trello_connector/static/description/index.html
  69. 16
      odoo_trello_connector/views/project_project_views.xml
  70. 15
      odoo_trello_connector/views/project_task_views.xml
  71. 26
      odoo_trello_connector/views/res_users_views.xml

53
odoo_trello_connector/README.rst

@ -0,0 +1,53 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
Odoo Trello Connector
=====================
Integrate Projects and Tasks between Trello and Odoo
Configuration
=============
* First you need to create Trello token.
1) Go to https://trello.com/power-ups/admin and login to your account.
2) Click on New button and after filling all required fields click on Create
button.
3) Click on Generate new API key button under API key tab.
4) You can see the API key here.
5) Click on token link for generating token.
6) You can see the username here. Click on Allow button to generate token.
License
-------
General Public License, Version 3 (AGPL v3).
(https://www.gnu.org/licenses/agpl-3.0-standalone.html)
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits
-------
* Developer:(V16) Unnimaya C O, Contact: odoo@cybrosys.com
Contacts
--------
* Mail Contact : odoo@cybrosys.com
* Website : https://cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
.. image:: https://cybrosys.com/images/logo.png
:target: https://cybrosys.com
This module is maintained by Cybrosys Technologies.
For support and more information, please visit `Our Website <https://cybrosys.com/>`__
Further information
===================
HTML Description: `<static/description/index.html>`__

22
odoo_trello_connector/__init__.py

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Unnimaya C O (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from . import models

46
odoo_trello_connector/__manifest__.py

@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Unnimaya C O (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
{
'name': "Odoo Trello Connector",
'version': '16.0.1.0.0',
'category': 'Project',
'summary': """Integrate Projects and Tasks between Trello and Odoo""",
'description': """This module helps to import all Projects and Tasks from
Trello to Odoo, and to export all Projects and Tasks from Odoo to Trello.
Here, it will create stages automatically while importing and exporting
the Tasks.""",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': 'https://www.cybrosys.com',
'depends': ['project'],
'data': [
'views/res_users_views.xml',
'views/project_project_views.xml',
'views/project_task_views.xml',
],
'images': ['static/description/banner.png'],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
'application': False,
}

7
odoo_trello_connector/doc/RELEASE_NOTES.md

@ -0,0 +1,7 @@
## Module <odoo_trello_connector>
#### 14.11.2023
#### Version 16.0.1.0.0
#### ADD
- Initial commit for Odoo Trello Connector

24
odoo_trello_connector/models/__init__.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Unnimaya C O (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from . import project_project
from . import project_task
from . import res_users

30
odoo_trello_connector/models/project_project.py

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Unnimaya C O (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from odoo import fields, models
class ProjectProject(models.Model):
"""Inherits project. project for including Trello fields"""
_inherit = 'project.project'
trello_reference = fields.Char(string="Trello Reference",
help="Trello Reference number of the Task")

33
odoo_trello_connector/models/project_task.py

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Unnimaya C O (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from odoo import fields, models
class ProjectTask(models.Model):
"""Inherits project. task for including the trello_reference field"""
_inherit = 'project.task'
trello_reference = fields.Char(string="Trello Reference",
help="Trello Reference number of the Task")
stage_reference = fields.Char(string="Trello Stage Reference",
help="Trello Reference number of the Task "
"stage")

233
odoo_trello_connector/models/res_users.py

@ -0,0 +1,233 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Unnimaya C O (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
import requests
from odoo import fields, models, _
from odoo.exceptions import ValidationError
class ResUsers(models.Model):
"""Inherits res users for including Trello fields and functions"""
_inherit = 'res.users'
api_key = fields.Char(string='API KEY',
help="It is used to connect with Trello")
token = fields.Char(string='Token',
help="The token for connecting Odoo with Trello")
user_name = fields.Char(string='Trello Username',
help="The member name used in Trello")
_sql_constraints = [
('api_key_uniq',
'unique(api_key)',
'API Key must be unique per User !'),
('username_uniq',
'unique(user_name)',
'Username must be unique per User !')
]
def action_import(self):
"""Function that imports boards, lists and cards from Trello to Odoo"""
if not self.api_key or not self.token or not self.user_name:
raise ValidationError(_("Please fill all fields."))
query = {
"key": self.api_key,
"token": self.token,
}
header = {
"Accept": "application/json"
}
member = self.get_member_id(header, self.user_name)
for board in self.get_boards(header, query,
member):
project = self.env['project.project'].sudo().search(
[('trello_reference', '=', board['id'])])
if not project:
project = self.env['project.project'].sudo().create({
'name': board['name'],
'description': board['desc'],
'trello_reference': board['id']
})
for rec in self.get_list_on_board(header, query, board['id']):
stages = self.env[
'project.task.type'].search([])
if rec['name'] not in stages.mapped('name'):
self.env['project.task.type'].sudo().create({
'name': rec['name']
})
project.sudo().write(
{'type_ids': [(4, stages.search([(
'name', '=', rec['name'])])[0].id, project.id)]})
for card in self.get_cards(header, query,
board['id']):
if card['id'] not in self.env['project.task'].search([]).mapped(
'trello_reference'):
self.env['project.task'].create({
'name': card['name'],
'project_id': project.id,
'stage_id': self.env[
'project.task.type'].search([('name', '=',
self.get_a_list(
header, query,
card['idList'])[
'name'])])[0].id,
'trello_reference': card['id']
})
def action_export(self):
"""Function that exports Project, Stages and Tasks from Odoo to
Trello"""
if not self.api_key or not self.token or not self.user_name:
raise ValidationError(_("Please fill all fields"))
query = {
"key": self.api_key,
"token": self.token,
}
header = {
"Accept": "application/json"
}
for project in self.env['project.project'].search([]):
if not project.trello_reference:
board = self.create_board(header, query,
project.name)
project.write({
'trello_reference': board
})
lists_on_board = self.get_list_on_board(header,
query,
project.trello_reference)
for stage in project.type_ids:
if stage.name not in [rec['name'] for rec in
lists_on_board]:
list_ref = self.create_list(header, query,
project.trello_reference,
stage.name)['id']
self.env['project.task'].search(
[('project_id', '=', project.id)]).filtered(
lambda x: x.stage_id == stage).write({
'stage_reference': list_ref
})
for task in self.env['project.task'].search(
[('project_id', '=', project.id)]).filtered(
lambda x: x.display_project_id):
for rec in lists_on_board:
if rec['name'] == task.stage_id.name:
task.write({
'stage_reference': rec['id']
})
if not task.trello_reference:
card = self.create_card(header, query,
task.stage_reference,
task.name)
task.write({
'trello_reference': card['id']
})
def get_member_id(self, headers, username):
"""Returns member id of the user"""
response = requests.get(
f"https://api.trello.com/1/members/{username}",
headers=headers, timeout=10)
if response.status_code == 200:
return response.json()['id']
if response.status_code == 404:
raise ValidationError(_('Please Check Your Credentials'))
raise ValidationError(_(response.text.capitalize()))
def get_boards(self, headers, query, member_id):
"""Returns details of all boards that a member belongs to"""
query['filter'] = 'open'
response = requests.get(
f"https://api.trello.com/1/members/{member_id}/boards",
headers=headers, timeout=10, params=query)
if response.status_code == 200:
return response.json()
raise ValidationError(_(response.text.capitalize()))
def get_cards(self, headers, query, board_id):
"""Returns all cards on a board"""
response = requests.get(
f"https://api.trello.com/1/boards/{board_id}/cards",
headers=headers, timeout=10, params=query)
if response.status_code == 200:
return response.json()
raise ValidationError(_(response.text.capitalize()))
def get_list_on_board(self, headers, query, board_id):
"""Returns all list of a board"""
response = requests.get(
f"https://api.trello.com/1/boards/{board_id}/lists",
headers=headers, timeout=10, params=query)
if response.status_code == 200:
return response.json()
raise ValidationError(_(response.text.capitalize()))
def create_board(self, headers, query, name):
"""Create new board in Trello"""
query['name'] = {name}
response = requests.post("https://api.trello.com/1/boards/",
headers=headers, params=query,
timeout=10)
if response.status_code == 200:
lists = requests.get(
f"https://api.trello.com/1/boards/{response.json()['id']}/"
f"lists",
headers=headers, timeout=10, params=query)
if lists.status_code == 200:
for rec in lists.json():
query['closed'] = 'true'
requests.put(
f"https://api.trello.com/1/lists/{rec['id']}",
headers=headers, params=query, timeout=10)
query['closed'] = 'false'
else:
raise ValidationError(_(response.text.capitalize()))
return response.json()['id']
def create_list(self, headers, query, board_id, name):
"""Create new list in Trello"""
query['name'] = {name}
response = requests.post(
f"https://api.trello.com/1/boards/{board_id}/lists",
headers=headers, timeout=10, params=query)
if response.status_code == 200:
return response.json()
raise ValidationError(_(response.text.capitalize()))
def create_card(self, headers, query, list_id, name):
"""Create new card in Trello"""
query['idList'] = list_id
query['name'] = {name}
response = requests.post(
"https://api.trello.com/1/cards", headers=headers,
params=query, timeout=10)
if response.status_code == 200:
return response.json()
raise ValidationError(_(response.text.capitalize()))
def get_a_list(self, headers, query, list_id):
"""Method for fetching a list"""
response = requests.get(
f"https://api.trello.com/1/lists/{list_id}", headers=headers,
params=query, timeout=10)
if response.status_code == 200:
return response.json()
raise ValidationError(_(response.text.capitalize()))

BIN
odoo_trello_connector/static/description/assets/icons/check.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
odoo_trello_connector/static/description/assets/icons/chevron.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

BIN
odoo_trello_connector/static/description/assets/icons/cogs.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
odoo_trello_connector/static/description/assets/icons/consultation.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
odoo_trello_connector/static/description/assets/icons/ecom-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

BIN
odoo_trello_connector/static/description/assets/icons/education-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

BIN
odoo_trello_connector/static/description/assets/icons/hotel-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

BIN
odoo_trello_connector/static/description/assets/icons/license.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
odoo_trello_connector/static/description/assets/icons/lifebuoy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
odoo_trello_connector/static/description/assets/icons/manufacturing-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

BIN
odoo_trello_connector/static/description/assets/icons/pos-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

BIN
odoo_trello_connector/static/description/assets/icons/puzzle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

BIN
odoo_trello_connector/static/description/assets/icons/restaurant-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

BIN
odoo_trello_connector/static/description/assets/icons/service-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

BIN
odoo_trello_connector/static/description/assets/icons/trading-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

BIN
odoo_trello_connector/static/description/assets/icons/training.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

BIN
odoo_trello_connector/static/description/assets/icons/update.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
odoo_trello_connector/static/description/assets/icons/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

BIN
odoo_trello_connector/static/description/assets/icons/wrench.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
odoo_trello_connector/static/description/assets/misc/categories.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
odoo_trello_connector/static/description/assets/misc/check-box.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
odoo_trello_connector/static/description/assets/misc/compass.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
odoo_trello_connector/static/description/assets/misc/corporate.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
odoo_trello_connector/static/description/assets/misc/customer-support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
odoo_trello_connector/static/description/assets/misc/cybrosys-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
odoo_trello_connector/static/description/assets/misc/features.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

BIN
odoo_trello_connector/static/description/assets/misc/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
odoo_trello_connector/static/description/assets/misc/pictures.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
odoo_trello_connector/static/description/assets/misc/pie-chart.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
odoo_trello_connector/static/description/assets/misc/right-arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

BIN
odoo_trello_connector/static/description/assets/misc/star.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
odoo_trello_connector/static/description/assets/misc/support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
odoo_trello_connector/static/description/assets/misc/whatsapp.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
odoo_trello_connector/static/description/assets/modules/l1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
odoo_trello_connector/static/description/assets/modules/l2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
odoo_trello_connector/static/description/assets/modules/l3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
odoo_trello_connector/static/description/assets/modules/l4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
odoo_trello_connector/static/description/assets/modules/l5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
odoo_trello_connector/static/description/assets/modules/l6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot04.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot10.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot11.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot8.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/Screenshot9.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
odoo_trello_connector/static/description/assets/screenshots/hero.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

BIN
odoo_trello_connector/static/description/banner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
odoo_trello_connector/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

697
odoo_trello_connector/static/description/index.html

@ -0,0 +1,697 @@
<div style="background-color: #714B67; height: 810px; width: 100%; padding: 15px; position: relative;">
<!-- TITLE BAR -->
<div class="d-flex align-items-center justify-content-between"
style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;">
<img src="assets/misc/cybrosys-logo.png" width="42" height="42"
style="width: 42px; height: 42px;"/>
<div>
<div style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Community
</div>
<div style="color: #875A7B; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Enterprise
</div>
<div style="color: #017E84; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Odoo.sh
</div>
</div>
</div>
<!-- END OF TITLE BAR -->
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12">
<!-- APP HERO -->
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">
Odoo Trello Connector</h1>
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">
Integrate Projects and Tasks Between Trello and Odoo</p>
<!-- END OF APP HERO -->
<img src="assets/screenshots/hero.gif"
class="img-responsive"
style="width: 100%; margin-left: auto; margin-right: auto;"/>
</div>
</div>
</div>
</div>
<!-- NAVIGATION SECTION -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/compass.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Explore This
Module</h2>
</div>
<div class="row my-4" style="font-family: 'Montserrat', sans-serif;">
<div class="col-sm-12 col-md-6 my-3">
<a href="#overview">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">Learn
more about this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#features">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
features of this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#screenshots">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
screenshots for this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
</div>
</a>
</div>
</div>
<!-- END OF NAVIGATION SECTION -->
<!-- OVERVIEW SECTION -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="overview">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pie-chart.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Overview
</h2>
</div>
<div class="row"
style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 py-4">
This module helps to import all Projects and Tasks from Trello to Odoo,
and to export all Projects and Tasks from Odoo to Trello. Here, it will
create stages automatically while importing and exporting the Tasks.
</div>
</div>
<!-- END OF OVERVIEW SECTION -->
<!-- FEATURES SECTION -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="features">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/features.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Features
</h2>
</div>
<div class="row"
style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 col-md-6">
<div class="d-flex align-items-center"
style="margin-top: 40px; margin-bottom: 40px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span
style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Exports all Projects from Odoo to Trello</span>
</div>
<div class="d-flex align-items-center"
style="margin-top: 40px; margin-bottom: 40px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span
style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Exports all Tasks from Odoo to Trello</span>
</div>
<div class="d-flex align-items-center"
style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span
style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Imports all Projects from Trello to Odoo
</span>
</div>
<div class="d-flex align-items-center"
style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span
style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Imports all Tasks from Trello to Odoo
</span>
</div>
</div>
</div>
<!-- END OF FEATURES SECTION -->
<!-- SCREENSHOTS SECTION -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;"
id="screenshots">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pictures.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Screenshots
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Login to <a
href="https://trello.com/power-ups/admin">Trello Power-Ups
Admin
Portal.</a>
</h3>
<p
style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
Click on the New button under Power-Ups tab</p>
<img src="assets/screenshots/Screenshot.png"
class="img-thumbnail"/>
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Fill all fields and click Create button.
</h3>
<img src="assets/screenshots/Screenshot0.png"
class="img-thumbnail"/>
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Click on Generate a new API key button under API key tab.</h3>
<img src="assets/screenshots/Screenshot01.png"
class="img-thumbnail"/>
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
We can see the API key here.</h3>
<p
style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
Click Token to generate Trello token.</p>
<img src="assets/screenshots/Screenshot02.png"
class="img-thumbnail"/>
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
We can see the Username here.</h3>
<p
style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
Clock Allow button</p>
<img src="assets/screenshots/Screenshot03.png"
class="img-thumbnail"/>
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
We can see the Trello Token here.</h3>
<img src="assets/screenshots/Screenshot04.png"
class="img-thumbnail"/>
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Add the Credentials for connecting with Trello</h3>
<img src="assets/screenshots/Screenshot1.png"
class="img-thumbnail"/>
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Projects in Odoo before Import</h3>
<img src="assets/screenshots/Screenshot2.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Click on IMPORT button</h3>
<img src="assets/screenshots/Screenshot3.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Projects in Trello</h3>
<img src="assets/screenshots/Screenshot4.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Imported Projects in Odoo</h3>
<img src="assets/screenshots/Screenshot5.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Tasks in Trello Project</h3>
<img src="assets/screenshots/Screenshot6.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Tasks in imported Project in Odoo</h3>
<img src="assets/screenshots/Screenshot7.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Click on EXPORT button</h3>
<img src="assets/screenshots/Screenshot8.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Exported Projects in Trello</h3>
<img src="assets/screenshots/Screenshot9.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Tasks in Odoo Project
</h3>
<img src="assets/screenshots/Screenshot10.png"
class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Tasks in exported Project in Trello</h3>
<img src="assets/screenshots/Screenshot11.png"
class="img-thumbnail">
</div>
</div>
</div>
<!-- END OF SCREENSHOTS SECTION -->
<!-- RELATED PRODUCTS -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/categories.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Related
Products
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div id="demo1" class="row carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner" style="padding: 30px;">
<div class="carousel-item" style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/project_custom_gantt/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l1.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/project_dashboard_odoo/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l2.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/project_task_timer/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l3.png">
</div>
</a>
</div>
</div>
<div class="carousel-item active"
style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/project_task_unique_code/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l4.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/project_report_pdf/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l5.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/task_deadline_reminder/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/l6.png">
</div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo1" data-slide="prev"
style="width:35px; color:#000"> <span
class="carousel-control-prev-icon"><i
class="fa fa-chevron-left"
style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo1"
data-slide="next" style="width:35px; color:#000">
<span class="carousel-control-next-icon"><i
class="fa fa-chevron-right"
style="font-size:24px"></i></span>
</a>
</div>
</div>
</div>
<!-- END OF RELATED PRODUCTS -->
<!-- OUR SERVICES -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/star.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Our Services
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Hire Odoo Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Licensing Consultancy</h6>
</div>
</div>
</div>
<!--END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/corporate.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Our
Industries
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/trading-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easily procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/pos-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/education-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
A platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/manufacturing-black.png"
class="img-responsive mb-3" height="48px"
width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Plan, track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/ecom-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/service-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Keep track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/restaurant-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Run your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/hotel-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</div>
<!-- END OF OUR INDUSTRIES -->
<!-- SUPPORT -->
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/customer-support.png"/>
</div>
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Support
</h2>
</div>
<div class="container mt-5">
<div class="row">
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4"
style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/support.png" height="48" width="48"
style="width: 42px; height: 42px;"/>
</div>
<div>
<h4>Need Help?</h4>
<p style="line-height: 100%;">Got questions or need help?
Get in touch.</p>
<a href="mailto:odoo@cybrosys.com">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
odoo@cybrosys.com</p>
</a>
</div>
</div>
</div>
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4"
style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/whatsapp.png" height="52" width="52"
style="width: 52px; height: 52px;"/>
</div>
<div>
<h4>WhatsApp</h4>
<p style="line-height: 100%;">Say hi to us on WhatsApp!</p>
<a href="https://api.whatsapp.com/send?phone=918606827707">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
+91 86068
27707</p>
</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 my-5 d-flex justify-content-center align-items-center">
<img src="assets/misc/logo.png" width="144" height="31"
style="width:144px; height: 31px; margin-top: 40px;"/>
</div>
</div>
</div>
<!-- END OF SUPPORT -->

16
odoo_trello_connector/views/project_project_views.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Inherits project.project form view to add trello reference field -->
<record id="edit_project" model="ir.ui.view">
<field name="name">project.project.view.form.inherit.odoo.trello
.connector</field>
<field name="model">project.project</field>
<field name="inherit_id" ref="project.edit_project"/>
<field name="priority">24</field>
<field name="arch" type="xml">
<xpath expr="//div[@name='dates']" position="after">
<field name="trello_reference"/>
</xpath>
</field>
</record>
</odoo>

15
odoo_trello_connector/views/project_task_views.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Inherit project.task form view to add the trello reference field-->
<record id="view_task_form2" model="ir.ui.view">
<field name="name">project.task.view.form.inherit.odoo.trello.connector
</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='tag_ids']" position="after">
<field name="trello_reference" string="Trello Reference"/>
</xpath>
</field>
</record>
</odoo>

26
odoo_trello_connector/views/res_users_views.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Inherits Res User form view to add trello fields -->
<record id="view_users_form" model="ir.ui.view">
<field name="name">res.users.view.form.inherit.odoo.trello.connector
</field>
<field name="model">res.users</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='preferences']" position="after">
<page string="Trello" name="Trello">
<group>
<field name="user_name" string="Trello Username"/>
<field name="api_key" string="API Key"/>
<field name="token" string="Token"/>
<button string="Import"
type="object" name="action_import"/>
<button string="Export"
type="object" name="action_export"/>
</group>
</page>
</xpath>
</field>
</record>
</odoo>
Loading…
Cancel
Save