Browse Source

Dec 04 : [ADD] Initial Commit 'pantry_payroll'

pull/295/head
RisvanaCybro 1 year ago
parent
commit
8363e34848
  1. 46
      pantry_payroll/README.rst
  2. 22
      pantry_payroll/__init__.py
  3. 50
      pantry_payroll/__manifest__.py
  4. 15
      pantry_payroll/data/ir_sequence_data.xml
  5. 48
      pantry_payroll/data/salary_rule_data.xml
  6. 6
      pantry_payroll/doc/RELEASE_NOTES.md
  7. 25
      pantry_payroll/models/__init__.py
  8. 46
      pantry_payroll/models/hr_payslip.py
  9. 93
      pantry_payroll/models/pantry_order.py
  10. 72
      pantry_payroll/models/product_product.py
  11. 30
      pantry_payroll/models/product_template.py
  12. 4
      pantry_payroll/security/ir.model.access.csv
  13. 25
      pantry_payroll/security/pantry_payroll_security.xml
  14. BIN
      pantry_payroll/static/description/assets/icons/check.png
  15. BIN
      pantry_payroll/static/description/assets/icons/chevron.png
  16. BIN
      pantry_payroll/static/description/assets/icons/cogs.png
  17. BIN
      pantry_payroll/static/description/assets/icons/consultation.png
  18. BIN
      pantry_payroll/static/description/assets/icons/ecom-black.png
  19. BIN
      pantry_payroll/static/description/assets/icons/education-black.png
  20. BIN
      pantry_payroll/static/description/assets/icons/hotel-black.png
  21. BIN
      pantry_payroll/static/description/assets/icons/license.png
  22. BIN
      pantry_payroll/static/description/assets/icons/lifebuoy.png
  23. BIN
      pantry_payroll/static/description/assets/icons/manufacturing-black.png
  24. BIN
      pantry_payroll/static/description/assets/icons/pos-black.png
  25. BIN
      pantry_payroll/static/description/assets/icons/puzzle.png
  26. BIN
      pantry_payroll/static/description/assets/icons/restaurant-black.png
  27. BIN
      pantry_payroll/static/description/assets/icons/service-black.png
  28. BIN
      pantry_payroll/static/description/assets/icons/trading-black.png
  29. BIN
      pantry_payroll/static/description/assets/icons/training.png
  30. BIN
      pantry_payroll/static/description/assets/icons/update.png
  31. BIN
      pantry_payroll/static/description/assets/icons/user.png
  32. BIN
      pantry_payroll/static/description/assets/icons/wrench.png
  33. BIN
      pantry_payroll/static/description/assets/misc/categories.png
  34. BIN
      pantry_payroll/static/description/assets/misc/check-box.png
  35. BIN
      pantry_payroll/static/description/assets/misc/compass.png
  36. BIN
      pantry_payroll/static/description/assets/misc/corporate.png
  37. BIN
      pantry_payroll/static/description/assets/misc/customer-support.png
  38. BIN
      pantry_payroll/static/description/assets/misc/cybrosys-logo.png
  39. BIN
      pantry_payroll/static/description/assets/misc/features.png
  40. BIN
      pantry_payroll/static/description/assets/misc/logo.png
  41. BIN
      pantry_payroll/static/description/assets/misc/pictures.png
  42. BIN
      pantry_payroll/static/description/assets/misc/pie-chart.png
  43. BIN
      pantry_payroll/static/description/assets/misc/right-arrow.png
  44. BIN
      pantry_payroll/static/description/assets/misc/star.png
  45. BIN
      pantry_payroll/static/description/assets/misc/support.png
  46. BIN
      pantry_payroll/static/description/assets/misc/whatsapp.png
  47. BIN
      pantry_payroll/static/description/assets/modules/1.png
  48. BIN
      pantry_payroll/static/description/assets/modules/2.png
  49. BIN
      pantry_payroll/static/description/assets/modules/3.png
  50. BIN
      pantry_payroll/static/description/assets/modules/4.png
  51. BIN
      pantry_payroll/static/description/assets/modules/5.png
  52. BIN
      pantry_payroll/static/description/assets/modules/6.png
  53. BIN
      pantry_payroll/static/description/assets/screenshots/01.png
  54. BIN
      pantry_payroll/static/description/assets/screenshots/02.5.png
  55. BIN
      pantry_payroll/static/description/assets/screenshots/02.png
  56. BIN
      pantry_payroll/static/description/assets/screenshots/03.png
  57. BIN
      pantry_payroll/static/description/assets/screenshots/04.png
  58. BIN
      pantry_payroll/static/description/assets/screenshots/05.png
  59. BIN
      pantry_payroll/static/description/assets/screenshots/06.png
  60. BIN
      pantry_payroll/static/description/assets/screenshots/07.png
  61. BIN
      pantry_payroll/static/description/assets/screenshots/08.png
  62. BIN
      pantry_payroll/static/description/assets/screenshots/v16-hero.gif
  63. BIN
      pantry_payroll/static/description/banner.jpg
  64. BIN
      pantry_payroll/static/description/icon.png
  65. 550
      pantry_payroll/static/description/index.html
  66. 82
      pantry_payroll/views/pantry_order_views.xml
  67. 89
      pantry_payroll/views/product_product_views.xml
  68. 17
      pantry_payroll/views/product_template_views.xml

46
pantry_payroll/README.rst

@ -0,0 +1,46 @@
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
Payroll Management In Pantry
============================
This module allow us to manage payroll in pantry.
License
-------
General Public License, Version 3 (AGPL v3).
https://www.gnu.org/licenses/agpl-3.0-standalone.html
Configuration
=============
* No Additional configuration is needed.
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits
-------
Developer: (V16) Athira P S , Contact: odoo@cybrosys.com
Contacts
--------
* Mail Contact : odoo@cybrosys.com
* Website : https://cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
.. image:: https://cybrosys.com/images/logo.png
:target: https://cybrosys.com
This module is maintained by Cybrosys Technologies.
For support and more information, please visit `Our Website <https://cybrosys.com/>`__
Further information
===================
HTML Description: `<static/description/index.html>`__

22
pantry_payroll/__init__.py

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

50
pantry_payroll/__manifest__.py

@ -0,0 +1,50 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Athira P S (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
################################################################################
{
'name': 'Payroll Management In Pantry',
'version': '16.0.1.0.0',
'category': 'Human Resources',
'summary': """Efficiently oversee payroll operations by factoring in
pantry expenditures through seamless deductions""",
'description': """This app will allow us to Manage Payroll of Pantry.
While creating Employee Payslip ,Salary Rule will be Added to that
Employee. The Amount of Product will Deduct from Salary.""",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "http://www.cybrosys.com",
'depends': ['sale', 'hr_payroll_community'],
'data': [
'security/pantry_payroll_security.xml',
'security/ir.model.access.csv',
'data/salary_rule_data.xml',
'data/ir_sequence_data.xml',
'views/product_product_views.xml',
'views/product_template_views.xml',
'views/pantry_order_views.xml',
],
'images': ['static/description/banner.jpg'],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
'application': False,
}

15
pantry_payroll/data/ir_sequence_data.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data noupdate="1">
<!-- Pantry order sequence -->
<record id="pantry_order_sequence" model="ir.sequence">
<field name="name">Pantry Order sequence</field>
<field name="code">pantry.order</field>
<field name="active">TRUE</field>
<field name="prefix">PAO/</field>
<field name="number_increment">1</field>
<field name="number_next">1</field>
<field name="padding">4</field>
</record>
</data>
</odoo>

48
pantry_payroll/data/salary_rule_data.xml

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data noupdate="1">
<!-- Create salary rule -->
<record id="pantry_rule" model="hr.salary.rule">
<field name="code">PR</field>
<field name="name">Pantry</field>
<field name="category_id" ref="hr_payroll_community.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = inputs.PR and - (inputs.PR.amount)
</field>
<field name="appears_on_payslip" eval="True"/>
<field name="sequence" eval="190"/>
</record>
<record id="hr_rule_input_loan" model="hr.rule.input">
<field name="code">PR</field>
<field name="name">Pantry</field>
<field name="input_id" ref="pantry_rule"/>
</record>
<!--Adding salary rule into salary structure-->
<record id="hr_payroll_community.structure_base"
model="hr.payroll.structure">
<field name="code">BASE</field>
<field name="name">Base for new structures</field>
<field eval="[(6, 0, [ref('hr_payroll_community.hr_rule_basic'), ref('hr_payroll_community.hr_rule_taxable'),ref('hr_payroll_community.hr_rule_net'),ref('pantry_rule')])]"
name="rule_ids"/>
<field name="company_id" ref="base.main_company"/>
</record>
<record id="hr_payroll_community.structure_001"
model="hr.payroll.structure">
<field name="code">ME</field>
<field name="name">Marketing Executive</field>
<field eval="[(6, 0, [ref('hr_payroll_community.hr_salary_rule_houserentallowance1'), ref('hr_payroll_community.hr_salary_rule_convanceallowance1'),ref('hr_payroll_community.hr_salary_rule_professionaltax1'),ref('hr_payroll_community.hr_salary_rule_providentfund1'),ref('pantry_rule')])]"
name="rule_ids"/>
<field name="company_id" ref="base.main_company"/>
<field name="parent_id" ref="hr_payroll_community.structure_base"/>
</record>
<record id="hr_payroll_community.structure_002"
model="hr.payroll.structure">
<field name="code">MEGG</field>
<field name="name">Marketing Executive for Gilles Gravie</field>
<field eval="[(6, 0, [ref('hr_payroll_community.hr_salary_rule_ca_gravie'), ref('hr_payroll_community.hr_salary_rule_meal_voucher'),ref('pantry_rule')])]"
name="rule_ids"/>
<field name="company_id" ref="base.main_company"/>
<field name="parent_id" ref="hr_payroll_community.structure_001"/>
</record>
</data>
</odoo>

6
pantry_payroll/doc/RELEASE_NOTES.md

@ -0,0 +1,6 @@
## Module <pantry_payroll>
#### 02.12.2023
#### Version 16.0.1.0.0
#### ADD
- Initial Commit for Payroll Management In Pantry

25
pantry_payroll/models/__init__.py

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

46
pantry_payroll/models/hr_payslip.py

@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Athira P S (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
################################################################################
from odoo import api, models
class HrPayslip(models.Model):
"""Class for HR Payslip"""
_inherit = 'hr.payslip'
@api.model
def get_inputs(self, contract_ids, date_from, date_to):
"""This function calculates the additional inputs
for the employee payslip."""
res = super(HrPayslip, self).get_inputs(contract_ids, date_from,
date_to)
amount_employee = 0
employee_id = self.env['hr.contract'].browse(
contract_ids[0].id).employee_id
pantry_lines = self.env['pantry.order'].search([
('partner_id', '=', employee_id.user_id.partner_id.id)
])
for adv_obj in pantry_lines:
if self.date_from <= adv_obj.date_order.date() <= self.date_to:
amount_employee += adv_obj.amount_total
for result in res:
result['amount'] = amount_employee
return res

93
pantry_payroll/models/pantry_order.py

@ -0,0 +1,93 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Athira P S (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
###############################################################################
from odoo import api, fields, models
class PantryOrder(models.Model):
"""A class that represents a new model pantry order"""
_name = 'pantry.order'
_description = 'Pantry Order'
_inherit = 'mail.thread'
name = fields.Char(string='Order Sequence', readonly=True,
help='Sequence of the order')
partner_id = fields.Many2one('res.partner', string='Order User',
readonly=True,
default=lambda self: self.env.user.partner_id,
help='The user who is ordering')
state = fields.Selection(string='Status', required=True, selection=[
('draft', 'Draft'), ('confirmed', 'Confirmed')], default='draft',
help='The current status of the order')
date_order = fields.Datetime(string='Order Date',
default=fields.Datetime.now, readonly=True,
help='The date order')
order_line_ids = fields.One2many('pantry.order.line',
'pantry_order_id',
string='Order Line')
amount_total = fields.Float(string='Total', compute='_compute_amount_total',
help='The total amount of the order')
@api.model
def create(self, vals):
"""Sequence for the order"""
if vals.get('name', 'New') == 'New':
vals['name'] = self.env['ir.sequence'].next_by_code(
'pantry.order') or 'New'
res = super(PantryOrder, self).create(vals)
return res
@api.depends('order_line_ids')
def _compute_amount_total(self):
"""Calculates the amount_total"""
for rec in self:
rec.amount_total = sum(
rec.mapped('order_line_ids').mapped('subtotal'))
def action_confirm_pantry_order(self):
"""Change the state to confirmed"""
self.state = 'confirmed'
class PantryOrderLine(models.Model):
"""A class that represents a new model pantry order line"""
_name = 'pantry.order.line'
_description = 'Pantry Order Line'
pantry_order_id = fields.Many2one('pantry.order', string='Pantry Order',
required=True,
help='The corresponding pantry order')
product_id = fields.Many2one('product.product', string='Product',
required=True,
domain=[('pantry_product', '=', True)],
help='The product to order')
quantity = fields.Float(string='Quantity',
help='The quantity of the product')
unit_price = fields.Float(string='Unit Price',
help='The unit price of the product')
subtotal = fields.Float(string='Subtotal', compute='_compute_subtotal',
help='The subtotal of the order line')
@api.depends('quantity')
def _compute_subtotal(self):
"""Calculates the subtotal"""
for rec in self:
rec.subtotal = rec.quantity * rec.unit_price

72
pantry_payroll/models/product_product.py

@ -0,0 +1,72 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Athira P S (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
###############################################################################
from odoo import fields, models
class ProductProduct(models.Model):
"""Class for adding quantity button on product kanban view."""
_inherit = "product.product"
quantity = fields.Integer(string="Quantity", help="Quantity", default=1)
def action_quantity_decrement(self):
"""Function for increment the quantity of product"""
if self.quantity > 1:
self.quantity -= 1
def action_quantity_increment(self):
"""Function for decrement the quantity of product"""
self.quantity += 1
def action_buy_pantry(self):
"""Make a quotation while purchasing a product from the pantry."""
quotation = self.env['pantry.order'].search(
[('partner_id', '=', self.env.user.partner_id.id),
('state', '=', 'draft')])
val_list = {
'product_id': self.id,
'unit_price': self.lst_price,
'quantity': self.quantity,
}
if quotation:
val_list['pantry_order_id'] = quotation[0].id
product = quotation.order_line_ids.filtered(
lambda sol: sol.product_id == self)
if product:
product[0].quantity += self.quantity
else:
quotation.write(
{'order_line_ids': [fields.Command.create(val_list)]})
else:
quotation = self.env['pantry.order'].create({
'partner_id': self.env.user.partner_id.id,
'order_line_ids': [fields.Command.create(val_list)]
})
self.quantity = 1
return {
'type': 'ir.actions.act_window',
'res_model': 'pantry.order',
'res_id': quotation.id,
'view_mode': 'form',
'target': 'current',
'views': [[False, "form"]],
}

30
pantry_payroll/models/product_template.py

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Athira P S (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
###############################################################################
from odoo import models, fields
class ProductTemplate(models.Model):
"""A class that represents already existing model product template"""
_inherit = 'product.template'
pantry_product = fields.Boolean(string="Pantry Product",
help='Is this a pantry product or not')

4
pantry_payroll/security/ir.model.access.csv

@ -0,0 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_pantry_order_user,access.pantry.order.user,model_pantry_order,base.group_user,1,1,1,0
access_pantry_order_admin,access.pantry.order.admin,model_pantry_order,pantry_payroll.group_pantry_admin,1,1,1,1
access_pantry_order_line_user,access.pantry.order.line.user,model_pantry_order_line,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_pantry_order_user access.pantry.order.user model_pantry_order base.group_user 1 1 1 0
3 access_pantry_order_admin access.pantry.order.admin model_pantry_order pantry_payroll.group_pantry_admin 1 1 1 1
4 access_pantry_order_line_user access.pantry.order.line.user model_pantry_order_line base.group_user 1 1 1 1

25
pantry_payroll/security/pantry_payroll_security.xml

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data>
<!-- Pantry admin user group -->
<record id="group_pantry_admin" model="res.groups">
<field name="name">Pantry Admin</field>
</record>
<!-- Pantry admin rule -->
<record id="pantry_admin_rule" model="ir.rule">
<field name="name">Pantry admin rule</field>
<field name="model_id" ref="model_pantry_order"/>
<field name="domain_force">[]</field>
<field name="groups"
eval="[(4, ref('pantry_payroll.group_pantry_admin'))]"/>
</record>
<!-- Pantry user rule -->
<record id="pantry_users_rule" model="ir.rule">
<field name="name">Pantry user rule</field>
<field name="model_id" ref="model_pantry_order"/>
<field name="domain_force">[('partner_id','=',user.partner_id.id)]</field>
<field name="groups"
eval="[(4, ref('base.group_user'))]"/>
</record>
</data>
</odoo>

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
pantry_payroll/static/description/assets/modules/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
pantry_payroll/static/description/assets/modules/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
pantry_payroll/static/description/assets/modules/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
pantry_payroll/static/description/assets/modules/4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
pantry_payroll/static/description/assets/modules/5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
pantry_payroll/static/description/assets/modules/6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
pantry_payroll/static/description/assets/screenshots/01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
pantry_payroll/static/description/assets/screenshots/02.5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
pantry_payroll/static/description/assets/screenshots/02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
pantry_payroll/static/description/assets/screenshots/03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

BIN
pantry_payroll/static/description/assets/screenshots/04.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
pantry_payroll/static/description/assets/screenshots/05.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
pantry_payroll/static/description/assets/screenshots/06.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
pantry_payroll/static/description/assets/screenshots/07.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
pantry_payroll/static/description/assets/screenshots/08.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
pantry_payroll/static/description/assets/screenshots/v16-hero.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

BIN
pantry_payroll/static/description/banner.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
pantry_payroll/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

550
pantry_payroll/static/description/index.html

@ -0,0 +1,550 @@
<div style="background-color: #714B67; height: 810px; width: 100%; padding: 15px; position: relative;">
<!-- TITLE BAR -->
<div class="d-flex align-items-center justify-content-between"
style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;">
<img src="assets/misc/cybrosys-logo.png" width="42" height="42" style="width: 42px; height: 42px;"/>
<div>
<div
style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Community
</div>
</div>
</div>
<!-- END OF TITLE BAR -->
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12">
<!-- APP HERO -->
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">
Payroll Management In Pantry</h1>
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">Manage The Payroll By Deducting The Pantry Order</p>
<!-- END OF APP HERO -->
<img src="assets/screenshots/v16-hero.gif" class="img-responsive"
style="width: 100%; margin-left: auto; margin-right: auto;" />
</div>
</div>
</div>
</div>
<!-- NAVIGATION SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/compass.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Explore This
Module</h2>
</div>
<div class="row my-4" style="font-family: 'Montserrat', sans-serif;">
<div class="col-sm-12 col-md-6 my-3">
<a href="#overview">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span>
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">Learn
more about this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#features">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span>
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
features of this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#screenshots">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span>
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
screenshots for this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
</div>
<!-- END OF NAVIGATION SECTION -->
<!-- OVERVIEW SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="overview">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pie-chart.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Overview
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 py-4">
This app will allow us to Manage Payroll of Pantry.While creating Employee Payslip ,Salary Rule will be Added to that Employee.
The Amount of Product will Deduct from Salary.
</div>
</div>
<!-- END OF OVERVIEW SECTION -->
<!-- FEATURES SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="features">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/features.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Features
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 col-md-6">
<div class="d-flex align-items-center" style="margin-top: 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;">Buy Products From Pantry</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;">Pantry Order Automatically Created</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;">Pantry Admin User Group</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;">Automatically Deduct The Pantry Order Amount From Payslip</span>
</div>
</div>
</div>
<!-- END OF FEATURES SECTION -->
<!-- SCREENSHOTS SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="screenshots">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pictures.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Screenshots
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">'Pantry Admin' User Group</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Only the Administrator with the 'Pantry Admin' user group will be able to see all the Pantry Orders and be able to delete it.</p>
<img src="assets/screenshots/01.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;">Pantry Products</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">You can go to Employees-->Pantry-->Products to see the Pantry Products</p>
<img src="assets/screenshots/02.png" class="img-thumbnail"><br/>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">When creating a new Pantry Product, you have to enable 'Pantry Product' option</p>
<img src="assets/screenshots/02.5.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;">Buy Products</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">You can increment or decrement the quantity and BUY the product</p>
<img src="assets/screenshots/03.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;">Pantry Orders</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">It will take you to the Pantry Order. You can confirm the order. You can also go to the orders through Employees-->Pantry-->Pantry Order. You can also note the order date is 09/06/2023</p>
<img src="assets/screenshots/04.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;">Salary rule</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">New salary rule based on python code will be added</p>
<img src="assets/screenshots/05.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;">Create Payslips</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">You can go and create an Employee Payslip. Choose the Employee, The Period and The Contract.
You need to ensure that,a Salary Structure is selected inside the Contract. Then you can click on the 'COMPUTE SHEET' and salary will be computed</p>
<img src="assets/screenshots/06.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;">Created Payslip</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">All the computed payslips can be seen in the smart button and also in the Salary Computation tab</p>
<img src="assets/screenshots/07.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;">Pantry Amount Deducted Amount</h3>
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Here, the pantry amount is deducted from the employee's salary</p>
<img src="assets/screenshots/08.png" class="img-thumbnail">
</div>
</div>
</div>
<!-- END OF SCREENSHOTS SECTION -->
<!-- RELATED PRODUCTS -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 4
0px;">
<img src="assets/misc/categories.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Related
Products
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div id="demo1" class="row carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner" style="padding: 30px;">
<div class="carousel-item" style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/hr_payroll_account_community/" target="_blank">
<div style="border-radius:10px">
<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/16.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/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/16.0/automatic_payroll/" target="_blank">
<div style="border-radius:10px">
<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/16.0/employee_check_list/" target="_blank">
<div style="border-radius:10px">
<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/16.0/hr_contract_types/" target="_blank">
<div style="border-radius:10px">
<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/16.0/employee_orientation/#" target="_blank">
<div style="border-radius:10px">
<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" style="font-size:24px"></i></span>
</a>
</div>
</div>
</div>
<!-- END OF RELATED PRODUCTS -->
<!-- OUR SERVICES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/star.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our Services
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Hire
Odoo
Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Licensing Consultancy</h6>
</div>
</div>
</div>
<!-- END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/corporate.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our
Industries
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easily procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
A platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Plan, track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Keep track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Run your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</div>
<!-- END OF OUR INDUSTRIES -->
<!-- SUPPORT -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/customer-support.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Support
</h2>
</div>
<div class="container mt-5">
<div class="row">
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4 d-flex justify-content-center align-items-center"
style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/support.png" height="48" width="48" style="width: 42px; height: 42px;" />
</div>
<div>
<h4>Need Help?</h4>
<p style="line-height: 100%;">Got questions or need help? Get in touch.</p>
<a href="mailto:odoo@cybrosys.com">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
odoo@cybrosys.com</p>
</a>
</div>
</div>
</div>
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4 d-flex justify-content-center align-items-center"
style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/whatsapp.png" height="52" width="52" style="width: 52px; height: 52px;" />
</div>
<div>
<h4>WhatsApp</h4>
<p style="line-height: 100%;">Say hi to us on WhatsApp!</p>
<a href="https://api.whatsapp.com/send?phone=918606827707">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">+91 86068
27707</p>
</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 my-5 d-flex justify-content-center align-items-center">
<img src="assets/misc/logo.png" width="144" height="31" style="width:144px; height: 31px; margin-top: 40px;" />
</div>
</div>
</div>
<!-- END OF SUPPORT -->

82
pantry_payroll/views/pantry_order_views.xml

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- Pantry order action -->
<record id="action_pantry_order" model="ir.actions.act_window">
<field name="name">Pantry Order</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">pantry.order</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new pantry order
</p>
</field>
</record>
<!-- Pantry order menu -->
<menuitem id="pantry_order_menu" name="Pantry Order" action="pantry_payroll.action_pantry_order" parent="hr_pantry_menu"/>
<!-- Pantry order tree view -->
<record id="pantry_order_view_tree" model="ir.ui.view">
<field name="name">pantry.order.view.tree</field>
<field name="model">pantry.order</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="partner_id"/>
<field name="date_order"/>
<field name="amount_total"/>
<field name="state" widget="badge"
decoration-info="state == 'draft'"
decoration-success="state == 'confirmed'"/>
</tree>
</field>
</record>
<!-- Pantry order form view -->
<record id="pantry_order_view_form" model="ir.ui.view">
<field name="name">pantry.order.view.form</field>
<field name="model">pantry.order</field>
<field name="arch" type="xml">
<form>
<header>
<field name="state" widget="statusbar"/>
<button string="Confirm" class="btn btn-primary" type="object" name="action_confirm_pantry_order" attrs="{'invisible': [('state', '==', 'confirmed')]}"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name"/>
</h1>
</div>
<group>
<group>
<field name="partner_id"/>
</group>
<group>
<field name="date_order"/>
</group>
</group>
<notebook>
<page string="Order Lines">
<field name="order_line_ids" attrs="{'readonly': [('state', '=', 'confirmed')]}">
<tree editable="bottom">
<field name="product_id"/>
<field name="quantity"/>
<field name="unit_price"/>
<field name="subtotal"/>
</tree>
</field>
<h2 class="oe_subtotal_footer oe_right">
<group>
<field name="amount_total"/>
</group>
</h2>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
</odoo>

89
pantry_payroll/views/product_product_views.xml

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- Pantry products action -->
<record id="action_pantry_product" model="ir.actions.act_window">
<field name="name">Pantry Products</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.product</field>
<field name="view_mode">kanban</field>
<field name="domain">[('pantry_product','=',True)]</field>
<field name="context">{'default_pantry_product': True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new pantry product
</p>
</field>
</record>
<!-- Pantry products menu -->
<menuitem id="hr_pantry_menu" name="Pantry" parent="hr.menu_hr_root"/>
<menuitem id="product_menu" name="Products" action="action_pantry_product" parent="hr_pantry_menu"/>
<!-- Pantry products kanban view -->
<record id="pantry_product_view_kanban" model="ir.ui.view">
<field name="name">product.product.view.kanban.pantry.payroll</field>
<field name="model">product.product</field>
<field name="arch" type="xml">
<kanban create="0" sample="1">
<field name="id"/>
<field name="lst_price"/>
<field name="activity_state"/>
<field name="color"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="o_kanban_image">
<img t-att-src="kanban_image('product.product', 'image_128', record.id.raw_value)" alt="Product" class="o_image_64_contain"/>
</div>
<div class="oe_kanban_details">
<field name="priority" widget="priority" readonly="1"/>
<strong class="o_kanban_record_title">
<field name="name"/>
<small t-if="record.default_code.value">[<field name="default_code"/>]</small>
</strong>
<div class="o_kanban_tags_section">
<field name="product_template_variant_value_ids" groups="product.group_product_variant" widget="many2many_tags" options="{'color_field': 'color'}"/>
</div>
<ul>
<li><strong>Price: <field name="lst_price"/></strong></li>
</ul>
<div name="tags"/>
<div class="oe_kanban_footer oe_kanban_bottom_left">
<div class="o_kanban_buttons">
<button name="action_quantity_decrement" string="-"
id="quantity_decrement"
type="object" class="btn-secondary"/>
<field name="quantity" string="Quantity"/>
<button name="action_quantity_increment" string="+"
id="quantity_increment"
type="object" class="btn-secondary"/>
</div>
<button name="action_buy_pantry" string="Buy" type="object"
class="btn-primary"/>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="pantry_product_kanban_action_view" model="ir.actions.act_window.view">
<field name="sequence" eval="70"/>
<field name="view_mode">kanban</field>
<field name="view_id" ref="pantry_payroll.pantry_product_view_kanban"/>
<field name="act_window_id" ref="action_pantry_product"/>
</record>
<!-- Products inherit form view -->
<record id="product_normal_form_view" model="ir.ui.view" >
<field name="name">product.product.view.form.inherit.pantry.payroll</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='options']" position="inside">
<span class="d-inline-block">
<field name="pantry_product"/>
<label for="pantry_product"/>
</span>
</xpath>
</field>
</record>
</odoo>

17
pantry_payroll/views/product_template_views.xml

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- Products inherit form view -->
<record id="product_template_only_form_view" model="ir.ui.view" >
<field name="name">product.template.view.form.inherit.pantry.payroll</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_only_form_view"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='options']" position="inside">
<span class="d-inline-block">
<field name="pantry_product"/>
<label for="pantry_product"/>
</span>
</xpath>
</field>
</record>
</odoo>
Loading…
Cancel
Save