Browse Source

Feb 17 [UPDT] : Updated 'dynamic_accounts_report'

pull/243/head
AjmalCybro 2 years ago
parent
commit
16fe2919cb
  1. 2
      dynamic_accounts_report/__manifest__.py
  2. 8
      dynamic_accounts_report/doc/RELEASE_NOTES.md
  3. 2
      dynamic_accounts_report/models/account_account_custom.py
  4. 1
      dynamic_accounts_report/report/general_ledger.py
  5. 6
      dynamic_accounts_report/static/src/js/ageing.js
  6. 1
      dynamic_accounts_report/static/src/js/daybook.js
  7. 1
      dynamic_accounts_report/static/src/js/partner_ledger.js
  8. 18
      dynamic_accounts_report/static/src/xml/general_ledger_view.xml
  9. 1
      dynamic_accounts_report/wizard/balance_sheet_config.py
  10. 2
      inventory_report_generator/README.rst
  11. 1
      inventory_report_generator/__init__.py
  12. 5
      inventory_report_generator/__manifest__.py
  13. 2
      inventory_report_generator/controllers/__init__.py
  14. 12
      inventory_report_generator/controllers/main.py
  15. 6
      inventory_report_generator/doc/RELEASE_NOTES.md
  16. 72
      inventory_report_generator/models/inventory_report.py
  17. 3
      inventory_report_generator/report/inventory_pdf_report.py
  18. 39
      inventory_report_generator/report/inventory_pdf_report.xml
  19. 399
      inventory_report_generator/static/description/index.html
  20. 14
      inventory_report_generator/static/src/css/inventory_report.css
  21. 251
      inventory_report_generator/static/src/xml/inventory_report_view.xml

2
dynamic_accounts_report/__manifest__.py

@ -22,7 +22,7 @@
{
'name': 'Dynamic Financial Reports V16',
'version': '16.0.1.0.1',
'version': '16.0.1.0.2',
'category': 'Accounting',
'live_test_url': 'https://www.youtube.com/watch?v=gVQi9q9Rs-E&t=5s',
'summary': """Dynamic Financial Reports with drill

8
dynamic_accounts_report/doc/RELEASE_NOTES.md

@ -5,8 +5,12 @@
#### ADD
- Initial commit for Odoo 16 dynamic financial reports
#### 01.02.2023
#### Version 16.0.1.0.1
#### UPDT
- css file updated
- CSS file updated
#### 07.02.2023
#### Version 16.0.1.0.2
#### UPDT AND BUGFIX
- Report Bug Fix: Correct the currency used in the General Ledger

2
dynamic_accounts_report/models/account_account_custom.py

@ -52,7 +52,6 @@ class AccountAccountCustom(models.Model):
[('type', '=', 'account_type')]):
for rec in record.account_ids:
if rec.id == self._origin.id:
print("function called")
record.write({"account_ids": [(3, rec.id)]})
if self.account_type.startswith("asset"):
for record1 in self.env[
@ -64,7 +63,6 @@ class AccountAccountCustom(models.Model):
{"account_ids": [(4, self._origin.id)]})
elif self.account_type.startswith(
"liability") or self.account_type == "equity":
print('function_called...........')
for record1 in self.env[
'account.financial.report'].search(
[('type', '=', 'account_type')]):

1
dynamic_accounts_report/report/general_ledger.py

@ -6,7 +6,6 @@ class GeneralLedger(models.AbstractModel):
@api.model
def _get_report_values(self, docids, data=None):
if self.env.context.get('trial_pdf_report'):
if data.get('report_data'):
data.update({'account_data': data.get('report_data')['report_lines'],

6
dynamic_accounts_report/static/src/js/ageing.js

@ -260,11 +260,9 @@ odoo.define('dynamic_accounts_report.ageing', function (require) {
var account_id = $(event.currentTarget).data('account-id');
var partner_id = $(event.currentTarget)[0].cells[0].innerText;
console.log("partner_id",partner_id)
var offset = 0;
var td = $(event.currentTarget).next('tr').find('td');
console.log("td",td.length)
if (td.length == 1) {
self._rpc({
@ -274,8 +272,6 @@ odoo.define('dynamic_accounts_report.ageing', function (require) {
[self.wizard_id]
],
}).then(function(data) {
console.log(data)
_.each(data['report_lines'][0], function(rep_lines) {
_.each(rep_lines['child_lines'], function(child_line) {
@ -305,7 +301,6 @@ odoo.define('dynamic_accounts_report.ageing', function (require) {
},
view_acc_move: function(event) {
console.log("view_acc_move")
event.preventDefault();
var self = this;
var context = {};
@ -344,7 +339,6 @@ odoo.define('dynamic_accounts_report.ageing', function (require) {
apply_filter: function(event) {
console.log("filter")
event.preventDefault();
var self = this;
self.initial_render = false;

1
dynamic_accounts_report/static/src/js/daybook.js

@ -90,7 +90,6 @@ odoo.define('dynamic_partner_daybook.daybook', function (require) {
method: 'view_report',
args: [[this.wizard_id]],
}).then(function(datas) {
console.log("data",datas)
_.each(datas['report_lines'], function(rep_lines) {
rep_lines.debit = self.format_currency(datas['currency'],rep_lines.debit);
rep_lines.credit = self.format_currency(datas['currency'],rep_lines.credit);

1
dynamic_accounts_report/static/src/js/partner_ledger.js

@ -381,7 +381,6 @@ odoo.define('dynamic_accounts_report.partner_ledger', function (require) {
var account_type_ids_text = [];
var span_res = document.getElementById("type_res")
var type_list = $(".type").select2('data')
console.log(type_list)
for (var i = 0; i < type_list.length; i++) {
if(type_list[i].element[0].selected === true)
{account_type_id.push(parseInt(type_list[i].id))

18
dynamic_accounts_report/static/src/xml/general_ledger_view.xml

@ -415,7 +415,8 @@
<span>-</span>
</t>
<t t-else="">
<t t-esc="account_line.currency_code"/>
<!-- <t t-esc="account_line.currency_code"/>-->
<t t-esc="currency_symbol"/>
<t t-esc="account_line.debit"/>
<!-- <t t-esc="Math.round(account_line.debit * Math.pow(10, 2)) / Math.pow(10, 2)"/>-->
</t>
@ -425,7 +426,8 @@
<span>-</span>
</t>
<t t-else="">
<t t-esc="account_line.currency_code"/>
<!-- <t t-esc="account_line.currency_code"/>-->
<t t-esc="currency_symbol"/>
<t t-esc="account_line.credit"/>
<!-- <t t-esc="Math.round(account_line.credit * Math.pow(10, 2)) / Math.pow(10, 2)"/>-->
</t>
@ -437,7 +439,8 @@
<t t-else="">
<t t-set="t_balance"
t-value="Math.round((t_balance+account_line.balance)* 100) / 100"/>
<t t-esc="account_line.currency_code"/>
<!-- <t t-esc="account_line.currency_code"/>-->
<t t-esc="currency_symbol"/>
<!-- <t t-esc="account_line.balance"/>-->
<t t-esc="t_balance"
t-options='{"widget": "float", "precision": 2}'/>
@ -453,7 +456,8 @@
<t t-else="">
<t t-esc="account_line.debit"/>
<!-- <t t-esc="Math.round(account_line.debit * Math.pow(10, 2)) / Math.pow(10, 2)"/>-->
<t t-esc="account_line.currency_code"/>
<!-- <t t-esc="account_line.currency_code"/>-->
<t t-esc="currency_symbol"/>
</t>
</td>
<td t-att-style="style_right" class="amt">
@ -463,7 +467,8 @@
<t t-else="">
<t t-esc="account_line.credit"/>
<!-- <t t-esc="Math.round(account_line.credit * Math.pow(10, 2)) / Math.pow(10, 2)"/>-->
<t t-esc="account_line.currency_code"/>
<!-- <t t-esc="account_line.currency_code"/>-->
<t t-esc="currency_symbol"/>
</t>
</td>
<td t-att-style="style_right" class="amt">
@ -477,7 +482,8 @@
t-options='{"widget": "float", "precision": 2}'/>
<!-- <t t-esc="account_line.balance"/>-->
<!-- <t t-esc="Math.round(account_line.balance * Math.pow(10, 2)) / Math.pow(10, 2)"/>-->
<t t-esc="account_line.currency_code"/>
<!-- <t t-esc="account_line.currency_code"/>-->
<t t-esc="currency_symbol"/>
</t>
</td>
</t>

1
dynamic_accounts_report/wizard/balance_sheet_config.py

@ -123,7 +123,6 @@ class BalanceSheet(models.TransientModel):
# states = [report.account_type_ids]
"""end"""
print(report)
accounts = self.env['account.account'].search([
('account_type', 'in',
report.account_ids.mapped('account_type'))

2
inventory_report_generator/README.rst

@ -1,6 +1,6 @@
Inventory All In One Report Generator
=====================================
* Inventory All In One Dynamic Report For Odoo 15 community And Enterprise editions
* Inventory All In One Dynamic Report For Odoo 16 community And Enterprise editions
Installation
============

1
inventory_report_generator/__init__.py

@ -18,7 +18,6 @@
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import models
from . import report
from . import controllers

5
inventory_report_generator/__manifest__.py

@ -3,7 +3,7 @@
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2022-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Copyright (C) 2022-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
@ -12,7 +12,6 @@
# 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/>.
@ -21,7 +20,7 @@
{
'name': 'Inventory All In One Report Generator',
'version': '15.0.1.1.1',
'version': '16.0.1.1.2',
'summary': "Dynamic Inventory Report Generator",
'description': "Dynamic Inventory Report Generator",
'category': 'Inventory',

2
inventory_report_generator/controllers/__init__.py

@ -3,7 +3,7 @@
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2022-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Copyright (C) 2022-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.

12
inventory_report_generator/controllers/main.py

@ -26,8 +26,10 @@ from odoo.tools import html_escape
class TBXLSXReportController(http.Controller):
@http.route('/inventory_dynamic_xlsx_reports', type='http', auth='user', methods=['POST'], csrf=False)
def get_report_xlsx(self, model, options, output_format, report_data, report_name, dfr_data, **kw):
@http.route('/inventory_dynamic_xlsx_reports', type='http', auth='user',
methods=['POST'], csrf=False)
def get_report_xlsx(self, model, options, output_format, report_data,
report_name, dfr_data, **kw):
uid = request.session.uid
report_obj = request.env[model].with_user(uid)
dfr_data = dfr_data
@ -39,10 +41,12 @@ class TBXLSXReportController(http.Controller):
None,
headers=[
('Content-Type', 'application/vnd.ms-excel'),
('Content-Disposition', content_disposition(report_name + '.xlsx'))
('Content-Disposition',
content_disposition(report_name + '.xlsx'))
]
)
report_obj.get_inventory_xlsx_report(options, response, report_data, dfr_data)
report_obj.get_inventory_xlsx_report(options, response,
report_data, dfr_data)
response.set_cookie('fileToken', token)
return response
except Exception as e:

6
inventory_report_generator/doc/RELEASE_NOTES.md

@ -1,7 +1,7 @@
## Module <sale_report_generator>
## Module <inventory_report_generator>
#### 14.10.2022
#### Version 16.0.1.0.0
#### 16.02.2023
#### Version 16.0.1.1.2
#### ADD
Initial Commit

72
inventory_report_generator/models/inventory_report.py

@ -44,7 +44,6 @@ class DynamicInventoryReport(models.Model):
@api.model
def inventory_report(self, option):
# orders = self.env['purchase.order'].search([])
report_values = self.env['dynamic.inventory.report'].search(
[('id', '=', option[0])])
data = {
@ -89,7 +88,8 @@ class DynamicInventoryReport(models.Model):
return filters
def get_filter_data(self, option):
r = self.env['dynamic.inventory.report'].search([('id', '=', option[0])])
r = self.env['dynamic.inventory.report'].search(
[('id', '=', option[0])])
default_filters = {}
filter_dict = {
@ -113,18 +113,19 @@ class DynamicInventoryReport(models.Model):
new_filter = None
if data.get('report_type') == 'report_by_transfers':
query = '''
select l.name,l.partner_id,l.scheduled_date,l.origin,l.company_id,l.state,res_partner.name as partner,res_company.name as company,l.id as id
from stock_picking as l
left join res_partner on l.partner_id = res_partner.id
left join res_company on l.company_id = res_company.id
'''
query = '''select l.name,l.partner_id,l.scheduled_date,l.origin,
l.company_id,l.state,res_partner.name as partner,
res_company.name as company,l.id as id from stock_picking as l
left join res_partner on l.partner_id = res_partner.id left join
res_company on l.company_id = res_company.id'''
term = 'Where '
if data.get('date_from'):
query += "Where l.scheduled_date >= '%s' " % data.get('date_from')
query += " Where l.scheduled_date >= '%s' " % data.get(
'date_from')
term = 'AND '
if data.get('date_to'):
query += term + "l.scheduled_date <= '%s' " % data.get('date_to')
query += term + " l.scheduled_date <= '%s' " % data.get(
'date_to')
self._cr.execute(query)
report_by_order = self._cr.dictfetchall()
report_sub_lines.append(report_by_order)
@ -136,26 +137,26 @@ class DynamicInventoryReport(models.Model):
LEFT OUTER JOIN ir_property prop_date ON prop_date.res_id = CONCAT('product.product,', product_product.id)
left join product_category on product_category.id = product_template.categ_id
'''
term = 'Where '
term = ' Where '
if data.get('date_from'):
query += "Where l.create_date >= '%s' " % data.get('date_from')
term = 'AND '
query += " Where prop_date.create_date >= '%s' " % data.get('date_from')
term = ' AND '
if data.get('date_to'):
query += term + "l.create_date <= '%s' " % data.get('date_to')
query += term + " prop_date.create_date <= '%s' " % data.get('date_to')
self._cr.execute(query)
report_by_order_details = self._cr.dictfetchall()
report_sub_lines.append(report_by_order_details)
elif data.get('report_type') == 'report_by_warehouse':
query = '''
select l.name,l.company_id,l.view_location_id,l.reception_route_id as route,l.write_date,res_company.name as company,stock_location.name as location,stock_location_route.name as route
from stock_warehouse as l
left join res_company on res_company.id = l.company_id
left join stock_location on stock_location.id = l.view_location_id
left join stock_location_route on stock_location_route.id = l.reception_route_id
'''
term = 'Where '
query = '''select l.name,l.company_id,l.view_location_id,
l.reception_route_id as route,l.write_date,res_company.name as
company,stock_location.name as location,stock_route.name as
route from stock_warehouse as l left join res_company on
res_company.id = l.company_id left join stock_location on
stock_location.id = l.view_location_id left join stock_route on
stock_route.id = l.reception_route_id'''
term = ' Where '
if data.get('date_from'):
query += "Where l.write_date >= '%s' " % data.get('date_from')
query += " Where l.write_date >= '%s' " % data.get('date_from')
term = 'AND '
if data.get('date_to'):
query += term + "l.write_date <= '%s' " % data.get('date_to')
@ -163,14 +164,13 @@ class DynamicInventoryReport(models.Model):
report_by_product = self._cr.dictfetchall()
report_sub_lines.append(report_by_product)
elif data.get('report_type') == 'report_by_location':
query = '''
select l.complete_name,l.usage as location_type,l.create_date,l.company_id,res_company.name as company
from stock_location as l
left join res_company on res_company.id = l.company_id
'''
term = 'Where '
query = '''select l.complete_name,l.usage as location_type,
l.create_date,l.company_id,res_company.name as company from
stock_location as l left join res_company on res_company.id =
l.company_id'''
term = ' Where '
if data.get('date_from'):
query += "Where l.create_date >= '%s' " % data.get('date_from')
query += " Where l.create_date >= '%s' " % data.get('date_from')
term = 'AND '
if data.get('date_to'):
query += term + "l.create_date <= '%s' " % data.get('date_to')
@ -312,10 +312,6 @@ class DynamicInventoryReport(models.Model):
sheet.write('C7', 'Create Date', heading)
sheet.write('D7', 'Product Cost', heading)
sheet.write('E7', 'On Hand Qty', heading)
# sheet.write('F7', 'Product Name', heading)
# sheet.write('G7', 'Price unit', heading)
# sheet.write('H7', 'Qty', heading)
# sheet.write('I7', 'Price Total', heading)
lst = []
for rec in report_data_main[0]:
@ -338,14 +334,10 @@ class DynamicInventoryReport(models.Model):
two_lst = []
row += 1
sheet.write(row, col, rec_data['category'], txt_l)
sheet.write(row, col + 1, rec_data['name'], txt_l)
sheet.write(row, col + 1, rec_data['name']['en_US'], txt_l)
sheet.write(row, col + 2, rec_data['create_date'], txt_l)
sheet.write(row, col + 3, rec_data['value_float'], txt_l)
sheet.write(row, col + 4, rec_data['quantity'], txt_l)
# sheet.write(row, col + 5, rec_data['product'], txt_l)
# sheet.write(row, col + 6, rec_data['price_unit'], txt_l)
# sheet.write(row, col + 7, rec_data['sum'], txt_l)
# sheet.write(row, col + 8, rec_data['amount_total'], txt_l)
if filters.get('report_type') == 'report_by_warehouse':
sheet.merge_range('B5:D5', 'Report Type: ' +
@ -376,7 +368,7 @@ class DynamicInventoryReport(models.Model):
sheet.write(row, col + 1, rec_data['write_date'], txt_l)
sheet.write(row, col + 2, rec_data['company'], txt_l)
sheet.write(row, col + 3, rec_data['location'], txt_l)
sheet.write(row, col + 4, rec_data['route'], txt_l)
sheet.write(row, col + 4, rec_data['route']['en_US'], txt_l)
if filters.get('report_type') == 'report_by_location':

3
inventory_report_generator/report/inventory_pdf_report.py

@ -30,7 +30,8 @@ class PurchaseOrder(models.AbstractModel):
if self.env.context.get('inventory_pdf_report'):
if data.get('report_data'):
data.update({'report_main_line_data': data.get('report_data')['report_lines'],
data.update({'report_main_line_data': data.get('report_data')[
'report_lines'],
'Filters': data.get('report_data')['filters'],
'company': self.env.company,
})

39
inventory_report_generator/report/inventory_pdf_report.xml

@ -1,4 +1,13 @@
<odoo>
<record id="action_report_inventory_all_in_one" model="ir.actions.report">
<field name="name">Inventory All In One Report</field>
<field name="model">dynamic.inventory.report</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">inventory_report_generator.inventory_pdf_report</field>
<field name="report_file">inventory_report_generator.inventory_pdf_report</field>
<field name="binding_type">report</field>
</record>
<template id="inventory_pdf_report">
<t t-call="web.html_container">
<t t-call="web.internal_layout">
@ -45,17 +54,21 @@
</div>
</div>
<br></br>
<table class="table table-sm table-reports">
<thead>
<tr >
<tr>
<th class="text-left">Reference</th>
<th colspan="6" class="text-center">Scheduled Date</th>
<th colspan="6" class="text-right">Source Document</th>
<th colspan="6" class="text-center">Scheduled
Date
</th>
<th colspan="6" class="text-right">Source
Document
</th>
<th colspan="6" class="text-right">Company</th>
<th colspan="6" class="text-center">Delivery Address</th>
<th colspan="6" class="text-center">Delivery
Address
</th>
<th colspan="6" class="text-left">State</th>
</tr>
</thead>
@ -82,7 +95,6 @@
</td>
</tr>
</t>
@ -130,8 +142,10 @@
<th>Category</th>
<th colspan="6">Product Name</th>
<th colspan="6" class="text-right">Create Date</th>
<th colspan="6" class="text-center">Product Cost</th>
<th colspan="6" class="text-center">On Hand Qty</th>
<th colspan="6" class="text-center">Product Cost
</th>
<th colspan="6" class="text-center">On Hand Qty
</th>
</tr>
</thead>
<tbody>
@ -292,12 +306,5 @@
<br></br>
</div>
</template>
<record id="action_report_inventory_all_in_one" model="ir.actions.report">
<field name="name">Inventory All In One Report</field>
<field name="model">dynamic.inventory.report</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">inventory_report_generator.inventory_pdf_report</field>
<field name="report_file">inventory_report_generator.inventory_pdf_report</field>
</record>
</odoo>

399
inventory_report_generator/static/description/index.html

@ -1,19 +1,20 @@
<div style="background-color: #714B67; min-height: 600px; width: 100%; padding: 15px; position: relative;">
<!-- TITLE BAR -->
<div
style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;">
<img src="assets/misc/cybrosys-logo.png" width="42" height="42" style="width: 42px; height: 42px;" />
style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;">
<img src="assets/misc/cybrosys-logo.png" width="42" height="42"
style="width: 42px; height: 42px;"/>
<div>
<div style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
class="mr-2">
<i class="fa fa-check mr-1"></i>Community
</div>
<div style="color: #875A7B; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
class="mr-2">
<i class="fa fa-check mr-1"></i>Enterprise
</div>
<div style="color: #017E84; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
class="mr-2">
<i class="fa fa-check mr-1"></i>Odoo.sh
</div>
</div>
@ -21,66 +22,71 @@
<!-- END OF TITLE BAR -->
<!-- APP HERO -->
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">Inventory All In One Report Generator</h1>
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">Dynamic Inventory Report Generator</p>
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">
Inventory All In One Report Generator</h1>
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">
Dynamic Inventory Report Generator</p>
<!-- END OF APP HERO -->
<img src="assets/screenshots/hero.gif"
style="width: 75%; height: auto; position: absolute; margin-left: auto; margin-right: auto; top: 45%; left: 12%; right: auto;" />
style="width: 75%; height: auto; position: absolute; margin-left: auto; margin-right: auto; top: 45%; left: 12%; right: auto;"/>
</div>
<!-- NAVIGATION SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/compass.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/compass.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Explore This
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Explore This
Module</h2>
</div>
<div class="row my-4" style="font-family: 'Montserrat', sans-serif;">
<div class="col-sm-12 col-md-6 my-3">
<a href="#overview">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">Learn
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">Learn
more about this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#features">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
features of this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#screenshots">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span>
<span
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
screenshots for this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
</div>
</a>
</div>
@ -88,84 +94,109 @@
<!-- END OF NAVIGATION SECTION -->
<!-- OVERVIEW SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="overview">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;"
id="overview">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pie-chart.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pie-chart.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Overview
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Overview
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="row"
style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 py-4">
This app is useful to provide different Inventory Reports to do analysis. It shows the Inventory analysis of a company in many aspects such as by order,order details,salesman and so on. It can be filtered out based on different date ranges too.
This app is useful to provide different Inventory Reports to do
analysis. It shows the Inventory analysis of a company in many aspects
such as by order,order details,salesman and so on. It can be filtered
out based on different date ranges too.
</div>
</div>
<!-- END OF OVERVIEW SECTION -->
<!-- FEATURES SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="features">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;"
id="features">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/features.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/features.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Features
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Features
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="row"
style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 col-md-6">
<div class="d-flex align-items-center" style="margin-top: 40px; margin-bottom: 40px">
<img src="assets/misc/check-box.png" class="mr-2" />
<div class="d-flex align-items-center"
style="margin-top: 40px; margin-bottom: 40px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Community & Enterprise Support</span>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<div class="d-flex align-items-center"
style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Filtering based on different aspects</span>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<div class="d-flex align-items-center"
style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Drilled on approach</span>
</div>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Print Reports in both PDF and XLSX format.</span>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
</div>
<div class="d-flex align-items-center"
style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Print Reports in both PDF and XLSX format.</span>
</div>
<div class="d-flex align-items-center"
style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2"/>
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Generates Report for a specific date range.</span>
</div>
</div>
</div>
</div>
<!-- END OF FEATURES SECTION -->
<!-- SCREENSHOTS SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="screenshots">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;"
id="screenshots">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pictures.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pictures.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Screenshots
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Screenshots
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">All In One Inventory Report Menu</h3>
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
All In One Inventory Report Menu</h3>
<img src="assets/screenshots/1.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Inventory Report Based On Categories</h3>
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Inventory Report Based On Categories</h3>
<img src="assets/screenshots/2.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Inventory Report Based On Product</h3>
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Inventory Report Based On Product</h3>
<img src="assets/screenshots/3.png" class="img-thumbnail">
</div>
@ -174,12 +205,15 @@ Generates Report for a specific date range.</span>
<!-- END OF SCREENSHOTS SECTION -->
<!-- RELATED PRODUCTS -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/categories.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/categories.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Related
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Related
Products
</h2>
</div>
@ -189,65 +223,89 @@ Generates Report for a specific date range.</span>
<!-- The slideshow -->
<div class="carousel-inner" style="padding: 30px;">
<div class="carousel-item" style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/15.0/dynamic_accounts_report/" target="_blank">
<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/dynamic_accounts_report/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;"
src="assets/modules/1.png">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/1.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/custom_gantt_view/" target="_blank">
<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/custom_gantt_view/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;"
src="assets/modules/2.png">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/2.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_custom_gantt/" target="_blank">
<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-radius: 0px;"
src="assets/modules/3.png">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/3.png">
</div>
</a>
</div>
</div>
<div class="carousel-item active" style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/15.0/account_reports_xlsx/" target="_blank">
<div class="carousel-item active"
style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
style="float:left">
<a href="https://apps.odoo.com/apps/modules/15.0/account_reports_xlsx/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;"
src="assets/modules/4.png">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/4.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/base_accounting_kit/" target="_blank">
<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/base_accounting_kit/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;"
src="assets/modules/5.png">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/5.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/hr_payroll_community/" target="_blank">
<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/hr_payroll_community/"
target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;"
src="assets/modules/6.png">
<img class="img img-responsive center-block"
style="border-radius: 0px;"
src="assets/modules/6.png">
</div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo1" data-slide="prev" style="width:35px; color:#000"> <span
class="carousel-control-prev-icon"><i class="fa fa-chevron-left" style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo1" data-slide="next" style="width:35px; color:#000">
<span class="carousel-control-next-icon"><i class="fa fa-chevron-right"
<a class="carousel-control-prev" href="#demo1" data-slide="prev"
style="width:35px; color:#000"> <span
class="carousel-control-prev-icon"><i
class="fa fa-chevron-left"
style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo1"
data-slide="next" style="width:35px; color:#000">
<span class="carousel-control-next-icon"><i
class="fa fa-chevron-right"
style="font-size:24px"></i></span>
</a>
</a>
</div>
</div>
</div>
@ -255,12 +313,15 @@ Generates Report for a specific date range.</span>
<!-- OUR SERVICES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/star.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/star.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our Services
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Our Services
</h2>
</div>
@ -268,30 +329,36 @@ Generates Report for a specific date range.</span>
<div class="row">
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
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;">
<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">
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;">
<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">
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;">
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Support</h6>
</div>
@ -299,10 +366,12 @@ Generates Report for a specific date range.</span>
<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">
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;">
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Hire
Odoo
Developer</h6>
@ -310,20 +379,24 @@ Generates Report for a specific date range.</span>
<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">
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;">
<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">
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;">
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Migration</h6>
</div>
@ -331,30 +404,36 @@ Generates Report for a specific date range.</span>
<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">
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;">
<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">
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;">
<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">
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;">
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Licensing Consultancy</h6>
</div>
@ -366,12 +445,15 @@ Generates Report for a specific date range.</span>
<!-- OUR INDUSTRIES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/corporate.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/corporate.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Our
Industries
</h2>
</div>
@ -380,8 +462,9 @@ Generates Report for a specific date range.</span>
<div class="row">
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/trading-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Trading
</h5>
@ -394,8 +477,9 @@ Generates Report for a specific date range.</span>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/pos-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
POS
</h5>
@ -408,8 +492,9 @@ Generates Report for a specific date range.</span>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/education-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Education
</h5>
@ -421,9 +506,10 @@ Generates Report for a specific date range.</span>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px"
width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/manufacturing-black.png"
class="img-responsive mb-3" height="48px"
width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
@ -435,8 +521,9 @@ Generates Report for a specific date range.</span>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/ecom-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
@ -449,8 +536,9 @@ Generates Report for a specific date range.</span>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/service-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Service Management
</h5>
@ -462,8 +550,9 @@ Generates Report for a specific date range.</span>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/restaurant-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Restaurant
</h5>
@ -475,8 +564,9 @@ Generates Report for a specific date range.</span>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px">
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/hotel-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
@ -492,12 +582,15 @@ Generates Report for a specific date range.</span>
<!-- END OF END OF OUR INDUSTRIES -->
<!-- SUPPORT -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex align-items-center"
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/customer-support.png" />
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/customer-support.png"/>
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Support
<h2 class="mt-2"
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
Support
</h2>
</div>
<div class="container mt-5">
@ -505,12 +598,14 @@ Generates Report for a specific date range.</span>
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4"
style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/support.png" height="48" width="48" style="width: 42px; height: 42px;" />
style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/support.png" height="48" width="48"
style="width: 42px; height: 42px;"/>
</div>
<div>
<h4>Need Help?</h4>
<p style="line-height: 100%;">Got questions or need help? Get in touch.</p>
<p style="line-height: 100%;">Got questions or need help?
Get in touch.</p>
<a href="mailto:odoo@cybrosys.com">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
odoo@cybrosys.com</p>
@ -521,14 +616,16 @@ Generates Report for a specific date range.</span>
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4"
style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/whatsapp.png" height="52" width="52" style="width: 52px; height: 52px;" />
style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/whatsapp.png" height="52" width="52"
style="width: 52px; height: 52px;"/>
</div>
<div>
<h4>WhatsApp</h4>
<p style="line-height: 100%;">Say hi to us on WhatsApp!</p>
<a href="https://api.whatsapp.com/send?phone=918606827707">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">+91 86068
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
+91 86068
27707</p>
</a>
</div>
@ -538,7 +635,7 @@ Generates Report for a specific date range.</span>
<div class="row">
<div class="col-sm-12 my-5 d-flex justify-content-center align-items-center">
<img src="assets/misc/logo.png" width="144" height="31"
style="width:144px; height: 31px; margin-top: 40px;" />
style="width:144px; height: 31px; margin-top: 40px;"/>
</div>
</div>
</div>

14
inventory_report_generator/static/src/css/inventory_report.css

@ -13,7 +13,7 @@ a.dropdown-toggle.report-type {
margin: 10px;
}
.search-Result-Selection {
.search {
border: 2px solid #ccc;
width: 257px;
margin-right: 10px;
@ -44,15 +44,3 @@ tr.table_pr_head th {
font-size: 18px;
text-align: center;
}
ul.dropdown-menu.show {
height: 40px;
background-color: #eeeeee;
width: 200px;
}
ul.dropdown-menu.show li {
margin-left: 10px;
}
ul.dropdown-menu.show a{
color: #221c1c;
}

251
inventory_report_generator/static/src/xml/inventory_report_view.xml

@ -18,7 +18,8 @@
<t t-name="InventoryFilterView">
<div style="display: flex; margin-right: 10px; margin-left: 10px;justify-content:space-between">
<div class="sub_container_left" style="width: 285px; margin-left: 36px;">
<div class="sub_container_left"
style="width: 285px; margin-left: 36px;">
<div class="row report_print">
<button type="button" class="btn btn-primary" id="pdf"
style="top: 0px; height: 42px; color: white; background-color: #7c7bad; border-color: #7c7bad; width: 127px; margin-right:4px;">
@ -32,104 +33,106 @@
</div>
<div style="margin-bottom: 40px;display: flex; margin-right:10px;">
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle time_range_pr"
type="button" id="date_chose"
data-bs-toggle="dropdown" aria-expanded="false"
style="height:33px;width:150px;align-items:center;display:flex;">
<span class="fa fa-calendar" title="Dates" role="img"
aria-label="Dates"
style="display:block;margin-right:5px;"/>
Date Range
</button>
<div class="dropdown-menu" role="menu"
aria-labelledby="date_chose">
<div class="form-group"
style="margin-left:10px; margin-right:10px;">
<label class="" for="date_from">Start Date :
</label>
<div class="input-group date" id="date_from"
data-target-input="nearest">
<input type="text" name="date_from"
class="form-control datetimepicker-input"
data-target="#date_from"
t-att-name="prefix"/>
<div class="input-group-append"
data-target="#date_from"
data-toggle="datetimepicker">
<span class="input-group-text"
style="justify-content:center;padding-bottom: 10px;padding-top: 5px;">
<span class="fa fa-calendar" role="img"
aria-label="Calendar"/>
</span>
</div>
</div>
<label class="" for="date_to">End Date :</label>
<div class="input-group date" id="date_to"
data-target-input="nearest">
<input type="text" name="date_to"
class="form-control datetimepicker-input"
data-target="#date_to"
t-att-name="prefix"/>
<div class="input-group-append"
data-target="#date_to"
data-toggle="datetimepicker">
<span class="input-group-text"
style="justify-content:center;padding-bottom: 10px;padding-top: 5px;">
<span class="fa fa-calendar" role="img"
aria-label="Calendar"/>
</span>
</div>
</div>
<div style="margin-bottom: 40px;display: flex; margin-right:10px;">
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle time_range_pr"
type="button" id="date_chose"
data-bs-toggle="dropdown" aria-expanded="false" style="height:33px;width:150px;align-items:center;display:flex;">
<span class="fa fa-calendar" title="Dates" role="img"
aria-label="Dates" style="display:block;margin-right:5px;"/>
Date Range
</button>
<div class="dropdown-menu" role="menu"
aria-labelledby="date_chose">
<div class="form-group" style="margin-left:10px; margin-right:10px;">
<label class="" for="date_from">Start Date :</label>
<div class="input-group date" id="date_from"
data-target-input="nearest">
<input type="text" name="date_from"
class="form-control datetimepicker-input"
data-target="#date_from"
t-att-name="prefix"/>
<div class="input-group-append"
data-target="#date_from"
data-toggle="datetimepicker">
<span class="input-group-text" style="justify-content:center;padding-bottom: 10px;padding-top: 5px;">
<span class="fa fa-calendar" role="img"
aria-label="Calendar" />
</span>
</div>
</div>
</div>
<label class="" for="date_to">End Date :</label>
<div class="input-group date" id="date_to"
data-target-input="nearest">
<input type="text" name="date_to"
class="form-control datetimepicker-input"
data-target="#date_to"
t-att-name="prefix"/>
<div class="input-group-append"
data-target="#date_to"
data-toggle="datetimepicker">
<span class="input-group-text" style="justify-content:center;padding-bottom: 10px;padding-top: 5px;">
<span class="fa fa-calendar" role="img"
aria-label="Calendar"/>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="search-Result-Selection" style="display:flex;">
<div class="dropdown" style="border=2px;width:100%;margin-right:10px;border-radius:5px;">
<a class="btn btn-secondary dropdown-togglereport-type"
href="#" role="button" id="dropdownMenuLink"
data-bs-toggle="dropdown" aria-expanded="false">
<span class="fa fa-book"/>
<span class="low_case">Report Type :</span>
</a>
<select id="selection" class="dropdown-menu report_type"
aria-labelledby="dropdownMenuLink"
name="states[]">
<div role="separator" class="dropdown-divider"/>
<option value="report_by_order" selected="">Report
By
Order</option>
<option value="report_by_order_detail">Report By
Order
Detail</option>
<option value="report_by_product">Report By
Product</option>
<option value="report_by_categories">Report By
Categories</option>
<option value="report_by_purchase_representative">
Report
By Purchase Representative</option>
<option value="report_by_state">Report By
State</option>
</select>
<span id="report_res"/>
</div>
<div class="search-Result-Selection search" style="display:flex;">
<div class="dropdown"
style="border=2px;width:100%;margin-right:10px;border-radius:5px;">
<a class="btn btn-secondary dropdown-togglereport-type"
href="#" role="button" id="dropdownMenuLink"
data-bs-toggle="dropdown" aria-expanded="false">
<span class="fa fa-book"/>
<span class="low_case">Report Type :</span>
</a>
<select id="selection"
class="dropdown-menu report_type"
name="states[]">
<div role="separator" class="dropdown-divider"/>
<option value="report_by_transfers" selected="">
Report By Transfers
</option>
<option value="report_by_categories">Report By
Categories
</option>
<option value="report_by_warehouse">Report By
Warehouse
</option>
<option value="report_by_location">Report By
Location
</option>
</select>
<span id="report_res"/>
</div>
</div>
</div>
<div class="row report_print" style="margin-left:4px;">
<button type="button" id="apply_filter"
class="btn btn-primary">
Apply
</button>
</div>
<div class="row report_print" style="margin-left:4px;">
<button type="button" id="apply_filter"
class="btn btn-primary">
Apply
</button>
</div>
</div>
</div>
</div>
</t>
@ -150,25 +153,32 @@
</tr>
</thead>
<tbody>
<!-- <t t-if="order['report_type']='report_by_order'">-->
<t t-foreach="report_lines" t-as="dynamic_inventory_report">
<t t-foreach="report_lines"
t-as="dynamic_inventory_report">
<tr style="border: 1.5px solid black;" class="pr-line"
<tr style="border: 1.5px solid black;"
class="pr-line"
t-att-data-account-id="dynamic_inventory_report['id']"
t-attf-data-target=".a{{dynamic_inventory_report['id']}}">
<td>
<t t-if="dynamic_inventory_report['id']">
<div class="dropdown dropdown-toggle">
<a data-toggle="dropdown" href="#" id="table_toggle_btn" data-bs-toggle="dropdown" aria-expanded="false">
<a data-toggle="dropdown" href="#"
id="table_toggle_btn"
data-bs-toggle="dropdown"
aria-expanded="false">
<span class="caret"/>
<span>
<t t-esc="dynamic_inventory_report['name']"/>
</span>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="table_toggle_btn">
<ul class="dropdown-menu"
role="menu"
aria-labelledby="table_toggle_btn">
<li>
<a class="view_transfer_order" tabindex="-1" href="#"
<a class="view_transfer_order"
tabindex="-1" href="#"
t-att-id="dynamic_inventory_report['id']">
View Transfer Order
</a>
@ -226,14 +236,16 @@
</thead>
<tbody>
<!-- <t t-if="order['report_type']='report_by_order'">-->
<t t-foreach="report_lines" t-as="dynamic_inventory_report">
<tr style="border: 1.5px solid black;" class="pr-line"
<t t-foreach="report_lines"
t-as="dynamic_inventory_report">
<tr style="border: 1.5px solid black;"
class="pr-line"
data-toggle="collapse"
t-att-data-account-id="dynamic_inventory_report['id']"
t-attf-data-target=".a{{dynamic_inventory_report['id']}}">
<td style="border: 0px solid black;">
<i class="fa fa-caret-down" role="img" aria-label="Unfolded" title="Unfolded"/>
<i class="fa fa-caret-down" role="img"
aria-label="Unfolded" title="Unfolded"/>
<span>
<t t-esc="dynamic_inventory_report['category']"/>
@ -259,27 +271,6 @@
<t t-esc="dynamic_inventory_report['quantity']"/>
</span>
</td>
<!-- <td style="text-align:center;">-->
<!-- <span>-->
<!-- <t t-esc="dynamic_purchase_report['product']"/>-->
<!-- </span>-->
<!-- </td>-->
<!-- <td style="text-align:center;">-->
<!-- <span>-->
<!-- <t t-esc="dynamic_purchase_report['price_unit']"/>-->
<!-- </span>-->
<!-- </td>-->
<!-- <td style="text-align:center;">-->
<!-- <span>-->
<!-- <t t-esc="dynamic_purchase_report['sum']"/>-->
<!-- </span>-->
<!-- </td>-->
<!-- <td style="text-align:center;">-->
<!-- <span>-->
<!-- <t t-esc="dynamic_purchase_report['amount_total']"/>-->
<!-- </span>-->
<!-- </td>-->
</tr>
</t>
</tbody>
@ -306,13 +297,16 @@
<tbody>
<!-- <t t-if="order['report_type']='report_by_order'">-->
<t t-foreach="report_lines" t-as="dynamic_inventory_report">
<tr style="border: 1.5px solid black;" class="pr-line"
<t t-foreach="report_lines"
t-as="dynamic_inventory_report">
<tr style="border: 1.5px solid black;"
class="pr-line"
data-toggle="collapse"
t-att-data-account-id="dynamic_inventory_report['id']"
t-attf-data-target=".a{{dynamic_inventory_report['id']}}">
<td style="border: 0px solid black;">
<i class="fa fa-caret-down" role="img" aria-label="Unfolded" title="Unfolded"/>
<i class="fa fa-caret-down" role="img"
aria-label="Unfolded" title="Unfolded"/>
<span>
<t t-esc="dynamic_inventory_report['name']"/>
</span>
@ -334,7 +328,7 @@
</td>
<td style="text-align:center;">
<span>
<t t-esc="dynamic_inventory_report['route']"/>
<t t-esc="dynamic_inventory_report['route']['en_US']"/>
</span>
</td>
</tr>
@ -359,13 +353,16 @@
</thead>
<tbody>
<!-- <t t-if="order['report_type']='report_by_order'">-->
<t t-foreach="report_lines" t-as="dynamic_inventory_report">
<tr style="border: 1.5px solid black;" class="pr-line"
<t t-foreach="report_lines"
t-as="dynamic_inventory_report">
<tr style="border: 1.5px solid black;"
class="pr-line"
data-toggle="collapse"
t-att-data-account-id="dynamic_inventory_report['id']"
t-attf-data-target=".a{{dynamic_inventory_report['id']}}">
<td style="border: 0px solid black;">
<i class="fa fa-caret-down" role="img" aria-label="Unfolded" title="Unfolded"/>
<i class="fa fa-caret-down" role="img"
aria-label="Unfolded" title="Unfolded"/>
<span>
<t t-esc="dynamic_inventory_report['complete_name']"/>
</span>

Loading…
Cancel
Save