@ -0,0 +1,49 @@ | 
				
			|||
.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg | 
				
			|||
    :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html | 
				
			|||
    :alt: License: LGPL-3) | 
				
			|||
 | 
				
			|||
Agriculture Management | 
				
			|||
====================== | 
				
			|||
In the Agriculture Management App, We can manage the agriculture to our own need. | 
				
			|||
We can also manage the rentals of vehicle and animals for agriculture purpose. | 
				
			|||
 | 
				
			|||
Configuration | 
				
			|||
============= | 
				
			|||
* No additional configurations needed | 
				
			|||
 | 
				
			|||
Company | 
				
			|||
------- | 
				
			|||
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | 
				
			|||
 | 
				
			|||
License | 
				
			|||
------- | 
				
			|||
General Public License, Version 3 (LGPL v3). | 
				
			|||
(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) | 
				
			|||
 | 
				
			|||
Credits | 
				
			|||
------- | 
				
			|||
* Developers: (V15) Vyshnav AR, | 
				
			|||
              (V14) Ayana KP, | 
				
			|||
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>`__ | 
				
			|||
@ -0,0 +1,23 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from . import models | 
				
			|||
from . import wizard | 
				
			|||
@ -0,0 +1,72 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
{ | 
				
			|||
    'name': 'Agriculture Management', | 
				
			|||
    'version': '14.0.1.0.0', | 
				
			|||
    'category': 'Industries', | 
				
			|||
    'summary': """ We Can Easily Manage the Agriculture to Our Own Need.""", | 
				
			|||
    'description': """ In the Agriculture Management App, We can manage the " | 
				
			|||
    "agriculture to our own need.We can also manage the rentals of vehicle and | 
				
			|||
     animals for agriculture purpose.""", | 
				
			|||
    'author': 'Cybrosys Techno Solutions', | 
				
			|||
    'company': 'Cybrosys Techno Solutions', | 
				
			|||
    'maintainer': 'Cybrosys Techno Solutions', | 
				
			|||
    'website': 'https://www.cybrosys.com', | 
				
			|||
    'depends': ['fleet','account'], | 
				
			|||
    'data': [ | 
				
			|||
        'security/agriculture_management_groups.xml', | 
				
			|||
        'security/crop_request_security.xml', | 
				
			|||
        'security/ir.model.access.csv', | 
				
			|||
        'data/ir_sequence_data.xml', | 
				
			|||
        'report/crop_request_reports.xml', | 
				
			|||
        'report/pest_request_reports.xml', | 
				
			|||
        'report/crop_request_templates.xml', | 
				
			|||
        'report/pest_request_templates.xml', | 
				
			|||
        'report/crop_vehicle_templates.xml', | 
				
			|||
        'report/crop_animal_templates.xml', | 
				
			|||
        'report/crop_animal_reports.xml', | 
				
			|||
        'wizard/crop_report_views.xml', | 
				
			|||
        'wizard/pest_report_views.xml', | 
				
			|||
        'wizard/animal_register_payment_views.xml', | 
				
			|||
        'wizard/vehicle_register_payment_views.xml', | 
				
			|||
        'views/seed_detail_views.xml', | 
				
			|||
        'views/animal_detail_views.xml', | 
				
			|||
        'views/location_detail_views.xml', | 
				
			|||
        'views/vehicle_detail_views.xml', | 
				
			|||
        'views/fleet_vehicle_views.xml', | 
				
			|||
        'views/farmer_detail_views.xml', | 
				
			|||
        'views/pest_request_views.xml', | 
				
			|||
        'views/pest_detail_views.xml', | 
				
			|||
        'views/damage_loss_views.xml', | 
				
			|||
        'views/crop_request_views.xml', | 
				
			|||
        'views/agriculture_tag_views.xml', | 
				
			|||
        'views/vehicle_rental_views.xml', | 
				
			|||
        'views/animal_rental_views.xml', | 
				
			|||
        'report/crop_vehicle_reports.xml', | 
				
			|||
        'views/agriculture_management_menus.xml', | 
				
			|||
    ], | 
				
			|||
    'images': ['static/description/banner.png'], | 
				
			|||
    'license': 'LGPL-3', | 
				
			|||
    'installable': True, | 
				
			|||
    'auto_install': False, | 
				
			|||
    'application': True, | 
				
			|||
} | 
				
			|||
@ -0,0 +1,19 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<data noupdate="1"> | 
				
			|||
<!--    Record for creating sequence in pest request model--> | 
				
			|||
    <record id="seq_pesticide" model="ir.sequence"> | 
				
			|||
        <field name="name">Pest Request</field> | 
				
			|||
        <field name="code">pest.request</field> | 
				
			|||
        <field name="prefix">PEST/REQ/</field> | 
				
			|||
        <field name="padding">5</field> | 
				
			|||
        <field name="company_id" eval="False"/> | 
				
			|||
    </record> | 
				
			|||
<!--    Record for creating sequence in crop request model--> | 
				
			|||
    <record id="seq_crop" model="ir.sequence"> | 
				
			|||
        <field name="name">Crop Request</field> | 
				
			|||
        <field name="code">crop.request</field> | 
				
			|||
        <field name="prefix">CROP/REQ/</field> | 
				
			|||
        <field name="padding">5</field> | 
				
			|||
        <field name="company_id" eval="False"/> | 
				
			|||
    </record> | 
				
			|||
</data> | 
				
			|||
@ -0,0 +1,6 @@ | 
				
			|||
## Module <agriculture_management_odoo> | 
				
			|||
 | 
				
			|||
#### 30.05.2024 | 
				
			|||
#### Version 14.0.1.0.0 | 
				
			|||
#### ADD | 
				
			|||
- Initial commit for Agriculture Management | 
				
			|||
@ -0,0 +1,36 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from . import animal_detail | 
				
			|||
from . import animal_rental | 
				
			|||
from . import agriculture_tag | 
				
			|||
from . import crop_animal | 
				
			|||
from . import crop_machinery | 
				
			|||
from . import crop_request | 
				
			|||
from . import damage_loss | 
				
			|||
from . import farmer_detail | 
				
			|||
from . import fleet_vehicle | 
				
			|||
from . import location_detail | 
				
			|||
from . import pest_detail | 
				
			|||
from . import pest_request | 
				
			|||
from . import seed_detail | 
				
			|||
from . import vehicle_detail | 
				
			|||
from . import vehicle_rental | 
				
			|||
@ -0,0 +1,52 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
from random import randint | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class AgricultureTag(models.Model): | 
				
			|||
    """ This model represents tags related to agriculture. Tags are used to | 
				
			|||
       categorize and label various agricultural elements, products. | 
				
			|||
       They facilitate the organization and grouping of agricultural information | 
				
			|||
       for easier searching and classification. """ | 
				
			|||
    _name = "agriculture.tag" | 
				
			|||
    _description = "Agriculture Tags" | 
				
			|||
 | 
				
			|||
    def _get_default_color(self): | 
				
			|||
        """ The function selects colors for tags, likely based on some | 
				
			|||
        criteria or input, facilitating visual differentiation and | 
				
			|||
        categorization.""" | 
				
			|||
        return randint(1, 11) | 
				
			|||
 | 
				
			|||
    name = fields.Char(string='Tag Name', required=True, translate=True, | 
				
			|||
                       help='Tags are helpful for easy identification. Please ' | 
				
			|||
                            'create appropriate tags.') | 
				
			|||
    color = fields.Integer(string='Color', default=_get_default_color, | 
				
			|||
                           help='Color are helpful for Highlight tags . Please' | 
				
			|||
                                'choose different colors for differed tags') | 
				
			|||
 | 
				
			|||
    _sql_constraints = [ | 
				
			|||
        # Partial constraint, complemented by unique tag and name. | 
				
			|||
        # useful to keep because it provides a proper error message when a | 
				
			|||
        # violation occurs | 
				
			|||
        ('name_uniq', 'unique (name)', "Tag name already exists !"), | 
				
			|||
    ] | 
				
			|||
@ -0,0 +1,62 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class AnimalDetail(models.Model): | 
				
			|||
    """This model represents comprehensive details about animals involved | 
				
			|||
     in agricultural management. It provides a structured way to store | 
				
			|||
     information related to various animal breeds and their attributes.""" | 
				
			|||
    _name = 'animal.detail' | 
				
			|||
    _inherit = ['mail.thread', 'mail.activity.mixin'] | 
				
			|||
    _description = "Animal Details in Agriculture Management" | 
				
			|||
    _rec_name = 'breed' | 
				
			|||
 | 
				
			|||
    image = fields.Binary(string='Image', help='Upload images of animals', | 
				
			|||
                          tracking=True) | 
				
			|||
    breed = fields.Char(string='Breed', help='Mention the breed of animal', | 
				
			|||
                        required=True, tracking=True) | 
				
			|||
    age = fields.Char(string='Age', help='Mention the age of animal', | 
				
			|||
                      required=True, tracking=True) | 
				
			|||
    state = fields.Selection( | 
				
			|||
        [('available', 'Available'), ('not_available', 'Not Available')], | 
				
			|||
        default="available", help='The status whether this animal, whether it ' | 
				
			|||
                                  'is available or not', | 
				
			|||
        string='Status', required=True, tracking=True) | 
				
			|||
    note = fields.Text(string='Note', tracking=True, | 
				
			|||
                       help='If any notes or description about the animal') | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='This field represents the company associated with ' | 
				
			|||
        'the current user or environment.', default=lambda self: self.env.company) | 
				
			|||
 | 
				
			|||
    def action_not_available(self): | 
				
			|||
        """Function for change state to not available""" | 
				
			|||
        self.state = 'not_available' | 
				
			|||
 | 
				
			|||
    def action_sold(self): | 
				
			|||
        """Function for change state to sold""" | 
				
			|||
        self.state = 'sold' | 
				
			|||
 | 
				
			|||
    def action_available(self): | 
				
			|||
        """Function for change state to available""" | 
				
			|||
        self.state = 'available' | 
				
			|||
@ -0,0 +1,141 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import api, fields, models, _ | 
				
			|||
from odoo.exceptions import ValidationError | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class AnimalRental(models.Model): | 
				
			|||
    """ This model represents details about animal rental in the context of | 
				
			|||
    crop requests. It provides a structured way to manage information related to | 
				
			|||
    the rental of animals for agricultural purposes. """ | 
				
			|||
    _name = 'animal.rental' | 
				
			|||
    _inherit = ['mail.thread', 'mail.activity.mixin'] | 
				
			|||
    _description = 'Animal Rental Details' | 
				
			|||
    _rec_name = 'animal_id' | 
				
			|||
 | 
				
			|||
    name = fields.Char(string='Reference', readonly=True, | 
				
			|||
                       default=lambda self: _('New'), copy=False, | 
				
			|||
                       help='Field for the sequence of renting entries of ' | 
				
			|||
                            'animals') | 
				
			|||
    farmer_id = fields.Many2one('farmer.detail', string='Farmer', | 
				
			|||
                                help='Select the farmer who needs animal.', | 
				
			|||
                                required=True, tracking=True) | 
				
			|||
    animal_id = fields.Many2one('animal.detail', string='Animal', | 
				
			|||
                                help="Select the animal for renting", | 
				
			|||
                                required=True, tracking=True) | 
				
			|||
    no_of_days = fields.Float(string='No of Days', tracking=True, store=True, | 
				
			|||
                              help="The number of days we want to rent that" | 
				
			|||
                                   " animal.", compute='_compute_no_of_days') | 
				
			|||
    start_date = fields.Date(string='Start Date', required=True, tracking=True, | 
				
			|||
                             help="Start date of rental period") | 
				
			|||
    company_id = fields.Many2one('res.company', string='Company', | 
				
			|||
                                 required=True, readonly=True, | 
				
			|||
                                 default=lambda self: self.env.company, | 
				
			|||
                                 help='This field represents the company ' | 
				
			|||
                                      'associated with the current user or ' | 
				
			|||
                                      'environment.') | 
				
			|||
    currency_id = fields.Many2one(related='company_id.currency_id', | 
				
			|||
                                  string='Currency', help='Currency of company') | 
				
			|||
    amount = fields.Monetary(string='Amount', help="Rental amount per day", | 
				
			|||
                             required=True) | 
				
			|||
    total_amount = fields.Monetary(string='Total Amount', | 
				
			|||
                                   help="Total rental amount", | 
				
			|||
                                   compute='_compute_total_amount', | 
				
			|||
                                   currency_field='currency_id') | 
				
			|||
    end_date = fields.Date(string='End Date', help="End date of rental period", | 
				
			|||
                           required=True, tracking=True) | 
				
			|||
    note = fields.Text(string='Description', tracking=True, | 
				
			|||
                       help="Description for renting animal", | 
				
			|||
                       placeholder='Note') | 
				
			|||
    state = fields.Selection( | 
				
			|||
        [('draft', 'Draft'), ('confirm', 'Confirmed'), ('return', 'Returned'), | 
				
			|||
         ('paid', 'Paid'), ('cancel', 'Cancel')], string='Status', | 
				
			|||
        default='draft', tracking=True, copy=False, | 
				
			|||
        help="Status of renting the animal, Which is th status of the animal " | 
				
			|||
             "rented?") | 
				
			|||
    animal_paid_bool = fields.Boolean(string='Paid Bool', default=False, | 
				
			|||
                                      copy=False) | 
				
			|||
 | 
				
			|||
    @api.model | 
				
			|||
    def create(self, values): | 
				
			|||
        """Function for creating new animal rental""" | 
				
			|||
        if values.get('name', _('New')) == _('New'): | 
				
			|||
            values['name'] = self.env['ir.sequence'].next_by_code( | 
				
			|||
                'animal.rental') or _('New') | 
				
			|||
        return super(AnimalRental, self).create(values) | 
				
			|||
 | 
				
			|||
    @api.constrains('start_date', 'end_date') | 
				
			|||
    def _check_dates(self): | 
				
			|||
        for record in self: | 
				
			|||
            if record.start_date and record.end_date: | 
				
			|||
                if record.end_date < record.start_date: | 
				
			|||
                    raise ValidationError( | 
				
			|||
                        "End date cannot be before start date!") | 
				
			|||
 | 
				
			|||
    @api.depends('no_of_days', 'amount') | 
				
			|||
    def _compute_total_amount(self): | 
				
			|||
        """ Function for compute total amount """ | 
				
			|||
        for record in self: | 
				
			|||
            record.total_amount = record.no_of_days * record.amount | 
				
			|||
 | 
				
			|||
    @api.depends('start_date', 'end_date') | 
				
			|||
    def _compute_no_of_days(self): | 
				
			|||
        """Function for computing rental period based on start date and end | 
				
			|||
        date""" | 
				
			|||
        for record in self: | 
				
			|||
            if record.start_date and record.end_date: | 
				
			|||
                record.no_of_days = (record.end_date - record.start_date).days | 
				
			|||
 | 
				
			|||
    def action_draft(self): | 
				
			|||
        """ Function for change state of animal rental to draft """ | 
				
			|||
        self.state = 'draft' | 
				
			|||
 | 
				
			|||
    def action_confirm(self): | 
				
			|||
        """ Function for change state of crop request to confirm """ | 
				
			|||
        self.state = 'confirm' | 
				
			|||
 | 
				
			|||
    def action_return(self): | 
				
			|||
        """ Function for change state of crop request to cancel """ | 
				
			|||
        self.state = 'return' | 
				
			|||
 | 
				
			|||
    def action_cancel(self): | 
				
			|||
        """ Function for change state of crop request to cancel """ | 
				
			|||
        self.state = 'cancel' | 
				
			|||
 | 
				
			|||
    def action_register_payment(self): | 
				
			|||
        """Method for viewing the wizard for register payment""" | 
				
			|||
        view_id = self.env.ref( | 
				
			|||
            'agriculture_management_odoo.animal_register_payment_wizard_view_form').id | 
				
			|||
        return { | 
				
			|||
            'name': 'Register Payment', | 
				
			|||
            'type': 'ir.actions.act_window', | 
				
			|||
            'view_mode': 'form', | 
				
			|||
            'res_model': 'animal.register.payment.wizard', | 
				
			|||
            'views': [(view_id, 'form')], | 
				
			|||
            'context': { | 
				
			|||
                'default_farmer_id': self.farmer_id.id, | 
				
			|||
                'default_rental_duration': self.no_of_days, | 
				
			|||
                'default_amount': self.total_amount, | 
				
			|||
                'default_ref': self.name | 
				
			|||
            }, | 
				
			|||
            'target': 'new', | 
				
			|||
        } | 
				
			|||
@ -0,0 +1,44 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class CropAnimal(models.Model): | 
				
			|||
    """ This model serves as a bridge to attach animal details to crop | 
				
			|||
    request records. It provides a structured way to associate animal-related | 
				
			|||
    information with specific crop requests.""" | 
				
			|||
    _name = 'crop.animal' | 
				
			|||
    _description = 'Crop Animal Details' | 
				
			|||
 | 
				
			|||
    dec_id = fields.Many2one('crop.request', string='Crop', | 
				
			|||
                             help='Select the crop id for this animal to be ' | 
				
			|||
                                  'used') | 
				
			|||
    animal_id = fields.Many2one('animal.detail', string='Animal', | 
				
			|||
                                help="select animal used for this farming", | 
				
			|||
                                domain=[('state', '=', 'available')], | 
				
			|||
                                tracking=True) | 
				
			|||
    qty = fields.Integer(string='Quantity', | 
				
			|||
                         help=" Number of animals used for farming") | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='This field represents the company associated with ' | 
				
			|||
        'the current user or environment.', default=lambda self: self.env.company) | 
				
			|||
@ -0,0 +1,43 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class CropMachinery(models.Model): | 
				
			|||
    """ This model serves as a bridge to attach machinery details to crop | 
				
			|||
    request records. It provides a structured way to associate machinery-related | 
				
			|||
    information with specific crop requests.""" | 
				
			|||
    _name = 'crop.machinery' | 
				
			|||
    _description = 'Crop Machinery Details' | 
				
			|||
 | 
				
			|||
    des_id = fields.Many2one('crop.request', string='Crop id', | 
				
			|||
                             help="The crop id should be used to identify the " | 
				
			|||
                                  "machinery is used which crop farming") | 
				
			|||
    vehicle_id = fields.Many2one('vehicle.detail', | 
				
			|||
                                 help="The vehicle that used for farming", | 
				
			|||
                                 tracking=True, string='Vehicle',) | 
				
			|||
    qty = fields.Integer(string='Quantity', | 
				
			|||
                         help="The Number of the vehicle that used for farming") | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='This field represents the company associated with' | 
				
			|||
        ' the current user or environment.', default=lambda self: self.env.company) | 
				
			|||
@ -0,0 +1,134 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import api, fields, models, _ | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class CropRequest(models.Model): | 
				
			|||
    """ This model represents the creation of crop requests. It provides a | 
				
			|||
    structured way to initiate and manage requests for crop cultivation tasks, | 
				
			|||
    including associating animals, machinery, and other relevant details.""" | 
				
			|||
    _name = 'crop.request' | 
				
			|||
    _inherit = ["mail.thread", 'mail.activity.mixin'] | 
				
			|||
    _description = "Crop Request Details" | 
				
			|||
    _rec_name = 'ref' | 
				
			|||
 | 
				
			|||
    ref = fields.Char(string='Reference', help="Reference id of crop requests", | 
				
			|||
                      copy=False, readonly=True, tracking=True, | 
				
			|||
                      default=lambda self: _('New')) | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='The company associated with the current user or ' | 
				
			|||
        'environment.', default=lambda self: self.env.company) | 
				
			|||
    farmer_id = fields.Many2one('farmer.detail', string='Farmer', | 
				
			|||
                                help="Choose the farmer for the crop", | 
				
			|||
                                required=True, tracking=True) | 
				
			|||
    seed_id = fields.Many2one('seed.detail', string='Crop', | 
				
			|||
                              help=" Select the seed details", | 
				
			|||
                              required=True, tracking=True) | 
				
			|||
    location_id = fields.Many2one('location.detail', | 
				
			|||
                                  string='Location', required=True, | 
				
			|||
                                  help="Mention the Location details for " | 
				
			|||
                                       "farming", tracking=True) | 
				
			|||
    request_date = fields.Date(string='Request Date', tracking=True, | 
				
			|||
                               help="The Requested Date for crop", | 
				
			|||
                               default=fields.Date.context_today, required=True) | 
				
			|||
    state = fields.Selection( | 
				
			|||
        [('draft', 'Draft'), ('confirm', 'Confirmed'), | 
				
			|||
         ('ploughing', 'Ploughing'), ('sowing', 'Sowing'), | 
				
			|||
         ('manuring', 'Manuring'), ('irrigation', 'Irrigation'), | 
				
			|||
         ('weeding', 'Weeding'), ('harvest', 'Harvest'), ('storage', 'Storage'), | 
				
			|||
         ('cancel', 'Cancel')], group_expand='_group_expand_states', | 
				
			|||
        string='Status', default='draft', tracking=True, | 
				
			|||
        help="Mention the Status of crop, which stage now the crop is reached") | 
				
			|||
    note = fields.Text(string='Note', tracking=True, | 
				
			|||
                       help="Description about crop and farming need to " | 
				
			|||
                            "remember") | 
				
			|||
    machinery_ids = fields.One2many('crop.machinery', | 
				
			|||
                                    'des_id', string='Machinery', | 
				
			|||
                                    tracking=True, help="The machinery required" | 
				
			|||
                                                        "for this farming") | 
				
			|||
    animal_ids = fields.One2many('crop.animal', | 
				
			|||
                                 'dec_id', string='Animals', | 
				
			|||
                                 tracking=True, | 
				
			|||
                                 help="Animals used for this crop farming") | 
				
			|||
    tag_ids = fields.Many2many('agriculture.tag', string='Tags', | 
				
			|||
                               tracking=True, help="Create appropriate" | 
				
			|||
                                                   " tags for the crop ") | 
				
			|||
    user_id = fields.Many2one('res.users', | 
				
			|||
                              string='Responsible User', | 
				
			|||
                              help="Mention the user of the documents", | 
				
			|||
                              default=lambda self: self.env.user) | 
				
			|||
 | 
				
			|||
    @api.model | 
				
			|||
    def create(self, values): | 
				
			|||
        """Function for creating new crop requests""" | 
				
			|||
        if values.get('ref', _('New')) == _('New'): | 
				
			|||
            values['ref'] = self.env['ir.sequence'].next_by_code( | 
				
			|||
                'crop.request') or _('New') | 
				
			|||
        res = super(CropRequest, self).create(values) | 
				
			|||
        return res | 
				
			|||
 | 
				
			|||
    def action_draft(self): | 
				
			|||
        """ Function for change state of crop request to draft """ | 
				
			|||
        self.state = 'draft' | 
				
			|||
 | 
				
			|||
    def action_confirm(self): | 
				
			|||
        """ Function for change state of crop request to confirm """ | 
				
			|||
        self.state = 'confirm' | 
				
			|||
 | 
				
			|||
    def action_ploughing(self): | 
				
			|||
        """ Function for change state of crop request to ploughing """ | 
				
			|||
        self.state = 'ploughing' | 
				
			|||
 | 
				
			|||
    def action_sowing(self): | 
				
			|||
        """ Function for change state of crop request to sowing """ | 
				
			|||
        self.state = 'sowing' | 
				
			|||
 | 
				
			|||
    def action_manuring(self): | 
				
			|||
        """ Function for change state of crop request to manuring """ | 
				
			|||
        self.state = 'manuring' | 
				
			|||
 | 
				
			|||
    def action_irrigation(self): | 
				
			|||
        """ Function for change state of crop request to irrigation """ | 
				
			|||
        self.state = 'irrigation' | 
				
			|||
 | 
				
			|||
    def action_weeding(self): | 
				
			|||
        """ Function for change state of crop request to weeding """ | 
				
			|||
        self.state = 'weeding' | 
				
			|||
 | 
				
			|||
    def action_harvest(self): | 
				
			|||
        """ Function for change state of crop request to harvest """ | 
				
			|||
        self.state = 'harvest' | 
				
			|||
 | 
				
			|||
    def action_cancel(self): | 
				
			|||
        """ Function for change state of crop request to cancel """ | 
				
			|||
        self.state = 'cancel' | 
				
			|||
 | 
				
			|||
    def action_storage(self): | 
				
			|||
        """ Function for change state of crop request to storage """ | 
				
			|||
        self.state = 'storage' | 
				
			|||
 | 
				
			|||
    def _group_expand_states(self): | 
				
			|||
        """This function takes a list of states and expands them based on the | 
				
			|||
        given domain and order.""" | 
				
			|||
        return [key for | 
				
			|||
                key, val in type(self).state.selection] | 
				
			|||
@ -0,0 +1,62 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class DamageLoss(models.Model): | 
				
			|||
    """This model represents details about damage and loss incidents. | 
				
			|||
    It provides a structured way to record information related to damages and | 
				
			|||
    losses incurred in the context of agricultural activities or other domains. | 
				
			|||
    """ | 
				
			|||
    _name = 'damage.loss' | 
				
			|||
    _description = 'Damage Loss Details' | 
				
			|||
    _inherit = ["mail.thread", 'mail.activity.mixin'] | 
				
			|||
 | 
				
			|||
    name = fields.Char(string='Name', help="Reason for damage or loss of crop ", | 
				
			|||
                       required=True, tracking=True) | 
				
			|||
    farmer_id = fields.Many2one('farmer.detail', | 
				
			|||
                                help=" Mention the corresponding Farmer", | 
				
			|||
                                string='Farmer', required=True, tracking=True) | 
				
			|||
    crop_id = fields.Many2one('crop.request', | 
				
			|||
                              help="Mention the corresponding crop", | 
				
			|||
                              string='Crop', required=True, tracking=True) | 
				
			|||
    location_id = fields.Many2one('location.detail', tracking=True, | 
				
			|||
                                  string='Location', help="The location of the " | 
				
			|||
                                  "damage or loss takes place", | 
				
			|||
                                  required=True) | 
				
			|||
    damage_loss_type = fields.Selection([('damage', 'Damage'), | 
				
			|||
                                        ('loss', 'Loss')], | 
				
			|||
                                        string='Damage/Loss Type', | 
				
			|||
                                        help="Mention the damage or lass type", | 
				
			|||
                                        required=True, tracking=True) | 
				
			|||
    damage_loss_date = fields.Date(string='Damage/Loss Date', | 
				
			|||
                                   help="The date in which damage occurs", | 
				
			|||
                                   default=fields.Date.context_today, | 
				
			|||
                                   required=True, tracking=True) | 
				
			|||
    note = fields.Text(string='Damage/Loss Description', tracking=True, | 
				
			|||
                       help="Describe the details of damage/loss") | 
				
			|||
    damage_loss_image = fields.Binary(string='Image', tracking=True, | 
				
			|||
                                      help="Upload some images of damage/loss") | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True,help='The company associated with the current user or ' | 
				
			|||
        'environment.', default=lambda self: self.env.company) | 
				
			|||
@ -0,0 +1,53 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import api, fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class FarmerDetail(models.Model): | 
				
			|||
    """This model represents comprehensive details about farmers within the | 
				
			|||
    context of agriculture management. It provides a structured way to store | 
				
			|||
    information related to individual farmers, including their personal and | 
				
			|||
    contact details. """ | 
				
			|||
    _name = 'farmer.detail' | 
				
			|||
    _inherit = ["mail.thread", 'mail.activity.mixin'] | 
				
			|||
    _description = 'Farmer Details In Agriculture Management' | 
				
			|||
    _rec_name = 'farmer_id' | 
				
			|||
 | 
				
			|||
    farmer_id = fields.Many2one('res.partner', string='Farmer', | 
				
			|||
                                help=' Select the corresponding farmer', | 
				
			|||
                                required=True, tracking=True) | 
				
			|||
    farmer_image = fields.Binary(string='Image', tracking=True, | 
				
			|||
                                 help='Upload image of Farmer') | 
				
			|||
    note = fields.Text(string='Notes', tracking=True, | 
				
			|||
                       help="Description regarding the farmer") | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='The company associated with the current user or ' | 
				
			|||
        'environment.',default=lambda self: self.env.company) | 
				
			|||
 | 
				
			|||
    @api.onchange('farmer_id') | 
				
			|||
    def _onchange_farmer_id(self): | 
				
			|||
        """Function for select image of farmer automatically when choosing | 
				
			|||
        the farmer""" | 
				
			|||
        for record in self: | 
				
			|||
            if record.farmer_id: | 
				
			|||
                record.farmer_image = record.farmer_id.image_1920 | 
				
			|||
@ -0,0 +1,34 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class FleetVehicle(models.Model): | 
				
			|||
    """ This model inherits from the 'fleet.vehicle' model to extend and | 
				
			|||
    utilize the existing functionality for managing vehicle details. It provides | 
				
			|||
    a structured way to access and utilize vehicle information within a fleet | 
				
			|||
    management context.""" | 
				
			|||
    _inherit = "fleet.vehicle" | 
				
			|||
 | 
				
			|||
    registration_date = fields.Date(string="Registration Date", | 
				
			|||
                                    default=fields.Date.today, help="The" | 
				
			|||
                                    "Registration date of the vehicle") | 
				
			|||
@ -0,0 +1,58 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class LocationDetail(models.Model): | 
				
			|||
    """This model represents comprehensive details about locations within | 
				
			|||
     the context of agriculture. It provides a structured way to store | 
				
			|||
     information related to various geographic locations, such as farms, fields, | 
				
			|||
      or storage areas. """ | 
				
			|||
    _name = 'location.detail' | 
				
			|||
    _inherit = ['mail.thread', 'mail.activity.mixin'] | 
				
			|||
    _description = "Location Details In Agriculture Details" | 
				
			|||
    _rec_name = 'location_name' | 
				
			|||
 | 
				
			|||
    location_name = fields.Char(string='Location Name', required=True, | 
				
			|||
                                help='Give the name of Location where' | 
				
			|||
                                     ' farming done', tracking=True) | 
				
			|||
    location_address = fields.Char(string='Location Address', required=True, | 
				
			|||
                                   help='Give the full address of the location', | 
				
			|||
                                   tracking=True) | 
				
			|||
    location_area = fields.Float(string='Location Area', required=True, | 
				
			|||
                                 help='The area of location', tracking=True) | 
				
			|||
    location_area_unit = fields.Selection([('acres', 'Acres'), | 
				
			|||
                                           ('hectares', 'Hectares')], | 
				
			|||
                                          string='Area Unit', tracking=True, | 
				
			|||
                                          required=True, | 
				
			|||
                                          help='Mention the units of area') | 
				
			|||
    location_type = fields.Selection([('plot', 'Plot'), | 
				
			|||
                                      ('field', 'Field')], default="plot", | 
				
			|||
                                     required=True, tracking=True, | 
				
			|||
                                     help='Describe the type of farming area', | 
				
			|||
                                     string='Location Type') | 
				
			|||
    note = fields.Text(string='Note', tracking=True, | 
				
			|||
                       help='If any description for the location, mention here') | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='The company associated with the current user or ' | 
				
			|||
        'environment.', default=lambda self: self.env.company) | 
				
			|||
@ -0,0 +1,64 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import api, fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class PestDetail(models.Model): | 
				
			|||
    """ This model represents comprehensive details about pests within the | 
				
			|||
    context of agriculture management. """ | 
				
			|||
    _name = 'pest.detail' | 
				
			|||
    _inherit = ["mail.thread", 'mail.activity.mixin'] | 
				
			|||
    _description = 'Pest Details In Agriculture Management' | 
				
			|||
    _rec_name = 'pest_name' | 
				
			|||
 | 
				
			|||
    pest_name = fields.Char(string='Pesticide', tracking=True, | 
				
			|||
                            help="Mention the pesticide name", required=True) | 
				
			|||
    pest_expiry_date = fields.Date(string='Expiry Date', | 
				
			|||
                                   help=" Mention the pesticide expiry date", | 
				
			|||
                                   required=True, tracking=True) | 
				
			|||
    pest_description = fields.Text(string='Pest Description', tracking=True, | 
				
			|||
                                   help="Brief description about the pesticide") | 
				
			|||
    pest_image = fields.Binary(string='Image', tracking=True, | 
				
			|||
                               help="Upload the image of pesticide") | 
				
			|||
    pest_cost = fields.Float(string='Cost', help="The cost of the pesticide", | 
				
			|||
                             required=True, tracking=True) | 
				
			|||
    pest_quantity = fields.Integer(string='Quantity', | 
				
			|||
                                   help="The quantity of pesticide purchased", | 
				
			|||
                                   required=True, tracking=True) | 
				
			|||
    total_cost = fields.Float(string='Total Cost', tracking=True, | 
				
			|||
                              help="The total cost of pesticide", | 
				
			|||
                              compute='_compute_total_cost', store=True) | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='The company associated with the current user or ' | 
				
			|||
        'environment.', default=lambda self: self.env.company) | 
				
			|||
    currency_id = fields.Many2one('res.currency', | 
				
			|||
                                  help="Currency of company", string='Currency', | 
				
			|||
                                  default=lambda | 
				
			|||
                                  self: self.env.user.company_id.currency_id, | 
				
			|||
                                  tracking=True) | 
				
			|||
 | 
				
			|||
    @api.depends('pest_cost', 'pest_quantity') | 
				
			|||
    def _compute_total_cost(self): | 
				
			|||
        """Function for calculate total cost of pesticide """ | 
				
			|||
        for record in self: | 
				
			|||
            record.total_cost = record.pest_cost * record.pest_quantity | 
				
			|||
@ -0,0 +1,112 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import api, fields, models, _ | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class PestRequest(models.Model): | 
				
			|||
    """ This model represents requests related to pest management within the | 
				
			|||
    context of agriculture. It provides a structured way to initiate and manage | 
				
			|||
    requests for pest control measures, treatments, and interventions.""" | 
				
			|||
    _name = 'pest.request' | 
				
			|||
    _inherit = ["mail.thread", 'mail.activity.mixin'] | 
				
			|||
    _description = 'Pest Request In Agriculture Management' | 
				
			|||
    _rec_name = 'reference' | 
				
			|||
 | 
				
			|||
    reference = fields.Char(string='Reference', help='Mention the details of ' | 
				
			|||
                                                     'pesticide request', | 
				
			|||
                            copy=False, readonly=True, tracking=True, | 
				
			|||
                            default=lambda self: _('New')) | 
				
			|||
    request_date = fields.Date(string='Request Date', tracking=True, | 
				
			|||
                               help='The date the pesticide request was sent.', | 
				
			|||
                               default=fields.Date.context_today, required=True) | 
				
			|||
    farmer_id = fields.Many2one('res.partner', string='Farmer', | 
				
			|||
                                help='Mention the corresponding farmer that ' | 
				
			|||
                                     'request send', required=True, | 
				
			|||
                                tracking=True) | 
				
			|||
    crop_id = fields.Many2one('crop.request', string='Crop', | 
				
			|||
                              help='Mention the corresponding crop the ' | 
				
			|||
                                   'pesticide needed', required=True, | 
				
			|||
                              tracking=True) | 
				
			|||
    location_id = fields.Many2one('location.detail', | 
				
			|||
                                  help='Location of details crop and farming', | 
				
			|||
                                  tracking=True, string='Location') | 
				
			|||
    pest_id = fields.Many2one('pest.detail', string='Pest', | 
				
			|||
                              help='Mention the pesticide name Required ', | 
				
			|||
                              required=True, tracking=True) | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='The company associated with the current user or ' | 
				
			|||
        'environment.', default=lambda self: self.env.company) | 
				
			|||
    currency_id = fields.Many2one('res.currency', string='Currency', | 
				
			|||
                                  help='Currency used by the company', | 
				
			|||
                                  default=lambda | 
				
			|||
                                  self: self.env.user.company_id.currency_id) | 
				
			|||
    pest_quantity = fields.Integer(string='Pest Quantity', tracking=True, | 
				
			|||
                                   help='The quantity of pesticide that is' | 
				
			|||
                                        'required to be purchased', | 
				
			|||
                                   required=True) | 
				
			|||
    pest_cost = fields.Float(string='Pest Cost', required=True, | 
				
			|||
                             help="The unit price of the pesticide", | 
				
			|||
                             tracking=True, related='pest_id.pest_cost') | 
				
			|||
    total_cost = fields.Float(string='Total Cost', tracking=True, store=True, | 
				
			|||
                              help="The total cost of the pesticide that was " | 
				
			|||
                                   "purchased.", compute='_compute_total_cost') | 
				
			|||
    disease = fields.Text(string='Disease', tracking=True, required=True, | 
				
			|||
                          help="The corresponding disease of crop") | 
				
			|||
    note = fields.Text(string='Note', tracking=True, | 
				
			|||
                       help="Please describe any additional details here if " | 
				
			|||
                            "there is a need to mention additional data.") | 
				
			|||
    state = fields.Selection( | 
				
			|||
        [('draft', 'Draft'), ('pending', 'Pending'), ('approve', 'Approved'), | 
				
			|||
         ('rejected', 'Rejected')], help=" The status of pesticide request", | 
				
			|||
        string='Status', default='draft', tracking=True) | 
				
			|||
 | 
				
			|||
    def action_draft(self): | 
				
			|||
        """ Function for change state of crop request to cancel """ | 
				
			|||
        self.state = 'draft' | 
				
			|||
 | 
				
			|||
    def action_pending(self): | 
				
			|||
        """ Function for change state of pest request to pending """ | 
				
			|||
        self.state = 'pending' | 
				
			|||
 | 
				
			|||
    def action_approved(self): | 
				
			|||
        """ Function for change state of pest request to approve """ | 
				
			|||
        self.state = 'approve' | 
				
			|||
 | 
				
			|||
    def action_rejected(self): | 
				
			|||
        """ Function for change state of pest request to rejected """ | 
				
			|||
        self.state = 'rejected' | 
				
			|||
 | 
				
			|||
    @api.depends('pest_cost', 'pest_quantity') | 
				
			|||
    def _compute_total_cost(self): | 
				
			|||
        """Function for calculate total cost of pesticide""" | 
				
			|||
        for record in self: | 
				
			|||
            record.total_cost = record.pest_cost * record.pest_quantity | 
				
			|||
 | 
				
			|||
    @api.model | 
				
			|||
    def create(self, values): | 
				
			|||
        """ Function for create new pest request """ | 
				
			|||
        if values.get('reference', _('New')) == _('New'): | 
				
			|||
            values['reference'] = self.env['ir.sequence'].next_by_code( | 
				
			|||
                'pest.request') or _('New') | 
				
			|||
        res = super(PestRequest, self).create(values) | 
				
			|||
        return res | 
				
			|||
@ -0,0 +1,55 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class SeedDetail(models.Model): | 
				
			|||
    """This model represents comprehensive details about seeds within the | 
				
			|||
    context of agriculture management. It provides a structured way to store | 
				
			|||
    information related to various types of seeds used for planting and | 
				
			|||
    cultivation.""" | 
				
			|||
    _name = 'seed.detail' | 
				
			|||
    _inherit = ["mail.thread", 'mail.activity.mixin'] | 
				
			|||
    _description = "Seed Details In Agriculture Management" | 
				
			|||
 | 
				
			|||
    name = fields.Char(string='Name', help='Mention the name of the breed of ' | 
				
			|||
                                           'crop used for farming', | 
				
			|||
                       required=True, tracking=True) | 
				
			|||
    quantity = fields.Integer(string='Quantity', required=True, tracking=True, | 
				
			|||
                              help='Mention Quantity or seed purchased for ' | 
				
			|||
                                   'farming') | 
				
			|||
    unit = fields.Selection([('kg', 'Kilograms'), ('gms', 'Grams')], | 
				
			|||
                            string='Unit', required=True, tracking=True, | 
				
			|||
                            help='Mention the quantity of seed purchased for ' | 
				
			|||
                                 'farming') | 
				
			|||
    seed_type = fields.Selection( | 
				
			|||
        [('registered', 'Registered'), ('breeder', 'Breeder'), | 
				
			|||
         ('foundation', 'Foundation'), | 
				
			|||
         ('certified', 'Certified')], string='Type', tracking=True, | 
				
			|||
        help='Mention the status of seed purchased for farming', required=True) | 
				
			|||
    note = fields.Text(string='Note', tracking=True, | 
				
			|||
                       help="Please describe any additional details here if " | 
				
			|||
                            "there is a need to mention additional data.") | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='The company associated with the current user or ' | 
				
			|||
        'environment.', default=lambda self: self.env.company) | 
				
			|||
@ -0,0 +1,79 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import api, fields, models | 
				
			|||
from datetime import datetime | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class VehicleDetail(models.Model): | 
				
			|||
    """ This model represents comprehensive details about vehicles within | 
				
			|||
     the context of agriculture management. It provides a structured way to | 
				
			|||
     store information related to various types of vehicles used for | 
				
			|||
     transportation and agricultural operations.""" | 
				
			|||
    _name = 'vehicle.detail' | 
				
			|||
    _inherit = ['mail.thread', 'mail.activity.mixin'] | 
				
			|||
    _description = "Vehicle Details IN Agriculture Management" | 
				
			|||
    _rec_name = 'name' | 
				
			|||
 | 
				
			|||
    name = fields.Char(string='Name', tracking=True, readonly=True, | 
				
			|||
                       help="Mention the name of vehicle chose", | 
				
			|||
                       compute='_compute_vehicle_name') | 
				
			|||
    vehicle_main_id = fields.Many2one('fleet.vehicle', | 
				
			|||
                                      help="Select the vehicle that used for " | 
				
			|||
                                           "farming", string='Vehicle', | 
				
			|||
                                      required=True, | 
				
			|||
                                      tracking=True, domain=( | 
				
			|||
                                        [('state_id', '=', 'Registered')])) | 
				
			|||
    vehicle_type = fields.Selection( | 
				
			|||
        [('tractor', 'Tractor'), ('harvester', 'Harvester'), | 
				
			|||
         ('pickup', 'Pickup'), ('other', 'Other')], | 
				
			|||
        string='Vehicle Type', required=True, | 
				
			|||
        help=' Mention the status of vehicle ', tracking=True) | 
				
			|||
    vehicle_model = fields.Char(string='Model Year', store=True, | 
				
			|||
                                help='Mention the model of selected model', | 
				
			|||
                                compute='_compute_vehicle_model', tracking=True) | 
				
			|||
    note = fields.Text(string='Note', tracking=True, | 
				
			|||
                       help="Please describe any additional details here if " | 
				
			|||
                            "there is a need to mention additional data.") | 
				
			|||
    company_id = fields.Many2one( | 
				
			|||
        'res.company', string='Company', required=True, | 
				
			|||
        readonly=True, help='The company associated with the current user or ' | 
				
			|||
        'environment.', default=lambda self: self.env.company) | 
				
			|||
 | 
				
			|||
    @api.depends("vehicle_main_id") | 
				
			|||
    def _compute_vehicle_name(self): | 
				
			|||
        """Function for auto update the name of vehicle based on model and | 
				
			|||
        brand""" | 
				
			|||
        for ref in self: | 
				
			|||
            ref.name = str( | 
				
			|||
                ref.vehicle_main_id.model_id.brand_id.name or " ") + "/" + str( | 
				
			|||
                ref.vehicle_main_id.model_id.name or " ") + "/" + str( | 
				
			|||
                ref.vehicle_main_id.license_plate or " ") | 
				
			|||
 | 
				
			|||
    @api.depends('vehicle_main_id') | 
				
			|||
    def _compute_vehicle_model(self): | 
				
			|||
        """ Function for selecting model of vehicle based on vehicle id""" | 
				
			|||
        for ref in self: | 
				
			|||
            ref.vehicle_model = False | 
				
			|||
            if ref.vehicle_main_id.registration_date: | 
				
			|||
                date = datetime.strptime( | 
				
			|||
                    str(ref.vehicle_main_id.registration_date), '%Y-%m-%d') | 
				
			|||
                ref.vehicle_model = str(date.year) | 
				
			|||
@ -0,0 +1,141 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import api, fields, models, _ | 
				
			|||
from odoo.exceptions import ValidationError | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class VehicleRental(models.Model): | 
				
			|||
    """This model represents details about vehicle rentals within the | 
				
			|||
    context of agriculture management. It provides a structured way to manage | 
				
			|||
    information related to renting vehicles for agricultural tasks.""" | 
				
			|||
    _name = 'vehicle.rental' | 
				
			|||
    _inherit = ['mail.thread', 'mail.activity.mixin'] | 
				
			|||
    _description = 'Vehicle Rental Details' | 
				
			|||
    _rec_name = 'vehicle_id' | 
				
			|||
 | 
				
			|||
    name = fields.Char(string='Reference', readonly=True, | 
				
			|||
                       default=lambda self: _('New'), copy=False, | 
				
			|||
                       help='Field for the sequence of renting entries of ' | 
				
			|||
                            'vehicles.') | 
				
			|||
    farmer_id = fields.Many2one('farmer.detail', string='Farmer', | 
				
			|||
                                help='Select the farmer who needs vehicle.', | 
				
			|||
                                required=True, tracking=True) | 
				
			|||
    vehicle_id = fields.Many2one('vehicle.detail', | 
				
			|||
                                 help="Select the vehicle that used for farming", | 
				
			|||
                                 string='Vehicle', required=True, tracking=True) | 
				
			|||
    no_of_days = fields.Float(string='No of Days', compute='_compute_no_of_days', | 
				
			|||
                              help="The number of days we want to rent that " | 
				
			|||
                              "vehicle.", tracking=True, store=True) | 
				
			|||
    start_date = fields.Date(string='Start Date', tracking=True, | 
				
			|||
                             help=" Start date of rental period", required=True) | 
				
			|||
    end_date = fields.Date(string='End Date', help="End date of rental period", | 
				
			|||
                           required=True, tracking=True) | 
				
			|||
    company_id = fields.Many2one('res.company', string='Company', | 
				
			|||
                                 required=True, readonly=True, | 
				
			|||
                                 help='The company associated with the current ' | 
				
			|||
                                 'user or environment.', | 
				
			|||
                                 default=lambda self: self.env.company) | 
				
			|||
    currency_id = fields.Many2one(related='company_id.currency_id', | 
				
			|||
                                  string='Currency', help='Currency of company') | 
				
			|||
    amount = fields.Monetary(string='Amount', help="Rental amount per day", | 
				
			|||
                             required=True) | 
				
			|||
    total_amount = fields.Monetary(string='Total Amount', | 
				
			|||
                                   help="Total rental amount", | 
				
			|||
                                   compute='_compute_total_amount', | 
				
			|||
                                   currency_field='currency_id') | 
				
			|||
    note = fields.Text(string='Description', tracking=True, | 
				
			|||
                       help="Please describe any additional details here if " | 
				
			|||
                            "there is a need to mention additional data.", | 
				
			|||
                       placeholder='Note') | 
				
			|||
    state = fields.Selection( | 
				
			|||
        [('draft', 'Draft'), ('confirm', 'Confirmed'), ('return', 'Returned'), | 
				
			|||
         ('paid', 'Paid'), ('cancel', 'Cancel')], string='Status', | 
				
			|||
        default='draft', tracking=True, copy=False, | 
				
			|||
        help="Status of renting the vehicle, Which is th status of the vehicle " | 
				
			|||
             "rented?") | 
				
			|||
    vehicle_paid_bool = fields.Boolean(string='Paid Bool', default=False, | 
				
			|||
                                       copy=False) | 
				
			|||
 | 
				
			|||
    @api.model | 
				
			|||
    def create(self, values): | 
				
			|||
        """Function for creating new animal rental""" | 
				
			|||
        if values.get('name', _('New')) == _('New'): | 
				
			|||
            values['name'] = self.env['ir.sequence'].next_by_code( | 
				
			|||
                'vehicle.rental') or _('New') | 
				
			|||
        return super(VehicleRental, self).create(values) | 
				
			|||
 | 
				
			|||
    @api.constrains('start_date', 'end_date') | 
				
			|||
    def _check_dates(self): | 
				
			|||
        for record in self: | 
				
			|||
            if record.start_date and record.end_date: | 
				
			|||
                if record.end_date < record.start_date: | 
				
			|||
                    raise ValidationError( | 
				
			|||
                        "End date cannot be before start date!") | 
				
			|||
 | 
				
			|||
    @api.depends('no_of_days', 'amount') | 
				
			|||
    def _compute_total_amount(self): | 
				
			|||
        """ Function for compute total amount """ | 
				
			|||
        for record in self: | 
				
			|||
            record.total_amount = record.no_of_days * record.amount | 
				
			|||
 | 
				
			|||
    @api.depends('start_date', 'end_date') | 
				
			|||
    def _compute_no_of_days(self): | 
				
			|||
        """Function for calculating the rental period based start date and | 
				
			|||
        end date""" | 
				
			|||
        for record in self: | 
				
			|||
            if record.start_date and record.end_date: | 
				
			|||
                record.no_of_days = (record.end_date - record.start_date).days | 
				
			|||
 | 
				
			|||
    def action_draft(self): | 
				
			|||
        """ Function for change state of animal rental to draft """ | 
				
			|||
        self.state = 'draft' | 
				
			|||
 | 
				
			|||
    def action_confirm(self): | 
				
			|||
        """ Function for change state of crop request to confirm """ | 
				
			|||
        self.state = 'confirm' | 
				
			|||
 | 
				
			|||
    def action_return(self): | 
				
			|||
        """ Function for change state of crop request to cancel """ | 
				
			|||
        self.state = 'return' | 
				
			|||
 | 
				
			|||
    def action_cancel(self): | 
				
			|||
        """ Function for change state of crop request to cancel """ | 
				
			|||
        self.state = 'cancel' | 
				
			|||
 | 
				
			|||
    def action_register_payment(self): | 
				
			|||
        """Method for viewing the wizard for register payment""" | 
				
			|||
        view_id = self.env.ref( | 
				
			|||
            'agriculture_management_odoo.vehicle_register_payment_wizard_view_form').id | 
				
			|||
        return { | 
				
			|||
            'name': 'Register Payment', | 
				
			|||
            'type': 'ir.actions.act_window', | 
				
			|||
            'view_mode': 'form', | 
				
			|||
            'res_model': 'vehicle.register.payment.wizard', | 
				
			|||
            'views': [(view_id, 'form')], | 
				
			|||
            'context': { | 
				
			|||
                'default_farmer_id': self.farmer_id.id, | 
				
			|||
                'default_rental_duration': self.no_of_days, | 
				
			|||
                'default_amount': self.total_amount, | 
				
			|||
                'default_ref': self.name | 
				
			|||
            }, | 
				
			|||
            'target': 'new', | 
				
			|||
        } | 
				
			|||
@ -0,0 +1,13 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--   The record of animals report action  --> | 
				
			|||
    <record id="report_animal_crop" model="ir.actions.report"> | 
				
			|||
        <field name="name">Animal Crop Report</field> | 
				
			|||
        <field name="model">crop.request</field> | 
				
			|||
        <field name="report_type">qweb-pdf</field> | 
				
			|||
        <field name="report_name">agriculture_management_odoo.animal_crop</field> | 
				
			|||
        <field name="report_file">agriculture_management_odoo.animal_crop</field> | 
				
			|||
        <field name="binding_model_id" ref="model_crop_request"/> | 
				
			|||
        <field name="binding_type">report</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,72 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--   PDF Report Template for rented animal for farming report--> | 
				
			|||
    <template id="animal_crop"> | 
				
			|||
        <t t-call="web.html_container"> | 
				
			|||
            <t t-foreach="docs" t-as="doc"> | 
				
			|||
                <t t-call="web.external_layout"> | 
				
			|||
                    <div class="page"> | 
				
			|||
                        <center> | 
				
			|||
                            <h1>Crop Animal Report</h1> | 
				
			|||
                        </center> | 
				
			|||
                        <br/> | 
				
			|||
                        <div t-if="doc.ref" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Reference : | 
				
			|||
                                <t t-esc="doc.ref"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <div t-if="doc.farmer_id.farmer_id.name" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Farmer : | 
				
			|||
                                <t t-esc="doc.farmer_id.farmer_id.name"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <div t-if="doc.seed_id.name" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Crop : | 
				
			|||
                                <t t-esc="doc.seed_id.name"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <div t-if="doc.location_id.location_name" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Location : | 
				
			|||
                                <t t-esc="doc.location_id.location_name"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <br> | 
				
			|||
                        </br> | 
				
			|||
                        <style> | 
				
			|||
                            table, thead, th, td, tr, tbody { | 
				
			|||
                            border: 1px solid black; | 
				
			|||
                            border-collapse: collapse; | 
				
			|||
                            padding: 5px; | 
				
			|||
                            } | 
				
			|||
                        </style> | 
				
			|||
                        <table class="table table-bordered" | 
				
			|||
                               style="border: 2px solid black;text-align: center !important;"> | 
				
			|||
                            <thead> | 
				
			|||
                                <tr> | 
				
			|||
                                    <strong> | 
				
			|||
                                        <th>Animal</th> | 
				
			|||
                                        <th>Quantity</th> | 
				
			|||
                                    </strong> | 
				
			|||
                                </tr> | 
				
			|||
                            </thead> | 
				
			|||
                            <tbody> | 
				
			|||
                                <tr t-foreach="doc.animal_ids" t-as="line"> | 
				
			|||
                                    <td> | 
				
			|||
                                        <span t-esc="line.animal_id.breed"/> | 
				
			|||
                                    </td> | 
				
			|||
                                    <td> | 
				
			|||
                                        <span t-esc="line.qty"/> | 
				
			|||
                                    </td> | 
				
			|||
                                </tr> | 
				
			|||
                            </tbody> | 
				
			|||
                        </table> | 
				
			|||
                    </div> | 
				
			|||
                </t> | 
				
			|||
            </t> | 
				
			|||
        </t> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,13 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Action for report of crop request --> | 
				
			|||
    <record id="action_crop_request_report" model="ir.actions.report"> | 
				
			|||
        <field name="name">Crop Report</field> | 
				
			|||
        <field name="model">crop.report</field> | 
				
			|||
        <field name="report_type">qweb-pdf</field> | 
				
			|||
        <field name="report_name">agriculture_management_odoo.report_crop_details</field> | 
				
			|||
        <field name="report_file">agriculture_management_odoo.report_crop_details</field> | 
				
			|||
        <field name="binding_model_id" ref="model_crop_report"/> | 
				
			|||
        <field name="binding_type">report</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,90 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--    PDF Report Template of crop details --> | 
				
			|||
    <template id="report_crop_details"> | 
				
			|||
        <t t-call="web.html_container"> | 
				
			|||
            <t t-call="web.external_layout"> | 
				
			|||
                <div class="page"> | 
				
			|||
                    <div class="oe_structure"/> | 
				
			|||
                    <div class="text-center"> | 
				
			|||
                        <h1>Crop Report</h1> | 
				
			|||
                    </div> | 
				
			|||
                    <table class="table table-condensed"> | 
				
			|||
                        <tr> | 
				
			|||
                            <td>FROM DATE</td> | 
				
			|||
                            <td>:</td> | 
				
			|||
                            <td> | 
				
			|||
                                <t t-if="form.get('date_from')"> | 
				
			|||
                                    <t t-esc="form['date_from']"/> | 
				
			|||
                                </t> | 
				
			|||
                            </td> | 
				
			|||
                        </tr> | 
				
			|||
                        <tr> | 
				
			|||
                            <td>TO DATE</td> | 
				
			|||
                            <td>:</td> | 
				
			|||
                            <td> | 
				
			|||
                                <t t-if="form.get('date_to')"> | 
				
			|||
                                    <t t-esc="form['date_to']"/> | 
				
			|||
                                </t> | 
				
			|||
                            </td> | 
				
			|||
                        </tr> | 
				
			|||
                        <table class="table table-condensed"> | 
				
			|||
                            <thead> | 
				
			|||
                                <tr> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Reference | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Farmer | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Crop | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Request Date | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Location | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Status | 
				
			|||
                                    </th> | 
				
			|||
                                </tr> | 
				
			|||
                            </thead> | 
				
			|||
                            <tbody> | 
				
			|||
                                <t> | 
				
			|||
                                    <tr t-foreach="record" t-as="val"> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[0]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[1]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[2]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[3]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[5]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[4]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                    </tr> | 
				
			|||
                                </t> | 
				
			|||
                            </tbody> | 
				
			|||
                        </table> | 
				
			|||
                    </table> | 
				
			|||
                </div> | 
				
			|||
            </t> | 
				
			|||
        </t> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,13 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Report action for crop vehicle --> | 
				
			|||
     <record id="report_vehicle_crop" model="ir.actions.report"> | 
				
			|||
        <field name="name">Vehicle Crop Report</field> | 
				
			|||
        <field name="model">crop.request</field> | 
				
			|||
        <field name="report_type">qweb-pdf</field> | 
				
			|||
        <field name="report_name">agriculture_management_odoo.vehicle_crop</field> | 
				
			|||
        <field name="report_file">agriculture_management_odoo.vehicle_crop</field> | 
				
			|||
        <field name="binding_model_id" ref="model_crop_request"/> | 
				
			|||
        <field name="binding_type">report</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,71 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--    Template for PDF Report of vehicles in crops farming --> | 
				
			|||
    <template id="vehicle_crop"> | 
				
			|||
        <t t-call="web.html_container"> | 
				
			|||
            <t t-foreach="docs" t-as="doc"> | 
				
			|||
                <t t-call="web.external_layout"> | 
				
			|||
                    <div class="page"> | 
				
			|||
                        <center> | 
				
			|||
                            <h1>Crop Vehicle Report</h1> | 
				
			|||
                        </center> | 
				
			|||
                        <br/> | 
				
			|||
                        <div t-if="doc.ref" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Reference : | 
				
			|||
                                <t t-esc="doc.ref"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <div t-if="doc.farmer_id.farmer_id.name" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Farmer : | 
				
			|||
                                <t t-esc="doc.farmer_id.farmer_id.name"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <div t-if="doc.seed_id.name" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Crop : | 
				
			|||
                                <t t-esc="doc.seed_id.name"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <div t-if="doc.location_id.location_name" | 
				
			|||
                             style="font-family: 'Montserrat', sans-serif !important;font-weight: bold;font-size: 1.3rem"> | 
				
			|||
                            <p>Location : | 
				
			|||
                                <t t-esc="doc.location_id.location_name"/> | 
				
			|||
                            </p> | 
				
			|||
                        </div> | 
				
			|||
                        <br/> | 
				
			|||
                        <style> | 
				
			|||
                            table, thead, th, td, tr, tbody { | 
				
			|||
                            border: 1px solid black; | 
				
			|||
                            border-collapse: collapse; | 
				
			|||
                            padding: 5px; | 
				
			|||
                            } | 
				
			|||
                        </style> | 
				
			|||
                        <table class="table table-sm" | 
				
			|||
                               style="border: 2px solid black"> | 
				
			|||
                            <thead> | 
				
			|||
                                <tr> | 
				
			|||
                                    <strong> | 
				
			|||
                                        <th>Vehicle</th> | 
				
			|||
                                        <th>Quantity</th> | 
				
			|||
                                    </strong> | 
				
			|||
                                </tr> | 
				
			|||
                            </thead> | 
				
			|||
                            <tbody> | 
				
			|||
                                <tr t-foreach="doc.machinery_ids" t-as="line"> | 
				
			|||
                                    <td> | 
				
			|||
                                        <span t-esc="'%s/%s/%s' % (line.vehicle_id.vehicle_main_id.model_id.name,line.vehicle_id.vehicle_main_id.model_id.name,line.vehicle_id.vehicle_main_id.license_plate)"/> | 
				
			|||
                                    </td> | 
				
			|||
                                    <td> | 
				
			|||
                                        <span t-esc="line.qty"/> | 
				
			|||
                                    </td> | 
				
			|||
                                </tr> | 
				
			|||
                            </tbody> | 
				
			|||
                        </table> | 
				
			|||
                    </div> | 
				
			|||
                </t> | 
				
			|||
            </t> | 
				
			|||
        </t> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,13 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Record for actions of pesticide PDF report--> | 
				
			|||
    <record id="pest_request_report_action" model="ir.actions.report"> | 
				
			|||
        <field name="name">pest Report</field> | 
				
			|||
        <field name="model">pest.report</field> | 
				
			|||
        <field name="report_type">qweb-pdf</field> | 
				
			|||
        <field name="report_name">agriculture_management_odoo.report_pest_detail</field> | 
				
			|||
        <field name="report_file">agriculture_management_odoo.report_pest_detail</field> | 
				
			|||
        <field name="binding_model_id" ref="model_pest_report"/> | 
				
			|||
        <field name="binding_type">report</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,111 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--   PDF Report Template for pesticide purchased in farming --> | 
				
			|||
    <template id="report_pest_detail"> | 
				
			|||
        <t t-call="web.html_container"> | 
				
			|||
            <t t-call="web.external_layout"> | 
				
			|||
                <div class="page"> | 
				
			|||
                    <div class="oe_structure"/> | 
				
			|||
                    <div class="text-center"> | 
				
			|||
                        <h1>Pest Report</h1> | 
				
			|||
                    </div> | 
				
			|||
                    <table class="table table-condensed"> | 
				
			|||
                        <tr> | 
				
			|||
                            <td>FROM DATE</td> | 
				
			|||
                            <td>:</td> | 
				
			|||
                            <td> | 
				
			|||
                                <t t-if="form.get('date_from')"> | 
				
			|||
                                    <t t-esc="form['date_from']"/> | 
				
			|||
                                </t> | 
				
			|||
                            </td> | 
				
			|||
                        </tr> | 
				
			|||
                        <tr> | 
				
			|||
                            <td>TO DATE</td> | 
				
			|||
                            <td>:</td> | 
				
			|||
                            <td> | 
				
			|||
                                <t t-if="form.get('date_to')"> | 
				
			|||
                                    <t t-esc="form['date_to']"/> | 
				
			|||
                                </t> | 
				
			|||
                            </td> | 
				
			|||
                        </tr> | 
				
			|||
                        <table class="table table-condensed"> | 
				
			|||
                            <thead> | 
				
			|||
                                <tr> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Reference | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Farmer | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Crop | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Disease | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Pest | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Quantity | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Cost | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Total | 
				
			|||
                                    </th> | 
				
			|||
                                    <th style="text-align:left;color:black!important;"> | 
				
			|||
                                        Status | 
				
			|||
                                    </th> | 
				
			|||
                                </tr> | 
				
			|||
                            </thead> | 
				
			|||
                            <tbody> | 
				
			|||
                                <t> | 
				
			|||
                                    <tr t-foreach="record" t-as="val"> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[0]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[1]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[2]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[3]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[4]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[6]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[5]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[7]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                        <td> | 
				
			|||
                                            <span t-att-style="style" | 
				
			|||
                                                  t-esc="val[8]"/> | 
				
			|||
                                        </td> | 
				
			|||
                                    </tr> | 
				
			|||
                                </t> | 
				
			|||
                            </tbody> | 
				
			|||
                        </table> | 
				
			|||
                    </table> | 
				
			|||
                </div> | 
				
			|||
            </t> | 
				
			|||
        </t> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,17 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--    User groups for Agriculture Management--> | 
				
			|||
    <record id="module_agriculture_management_odoo" model="ir.module.category"> | 
				
			|||
        <field name="name">Agriculture Management</field> | 
				
			|||
        <field name="description">Category for Agriculture</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="group_agriculture_user" model="res.groups"> | 
				
			|||
        <field name="name">User</field> | 
				
			|||
        <field name="category_id" ref="module_agriculture_management_odoo"/> | 
				
			|||
    </record> | 
				
			|||
    <record id="group_agriculture_admin" model="res.groups"> | 
				
			|||
        <field name="name">Manager</field> | 
				
			|||
        <field name="category_id" ref="module_agriculture_management_odoo"/> | 
				
			|||
        <field name="implied_ids" eval="[(4, ref('group_agriculture_user'))]"/> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,85 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Security rules for crop request --> | 
				
			|||
    <record id="rule_own_doc" model="ir.rule"> | 
				
			|||
        <field name="name">View Own Docs</field> | 
				
			|||
        <field ref="model_crop_request" name="model_id"/> | 
				
			|||
        <field name="domain_force">['|',('user_id', '=', user.id),('create_uid', | 
				
			|||
            '=', user.id)] | 
				
			|||
        </field> | 
				
			|||
        <field name="groups" | 
				
			|||
               eval="[(4, ref('agriculture_management_odoo.group_agriculture_user'))]"/> | 
				
			|||
    </record> | 
				
			|||
    <record id="rule_all_doc" model="ir.rule"> | 
				
			|||
        <field name="name">View All Docs</field> | 
				
			|||
        <field ref="model_crop_request" name="model_id"/> | 
				
			|||
        <field name="domain_force">[(1, '=', 1)]</field> | 
				
			|||
        <field name="groups" | 
				
			|||
               eval="[(4, ref('agriculture_management_odoo.group_agriculture_admin'))]"/> | 
				
			|||
    </record> | 
				
			|||
    <record id="crop_request_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Crop Request multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_crop_request"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="animal_rental_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Animal Rental multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_animal_rental"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="animal_details_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Animal Details multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_animal_detail"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="crop_animal_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Crop Animal multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_crop_animal"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="crop_machinery_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Crop Machinery multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_crop_machinery"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="damage_loss_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Damage Loss multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_damage_loss"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="farmer_detail_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Farmer Detail multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_farmer_detail"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="location_detail_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Location Detail multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_location_detail"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="pest_detail_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Pest Detail multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_pest_detail"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="pest_request_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Pest Request multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_pest_request"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="seed_detail_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Seed Detail multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_seed_detail"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="vehicle_detail_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Vehicle Detail multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_vehicle_detail"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
    <record id="vehicle_rental_comp_rule" model="ir.rule"> | 
				
			|||
        <field name="name">Vehicle Rental multi company rule</field> | 
				
			|||
        <field name="model_id" ref="model_vehicle_rental"/> | 
				
			|||
        <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
		
		
			
  | 
| 
		 After Width: | Height: | Size: 3.6 KiB  | 
| 
		 After Width: | Height: | Size: 310 B  | 
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 576 B  | 
| 
		 After Width: | Height: | Size: 733 B  | 
| 
		 After Width: | Height: | Size: 911 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 3.4 KiB  | 
| 
		 After Width: | Height: | Size: 673 B  | 
| 
		 After Width: | Height: | Size: 878 B  | 
| 
		 After Width: | Height: | Size: 653 B  | 
| 
		 After Width: | Height: | Size: 905 B  | 
| 
		 After Width: | Height: | Size: 839 B  | 
| 
		 After Width: | Height: | Size: 427 B  | 
| 
		 After Width: | Height: | Size: 627 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 988 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 49 KiB  | 
| 
		 After Width: | Height: | Size: 60 KiB  | 
| 
		 After Width: | Height: | Size: 64 KiB  | 
| 
		 After Width: | Height: | Size: 58 KiB  | 
| 
		 After Width: | Height: | Size: 46 KiB  | 
| 
		 After Width: | Height: | Size: 77 KiB  | 
| 
		 After Width: | Height: | Size: 116 KiB  | 
| 
		 After Width: | Height: | Size: 174 KiB  | 
| 
		 After Width: | Height: | Size: 128 KiB  | 
| 
		 After Width: | Height: | Size: 40 KiB  | 
| 
		 After Width: | Height: | Size: 157 KiB  | 
| 
		 After Width: | Height: | Size: 89 KiB  | 
| 
		 After Width: | Height: | Size: 33 KiB  | 
| 
		 After Width: | Height: | Size: 157 KiB  | 
| 
		 After Width: | Height: | Size: 106 KiB  | 
| 
		 After Width: | Height: | Size: 343 KiB  | 
| 
		 After Width: | Height: | Size: 32 KiB  | 
| 
		 After Width: | Height: | Size: 54 KiB  | 
| 
		 After Width: | Height: | Size: 72 KiB  | 
| 
		 After Width: | Height: | Size: 73 KiB  | 
| 
		 After Width: | Height: | Size: 59 KiB  | 
| 
		 After Width: | Height: | Size: 42 KiB  | 
| 
		 After Width: | Height: | Size: 82 KiB  | 
| 
		 After Width: | Height: | Size: 9.7 KiB  | 
@ -0,0 +1,683 @@ | 
				
			|||
<div class="container" style="padding: 1rem !important; margin-bottom: 1rem !important;"> | 
				
			|||
  <div class="row"> | 
				
			|||
    <div class="col-sm-12 col-md-12 col-lg-12 d-flex justify-content-between" style="border-bottom: 1px solid #d5d5d5;"> | 
				
			|||
      <div class="my-3"> | 
				
			|||
        <img src="./assets/icons/logo.png" style="width: auto !important; height: 40px !important;"> | 
				
			|||
      </div> | 
				
			|||
      <div class="my-3 d-flex align-items-center"> | 
				
			|||
        <div | 
				
			|||
          style="background-color: #7C7BAD !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;"> | 
				
			|||
          <i class="fa fa-check mr-1"></i>Community | 
				
			|||
        </div> | 
				
			|||
        <div | 
				
			|||
          style="background-color: #875A7B !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;"> | 
				
			|||
          <i class="fa fa-check mr-1"></i>Enterprise | 
				
			|||
        </div> | 
				
			|||
         <div | 
				
			|||
          style="background-color: #875A7B !important; color: #fff !important; font-weight: 600 !important; padding: 5px 15px 8px !important; margin: 0 5px !important;"> | 
				
			|||
          <i class="fa fa-check mr-1"></i>Odoo.sh | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
</div> | 
				
			|||
 | 
				
			|||
<div class="container" style="padding: 0rem 1.5rem 4rem !important"> | 
				
			|||
  <div class="row" style="height: 900px !important;"> | 
				
			|||
    <div class="col-sm-12 col-md-12 col-lg-12" | 
				
			|||
      style="padding: 4rem 1rem !important; background-color: #714B67 !important; height: 600px !important; border-radius: 20px !important;"> | 
				
			|||
      <h1 | 
				
			|||
        style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #FFFFFF !important;  font-size: 3.5rem !important; text-align: center !important;"> | 
				
			|||
        Agriculture Management</h1> | 
				
			|||
      <p | 
				
			|||
        style="font-family: 'Montserrat', sans-serif !important; font-weight: 300 !important; color: #FFFFFF !important;  font-size: 1.4rem !important; text-align: center !important;"> | 
				
			|||
        A Module For Managing Agriculture. | 
				
			|||
      </p> | 
				
			|||
      <img src="./assets/screenshots/hero.gif" class="img-responsive" width="100%" height="auto" /> | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
 | 
				
			|||
  <div class="row"> | 
				
			|||
    <div class="col-md-12" style="border-bottom: 1px solid #d5d5d5 !important; margin-bottom: 2rem !important"> | 
				
			|||
      <h2 | 
				
			|||
        style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | 
				
			|||
        <i class="fa fa-compass mr-2"></i>Explore this module | 
				
			|||
      </h2> | 
				
			|||
      <div class="row"> | 
				
			|||
        <div class="col-md-6"> | 
				
			|||
          <a href="#overview" style="text-decoration: none !important;"> | 
				
			|||
            <div class="row" | 
				
			|||
              style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;"> | 
				
			|||
              <div class="col-8"> | 
				
			|||
                <h3 | 
				
			|||
                  style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;"> | 
				
			|||
                  Overview</h3> | 
				
			|||
                <p | 
				
			|||
                  style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;"> | 
				
			|||
                  Learn more about this module</p> | 
				
			|||
              </div> | 
				
			|||
              <div class="col-4 text-right d-flex justify-content-end align-items-center"> | 
				
			|||
                <i class="fa fa-chevron-right" style="color: #714B67 !important;"></i> | 
				
			|||
              </div> | 
				
			|||
            </div> | 
				
			|||
          </a> | 
				
			|||
        </div> | 
				
			|||
        <div class="col-md-6"> | 
				
			|||
          <a href="#features" style="text-decoration: none !important;"> | 
				
			|||
            <div class="row" | 
				
			|||
              style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;"> | 
				
			|||
              <div class="col-8"> | 
				
			|||
                <h3 | 
				
			|||
                  style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;"> | 
				
			|||
                  Features</h3> | 
				
			|||
                <p | 
				
			|||
                  style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;"> | 
				
			|||
                  View features of this module</p> | 
				
			|||
              </div> | 
				
			|||
              <div class="col-4 text-right d-flex justify-content-end align-items-center"> | 
				
			|||
                <i class="fa fa-chevron-right" style="color: #714B67 !important;"></i> | 
				
			|||
              </div> | 
				
			|||
            </div> | 
				
			|||
          </a> | 
				
			|||
        </div> | 
				
			|||
        <div class="col-md-6"> | 
				
			|||
          <a href="#screenshots" style="text-decoration: none !important;"> | 
				
			|||
            <div class="row" | 
				
			|||
              style="background-color: #f5f2f5 !important; border-radius: 10px !important; margin: 1rem !important; padding: 1.5em !important; height: 100px !important;"> | 
				
			|||
              <div class="col-8"> | 
				
			|||
                <h3 | 
				
			|||
                  style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.2rem !important;"> | 
				
			|||
                  Screenshots</h3> | 
				
			|||
                <p | 
				
			|||
                  style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #714B67 !important; font-size: 0.9rem !important;"> | 
				
			|||
                  See key screenshots of this module</p> | 
				
			|||
              </div> | 
				
			|||
              <div class="col-4 text-right d-flex justify-content-end align-items-center"> | 
				
			|||
                <i class="fa fa-chevron-right" style="color: #714B67 !important;"></i> | 
				
			|||
              </div> | 
				
			|||
            </div> | 
				
			|||
          </a> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
  </div> | 
				
			|||
 | 
				
			|||
  <div class="row" id="overview"> | 
				
			|||
    <div class="col-md-12" style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important"> | 
				
			|||
      <h2 | 
				
			|||
        style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | 
				
			|||
        <i class="fa fa-pie-chart mr-2"></i>Overview | 
				
			|||
      </h2> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-mg-12 pl-3"> | 
				
			|||
      <p | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #282F33 !important; font-size: 1rem !important; line-height: 30px !important;"> | 
				
			|||
        In the Agriculture Management App, We can manage the agriculture to our own need. | 
				
			|||
        We can also manage the rentals of vehicle and animals for agriculture purpose. | 
				
			|||
        We can also customize and hide the fields.</p> | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
 | 
				
			|||
  <div class="row" id="features"> | 
				
			|||
    <div class="col-md-12" style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important"> | 
				
			|||
      <h2 | 
				
			|||
        style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | 
				
			|||
        <i class="fa fa-star mr-2"></i>Features | 
				
			|||
      </h2> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-md-6 pl-3 py-3 d-flex"> | 
				
			|||
      <div> | 
				
			|||
        <img src="assets/icons/check.png"> | 
				
			|||
      </div> | 
				
			|||
      <div> | 
				
			|||
        <h4 | 
				
			|||
          style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
          Set the Manager and User in settings.</h4> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-md-6 pl-3 py-3 d-flex"> | 
				
			|||
      <div> | 
				
			|||
        <img src="assets/icons/check.png"> | 
				
			|||
      </div> | 
				
			|||
      <div> | 
				
			|||
        <h4 | 
				
			|||
          style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
          Create Crop Requests.</h4> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-md-6 pl-3 py-3 d-flex"> | 
				
			|||
      <div> | 
				
			|||
        <img src="assets/icons/check.png"> | 
				
			|||
      </div> | 
				
			|||
      <div> | 
				
			|||
        <h4 | 
				
			|||
          style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
          Create Rentals for Vehicles and Animals.</h4> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-md-6 pl-3 py-3 d-flex"> | 
				
			|||
      <div> | 
				
			|||
        <img src="assets/icons/check.png"> | 
				
			|||
      </div> | 
				
			|||
      <div> | 
				
			|||
        <h4 | 
				
			|||
          style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
          Create Damage/Loss Report.</h4> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-md-6 pl-3 py-3 d-flex"> | 
				
			|||
      <div> | 
				
			|||
        <img src="assets/icons/check.png"> | 
				
			|||
      </div> | 
				
			|||
      <div> | 
				
			|||
        <h4 | 
				
			|||
          style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
          Create Pesticide Request and Can View the Pesticide Details.</h4> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-md-6 pl-3 py-3 d-flex"> | 
				
			|||
      <div> | 
				
			|||
        <img src="assets/icons/check.png"> | 
				
			|||
      </div> | 
				
			|||
      <div> | 
				
			|||
        <h4 | 
				
			|||
          style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
          Create Total Crop Request Report.</h4> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
  <div class="row" id="screenshots"> | 
				
			|||
    <div class="col-md-12" style="border-bottom: 1px solid #d5d5d5 !important; margin: 2rem 0 !important"> | 
				
			|||
      <h2 | 
				
			|||
        style="font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #714B67 !important; font-size: 1.5rem !important;"> | 
				
			|||
        <i class="fa fa-image mr-2"></i>Screenshots | 
				
			|||
      </h2> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-lg-12 my-2"> | 
				
			|||
      <h4 class="mt-2" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
       Provide User Access</h4> | 
				
			|||
      <p | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #282F33 !important; font-size: 1rem !important;"> | 
				
			|||
        In Settings, user can have Manager access which is overall access and another one is User access. | 
				
			|||
        layout</p> | 
				
			|||
      <img src="assets/screenshots/agr_manager_1.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
      <img src="assets/screenshots/agr_user_2.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        Configuration </h4> | 
				
			|||
      <p | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #282F33 !important; font-size: 1rem !important;"> | 
				
			|||
        User can create Seed, Farmers, Vehicles, Animals, Locations and Tags used for creating Crop Request. | 
				
			|||
      </p> | 
				
			|||
      <img src="assets/screenshots/agr_conf_3.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        Create Crop Request using created values in configuration.</h4> | 
				
			|||
      <img src="assets/screenshots/agr_crop_4.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User can print report of current record of used vehicles. </h4> | 
				
			|||
      <img src="assets/screenshots/agr_vehicle_report_print_5.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        Report view of used vehicle report.</h4> | 
				
			|||
      <img src="assets/screenshots/agr_vehicle_repor_6.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User Can Print Report Of Current Record of Used Animals.</h4> | 
				
			|||
      <img src="assets/screenshots/animal_report_print_7.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        Report View Of Used Animal Report.</h4> | 
				
			|||
      <img src="assets/screenshots/animal_repor_8.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User Can Rent The Vehicles.</h4> | 
				
			|||
      <img src="assets/screenshots/rental_veh_9.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User Can Rent The Animals.</h4> | 
				
			|||
      <img src="assets/screenshots/animal_rental_10.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User Can Submit Damage/ Loss of the Crops.</h4> | 
				
			|||
      <img src="assets/screenshots/damage_loss_11.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User Can Request Pesticide For The Crops.</h4> | 
				
			|||
      <img src="assets/screenshots/pest_req_12.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User Can Create and View Pesticides Available.</h4> | 
				
			|||
      <img src="assets/screenshots/pest_details_13.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        User Can Take The Crop Request Report.</h4> | 
				
			|||
      <img src="assets/screenshots/main_report_14.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        Enter The Date Range To Print Report.</h4> | 
				
			|||
      <img src="assets/screenshots/report_wiz_15.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <div class="col-lg-12 my-3"> | 
				
			|||
      <h4 class="mt-3" | 
				
			|||
        style="font-family: 'Roboto', sans-serif !important; font-weight: 600 !important; color: #282F33 !important; font-size: 1.3rem !important;"> | 
				
			|||
        Report View Of Crop Request.</h4> | 
				
			|||
      <img src="assets/screenshots/main_rep_pdf_out_16.png" class="img-responsive img-thumbnail border" width="100%" | 
				
			|||
        height="auto" /> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
  </div> | 
				
			|||
  <!-- SUGGESTED PRODUCTS --> | 
				
			|||
  <div class="row"> | 
				
			|||
            <div class="col-lg-12 d-flex flex-column justify-content-center" | 
				
			|||
                style="text-align: center; padding: 2.5rem 1rem !important;"> | 
				
			|||
                <h2 style="color: #212529 !important;">Suggested Products</h2> | 
				
			|||
                <hr | 
				
			|||
                    style="border: 3px solid #AC1015 !important; background-color: #AC1015 !important; width: 80px !important; margin-bottom: 2rem !important;" /> | 
				
			|||
 | 
				
			|||
                <div id="demo1" class="row carousel slide" data-ride="carousel"> | 
				
			|||
                    <!-- The slideshow --> | 
				
			|||
                    <div class="carousel-inner"> | 
				
			|||
                        <div class="carousel-item active" style="min-height:0px"> | 
				
			|||
                            <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> | 
				
			|||
                                <a href="https://apps.odoo.com/apps/modules/14.0/project_dashboard_odoo/" target="_blank"> | 
				
			|||
                                    <div style="border-radius:10px"> | 
				
			|||
                                        <img class="img img-responsive center-block" | 
				
			|||
                                            style="border-top-left-radius:10px; border-top-right-radius:10px" | 
				
			|||
                                            src="assets/modules/module_image.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/14.0/pdf_report_with_sign/" | 
				
			|||
                                    target="_blank"> | 
				
			|||
                                    <div style="border-radius:10px"> | 
				
			|||
                                        <img class="img img-responsive center-block" | 
				
			|||
                                            style="border-top-left-radius:10px; border-top-right-radius:10px" | 
				
			|||
                                            src="assets/modules/module_image (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/14.0/fleet_car_workshop/" target="_blank"> | 
				
			|||
                                    <div style="border-radius:10px"> | 
				
			|||
                                        <img class="img img-responsive center-block" | 
				
			|||
                                            style="border-top-left-radius:10px; border-top-right-radius:10px" | 
				
			|||
                                            src="assets/modules/module_image.jpeg"> | 
				
			|||
                                    </div> | 
				
			|||
                                </a> | 
				
			|||
                            </div> | 
				
			|||
                        </div> | 
				
			|||
                        <div class="carousel-item" style="min-height:0px"> | 
				
			|||
                            <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> | 
				
			|||
                                <a href="https://apps.odoo.com/apps/modules/14.0/library_management_system/" | 
				
			|||
                                    target="_blank"> | 
				
			|||
                                    <div style="border-radius:10px"> | 
				
			|||
                                        <img class="img img-responsive center-block" | 
				
			|||
                                            style="border-top-left-radius:10px; border-top-right-radius:10px" | 
				
			|||
                                            src="assets/modules/module_image (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/14.0/front_office_management/" | 
				
			|||
                                    target="_blank"> | 
				
			|||
                                    <div style="border-radius:10px"> | 
				
			|||
                                        <img class="img img-responsive center-block" | 
				
			|||
                                            style="border-top-left-radius:10px; border-top-right-radius:10px" | 
				
			|||
                                            src="assets/modules/module_image (4).png"> | 
				
			|||
                                    </div> | 
				
			|||
                                </a> | 
				
			|||
                            </div> | 
				
			|||
                        </div> | 
				
			|||
                    </div> | 
				
			|||
                    <!-- Left and right controls --> | 
				
			|||
                    <a class="carousel-control-prev" href="#demo1" data-slide="prev" | 
				
			|||
                        style="left:-25px;width: 35px;color: #000;"> <span class="carousel-control-prev-icon"><i | 
				
			|||
                                class="fa fa-chevron-left" style="font-size:24px"></i></span> </a> <a | 
				
			|||
                        class="carousel-control-next" href="#demo1" data-slide="next" | 
				
			|||
                        style="right:-25px;width: 35px;color: #000;"> | 
				
			|||
                        <span class="carousel-control-next-icon"><i class="fa fa-chevron-right" | 
				
			|||
                                style="font-size:24px"></i></span> | 
				
			|||
                    </a> | 
				
			|||
                </div> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
  <!-- END OF SUGGESTED PRODUCTS --> | 
				
			|||
 | 
				
			|||
  <!-- OUR SERVICES --> | 
				
			|||
  <section class="container" style="margin-top: 6rem !important;"> | 
				
			|||
    <div class="row"> | 
				
			|||
      <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | 
				
			|||
        <h2 style="color: #212529 !important;">Our Services</h2> | 
				
			|||
        <hr | 
				
			|||
          style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;" /> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Customization</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Implementation</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Support</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Hire | 
				
			|||
          Odoo | 
				
			|||
          Developer</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #54a0ff  !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Integration</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Migration</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Consultancy</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Implementation</h6> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
        <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
          style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
          <img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px"> | 
				
			|||
        </div> | 
				
			|||
        <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
          Odoo | 
				
			|||
          Licensing Consultancy</h6> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
  </section> | 
				
			|||
  <!-- END OF OUR SERVICES --> | 
				
			|||
 | 
				
			|||
  <!-- OUR INDUSTRIES --> | 
				
			|||
  <section class="container" style="margin-top: 6rem !important;"> | 
				
			|||
    <div class="row"> | 
				
			|||
      <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | 
				
			|||
        <h2 style="color: #212529 !important;">Our Industries</h2> | 
				
			|||
        <hr | 
				
			|||
          style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;" /> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            Trading | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            Easily procure | 
				
			|||
            and | 
				
			|||
            sell your products</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            POS | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            Easy | 
				
			|||
            configuration | 
				
			|||
            and convivial experience</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            Education | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            A platform for | 
				
			|||
            educational management</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            Manufacturing | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            Plan, track and | 
				
			|||
            schedule your operations</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            E-commerce & Website | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            Mobile | 
				
			|||
            friendly, | 
				
			|||
            awe-inspiring product pages</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            Service Management | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            Keep track of | 
				
			|||
            services and invoice</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            Restaurant | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            Run your bar or | 
				
			|||
            restaurant methodically</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-3"> | 
				
			|||
        <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
          style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
          <img src="./assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
          <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
            Hotel Management | 
				
			|||
          </h5> | 
				
			|||
          <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
            An | 
				
			|||
            all-inclusive | 
				
			|||
            hotel management application</p> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
    </div> | 
				
			|||
  </section> | 
				
			|||
 | 
				
			|||
  <!-- END OF OUR INDUSTRIES --> | 
				
			|||
 | 
				
			|||
  <!-- FOOTER --> | 
				
			|||
  <!-- Footer Section --> | 
				
			|||
  <section class="container" style="margin: 5rem auto 2rem;"> | 
				
			|||
    <div class="row" style="max-width:1540px;"> | 
				
			|||
      <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | 
				
			|||
        <h2 style="color: #212529 !important;">Need Help?</h2> | 
				
			|||
        <hr | 
				
			|||
          style="border: 3px solid #714B67 !important; background-color: #714B67 !important; width: 80px !important; margin-bottom: 2rem !important;" /> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
    <!-- Contact Cards --> | 
				
			|||
    <div class="row d-flex justify-content-center align-items-center" | 
				
			|||
      style="max-width:1540px; margin: 0 auto 2rem auto;"> | 
				
			|||
 | 
				
			|||
      <div class="col-lg-12" style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; "> | 
				
			|||
 | 
				
			|||
        <div class="row mt-4"> | 
				
			|||
          <div class="col-lg-6"> | 
				
			|||
            <a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover" | 
				
			|||
              style="text-decoration: none;  background-color: #4d4d4d; color: #FFF;  border-radius: 4px;"><i | 
				
			|||
                class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a> | 
				
			|||
          </div> | 
				
			|||
          <div class="col-lg-6"> | 
				
			|||
            <a href="https://api.whatsapp.com/send?phone=918606827707" target="_blank" | 
				
			|||
              class="btn btn-block mb-2 deep_hover" | 
				
			|||
              style="text-decoration: none;  background-color: #25D366; color: #FFF;  border-radius: 4px;"><i | 
				
			|||
                class="fa fa-whatsapp mr-2"></i>+91 86068 27707</a> | 
				
			|||
          </div> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
 | 
				
			|||
    </div> | 
				
			|||
    <!-- End of Contact Cards --> | 
				
			|||
  </section> | 
				
			|||
  <!-- Footer --> | 
				
			|||
  <section class="oe_container" style="padding: 2rem 3rem 1rem;"> | 
				
			|||
    <div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; "> | 
				
			|||
      <!-- Logo --> | 
				
			|||
      <div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 3rem;"> | 
				
			|||
        <img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" /> | 
				
			|||
      </div> | 
				
			|||
      <!-- End of Logo --> | 
				
			|||
      <div class="col-lg-12"> | 
				
			|||
        <hr | 
				
			|||
          style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;"> | 
				
			|||
        <!-- End of Footer Section --> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
  </section> | 
				
			|||
  <!-- END OF FOOTER --> | 
				
			|||
</div> | 
				
			|||
@ -0,0 +1,106 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!-- Root menus of agriculture management--> | 
				
			|||
    <menuitem id="agriculture_management_menu_root" | 
				
			|||
              web_icon="agriculture_management_odoo,static/description/icon.png" | 
				
			|||
              name="Agriculture Management" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <menuitem id="crop_request_menu_root" | 
				
			|||
              name="Crops" | 
				
			|||
              parent="agriculture_management_menu_root" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <!--    menu under Crops--> | 
				
			|||
    <menuitem id="crop_request_menu" | 
				
			|||
              name="Crop Request" | 
				
			|||
              parent="crop_request_menu_root" | 
				
			|||
              action="crop_details_action" | 
				
			|||
              sequence="20" | 
				
			|||
              groups=""/> | 
				
			|||
    <menuitem id="rental_menu_root" | 
				
			|||
              name="Rentals" | 
				
			|||
              parent="agriculture_management_menu_root" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <menuitem id="damage_loss_menu" | 
				
			|||
              name="Damage and Loss" | 
				
			|||
              parent="agriculture_management_menu_root" | 
				
			|||
              action="agriculture_management_odoo.damage_loss_action" | 
				
			|||
              sequence="30"/> | 
				
			|||
    <menuitem id="disease_pest_menu_root" | 
				
			|||
              name="Disease and Pesticides" | 
				
			|||
              parent="agriculture_management_menu_root" | 
				
			|||
              sequence="50"/> | 
				
			|||
    <menuitem id="reporting_menu_root" | 
				
			|||
              name="Reporting" | 
				
			|||
              parent="agriculture_management_menu_root" | 
				
			|||
              groups="agriculture_management_odoo.group_agriculture_admin" | 
				
			|||
              sequence="50"/> | 
				
			|||
    <menuitem id="configuration_menu_root" | 
				
			|||
              name="Configuration" | 
				
			|||
              parent="agriculture_management_menu_root" | 
				
			|||
              groups="agriculture_management_odoo.group_agriculture_admin" | 
				
			|||
              sequence="100"/> | 
				
			|||
    <!--    menu under rentals--> | 
				
			|||
    <menuitem id="vehicle_rental_menu" | 
				
			|||
              name="Vehicle Rentals" | 
				
			|||
              parent="rental_menu_root" | 
				
			|||
              action="vehicle_rental_action" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <menuitem id="animal_rental_menu" | 
				
			|||
              name="Animal Rentals" | 
				
			|||
              parent="rental_menu_root" | 
				
			|||
              action="animal_rental_action" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <!--menu under Disease and Pesticides--> | 
				
			|||
    <menuitem id="pest_request_menu" | 
				
			|||
              name="Pesticide Request" | 
				
			|||
              parent="disease_pest_menu_root" | 
				
			|||
              action="pest_request_action" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <menuitem id="pest_detail_menu" | 
				
			|||
              name="Pesticides Details" | 
				
			|||
              parent="disease_pest_menu_root" | 
				
			|||
              action="pest_detail_action" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <!--menu under Reporting --> | 
				
			|||
    <menuitem id="crop_reporting_menu" | 
				
			|||
              name="Crop Reporting" | 
				
			|||
              parent="reporting_menu_root" | 
				
			|||
              action="crop_report_action" | 
				
			|||
              sequence="10"/> | 
				
			|||
    <menuitem id="pest_reporting_menu" | 
				
			|||
              name="Pest Reporting" | 
				
			|||
              parent="reporting_menu_root" | 
				
			|||
              action="pest_report_action" | 
				
			|||
              sequence="10"/> | 
				
			|||
    <!--menu under configuration --> | 
				
			|||
    <menuitem id="seed_detail_menu" | 
				
			|||
              name="Seed" | 
				
			|||
              parent="configuration_menu_root" | 
				
			|||
              action="seed_detail_action" | 
				
			|||
              sequence="10"/> | 
				
			|||
    <menuitem id="farmer_detail_menu" | 
				
			|||
              name="Farmers" | 
				
			|||
              parent="configuration_menu_root" | 
				
			|||
              action="farmer_detail_action" | 
				
			|||
              sequence="12"/> | 
				
			|||
    <menuitem id="animal_detail_menu" | 
				
			|||
              name="Animals" | 
				
			|||
              parent="configuration_menu_root" | 
				
			|||
              action="animal_detail_action" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <menuitem id="location_detail_menu" | 
				
			|||
              name="Locations" | 
				
			|||
              parent="configuration_menu_root" | 
				
			|||
              action="location_detail_action" | 
				
			|||
              sequence="20"/> | 
				
			|||
    <menuitem id="vehicle_detail_menu" | 
				
			|||
              name="Vehicles" | 
				
			|||
              parent="configuration_menu_root" | 
				
			|||
              action="vehicle_detail_action" | 
				
			|||
              sequence="15"/> | 
				
			|||
    <menuitem id="agriculture_tags_menu" | 
				
			|||
              name="Tags" | 
				
			|||
              parent="configuration_menu_root" | 
				
			|||
              action="tags_details_action" | 
				
			|||
              sequence="25"/> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,50 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--   Form view for agriculture tags model --> | 
				
			|||
    <record id="agriculture_tag_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">agriculture.tag.view.form</field> | 
				
			|||
        <field name="model">agriculture.tag</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form string="Tags"> | 
				
			|||
                <sheet> | 
				
			|||
                    <div class="oe_title"> | 
				
			|||
                        <label for="name"/> | 
				
			|||
                        <h1> | 
				
			|||
                            <field name="name" placeholder="e.g. Services"/> | 
				
			|||
                        </h1> | 
				
			|||
                    </div> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="color" required="True" | 
				
			|||
                                   widget="color_picker"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                </sheet> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--   Tree view for agriculture tags model --> | 
				
			|||
    <record id="agriculture_tag_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">agriculture.tag.view.tree</field> | 
				
			|||
        <field name="model">agriculture.tag</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree string="Tags" editable="bottom" sample="1"> | 
				
			|||
                <field name="name"/> | 
				
			|||
                <field name="color" widget="color_picker"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Action for tags --> | 
				
			|||
    <record id="tags_details_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Tags</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">agriculture.tag</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Tag | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,68 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--  Tree view for animal details  --> | 
				
			|||
    <record id="animal_detail_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">animal.detail.view.tree</field> | 
				
			|||
        <field name="model">animal.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="breed"/> | 
				
			|||
                <field name="age"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--  Form view for animal details  --> | 
				
			|||
    <record id="animals_details_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">animal.detail.view.form</field> | 
				
			|||
        <field name="model">animal.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <header> | 
				
			|||
                    <button id="button_not_available" | 
				
			|||
                            name="action_not_available" string="Not Available" | 
				
			|||
                            class="btn-primary" | 
				
			|||
                            type="object" states="available"/> | 
				
			|||
                    <button id="button_available" name="action_available" | 
				
			|||
                            string="Set To Available" class="btn-primary" | 
				
			|||
                            type="object" states="not_available,sold"/> | 
				
			|||
                    <field name="state" widget="statusbar" | 
				
			|||
                           statusbar_visible="available,not_available,sold"/> | 
				
			|||
                </header> | 
				
			|||
                <sheet> | 
				
			|||
                    <h1> | 
				
			|||
                        <field name="breed"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="age"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="image" widget="image"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" placeholder="Animal Description"/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--     Action for animal details --> | 
				
			|||
    <record id="animal_detail_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Animals</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">animal.detail</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Animal | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,93 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Tree view for animal rental model--> | 
				
			|||
    <record id="animal_rental_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">animal.rental.view.tree</field> | 
				
			|||
        <field name="model">animal.rental</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="animal_id"/> | 
				
			|||
                <field name="no_of_days"/> | 
				
			|||
                <field name="start_date"/> | 
				
			|||
                <field name="end_date"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--    Form view for animal rental model--> | 
				
			|||
    <record id="animal_rental_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">animal.rental.view.form</field> | 
				
			|||
        <field name="model">animal.rental</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <header> | 
				
			|||
                    <button id="button_draft" name="action_draft" string="Draft" | 
				
			|||
                            type="object" class="oe_highlight" states="cancel"/> | 
				
			|||
                    <button id="button_confirm" name="action_confirm" | 
				
			|||
                            string="Submit" type="object" class="btn-primary" | 
				
			|||
                            states="draft"/> | 
				
			|||
                    <button id="button_return" name="action_return" | 
				
			|||
                            string="Return" class="btn-primary" | 
				
			|||
                            type="object" states="confirm"/> | 
				
			|||
                    <button id="action_register_payment" name="action_register_payment" | 
				
			|||
                            string="Register Payment" class="btn-primary" | 
				
			|||
                            type="object" states="return"/> | 
				
			|||
                    <button id="button_cancel" name="action_cancel" | 
				
			|||
                            string="Cancel" class="btn-primary" | 
				
			|||
                            type="object" states="confirm"/> | 
				
			|||
                    <field name="state" widget="statusbar" | 
				
			|||
                           statusbar_visible="draft,confirm,return,paid"/> | 
				
			|||
 | 
				
			|||
                </header> | 
				
			|||
                <sheet> | 
				
			|||
                     <widget name="web_ribbon" title="Paid" | 
				
			|||
                            bg_color="bg-success" | 
				
			|||
                            attrs="{'invisible': [('state', '!=', 'paid')]}"/> | 
				
			|||
                     <h1> | 
				
			|||
                        <field name="name"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="farmer_id"/> | 
				
			|||
                            <field name="animal_id"/> | 
				
			|||
                            <field name="no_of_days"/> | 
				
			|||
                            <field name="company_id" invisible="1"/> | 
				
			|||
                            <field name="currency_id" invisible="1"/> | 
				
			|||
                            <label for="amount" string="Amount"/> | 
				
			|||
                            <div> | 
				
			|||
                                <field name="amount" class="oe_inline"/> | 
				
			|||
                                Per Day | 
				
			|||
                            </div> | 
				
			|||
                            <field name="total_amount"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="start_date"/> | 
				
			|||
                            <field name="end_date"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" | 
				
			|||
                           placeholder="Animal Description........."/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Action for Animal Rental model--> | 
				
			|||
    <record id="animal_rental_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Animal Rental</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">animal.rental</field> | 
				
			|||
        <field name="view_mode">tree,form,kanban</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Animal Rental Request | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,163 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--    Kanban view for crop request model--> | 
				
			|||
    <record id="crop_request_view_kanban" model="ir.ui.view"> | 
				
			|||
        <field name="name">crop.request.view.kanban</field> | 
				
			|||
        <field name="model">crop.request</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <kanban default_group_by="state" | 
				
			|||
                    class="o_kanban_small_column o_kanban_project_tasks" | 
				
			|||
                     default_order="state" | 
				
			|||
                    examples="project" | 
				
			|||
                    js_class="project_kanban" sample="1"> | 
				
			|||
                <field name="ref"/> | 
				
			|||
                <field name="farmer_id"/> | 
				
			|||
                <field name="request_date"/> | 
				
			|||
                <field name="seed_id"/> | 
				
			|||
                <field name="tag_ids" widget="many2many_tags" | 
				
			|||
                       options="{'color_field': 'color'}"/> | 
				
			|||
                <progressbar field="state" | 
				
			|||
                             colors='{"draft": "warning","confirm": "info", "cancel": "danger", "ploughing": "muted", "harvest": "muted",  "storage": "success", "manuring": "primary"}'/> | 
				
			|||
                <templates> | 
				
			|||
                    <t t-name="kanban-box"> | 
				
			|||
                        <div t-attf-class="oe_kanban_global_click"> | 
				
			|||
                            <div class="oe_kanban_details"> | 
				
			|||
                                <strong> | 
				
			|||
                                    <field name="ref"/> | 
				
			|||
                                    <br/> | 
				
			|||
                                    <field name="farmer_id"/> | 
				
			|||
                                    <br/> | 
				
			|||
                                    <field name="request_date"/> | 
				
			|||
                                    <br/> | 
				
			|||
                                    <field name="seed_id"/> | 
				
			|||
                                    <br/> | 
				
			|||
                                    <field name="tag_ids" | 
				
			|||
                                           widget="many2many_tags" | 
				
			|||
                                           options="{'color_field': 'color'}"/> | 
				
			|||
                                    <br/> | 
				
			|||
                                </strong> | 
				
			|||
                            </div> | 
				
			|||
                        </div> | 
				
			|||
                    </t> | 
				
			|||
                </templates> | 
				
			|||
            </kanban> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Tree view for crop request model--> | 
				
			|||
    <record id="crop_request_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">crop.request.view.tree</field> | 
				
			|||
        <field name="model">crop.request</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="ref"/> | 
				
			|||
                <field name="seed_id"/> | 
				
			|||
                <field name="farmer_id"/> | 
				
			|||
                <field name="location_id"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Form view for crop request model--> | 
				
			|||
    <record id="crop_request_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">crop.request.view.form</field> | 
				
			|||
        <field name="model">crop.request</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <header> | 
				
			|||
                    <button id="button_draft" name="action_draft" string="Draft" | 
				
			|||
                            type="object" class="oe_highlight" | 
				
			|||
                            states="cancel"/> | 
				
			|||
                    <button id="button_confirm" name="action_confirm" | 
				
			|||
                            string="Submit" type="object" class="btn-primary" | 
				
			|||
                            states="draft"/> | 
				
			|||
                    <button id="button_ploughing" name="action_ploughing" | 
				
			|||
                            string="Ploughing" | 
				
			|||
                            class="btn-primary" | 
				
			|||
                            type="object" states="confirm"/> | 
				
			|||
                    <button id="button_sowing" name="action_sowing" | 
				
			|||
                            string="Sowing" class="btn-primary" | 
				
			|||
                            type="object" states="ploughing"/> | 
				
			|||
                    <button id="button_manuring" name="action_manuring" | 
				
			|||
                            string="Manure" class="btn-primary" | 
				
			|||
                            type="object" states="sowing"/> | 
				
			|||
                    <button id="button_irrigation" name="action_irrigation" | 
				
			|||
                            string="Irrigation" class="btn-primary" | 
				
			|||
                            type="object" states="manuring"/> | 
				
			|||
                    <button id="button_weeding" name="action_weeding" | 
				
			|||
                            string="Weeding" class="btn-primary" | 
				
			|||
                            type="object" states="irrigation"/> | 
				
			|||
                    <button id="button_harvest" name="action_harvest" | 
				
			|||
                            string="Harvest" class="btn-primary" | 
				
			|||
                            type="object" states="weeding"/> | 
				
			|||
                    <button id="button_storage" name="action_storage" | 
				
			|||
                            string="Storage" class="btn-primary" | 
				
			|||
                            type="object" states="harvest"/> | 
				
			|||
                    <button id="button_cancel" name="action_cancel" | 
				
			|||
                            string="Cancelled" class="btn-primary" | 
				
			|||
                            type="object" | 
				
			|||
                            states="ploughing,sowing,manuring,irrigation,weeding,harvest,storage"/> | 
				
			|||
                    <field name="state" widget="statusbar" | 
				
			|||
                           statusbar_visible="draft,confirm,ploughing,sowing,manuring,irrigation,weeding,harvest,storage,cancel"/> | 
				
			|||
                </header> | 
				
			|||
                <sheet> | 
				
			|||
                    <h1> | 
				
			|||
                        <field name="ref"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="farmer_id"/> | 
				
			|||
                            <field name="seed_id"/> | 
				
			|||
                            <field name="user_id"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="request_date"/> | 
				
			|||
                            <field name="location_id"/> | 
				
			|||
                            <field name="tag_ids" widget="many2many_tags" | 
				
			|||
                                   options="{'color_field': 'color'}"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <notebook> | 
				
			|||
                        <page string="Machinery" name="used_machinery"> | 
				
			|||
                            <field name="machinery_ids"> | 
				
			|||
                                <tree editable="bottom"> | 
				
			|||
                                    <field name="vehicle_id"/> | 
				
			|||
                                    <field name="qty"/> | 
				
			|||
                                </tree> | 
				
			|||
                            </field> | 
				
			|||
                        </page> | 
				
			|||
                        <page string="Animals" name="used_animals"> | 
				
			|||
                            <field name="animal_ids"> | 
				
			|||
                                <tree editable="bottom"> | 
				
			|||
                                    <field name="animal_id"/> | 
				
			|||
                                    <field name="qty"/> | 
				
			|||
                                </tree> | 
				
			|||
                            </field> | 
				
			|||
                        </page> | 
				
			|||
                        <page string="Description" name="description"> | 
				
			|||
                            <field name="note" | 
				
			|||
                                   placeholder="Crop Description........"/> | 
				
			|||
                        </page> | 
				
			|||
                    </notebook> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <record id="crop_details_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Crops Details Action</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">crop.request</field> | 
				
			|||
        <field name="view_mode">kanban,tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Crop Request | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,64 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--   Tree view for damage loss model --> | 
				
			|||
    <record id="damage_loss_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">damage.loss.view.tree</field> | 
				
			|||
        <field name="model">damage.loss</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="name"/> | 
				
			|||
                <field name="farmer_id"/> | 
				
			|||
                <field name="crop_id"/> | 
				
			|||
                <field name="location_id"/> | 
				
			|||
                <field name="damage_loss_type"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--   Form view for damage loss model --> | 
				
			|||
    <record id="damage_loss_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">damage.loss.view.form</field> | 
				
			|||
        <field name="model">damage.loss</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <sheet> | 
				
			|||
                    <h1> | 
				
			|||
                        <field name="name"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="farmer_id"/> | 
				
			|||
                            <field name="crop_id"/> | 
				
			|||
                            <field name="location_id"/> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="damage_loss_type"/> | 
				
			|||
                            <field name="damage_loss_date"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="damage_loss_image" widget="image"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" placeholder="Damage/Loss Description"/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
        <!--    Action of menu Damage and Loss--> | 
				
			|||
    <record id="damage_loss_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Damage and Loss</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">damage.loss</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Damage and Loss | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,79 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Kanban view for farmer details model--> | 
				
			|||
    <record id="farmer_detail_view_kanban" model="ir.ui.view"> | 
				
			|||
        <field name="name">farmer.detail.view.kanban</field> | 
				
			|||
        <field name="model">farmer.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <kanban> | 
				
			|||
                <field name="farmer_id"/> | 
				
			|||
                <field name="farmer_image"/> | 
				
			|||
                <templates> | 
				
			|||
                    <t t-name="kanban-box"> | 
				
			|||
                        <div t-attf-class="oe_kanban_global_click"> | 
				
			|||
                            <div class="oe_kanban_details"> | 
				
			|||
                                <ul> | 
				
			|||
                                    <group> | 
				
			|||
                                        <group> | 
				
			|||
                                            <div class="o_kanban_image_fill_left o_kanban_image_full"> | 
				
			|||
                                                <img t-att-src="record.farmer_image" | 
				
			|||
                                                     alt=""/> | 
				
			|||
                                                <field name="farmer_image" | 
				
			|||
                                                       widget="image"/> | 
				
			|||
                                            </div> | 
				
			|||
                                            <h5> | 
				
			|||
                                                <field name="farmer_id"/> | 
				
			|||
                                            </h5> | 
				
			|||
                                        </group> | 
				
			|||
                                    </group> | 
				
			|||
                                </ul> | 
				
			|||
                            </div> | 
				
			|||
                        </div> | 
				
			|||
                    </t> | 
				
			|||
                </templates> | 
				
			|||
            </kanban> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--    Form view for farmer details model--> | 
				
			|||
    <record id="farmer_detail_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">farmer.detail.view.form</field> | 
				
			|||
        <field name="model">farmer.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <sheet> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="farmer_id" | 
				
			|||
                                   widget="res_partner_many2one" | 
				
			|||
                                   context="{'show_address': 1}" | 
				
			|||
                                   options='{"always_reload": True}'/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="farmer_image" widget="image"/> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" placeholder="Location Description"/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Action for farmer details --> | 
				
			|||
    <record id="farmer_detail_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Farmers</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">farmer.detail</field> | 
				
			|||
        <field name="view_mode">kanban,form,tree</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Farmer | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,19 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Inheriting fleet for adding field for contract date--> | 
				
			|||
    <record id="fleet_vehicle_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">fleet.vehicle.inherit.agriculture.management</field> | 
				
			|||
        <field name="model">fleet.vehicle</field> | 
				
			|||
        <field name="inherit_id" ref="fleet.fleet_vehicle_view_form"/> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <xpath expr="//field[@name='first_contract_date']" | 
				
			|||
                   position="replace"> | 
				
			|||
                <field name="first_contract_date" invisible="1"/> | 
				
			|||
            </xpath> | 
				
			|||
            <xpath expr="//field[@name='first_contract_date']" | 
				
			|||
                   position="before"> | 
				
			|||
                <field name="registration_date"/> | 
				
			|||
            </xpath> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,61 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Tree view for location details model--> | 
				
			|||
    <record id="location_detail_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">location.detail.view.tree</field> | 
				
			|||
        <field name="model">location.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="location_name"/> | 
				
			|||
                <field name="location_area_unit" optional="hide"/> | 
				
			|||
                <field name="location_area"/> | 
				
			|||
                <field name="location_type"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--    Form view for location details model--> | 
				
			|||
    <record id="location_detail_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">location.detail.view.form</field> | 
				
			|||
        <field name="model">location.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <sheet> | 
				
			|||
                    <h1> | 
				
			|||
                        <field name="location_name"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="location_address"/> | 
				
			|||
                            <field name="location_area"/> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="location_type"/> | 
				
			|||
                            <field name="location_area_unit"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" placeholder="Location Description"/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Action for location details --> | 
				
			|||
    <record id="location_detail_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Locations</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">location.detail</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Location | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,67 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--Tree view of pest details model--> | 
				
			|||
    <record id="pest_detail_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">pest.detail.view.tree</field> | 
				
			|||
        <field name="model">pest.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="pest_name"/> | 
				
			|||
                <field name="pest_expiry_date"/> | 
				
			|||
                <field name="pest_quantity"/> | 
				
			|||
                <field name="pest_cost"/> | 
				
			|||
                <field name="total_cost"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--Form view of pest details model--> | 
				
			|||
    <record id="pest_detail_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">pest.detail.view.form</field> | 
				
			|||
        <field name="model">pest.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <sheet> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="pest_name"/> | 
				
			|||
                            <field name="pest_expiry_date"/> | 
				
			|||
                            <field name="currency_id" invisible="1"/> | 
				
			|||
                            <field name="pest_quantity"/> | 
				
			|||
                            <field name="pest_cost" widget='monetary' | 
				
			|||
                                   options="{'currency_field': 'currency_id'}" | 
				
			|||
                                   optional="show"/> | 
				
			|||
                            <field name="total_cost" widget='monetary' | 
				
			|||
                                   options="{'currency_field': 'currency_id'}" | 
				
			|||
                                   optional="show"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="pest_image" widget="image"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="pest_description" | 
				
			|||
                           placeholder="Pesticide Description..............."/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Action for pest details     --> | 
				
			|||
    <record id="pest_detail_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Pesticide Details</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">pest.detail</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Pesticide | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,94 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--Tree view of pest request model--> | 
				
			|||
    <record id="pest_request_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">pest.request.view.tree</field> | 
				
			|||
        <field name="model">pest.request</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="reference"/> | 
				
			|||
                <field name="farmer_id"/> | 
				
			|||
                <field name="crop_id"/> | 
				
			|||
                <field name="location_id"/> | 
				
			|||
                <field name="disease"/> | 
				
			|||
                <field name="total_cost"/> | 
				
			|||
                <field name="state"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--Form view of pest request model--> | 
				
			|||
    <record id="pest_request_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">pest.request.view.form</field> | 
				
			|||
        <field name="model">pest.request</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <header> | 
				
			|||
                    <button id="button_draft" name="action_draft" string="Draft" | 
				
			|||
                            type="object" class="oe_highlight" | 
				
			|||
                            states="rejected,approve"/> | 
				
			|||
                    <button id="button_pending" name="action_pending" | 
				
			|||
                            string="Submit" type="object" class="btn-primary" | 
				
			|||
                            states="draft"/> | 
				
			|||
                    <button id="button_approved" name="action_approved" | 
				
			|||
                            string="Approved" | 
				
			|||
                            class="btn-primary" | 
				
			|||
                            type="object" states="pending" | 
				
			|||
                            groups="agriculture_management_odoo.group_agriculture_admin"/> | 
				
			|||
                    <button id="button_rejected" name="action_rejected" | 
				
			|||
                            string="Reject" | 
				
			|||
                            class="btn-primary" | 
				
			|||
                            type="object" states="pending" | 
				
			|||
                            groups="agriculture_management_odoo.group_agriculture_admin"/> | 
				
			|||
                    <field name="state" widget="statusbar" | 
				
			|||
                           statusbar_visible="draft"/> | 
				
			|||
                </header> | 
				
			|||
                <sheet> | 
				
			|||
                    <h1> | 
				
			|||
                        <field name="reference"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="farmer_id"/> | 
				
			|||
                            <field name="crop_id"/> | 
				
			|||
                            <field name="disease"/> | 
				
			|||
                            <field name="pest_id"/> | 
				
			|||
                            <field name="currency_id" invisible="1"/> | 
				
			|||
                            <field name="total_cost" widget='monetary' | 
				
			|||
                                   options="{'currency_field': 'currency_id'}" | 
				
			|||
                                   optional="show"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="request_date"/> | 
				
			|||
                            <field name="location_id"/> | 
				
			|||
                            <field name="pest_quantity"/> | 
				
			|||
                            <field name="pest_cost" widget='monetary' | 
				
			|||
                                   options="{'currency_field': 'currency_id'}" | 
				
			|||
                                   optional="show"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" placeholder="Pesticide Description"/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
       <!--    Action Menu under Disease & Pesticides--> | 
				
			|||
    <record id="pest_request_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Pesticide Request</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">pest.request</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Pest Request | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,60 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--Tree view of seed details--> | 
				
			|||
    <record id="seed_detail_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">seed.detail.view.tree</field> | 
				
			|||
        <field name="model">seed.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="name"/> | 
				
			|||
                <field name="seed_type"/> | 
				
			|||
                <field name="quantity"/> | 
				
			|||
                <field name="unit" optional="hide"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--form view of seed details--> | 
				
			|||
    <record id="seed_detail_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">seed.detail.view.form</field> | 
				
			|||
        <field name="model">seed.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <sheet> | 
				
			|||
                    <h1> | 
				
			|||
                        <field name="name">Name</field> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="quantity"/> | 
				
			|||
                            <field name="seed_type"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="unit"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" placeholder="Seed Description"/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
        <!--    Action of menu under configuration--> | 
				
			|||
    <record id="seed_detail_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Seeds</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">seed.detail</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Seed | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,59 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Tree view for vehicle details model--> | 
				
			|||
    <record id="vehicle_detail_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">vehicle.detail.view.tree</field> | 
				
			|||
        <field name="model">vehicle.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="vehicle_main_id"/> | 
				
			|||
                <field name="vehicle_model"/> | 
				
			|||
                <field name="vehicle_type"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--    Form view for vehicle details model--> | 
				
			|||
    <record id="vehicles_details_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">vehicle.detail.view.form</field> | 
				
			|||
        <field name="model">vehicle.detail</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <sheet> | 
				
			|||
                    <h1> | 
				
			|||
                        <field name="name"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="vehicle_main_id"/> | 
				
			|||
                            <field name="vehicle_model"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="vehicle_type"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" placeholder="Vehicle Description"/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Action for vehicle details  --> | 
				
			|||
    <record id="vehicle_detail_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Vehicles</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">vehicle.detail</field> | 
				
			|||
        <field name="view_mode">tree,form</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Vehicle | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,94 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Tree view for vehicle rental model--> | 
				
			|||
    <record id="vehicle_rental_view_tree" model="ir.ui.view"> | 
				
			|||
        <field name="name">vehicle.rental.view.tree</field> | 
				
			|||
        <field name="model">vehicle.rental</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <tree> | 
				
			|||
                <field name="vehicle_id"/> | 
				
			|||
                <field name="no_of_days"/> | 
				
			|||
                <field name="start_date"/> | 
				
			|||
                <field name="end_date"/> | 
				
			|||
                <field name="company_id" groups="base.group_multi_company"/> | 
				
			|||
            </tree> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
<!--    Form view for vehicle rental model--> | 
				
			|||
    <record id="vehicles_rental_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">vehicle.rental.view.form</field> | 
				
			|||
        <field name="model">vehicle.rental</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <header> | 
				
			|||
                    <button id="button_draft" name="action_draft" string="Draft" | 
				
			|||
                            type="object" class="oe_highlight" states="cancel"/> | 
				
			|||
                    <button id="button_confirm" name="action_confirm" | 
				
			|||
                            string="Submit" type="object" class="btn-primary" | 
				
			|||
                            states="draft"/> | 
				
			|||
                    <button id="button_return" name="action_return" | 
				
			|||
                            string="Return" class="btn-primary" | 
				
			|||
                            type="object" states="confirm"/> | 
				
			|||
                    <button id="action_register_payment" | 
				
			|||
                            name="action_register_payment" | 
				
			|||
                            string="Register Payment" class="btn-primary" | 
				
			|||
                            type="object" states="return"/> | 
				
			|||
                    <button id="button_cancel" name="action_cancel" | 
				
			|||
                            string="Cancel" class="btn-primary" | 
				
			|||
                            type="object" states="confirm"/> | 
				
			|||
                    <field name="state" widget="statusbar" | 
				
			|||
                           statusbar_visible="draft,confirm,return,paid"/> | 
				
			|||
 | 
				
			|||
                </header> | 
				
			|||
                <sheet> | 
				
			|||
                    <widget name="web_ribbon" title="Paid" | 
				
			|||
                            bg_color="bg-success" | 
				
			|||
                            attrs="{'invisible': [('state', '!=', 'paid')]}"/> | 
				
			|||
                     <h1> | 
				
			|||
                        <field name="name"/> | 
				
			|||
                    </h1> | 
				
			|||
                    <group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="farmer_id"/> | 
				
			|||
                            <field name="vehicle_id"/> | 
				
			|||
                            <field name="no_of_days"/> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="currency_id" invisible="1"/> | 
				
			|||
                            <label for="amount" string="Amount"/> | 
				
			|||
                            <div> | 
				
			|||
                                <field name="amount" class="oe_inline"/> | 
				
			|||
                                Per Day | 
				
			|||
                            </div> | 
				
			|||
                            <field name="total_amount"/> | 
				
			|||
                        </group> | 
				
			|||
                        <group> | 
				
			|||
                            <field name="company_id"/> | 
				
			|||
                            <field name="start_date"/> | 
				
			|||
                            <field name="end_date"/> | 
				
			|||
                        </group> | 
				
			|||
                    </group> | 
				
			|||
                    <field name="note" | 
				
			|||
                           placeholder="Vehicle Description........."/> | 
				
			|||
                </sheet> | 
				
			|||
                <div class="oe_chatter"> | 
				
			|||
                    <field name="message_follower_ids"/> | 
				
			|||
                    <field name="activity_ids"/> | 
				
			|||
                    <field name="message_ids"/> | 
				
			|||
                </div> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--   Action Menu under rental--> | 
				
			|||
    <record id="vehicle_rental_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Vehicle Rental</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">vehicle.rental</field> | 
				
			|||
        <field name="view_mode">tree,form,kanban</field> | 
				
			|||
        <field name="context">{'search_default_available':1}</field> | 
				
			|||
        <field name="help" type="html"> | 
				
			|||
            <p class="o_view_nocontent_smiling_face"> | 
				
			|||
                Create Your First Vehicle Rental Request | 
				
			|||
            </p> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,25 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from . import crop_report | 
				
			|||
from . import pest_report | 
				
			|||
from . import animal_register_payment | 
				
			|||
from . import vehicle_register_payment | 
				
			|||
@ -0,0 +1,52 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class AnimalRegisterPayment(models.TransientModel): | 
				
			|||
    """Details for a payment for animal rental""" | 
				
			|||
    _name = 'animal.register.payment.wizard' | 
				
			|||
    _description = 'Register Payment' | 
				
			|||
 | 
				
			|||
    farmer_id = fields.Many2one('farmer.detail', string='Partner', | 
				
			|||
                                 help='Name of partner to register the payment') | 
				
			|||
    rental_duration = fields.Float(string='Duration', | 
				
			|||
                                   help='Duration of the parking vehicle') | 
				
			|||
    amount = fields.Float(string='Amount', help='Amount of the parking vehicle') | 
				
			|||
    ref = fields.Char(string='Reference', | 
				
			|||
                      help='Reference to the parking ticket') | 
				
			|||
    date = fields.Date(string='Date', default=fields.Date.context_today, | 
				
			|||
                       help='Date when payment was made') | 
				
			|||
 | 
				
			|||
    def animal_rent_payment(self): | 
				
			|||
        """Returns the amount of the rental of vehicle for the customer.""" | 
				
			|||
        active_id = self._context.get('active_id') | 
				
			|||
        active_record = self.env['animal.rental'].browse(active_id) | 
				
			|||
        payment = self.env['account.payment'].create({ | 
				
			|||
            'payment_type': 'inbound', | 
				
			|||
            'partner_id': self.farmer_id.id, | 
				
			|||
            'amount': self.amount, | 
				
			|||
            'ref': self.ref, | 
				
			|||
        }) | 
				
			|||
        payment.action_post() | 
				
			|||
        active_record.animal_paid_bool = True | 
				
			|||
        active_record.state = 'paid' | 
				
			|||
@ -0,0 +1,27 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--Form view of Register Payment Wizard--> | 
				
			|||
    <record id="animal_register_payment_wizard_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">animal.register.payment.wizard.view.form</field> | 
				
			|||
        <field name="model">animal.register.payment.wizard</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="farmer_id"/> | 
				
			|||
                        <field name="rental_duration"/> | 
				
			|||
                        <field name="amount"/> | 
				
			|||
                    </group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="ref"/> | 
				
			|||
                        <field name="date"/> | 
				
			|||
                    </group> | 
				
			|||
                </group> | 
				
			|||
                <footer> | 
				
			|||
                    <button name="animal_rent_payment" type="object" string="Pay" class="btn-primary"/> | 
				
			|||
                    <button string="Cancel" class="btn-secondary" special="cancel"/> | 
				
			|||
                </footer> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,85 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo.exceptions import UserError | 
				
			|||
from odoo import fields, models, _ | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class CropReport(models.TransientModel): | 
				
			|||
    """ Model for creating report for crop request """ | 
				
			|||
    _name = 'crop.report' | 
				
			|||
    _description = 'Crop Report In Crop Request' | 
				
			|||
 | 
				
			|||
    date_from = fields.Date(string='From Date', help=' Start date of report') | 
				
			|||
    date_to = fields.Date(string='To Date', help='End date of report') | 
				
			|||
 | 
				
			|||
    def action_pdf_report(self): | 
				
			|||
        """ Function for crop request pdf report """ | 
				
			|||
        ret = """select crop_request.ref, res_partner.name,  | 
				
			|||
                    seed_detail.name, crop_request.request_date, | 
				
			|||
                    crop_request.state, | 
				
			|||
                    location_detail.location_name from crop_request | 
				
			|||
                    inner join farmer_detail ON  | 
				
			|||
                    crop_request.farmer_id = farmer_detail.id | 
				
			|||
                    inner join res_partner ON | 
				
			|||
                    farmer_detail.farmer_id = res_partner.id | 
				
			|||
                    inner join seed_detail ON  | 
				
			|||
                    crop_request.seed_id = seed_detail.id | 
				
			|||
                    inner join location_detail ON | 
				
			|||
                    crop_request.location_id = location_detail.id""" | 
				
			|||
        today = fields.Date.today() | 
				
			|||
        if self.date_from and not self.date_to: | 
				
			|||
            if self.date_from > today: | 
				
			|||
                raise UserError( | 
				
			|||
                    _('You could not set the start date or ' | 
				
			|||
                      'the end date in the future.')) | 
				
			|||
            else: | 
				
			|||
                ret = ret + """ where crop_request.request_date >= '""" + str( | 
				
			|||
                    self.date_from) + """' AND crop_request.request_date <= '""" \ | 
				
			|||
                      + str( | 
				
			|||
                    today) + """'""" | 
				
			|||
        if self.date_to and not self.date_from: | 
				
			|||
            if self.date_to > today: | 
				
			|||
                raise UserError( | 
				
			|||
                    _('You could not set the start date or the end ' | 
				
			|||
                      'date in the future.')) | 
				
			|||
            else: | 
				
			|||
                ret = ret + """ where crop_request.request_date <= '""" + str( | 
				
			|||
                    self.date_to) + """'""" | 
				
			|||
        if self.date_from and self.date_to: | 
				
			|||
            if self.date_from <= self.date_to: | 
				
			|||
                ret = ret + """ where crop_request.request_date >= '""" + \ | 
				
			|||
                      str(self.date_from) + """' AND crop_request.request_date <= '""" \ | 
				
			|||
                      + str(self.date_to) + """'""" | 
				
			|||
            else: | 
				
			|||
                raise UserError( | 
				
			|||
                    _('The start date must be inferior to the end date.')) | 
				
			|||
        self.env.cr.execute(ret) | 
				
			|||
        record = self.env.cr.fetchall() | 
				
			|||
        data = { | 
				
			|||
            'form': self.read()[0], | 
				
			|||
            'date_to': self.date_to, | 
				
			|||
            'date_from': self.date_from, | 
				
			|||
            'record': record | 
				
			|||
        } | 
				
			|||
        return (self.env.ref( | 
				
			|||
            'agriculture_management_odoo.action_crop_request_report').report_action( | 
				
			|||
            self, data=data)) | 
				
			|||
@ -0,0 +1,35 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--    Wizard for printing pdf report of crop request--> | 
				
			|||
    <record id="crop_report_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">crop.report.view.form</field> | 
				
			|||
        <field name="model">crop.report</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form string="Crop Report"> | 
				
			|||
                <group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="date_from"/> | 
				
			|||
                    </group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="date_to"/> | 
				
			|||
                    </group> | 
				
			|||
                </group> | 
				
			|||
                <footer> | 
				
			|||
                    <button name="action_pdf_report" string="Print PDF" | 
				
			|||
                            type="object" class="btn-primary"/> | 
				
			|||
                    <button string="Cancel" class="btn-secondary" | 
				
			|||
                            special="cancel"/> | 
				
			|||
                </footer> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
        <!--    Action of menu Reporting--> | 
				
			|||
    <record id="crop_report_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Crop Report</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">crop.report</field> | 
				
			|||
        <field name="view_mode">form</field> | 
				
			|||
        <field name="view_id" ref="crop_report_view_form"/> | 
				
			|||
        <field name="target">new</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,82 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo.exceptions import UserError | 
				
			|||
from odoo import fields, models, _ | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class PestReport(models.TransientModel): | 
				
			|||
    """ Model for creating pest request report """ | 
				
			|||
    _name = 'pest.report' | 
				
			|||
    _description = 'Pest Report in Pest Request' | 
				
			|||
 | 
				
			|||
    date_from = fields.Date(string='From Date', help=' Start date of report') | 
				
			|||
    date_to = fields.Date(string='To Date', help=' End date of report') | 
				
			|||
 | 
				
			|||
    def action_pdf_report(self): | 
				
			|||
        """ Function for pest request pdf report """ | 
				
			|||
        ret = """select pest_request.reference, res_partner.name, crop_request.ref, | 
				
			|||
            pest_request.disease, pest_detail.pest_name as pest_name, | 
				
			|||
            pest_detail.pest_cost as cost,pest_request.pest_quantity, | 
				
			|||
            pest_request.total_cost,pest_request.state from pest_request | 
				
			|||
            inner join res_partner on pest_request.farmer_id = res_partner.id | 
				
			|||
            inner join crop_request on crop_request.id = pest_request.crop_id | 
				
			|||
            inner join pest_detail on pest_detail.id = pest_request.pest_id""" | 
				
			|||
        today = fields.Date.today() | 
				
			|||
        if self.date_from and not self.date_to: | 
				
			|||
            if self.date_from > today: | 
				
			|||
                raise UserError( | 
				
			|||
                    _('You could not set the start date or the ' | 
				
			|||
                      'end date in the future.')) | 
				
			|||
            else: | 
				
			|||
                ret = ret + """ where pest_request.request_date >= '""" + str( | 
				
			|||
                    self.date_from) + """' AND pest_request.request_date <=  | 
				
			|||
                    '""" \ | 
				
			|||
                      + str( | 
				
			|||
                    today) + """'""" | 
				
			|||
        if self.date_to and not self.date_from: | 
				
			|||
            if self.date_to > today: | 
				
			|||
                raise UserError( | 
				
			|||
                    _('You could not set the start date or the end ' | 
				
			|||
                      'date in the future.')) | 
				
			|||
            else: | 
				
			|||
                ret = ret + """ where pest_request.request_date <= '""" + str( | 
				
			|||
                    self.date_to) + """'""" | 
				
			|||
        if self.date_from and self.date_to: | 
				
			|||
            if self.date_from <= self.date_to: | 
				
			|||
                ret = ret + """ where pest_request.request_date >= '""" + \ | 
				
			|||
                      str(self.date_from) + """' AND pest_request.request_date  | 
				
			|||
                      <= '""" \ | 
				
			|||
                      + str(self.date_to) + """'""" | 
				
			|||
            else: | 
				
			|||
                raise UserError( | 
				
			|||
                    _('The start date must be inferior to the end date.')) | 
				
			|||
        self.env.cr.execute(ret) | 
				
			|||
        record = self.env.cr.fetchall() | 
				
			|||
        data = { | 
				
			|||
            'form': self.read()[0], | 
				
			|||
            'date_to': self.date_to, | 
				
			|||
            'date_from': self.date_from, | 
				
			|||
            'record': record | 
				
			|||
        } | 
				
			|||
        return self.env.ref( | 
				
			|||
            'agriculture_management_odoo.pest_request_report_action').report_action( | 
				
			|||
            self, data=data) | 
				
			|||
@ -0,0 +1,35 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    Wizard for printing pdf report of pest request--> | 
				
			|||
    <record id="pest_report_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">pest.report.view.form</field> | 
				
			|||
        <field name="model">pest.report</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form string="Pest Report"> | 
				
			|||
                <group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="date_from"/> | 
				
			|||
                    </group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="date_to"/> | 
				
			|||
                    </group> | 
				
			|||
                </group> | 
				
			|||
                <footer> | 
				
			|||
                    <button name="action_pdf_report" string="Print PDF" | 
				
			|||
                            type="object" class="btn-primary"/> | 
				
			|||
                    <button string="Cancel" class="btn-secondary" | 
				
			|||
                            special="cancel"/> | 
				
			|||
                </footer> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
    <!--    Action for pest report wizard--> | 
				
			|||
    <record id="pest_report_action" model="ir.actions.act_window"> | 
				
			|||
        <field name="name">Pest Report</field> | 
				
			|||
        <field name="type">ir.actions.act_window</field> | 
				
			|||
        <field name="res_model">pest.report</field> | 
				
			|||
        <field name="view_mode">form</field> | 
				
			|||
        <field name="view_id" ref="pest_report_view_form"/> | 
				
			|||
        <field name="target">new</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,52 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | 
				
			|||
#    Author: Ayana KP(<https://www.cybrosys.com>) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU LESSER | 
				
			|||
#    GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | 
				
			|||
#    (LGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
############################################################################# | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class VehicleRegisterPayment(models.TransientModel): | 
				
			|||
    """Details for a payment for vehicle rental""" | 
				
			|||
    _name = 'vehicle.register.payment.wizard' | 
				
			|||
    _description = 'Register Payment' | 
				
			|||
 | 
				
			|||
    farmer_id = fields.Many2one('farmer.detail', string='Partner', | 
				
			|||
                                 help='Name of partner to register the payment') | 
				
			|||
    rental_duration = fields.Float(string='Duration', | 
				
			|||
                                   help='Duration of the parking vehicle') | 
				
			|||
    amount = fields.Float(string='Amount', help='Amount of the parking vehicle') | 
				
			|||
    ref = fields.Char(string='Reference', | 
				
			|||
                      help='Reference to the parking ticket') | 
				
			|||
    date = fields.Date(string='Date', default=fields.Date.context_today, | 
				
			|||
                       help='Date when payment was made') | 
				
			|||
 | 
				
			|||
    def vehicle_rent_payment(self): | 
				
			|||
        """Returns the amount of the rental of vehicle for the customer.""" | 
				
			|||
        active_id = self._context.get('active_id') | 
				
			|||
        active_record = self.env['vehicle.rental'].browse(active_id) | 
				
			|||
        payment = self.env['account.payment'].create({ | 
				
			|||
            'payment_type': 'inbound', | 
				
			|||
            'partner_id': self.farmer_id.id, | 
				
			|||
            'amount': self.amount, | 
				
			|||
            'ref': self.ref, | 
				
			|||
        }) | 
				
			|||
        payment.action_post() | 
				
			|||
        active_record.vehicle_paid_bool = True | 
				
			|||
        active_record.state = 'paid' | 
				
			|||
@ -0,0 +1,27 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
    <!--Form view of Register Payment Wizard--> | 
				
			|||
    <record id="vehicle_register_payment_wizard_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">vehicle.register.payment.wizard.view.form</field> | 
				
			|||
        <field name="model">vehicle.register.payment.wizard</field> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <form> | 
				
			|||
                <group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="farmer_id"/> | 
				
			|||
                        <field name="rental_duration"/> | 
				
			|||
                        <field name="amount"/> | 
				
			|||
                    </group> | 
				
			|||
                    <group> | 
				
			|||
                        <field name="ref"/> | 
				
			|||
                        <field name="date"/> | 
				
			|||
                    </group> | 
				
			|||
                </group> | 
				
			|||
                <footer> | 
				
			|||
                    <button name="vehicle_rent_payment" type="object" string="Pay" class="btn-primary"/> | 
				
			|||
                    <button string="Cancel" class="btn-secondary" special="cancel"/> | 
				
			|||
                </footer> | 
				
			|||
            </form> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||