Browse Source

Jan 9 [ADD] : Initial Commit 'odoo_trello_connector'

pull/254/merge
AjmalCybro 1 year ago
parent
commit
22b4a61bee
  1. 52
      odoo_trello_connector/README.rst
  2. 22
      odoo_trello_connector/__init__.py
  3. 44
      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. 259
      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/cogs.png
  11. BIN
      odoo_trello_connector/static/description/assets/icons/consultation.png
  12. BIN
      odoo_trello_connector/static/description/assets/icons/ecom-black.png
  13. BIN
      odoo_trello_connector/static/description/assets/icons/education-black.png
  14. BIN
      odoo_trello_connector/static/description/assets/icons/hotel-black.png
  15. BIN
      odoo_trello_connector/static/description/assets/icons/license.png
  16. BIN
      odoo_trello_connector/static/description/assets/icons/lifebuoy.png
  17. BIN
      odoo_trello_connector/static/description/assets/icons/logo.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/modules/checklist.png
  29. BIN
      odoo_trello_connector/static/description/assets/modules/deadline.png
  30. BIN
      odoo_trello_connector/static/description/assets/modules/gantt.png
  31. BIN
      odoo_trello_connector/static/description/assets/modules/task_timer.png
  32. BIN
      odoo_trello_connector/static/description/assets/modules/template.png
  33. BIN
      odoo_trello_connector/static/description/assets/modules/unique.png
  34. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot.png
  35. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot0.png
  36. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot01.png
  37. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot02.png
  38. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot03.png
  39. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot04.png
  40. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot1.png
  41. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot10.png
  42. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot11.png
  43. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot2.png
  44. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot3.png
  45. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot4.png
  46. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot5.png
  47. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot6.png
  48. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot7.png
  49. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot8.png
  50. BIN
      odoo_trello_connector/static/description/assets/screenshots/Screenshot9.png
  51. BIN
      odoo_trello_connector/static/description/assets/screenshots/hero.gif
  52. BIN
      odoo_trello_connector/static/description/banner.jpg
  53. BIN
      odoo_trello_connector/static/description/icon.png
  54. 708
      odoo_trello_connector/static/description/index.html
  55. 26
      odoo_trello_connector/views/res_users_views.xml

52
odoo_trello_connector/README.rst

@ -0,0 +1,52 @@
.. image:: https://img.shields.io/badge/license-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: (V15) 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

44
odoo_trello_connector/__manifest__.py

@ -0,0 +1,44 @@
# -*- 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': '15.0.1.0.0',
'category': 'Project, Productivity',
'summary': """Integrate Projects and Tasks between Trello and Odoo""",
'description': """This module helps to import all Projects and Tasks from
Trello to Odoo, and export all Projects and Tasks from Odoo to Trello.
Here, it will create stages automatically while importing and exporting
the Projects and 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'
],
'images': ['static/description/banner.jpg'],
'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>
#### 08.01.2024
#### Version 15.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 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 of the Task")
stage_reference = fields.Char(string="Trello Stage Reference",
help="Trello Reference of the Task "
"stage")

259
odoo_trello_connector/models/res_users.py

@ -0,0 +1,259 @@
# -*- 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),
('stage_id', '=', stage.id)]).write(
{
'stage_reference': list_ref
})
for task in self.env['project.task'].search([
('project_id', '=', project.id),
('display_project_id', '!=', False)
]):
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"""
try:
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()))
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))
def get_boards(self, headers, query, member_id):
"""Returns details of all boards that a member belongs to"""
query['filter'] = 'open'
try:
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()))
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))
def get_cards(self, headers, query, board_id):
"""Returns all cards on a board"""
try:
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()))
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))
def get_list_on_board(self, headers, query, board_id):
"""Returns all list of a board"""
try:
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()))
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))
def create_board(self, headers, query, name):
"""Create new board in Trello"""
try:
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']
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))
def create_list(self, headers, query, board_id, name):
"""Create new list in Trello"""
query['name'] = {name}
try:
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()))
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))
def create_card(self, headers, query, idlist, name):
"""Create new card in Trello"""
query['idList'] = idlist
query['name'] = {name}
try:
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()))
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))
def get_a_list(self, headers, query, idlist):
"""Method for fetching a list"""
try:
response = requests.get(
f"https://api.trello.com/1/lists/{idlist}", headers=headers,
params=query, timeout=10)
if response.status_code == 200:
return response.json()
raise ValidationError(_(response.text.capitalize()))
except requests.exceptions.RequestException as e:
raise ValidationError(_(f"An unexpected error occurred: {e}"))

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/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/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 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/modules/checklist.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 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: 98 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 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: 53 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: 48 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 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: 308 KiB

BIN
odoo_trello_connector/static/description/banner.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
odoo_trello_connector/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

708
odoo_trello_connector/static/description/index.html

@ -0,0 +1,708 @@
<div class="container"
style="padding: 1rem !important; margin-bottom: 1rem !important;">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 d-flex justify-content-between"
style="border-bottom: 1px solid #d5d5d5;">
<div class="my-3">
<img src="./assets/icons/logo.png"
style="width: auto !important; height: 40px !important;">
</div>
<div class="my-3 d-flex align-items-center">
<div
style="background-color: #7C7BAD !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;">
<i class="fa fa-check mr-1"></i>Community
</div>
<div
style="background-color: #875A7B !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;">
<i class="fa fa-check mr-1"></i>Enterprise
</div>
<div
style="background-color: #7C7BAD !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;">
<i class="fa fa-check mr-1"></i>Odoo.sh
</div>
</div>
</div>
</div>
</div>
<div class="container" style="padding: 0rem 1.5rem 4rem !important">
<div class="row" style="height: 900px !important;">
<div class="col-sm-12 col-md-12 col-lg-12"
style="padding: 4rem 1rem !important; background-color: #714B67 !important; height: 600px !important; border-radius: 20px !important;">
<h1 style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #FFFFFF !important; font-size: 3.5rem !important; text-align: center !important;">
Odoo Trello Connector</h1>
<p style="font-family: 'Montserrat', sans-serif !important; font-weight: 300 !important; color: #FFFFFF !important; font-size: 1.4rem !important; text-align: center !important;">
Integrate Projects and Tasks Between Trello and Odoo
</p>
<img src="./assets/screenshots/hero.gif" class="img-responsive"
width="100%" height="auto"/>
</div>
</div>
<div class="row">
<div class="col-md-12"
style="border-bottom: 1px solid #d5d5d5 !important; margin-bottom: 2rem !important">
<h2 style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;">
<i class="fa fa-compass mr-2"></i>Explore this module
</h2>
<div class="row">
<div class="col-md-6">
<a href="#overview"
style="text-decoration: none !important;">
<div class="row"
style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;">
<div class="col-8">
<h3
style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;">
Overview</h3>
<p
style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;">
Learn more about this module</p>
</div>
<div class="col-4 text-right d-flex justify-content-end align-items-center">
<i class="fa fa-chevron-right"
style="color: #714B67 !important;"></i>
</div>
</div>
</a>
</div>
<div class="col-md-6">
<a href="#features"
style="text-decoration: none !important;">
<div class="row"
style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;">
<div class="col-8">
<h3
style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;">
Features</h3>
<p
style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;">
View features of this module</p>
</div>
<div class="col-4 text-right d-flex justify-content-end align-items-center">
<i class="fa fa-chevron-right"
style="color: #714B67 !important;"></i>
</div>
</div>
</a>
</div>
<div class="col-md-6">
<a href="#screenshots"
style="text-decoration: none !important;">
<div class="row"
style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;">
<div class="col-8">
<h3 style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;">
Screenshots</h3>
<p style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;">
See key screenshots of this module</p>
</div>
<div class="col-4 text-right d-flex justify-content-end align-items-center">
<i class="fa fa-chevron-right"
style="color: #714B67 !important;"></i>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
<div class="row" id="overview">
<div class="col-md-12"
style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important">
<h2 style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;">
<i class="fa fa-pie-chart mr-2"></i>Overview
</h2>
</div>
<div class="col-mg-12 pl-3">
<p style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #282F33 !important; font-size: 1rem !important; line-height: 30px !important;">
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.</p>
</div>
</div>
<div class="row" id="features">
<div class="col-md-12"
style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important">
<h2 style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;">
<i class="fa fa-star mr-2"></i>Features
</h2>
</div>
<div class="col-md-6 pl-3 py-3 d-flex">
<div>
<img src="assets/icons/check.png">
</div>
<div>
<h4 style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Exports all Projects from Odoo to Trello</h4>
</div>
</div>
<div class="col-md-6 pl-3 py-3 d-flex">
<div>
<img src="assets/icons/check.png">
</div>
<div>
<h4 style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Exports all Tasks from Odoo to Trello</h4>
</div>
</div>
<div class="col-md-6 pl-3 py-3 d-flex">
<div>
<img src="assets/icons/check.png">
</div>
<div>
<h4 style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Imports all Projects from Trello to Odoo </h4>
</div>
</div>
<div class="col-md-6 pl-3 py-3 d-flex">
<div>
<img src="assets/icons/check.png">
</div>
<div>
<h4 style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Imports all Tasks from Trello to Odoo </h4>
</div>
</div>
</div>
</div>
<div class="row" id="screenshots">
<div class="col-md-12"
style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important">
<h2 style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;">
<i class="fa fa-image mr-2"></i>Screenshots
</h2>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Login to <a href="https://trello.com/power-ups/admin">Trello Power-Up Admin Portal </a>and click on the New
button under Power-Ups tab</h4>
<img src="assets/screenshots/Screenshot.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Fill all marked fields and click on Create button.</h4>
<img src="assets/screenshots/Screenshot0.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Click on Generate a new API key button under API key tab.</h4>
<img src="assets/screenshots/Screenshot01.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
We can see the API key here</h4>
<p>For getting token, click on the Token link.</p>
<img src="assets/screenshots/Screenshot02.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
We can see the Username here</h4>
<p>Click on the Allow button for generating the Token.</p>
<img src="assets/screenshots/Screenshot03.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
We can see the Trello Token here.</h4>
<img src="assets/screenshots/Screenshot04.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Add the Credentials for connecting with Trello</h4>
<img src="assets/screenshots/Screenshot1.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Projects in Odoo before Import
</h4>
<img src="assets/screenshots/Screenshot2.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Click on IMPORT button</h4>
<img src="assets/screenshots/Screenshot3.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Projects in Trello</h4>
<img src="assets/screenshots/Screenshot4.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Imported Projects in Odoo</h4>
<img src="assets/screenshots/Screenshot5.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Tasks in Trello project</h4>
<img src="assets/screenshots/Screenshot6.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Tasks in imported Projects in Odoo
</h4>
<img src="assets/screenshots/Screenshot7.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Click on EXPORT button</h4>
<img src="assets/screenshots/Screenshot8.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Exported Projects in Trello</h4>
<img src="assets/screenshots/Screenshot9.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Tasks in Odoo project </h4>
<img src="assets/screenshots/Screenshot11.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
<div class="col-lg-12 my-2">
<h4 class="mt-2"
style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;">
Tasks in exported projects in Trello</h4>
<img src="assets/screenshots/Screenshot10.png"
class="img-responsive img-thumbnail border" width="100%"
height="auto"/>
</div>
</div>
<!-- SUGGESTED PRODUCTS -->
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center"
style="text-align: center; padding: 2.5rem 1rem !important;">
<h2 style="color: #212529 !important;">Suggested Products</h2>
<hr
style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/>
<div id="demo1" class="row carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner">
<div class="carousel-item active" style="min-height:0px">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/15.0/project_custom_gantt/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-top-left-radius:10px; border-top-right-radius:10px"
src="./assets/modules/gantt.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/15.0/project_task_timer/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-top-left-radius:10px; border-top-right-radius:10px"
src="./assets/modules/task_timer.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/15.0/projects_task_checklists/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-top-left-radius:10px; border-top-right-radius:10px"
src="./assets/modules/checklist.png">
</div>
</a>
</div>
</div>
<div class="carousel-item" style="min-height:0px">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/15.0/task_deadline_reminder/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-top-left-radius:10px; border-top-right-radius:10px"
src="./assets/modules/deadline.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/15.0/project_task_unique_code/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-top-left-radius:10px; border-top-right-radius:10px"
src="./assets/modules/unique.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/15.0/project_tasks_from_templates/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block"
style="border-top-left-radius:10px; border-top-right-radius:10px"
src="./assets/modules/template.png">
</div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo1" data-slide="prev"
style="left:-25px;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="right:-25px;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 SUGGESTED PRODUCTS -->
<!-- OUR SERVICES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 style="color: #212529 !important;">Our Services</h2>
<hr
style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/>
</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: #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>
</section>
<!-- END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 style="color: #212529 !important;">Our Industries</h2>
<hr
style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; 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: 10px; 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: 10px; 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: 10px; 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: 10px; 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: 10px; 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: 10px; 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: 10px; 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>
</section>
<!-- END OF OUR INDUSTRIES -->
<!-- FOOTER -->
<!-- Footer Section -->
<section class="container" style="margin: 5rem auto 2rem;">
<div class="row" style="max-width:1540px;">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 style="color: #212529 !important;">Need Help?</h2>
<hr
style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;"/>
</div>
</div>
<!-- Contact Cards -->
<div class="row d-flex justify-content-center align-items-center"
style="max-width:1540px; margin: 0 auto 2rem auto;">
<div class="col-lg-12"
style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; ">
<div class="row mt-4">
<div class="col-lg-6">
<a href="mailto:odoo@cybrosys.com" target="_blank"
class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;"><i
class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a>
</div>
<div class="col-lg-6">
<a href="https://api.whatsapp.com/send?phone=918606827707"
target="_blank"
class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #25D366; color: #FFF; border-radius: 4px;"><i
class="fa fa-whatsapp mr-2"></i>+91 86068 27707</a>
</div>
</div>
</div>
</div>
<!-- End of Contact Cards -->
</section>
<!-- Footer -->
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
<div class="row"
style="max-width:1540px; margin: 0 auto; margin-right: 3rem; ">
<!-- Logo -->
<div class="col-lg-12 d-flex justify-content-center align-items-center"
style="margin-top: 3rem;">
<img src="https://www.cybrosys.com/images/logo.png" width="200px"
height="auto"/>
</div>
<!-- End of Logo -->
<div class="col-lg-12">
<hr
style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;">
<!-- End of Footer Section -->
</div>
</div>
</section>
<!-- END OF FOOTER -->

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" password="True" 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