Browse Source

[ADD] Initial Commit

pull/124/head
Ajmalcybrosys 6 years ago
parent
commit
5a23438f35
  1. 28
      xe_currency_converter/README.rst
  2. 1
      xe_currency_converter/__init__.py
  3. 19
      xe_currency_converter/__manifest__.py
  4. 6
      xe_currency_converter/doc/RELEASE_NOTES.md
  5. 1
      xe_currency_converter/models/__init__.py
  6. 134
      xe_currency_converter/models/config_settings.py
  7. BIN
      xe_currency_converter/static/description/bank_book_dynamic_reports.png
  8. BIN
      xe_currency_converter/static/description/banner.png
  9. BIN
      xe_currency_converter/static/description/cash_book_dynamic_reports.png
  10. BIN
      xe_currency_converter/static/description/checked.png
  11. BIN
      xe_currency_converter/static/description/day_book.jpeg
  12. BIN
      xe_currency_converter/static/description/dynamic_financial_report.gif
  13. BIN
      xe_currency_converter/static/description/icon.png
  14. 443
      xe_currency_converter/static/description/index.html
  15. BIN
      xe_currency_converter/static/description/print_financial_repot.png
  16. BIN
      xe_currency_converter/static/description/report_excel.jpeg
  17. BIN
      xe_currency_converter/static/description/xe-currency-converter-1.png
  18. BIN
      xe_currency_converter/static/description/xe-currency-converter-2.png
  19. BIN
      xe_currency_converter/static/description/xe-currency-converter-3.png
  20. BIN
      xe_currency_converter/static/description/xe_currency_converter-4.png
  21. BIN
      xe_currency_converter/static/description/xe_currency_converter-5.png
  22. 34
      xe_currency_converter/views/config_settings_views.xml
  23. 13
      xe_currency_converter/views/service_cron.xml

28
xe_currency_converter/README.rst

@ -0,0 +1,28 @@
XE Currency Converter
=====================
* Convert currency rate based on company currency by using xe.com platform
* Start working at 5:00 am UTC
Tech
====
* [Python] - Models
* [XML] - Odoo views
Installation
============
- www.odoo.com/documentation/12.0/setup/install.html
- Install our custom addon
Bug Tracker
===========
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Developer
=========
* Developer:
odoo v12 Varsha Vivek
Contacts
========
* Cybrosys Technologies <https://www.cybrosys.com>

1
xe_currency_converter/__init__.py

@ -0,0 +1 @@
from . import models

19
xe_currency_converter/__manifest__.py

@ -0,0 +1,19 @@
{
'name': 'XE Currency Converter',
'version': '12.0.1.0.0',
'category': 'Accounting',
'description': """Convert currency rate based on company currency by using xe.com platform""",
'category': 'Accounting',
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
'maintainer': 'Cybrosys Techno Solutions',
'depends': ['base', 'account'],
'data': ['views/config_settings_views.xml',
'views/service_cron.xml'],
'images': ['static/description/banner.png'],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
'application': False,
}

6
xe_currency_converter/doc/RELEASE_NOTES.md

@ -0,0 +1,6 @@
## Module <xe_currency_converter>
#### 20.06.2019
#### Version 12.0.1.0.0
##### ADD
- Initial Commit

1
xe_currency_converter/models/__init__.py

@ -0,0 +1 @@
from . import config_settings

134
xe_currency_converter/models/config_settings.py

@ -0,0 +1,134 @@
# -*- coding: utf-8 -*-
"""
Convert currency rate based on company currency by using xe.com platform
"""
import requests
from lxml import etree
from odoo import api, fields, models
from odoo.exceptions import UserError
class ResConfigSettings(models.TransientModel):
"""List out the service provider for exchange the currency rate based on our company currency"""
_inherit = 'res.config.settings'
currency_update = fields.Boolean(string='Live Currency Rate Update')
service_provider = fields.Selection(related="company_id.service_provider", readonly=False)
@api.model
def get_values(self):
"""get values from the fields"""
res = super(ResConfigSettings, self).get_values()
res.update(
currency_update=self.env['ir.config_parameter'].sudo().get_param('currency_update'),
service_provider=self.env['ir.config_parameter'].sudo().get_param('service_provider')
)
return res
@api.multi
def set_values(self):
"""Set values in the fields"""
super(ResConfigSettings, self).set_values()
self.env['ir.config_parameter'].sudo().set_param('service_provider', self.service_provider)
self.env['ir.config_parameter'].sudo().set_param('currency_update', self.currency_update)
def update_rate(self):
"""Update the currency rate manually"""
self.ensure_one()
if self.company_id.service_provider != 'xe_com':
raise UserError("Please select a service provider. ")
if not (self.company_id.currency_rate_updates()):
raise UserError('Unable to connect at this this time.'
'Please try again later.')
class ResCompany(models.Model):
"""This class generate the current currency rate from xe.com website"""
_inherit = 'res.company'
service_provider = fields.Selection([
('xe_com', 'xe.com'),
], string='Service', default='xe_com')
@api.multi
def currency_rate_updates(self):
"""This method is used to update all currencies given by the provider."""
result = True
active_currencies = self.env['res.currency'].search([])
for (service_provider, companies) in self.currency_provider().items():
results = None
if service_provider == 'xe_com':
function = getattr(companies, service_provider + '_data')
results = function(active_currencies)
if service_provider != 'xe_com':
raise UserError("Unavailable currency rate web service.")
else:
companies.res_currency_rate(results)
return result
def currency_provider(self):
"""Returns a dictionary the companies in self by currency
rate provider."""
result = {}
for company in self:
if not company.service_provider:
continue
else:
result[company.service_provider] = company
return result
def res_currency_rate(self, data):
"""Generate the entries of currency rates for the company,
using the result of a function, given as parameter, to get the rates data."""
res_currency = self.env['res.currency']
currency_rate = self.env['res.currency.rate']
for company in self:
currency_rate_info = data.get(company.currency_id.name, None)
if not currency_rate_info:
raise UserError(("Main currency %s is not supported by this service provider. "
"Choose another one.") % company.currency_id.name)
base_currency = currency_rate_info[0]
for currency, (rate, date_rate) in data.items():
value = rate/base_currency
currency_object = res_currency.search([('name', '=', currency)])
existing_rate = currency_rate.search([('currency_id', '=', currency_object.id),
('name', '=', date_rate),
('company_id', '=', company.id)])
if existing_rate:
existing_rate.rate = value
else:
currency_rate.create({'currency_id': currency_object.id,
'rate': value,
'name': date_rate,
'company_id': company.id})
def xe_com_data(self, currencies):
"""Import the currency rates data from the xe.com service provider.
As this provider does not have an API, here we directly extract exchange rate
from HTML."""
url = 'http://www.xe.com/currencytables/?from=%(currency_code)s&date=%(date)s'
today = fields.Date.today()
data = requests.request('GET', url % {'currency_code': 'INR', 'date': today})
result = {}
available_currencies = currencies.mapped('name')
html_content = etree.fromstring(data.content, etree.HTMLParser())
table_rate = html_content.find(".//table[@id='historicalRateTbl']/tbody")
for table_entry in list(table_rate):
if type(
table_entry) != etree._Comment:
code = table_entry.find('.//a').text
if code in available_currencies:
rate = float(table_entry.find(
"td[@class='historicalRateTable-rateHeader']").text)
result[code] = (rate, today)
return result
@api.model
def cron_update(self):
"""Update currency rate automatically by using cron job"""
update_company = self.env['res.company'].search([])
update_company.currency_rate_updates()

BIN
xe_currency_converter/static/description/bank_book_dynamic_reports.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
xe_currency_converter/static/description/banner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
xe_currency_converter/static/description/cash_book_dynamic_reports.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
xe_currency_converter/static/description/checked.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
xe_currency_converter/static/description/day_book.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
xe_currency_converter/static/description/dynamic_financial_report.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

BIN
xe_currency_converter/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

443
xe_currency_converter/static/description/index.html

@ -0,0 +1,443 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap 101 Template</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/font-awesome.min.css">
</head>
<body>
<div class="row" style="margin: 0;padding: 2rem 3rem 4rem;position: relative;color: #000;background-position: center;background: #f9f9f9;">
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px">
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;">
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;">XE Currency Converter</h1>
<h3 style="font-size: 21px;margin-top: 8px;position: relative;">Convert currency rates in real-time.</h3>
</div>
<h2 style="font-weight: 600;font-size: 1.8rem;margin-top: 15px;">Key Highlights</h2>
<ul style=" padding: 0 1px; list-style: none; ">
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> Currency converter for Odoo12 community edition.</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> Convert 180+ currencies.</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> Get accurate currency rates for every world currency.</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> Globally trusted exchange rates of currency.</li>
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> Daily / Live rates.</li>
</ul>
<div style=" text-align: left; ">
<!-- <a href="" style="display: -webkit-inline-box;display: -webkit-inline-flex;display: -ms-inline-flexbox; display: inline-flex;-webkit-box-align: center;-webkit-align-items: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center; -webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;padding: 0 30px;font-size: 15px;height: 56px;text-transform: uppercase;border: 1px solid #f21692;color: #000;border-radius: 50px;text-decoration: none;letter-spacing: 1px;"><i class="fa fa-laptop" aria-hidden="true" style="margin-right: 5px;"></i> Live Demo</a> -->
<a href="#video" style="display: -webkit-inline-box;display: -webkit-inline-flex;display: -ms-inline-flexbox; display: inline-flex;-webkit-box-align: center;-webkit-align-items: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: center; -webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;padding: 0 30px;font-size: 15px;height: 56px;text-transform: uppercase;border: 1px solid #f21692;color: #000;border-radius: 50px;text-decoration: none;letter-spacing: 1px;"><i class="fa fa-eye" aria-hidden="true" style="margin-right: 5px;"></i> Video Demo</a>
</div>
</div>
<div class="col-md-5 col-sm-12 col-xs-12">
<img src="xe_currency_converter-4.png" class="img-responsive" alt="">
</div>
</div>
<div>
<div class="row" style=" margin: 0; padding: 2rem 3rem 1rem; ">
<h2 style="font-weight: 600;text-align: center;width: 100%;">Overview</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<h3 class="oe_slogan" style="text-align: center;font-size: 21px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 500;letter-spacing: .5px;margin-bottom: 21px;">
<strong>This module brings you an XE Currency Converter featuring easy convertion of business currencies in real-time.
<p style="font-size:20px;">Convert your currencies by using the currency exchange platform <a href="https://www.xe.com/">xe.com</a></p>
</strong><br/>
</div>
<section class="oe_container" style="padding: 2rem 3rem 1rem;background: #f9f9f9;">
<div class="panel with-nav-tabs panel-default" style=" border: none;background-color: #f9f9f9; ">
<div class="panel-heading" style=" border: none;background-color: #f9f9f9;">
<ul class="nav nav-tabs" style="display: flex;justify-content: center">
<li class="active"><a href="#tab1default" data-toggle="tab" style="font-weight: 600;font-size: 20px;padding: 10px 20px;color: #000;">Features</a></li>
<li><a href="#tab2default" data-toggle="tab" style="font-weight: 600;font-size: 20px;padding: 10px 20px;color: #000;">Screenshots</a></li>
</ul>
</div>
<div class="panel-body" style=" background: #fff; ">
<div class="tab-content">
<div class="tab-pane fade active show" id="tab1default">
<h3 class="text-center alert" style="font-weight:500;color: #091E42;background: #f9f9f9;text-align: left;border-radius: 0;" >XE Currency Converter</h3>
<ul>
<li class="mb8" style="font-family: Roboto;color: #000000;list-style-type: square;font-size: 19px;line-height: 34px;">
Available in Odoo 12.0 community edition.
</li>
<li class="mb8" style="font-family: Roboto;color: #000000;list-style-type: square;font-size: 19px;line-height: 34px;">
Easy activation and deactivation of the update.
</li>
<li class="mb8" style="font-family: Roboto;color: #000000;list-style-type: square;font-size: 19px;line-height: 34px;">
Convert 180+ currencies.
</li>
<li class="mb8" style="font-family: Roboto;color: #000000;list-style-type: square;font-size: 19px;line-height: 34px;">
This module uses an internal ir.cron feature from Odoo to schedule conversion activity.
</li>
<li class="mb8" style="font-family: Roboto;color: #000000;list-style-type: square;font-size: 19px;line-height: 34px;">
Cron job is launched once the server is started.
</li>
</ul>
</div>
<div class="tab-pane fade" id="tab2default">
<section class="oe_container">
<div style="margin-bottom:4%;">
<h4 class="text-center mb32 alert" style="font-weight:400;color: #091E42;background: #f9f9f9;text-align: left;border-radius: 0;">
To enable/disable XE currency converter, go to Invoicing > Configuration > Settings > Enable/Disable Live Currency Update.Then click on update button.
</h4>
<div class="mt16 mb16">
<img src="xe-currency-converter-1.png" style="width: 100%;" class="img img-responsive center-block">
</div>
</div>
<div style="margin-bottom:4%;">
<h4 class="text-center mb32 alert" style="font-weight:400;color: #091E42;background: #f9f9f9;text-align: left;border-radius: 0;">
After that, check the currency rate.
</h4>
<div class="mt16 mb16">
<img src="xe-currency-converter-2.png" style="width: 100%;" class="img img-responsive center-block">
</div>
</div>
<div style="margin-bottom:4%;">
<h4 class="text-center mb32 alert" style="font-weight:400;color: #091E42;background: #f9f9f9;text-align: left;border-radius: 0;">
Cron job for scheduling the activity.
</h4>
<div class="mt16 mb16">
<img src="xe-currency-converter-3.png" style="width: 100%;" class="img img-responsive center-block">
</div>
</div>
</section>
</div>
<div class="tab-pane fade" id="tab3default">Default 3</div>
</div>
</div>
</div>
</section>
<section id="video" class="" style="padding: 2rem 3rem 3rem;height:670px; ">
<div class="col-md-12" style="padding: 0;text-align: center;margin-bottom: 50px;">
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;">Video Demo</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<p>Odoo12 XE Currency Converter Demo</p>
<!-- <a href=" https://www.youtube.com/watch?v=y7i80r4BiZM&feature=youtu.be" target="_blank">
<img src="xe_currency_converter-5.png" style="width:80%; height:576px;"></a> -->
<div style="width: 100%;position: relative;">
<object width="70%" height="500">
<param name="movie" value="https://www.youtube.com/v/y7i80r4BiZM">
<param name="allowScriptAccess" value="always">
<embed src="https://youtu.be/y7i80r4BiZM" type="application/x-shockwave-flash" allowscriptaccess="always" width="422" height="258">
</object>
</div>
</div>
</section>
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;">Suggested Products</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div id="demo" class="row carousel slide mt64 mb32" 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/12.0/accounting_dynamic_reports/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block" style="border-top-left-radius: 10px;border-top-right-radius: 10px;" src="dynamic_financial_report.gif">
</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/12.0/dynamic_reports_pdf/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block" style="border-top-left-radius: 10px;border-top-right-radius: 10px;" src="print_financial_repot.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/12.0/day_book_dynamic_report/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block" style="border-top-left-radius: 10px;border-top-right-radius: 10px;" src="day_book.jpeg">
</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/12.0/bank_book_dynamic_reports/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block" style="border-top-left-radius: 10px;border-top-right-radius: 10px;" src="bank_book_dynamic_reports.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/12.0/cash_book_dynamic_reports/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block" style="border-top-left-radius: 10px;border-top-right-radius: 10px;" src="cash_book_dynamic_reports.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/12.0/account_reports_xlsx/" target="_blank">
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
<img class="img img-responsive center-block" style="border-top-left-radius: 10px;border-top-right-radius: 10px;" src="report_excel.jpeg">
</div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo" 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="#demo" 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>
</section>
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Service</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<div class="row" style=" display: flex; justify-content: center; flex-wrap: wrap;width: 100%; ">
<!-- <div style="display:flex;padding-top: 20px;justify-content: space-between;"> -->
<div class="col-md-2 col-sm-6 col-xs-12">
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;">
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-customization.png" style="width: 100%;border-radius: 100%;"/>
</a>
</div>
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Customization
</a>
</h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;">
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-erp-implementation.png" style="width: 100%;border-radius: 100%;"/>
</a>
</div>
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Implementation </a>
</h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;">
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-erp-integration.png" style="width: 100%;border-radius: 100%;"/>
</a>
</div>
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Integration
</a>
</h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;">
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-erp-support.png" style="width: 100%;border-radius: 100%;"/>
</a>
</div>
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Odoo Support</a>
</h3>
</div>
<div class="col-md-2 col-sm-6 col-xs-12">
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;">
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank">
<img src="https://www.cybrosys.com/images/hire-odoo-developer.png" style="width: 100%;border-radius: 100%;"/>
</a>
</div>
<h3 class="oe_slogan" style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Hire Odoo Developers</a>
</h3>
</a>
</div>
<!-- </div> -->
</div>
</section>
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
<div class="row" style="margin: 0">
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Industries</h2>
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
<!-- <div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> -->
<div class="row" style="width: 100%">
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank" style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Trading
</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
Easily procure and sell your products.
</h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;" style=" margin-bottom: 10px; ">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank" style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Manufacturing</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
Plan, track and schedule your operations.
</h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank" style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
Restaurant</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
Run your bar or restaurant methodical.
</h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank" style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
POS</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
Easy configuring and convivial selling.
</h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
E-commerce & Website</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
Mobile friendly, awe-inspiring product pages.
</h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Hotel Management</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
An all-inclusive hotel management application.
</h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Education</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
A Collaborative platform for educational management.
</h3>
</div>
</div>
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
<div >
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank">
<img src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
</a>
</div>
</div>
<div style="width:70%;float:left;">
<h3 class="oe_slogan" style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank" style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
Service Management</a>
</h3>
<h3 class="oe_slogan" style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
Keep track of services and invoice accordingly.
</h3>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="oe_container" style="background-image:url(https://www.cybrosys.com/images/odoo-index-footer-bg.png); background-repeat:no-repeat; background-size:100%;padding: 13% 0% 6% 0%;">
<div class="oe_slogan" style="margin-top:10px !important;margin-bottom: 0px;">
<div style=" display: flex; justify-content: center; flex-wrap: wrap; ">
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="mailto:odoo@cybrosys.com"><i class="fa fa-envelope"></i> Email us </a>
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-phone"></i> Contact Us </a>
<a style="color: #5c5c5c !important;border-radius: 0;background: none;border: none;background: #fff;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62, 57, 107, 0.05);border-radius: 30px;font-size: 12px;padding: 9px 26px;margin-right: 9px;width: 200px;text-transform: capitalize;" class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;border-radius: 0;" href="https://www.cybrosys.com/contact/"><i class="fa fa-check-square"></i> Request Customization </a>
</div>
<br>
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" class="center-block">
<div style=" display: flex; justify-content: center; flex-wrap: wrap; ">
<a href="https://twitter.com/cybrosys" target="_blank"><i class="fa fa-2x fa-twitter" style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td>
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i class="fa fa-2x fa-linkedin" style="color:white;background: #31a3d6;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td>
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" style="color:white;background: #3b5998;width:35px; ;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td>
<a href="https://plus.google.com/106641282743045431892/about" target="_blank"><i class="fa fa-2x fa-google-plus" style="color:white;background: #c53c2c;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td>
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" style="color:white;background: #ac0f18;width:35px;padding-left: 3px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a></td>
</div>
</div>
</section>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>

BIN
xe_currency_converter/static/description/print_financial_repot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
xe_currency_converter/static/description/report_excel.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
xe_currency_converter/static/description/xe-currency-converter-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
xe_currency_converter/static/description/xe-currency-converter-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
xe_currency_converter/static/description/xe-currency-converter-3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

BIN
xe_currency_converter/static/description/xe_currency_converter-4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
xe_currency_converter/static/description/xe_currency_converter-5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

34
xe_currency_converter/views/config_settings_views.xml

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_config_settings_view_name_form" model="ir.ui.view">
<field name="name">inherited_res_config_settings_view</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@data-key='account']//field[@name='module_currency_rate_live']/../.." position="after">
<div class="col-12 col-lg-6 o_setting_box" id="currency_rate_setting">
<div attrs="{'invisible': [('group_multi_currency', '=', False)]}">
<div class="o_setting_left_pane">
<field name="currency_update"/>
</div>
<div class="o_setting_right_pane">
<label string="Live Currency Update" for="Currency_update"/>
<div class="text-muted">
Update currency rates automatically
</div>
<div class="content-group" attrs="{'invisible': [('currency_update', '=', False)]}">
<div class="row mt16">
<label for="service_provider" class="col-lg-3 o_light_label"/>
<field name="service_provider"/>
<button name="update_rate" type="object" class="btn-link">
<i title="Update" role="img" aria-label="Update now" class="fa fa-fw fa-refresh"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>

13
xe_currency_converter/views/service_cron.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="ir_cron_currency_update" model="ir.cron">
<field name="name">Update Currency Rate</field>
<field name="model_id" ref="base.model_res_company"/>
<field name="state">code</field>
<field name="code">model.cron_update()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
</odoo>
Loading…
Cancel
Save