@ -0,0 +1,28 @@ |
|||||
|
Stock Transport Management v10 |
||||
|
============================== |
||||
|
|
||||
|
This module was developed to manage the stock .It helps to track transportation details of every transfer. |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
You need **report_xlsx** to install this module. |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
|
||||
|
Nothing to configure. |
||||
|
|
||||
|
Usage |
||||
|
===== |
||||
|
|
||||
|
To use this functionality, you need to: |
||||
|
#.First create vehicles(Sales > Configuration > Vehicles) |
||||
|
#Now ,you can create sale order ( Sales > Sale Order) |
||||
|
#.All Transportation details can be viewed in Sales > Transportation Details. |
||||
|
#. You can also print reports of every transportation.(Sales > Reports > Transportation Reports) |
||||
|
|
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
Developer: Saritha @ cybrosys |
||||
|
|
@ -0,0 +1,26 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
|
||||
|
from . import models |
||||
|
import wizards,report |
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
{ |
||||
|
'name': "Stock Transport Management", |
||||
|
'version': '10.0.1.0.0', |
||||
|
'summary': """Manage Stock Transport Management With Ease""", |
||||
|
'description': """This Module Manage Transport Management Of Stocks""", |
||||
|
'author': "Cybrosys Techno Solutions", |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'category': 'Tools', |
||||
|
'depends': ['base', 'sale', 'stock', 'report'], |
||||
|
'data': [ |
||||
|
'views/transport_vehicle_view.xml', |
||||
|
'views/transport_vehicle_status_view.xml', |
||||
|
'views/transportation_sale_order_view.xml', |
||||
|
'views/transport_warehouse_view.xml', |
||||
|
'views/transport_wizard_view.xml', |
||||
|
'views/transport_report.xml', |
||||
|
], |
||||
|
'images': ['static/description/banner.jpg'], |
||||
|
'license': 'LGPL-3', |
||||
|
'installable': True, |
||||
|
'auto_install': False, |
||||
|
'application': False, |
||||
|
} |
@ -0,0 +1,27 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from . import transport_vehicle |
||||
|
import transport_vehicle_status |
||||
|
import transport_sale_order |
||||
|
import transport_warehouse |
@ -0,0 +1,32 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from odoo import models, fields |
||||
|
|
||||
|
|
||||
|
class VehicleSaleOrder(models.Model): |
||||
|
_inherit = 'sale.order' |
||||
|
|
||||
|
transportation_name = fields.Many2one('sale.vehicle', string="Transportation Via", |
||||
|
domain=[('active_available', '=', True)]) |
||||
|
|
@ -0,0 +1,47 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from odoo import models, fields, api |
||||
|
|
||||
|
|
||||
|
class VehicleCreation(models.Model): |
||||
|
_name = 'sale.vehicle' |
||||
|
|
||||
|
name = fields.Char(string="Vehicle Name", required=True) |
||||
|
driver_name = fields.Many2one('res.partner', string="Contact Name", required=True) |
||||
|
vehicle_image = fields.Binary(string='Image', store=True, attachment=True) |
||||
|
licence_plate = fields.Char(string="Licence Plate", required=True) |
||||
|
mob_no = fields.Char(string="Mobile Number", required=True) |
||||
|
vehicle_address = fields.Char(string="Address") |
||||
|
vehicle_city = fields.Char(string='City') |
||||
|
vehicle_zip = fields.Char(string='ZIP') |
||||
|
state_id = fields.Many2one('res.country.state', string='State') |
||||
|
country_id = fields.Many2one('res.country', string='Country') |
||||
|
active_available = fields.Boolean(string="Active", default=True) |
||||
|
|
||||
|
@api.one |
||||
|
def complete_name_compute(self): |
||||
|
self.name = self.ref_name |
||||
|
if self.licence_plate: |
||||
|
self.name = str(self.licence_plate) + ' / ' + str(self.ref_name) |
||||
|
|
@ -0,0 +1,71 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from odoo import models, fields |
||||
|
|
||||
|
|
||||
|
class VehicleStatus(models.Model): |
||||
|
_name = 'vehicle.status' |
||||
|
|
||||
|
name = fields.Char(string="Vehicle Name", required=True) |
||||
|
transport_date = fields.Date(string="Transportation Date") |
||||
|
no_parcels = fields.Char(string="No Of Parcels") |
||||
|
sale_order = fields.Char(string='Order Reference') |
||||
|
delivery_order = fields.Char(string="Delivery Order") |
||||
|
state = fields.Selection([ |
||||
|
('draft', 'Draft'), |
||||
|
('start', 'Start'), |
||||
|
('waiting', 'Waiting'), |
||||
|
('cancel', 'Cancel'), |
||||
|
('done', 'Done'), |
||||
|
], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', default='draft') |
||||
|
|
||||
|
def start_action(self): |
||||
|
vehicle = self.env['sale.vehicle'].search([('name', '=', self.name)]) |
||||
|
vals = {'active_available': False} |
||||
|
vehicle.write(vals) |
||||
|
self.write({'state': 'start'}) |
||||
|
|
||||
|
def action_cancel(self): |
||||
|
self.write({'state': 'cancel'}) |
||||
|
vehicle = self.env['sale.vehicle'].search([('name', '=', self.name)]) |
||||
|
vals = {'active_available': True} |
||||
|
vehicle.write(vals) |
||||
|
|
||||
|
def action_done(self): |
||||
|
self.write({'state': 'done'}) |
||||
|
vehicle = self.env['sale.vehicle'].search([('name', '=', self.name)]) |
||||
|
vals = {'active_available': True} |
||||
|
vehicle.write(vals) |
||||
|
|
||||
|
def action_waiting(self): |
||||
|
vehicle = self.env['sale.vehicle'].search([('name', '=', self.name)]) |
||||
|
vals = {'active_available': False} |
||||
|
vehicle.write(vals) |
||||
|
self.write({'state': 'waiting'}) |
||||
|
|
||||
|
def action_reshedule(self): |
||||
|
self.write({'state': 'draft'}) |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,61 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from odoo import models, fields, api |
||||
|
|
||||
|
|
||||
|
class VehicleSaleOrder(models.Model): |
||||
|
_inherit = 'stock.picking' |
||||
|
|
||||
|
transportation_name = fields.Char(string="Transportation Via", compute="get_transportation") |
||||
|
no_parcels = fields.Integer(string="No Of Parcels") |
||||
|
transportation_details = fields.One2many('vehicle.status', compute='fetch_details', string="Transportation Details") |
||||
|
|
||||
|
@api.multi |
||||
|
def get_transportation(self): |
||||
|
res = self.env['sale.order'].search([('name', '=', self.sale_id.name)]) |
||||
|
self.transportation_name = res.transportation_name.name |
||||
|
order = self.env['vehicle.status'].search([('sale_order', '=', self.sale_id.name)]) |
||||
|
if not order and self.transportation_name: |
||||
|
vals = {'name': self.transportation_name, |
||||
|
'no_parcels':self.no_parcels, |
||||
|
'sale_order': self.sale_id.name, |
||||
|
'delivery_order': self.name, |
||||
|
'transport_date': self.min_date, |
||||
|
} |
||||
|
obj = self.env['vehicle.status'].create(vals) |
||||
|
return obj |
||||
|
|
||||
|
@api.onchange('no_parcels') |
||||
|
def get_parcel(self): |
||||
|
order = self.env['vehicle.status'].search([('sale_order', '=', self.sale_id.name)]) |
||||
|
vals = {'no_parcels': self.no_parcels} |
||||
|
order.write(vals) |
||||
|
|
||||
|
@api.multi |
||||
|
def fetch_details(self): |
||||
|
order = self.env['vehicle.status'].search([('sale_order', '=', self.sale_id.name)]) |
||||
|
self.transportation_details = order |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from . import transport_xlsx |
||||
|
|
@ -0,0 +1,85 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
from odoo.addons.report_xlsx.report.report_xlsx import ReportXlsx |
||||
|
import datetime |
||||
|
|
||||
|
|
||||
|
class TransportReportXls(ReportXlsx): |
||||
|
|
||||
|
def generate_xlsx_report(self, workbook, data, obj): |
||||
|
logged_users = self.env['res.company']._company_default_get('sale.order') |
||||
|
sheet = workbook.add_worksheet() |
||||
|
format1 = workbook.add_format({'font_size': 16, 'align': 'vcenter', 'bg_color': '#D3D3D3', 'bold': True}) |
||||
|
format1.set_font_color('#000080') |
||||
|
format2 = workbook.add_format({'font_size': 12, 'bold': True, 'bg_color': '#D3D3D3'}) |
||||
|
format3 = workbook.add_format({'font_size': 10, 'bold': True}) |
||||
|
format4 = workbook.add_format({'font_size': 10}) |
||||
|
format1.set_align('center') |
||||
|
format2.set_align('center') |
||||
|
format3.set_align('center') |
||||
|
sheet.merge_range('A3:L3', "Transportation Report", format1) |
||||
|
report_date = datetime.datetime.now().strftime("%m/%d/%Y") |
||||
|
sheet.merge_range('K1:L1', report_date, format4) |
||||
|
sheet.merge_range('A1:B1', logged_users.name, format4) |
||||
|
if data['form']['start_date']: |
||||
|
date_start = data['form']['start_date'] |
||||
|
else: |
||||
|
date_start = "" |
||||
|
if data['form']['end_date']: |
||||
|
date_end = data['form']['end_date'] |
||||
|
else: |
||||
|
date_end = "" |
||||
|
if date_start: |
||||
|
sheet.write('A5', "Date From :", format3) |
||||
|
sheet.write('A6', date_start, format4) |
||||
|
if date_end: |
||||
|
sheet.write('C5', "Date To :", format3) |
||||
|
sheet.write('C6', date_end, format4) |
||||
|
sheet.write('A8', "Vehicle Name ", format2) |
||||
|
sheet.write('B8', "", format2) |
||||
|
sheet.write('C8', "Date", format2) |
||||
|
sheet.write('D8', "", format2) |
||||
|
sheet.write('E8', "Sale Order", format2) |
||||
|
sheet.write('F8', "", format2) |
||||
|
sheet.write('G8', "Delivery Order", format2) |
||||
|
sheet.write('H8', "", format2) |
||||
|
sheet.write('I8', "No of Parcels", format2) |
||||
|
sheet.write('J8', "", format2) |
||||
|
sheet.write('K8', "Status", format2) |
||||
|
if date_start and date_end: |
||||
|
report_obj = self.env['vehicle.status'].search([('transport_date', ">=", date_start) and |
||||
|
('transport_date', "<=", date_end)]) |
||||
|
else: |
||||
|
report_obj = self.env['vehicle.status'].search([]) |
||||
|
row_number = 9 |
||||
|
col_number = 0 |
||||
|
for values in report_obj: |
||||
|
sheet.write(row_number, col_number, values['name'], format3) |
||||
|
sheet.write(row_number, col_number + 2, values['transport_date'], format3) |
||||
|
sheet.write(row_number, col_number + 4, values['sale_order'], format3) |
||||
|
sheet.write(row_number, col_number + 6, values['delivery_order'], format3) |
||||
|
sheet.write(row_number, col_number + 8, values['no_parcels'], format3) |
||||
|
sheet.write(row_number, col_number + 10, values['state'], format3) |
||||
|
row_number += 1 |
||||
|
|
||||
|
TransportReportXls('report.stock_transport_management.transport_report_xls.xlsx', 'vehicle.status') |
After Width: | Height: | Size: 119 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,112 @@ |
|||||
|
<section class="oe_container"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan">Stock Transport Management (STM)</h2> |
||||
|
<h3 class="oe_slogan">Manage Stock Transport With Ease</h3> |
||||
|
<h4 class="oe_slogan">Cybrosys Technologies , www.cybrosys.com</h4> |
||||
|
<div> |
||||
|
<h4><p>Major Features:</p></h4> |
||||
|
<ul> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> ☑</span> Manage transport details of picking the stock.</li> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> ☑</span> Assigns transportation details to sale order.</li> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> ☑</span> Option to reshedule transportation entries.</li> |
||||
|
<li style="list-style:none !important;"><span style="color:green;"> ☑</span> Transport entry reports.</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container oe_dark"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_picture"> |
||||
|
<h3 class="oe_slogan">Overview</h3> |
||||
|
<p class="oe_mt32"> |
||||
|
Stock Transport Management, aims to manage transport details of picking the stocks. |
||||
|
</p> |
||||
|
<p> |
||||
|
*While creating new quotation you can assign transport via , this order and will be |
||||
|
transferred via this Vehicle. |
||||
|
<p> |
||||
|
* You can view all transport entry under Sales > Transportation Details menu. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span12"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="vehicle.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container oe_dark"> |
||||
|
<div class="oe_row oe_space"> |
||||
|
<h3 class="oe_slogan">Assign Transport Details To Sale Order</h3> |
||||
|
<div class="oe_span6"> |
||||
|
<p class='oe_mt32'> |
||||
|
<centre>We can assign transportation details to sale order</centre> |
||||
|
</p> |
||||
|
</div> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="sale_order.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h3 class="oe_slogan"> Transportation Details</h3> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="transport_details.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="oe_span6"> |
||||
|
<p class='oe_mt32'> |
||||
|
View all transport entries and click on the start button to start the journey. We also have |
||||
|
option to reschedule transportation.. |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container dark"> |
||||
|
<div class="oe_row oe_space"> |
||||
|
<h3 class="oe_slogan"> Report</h3> |
||||
|
<div class="oe_span6"> |
||||
|
<p class='oe_mt32'> |
||||
|
Have option to print report of all transportation entries |
||||
|
</p> |
||||
|
</div> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="report.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
|
||||
|
<section class="oe_container"> |
||||
|
<h2 class="oe_slogan" style="margin-top:20px;" >Need Any Help?</h2> |
||||
|
<div class="oe_slogan" style="margin-top:10px !important;"> |
||||
|
<a class="btn btn-primary btn-lg mt8" |
||||
|
style="color: #FFFFFF !important;" href="http://www.cybrosys.com"><i |
||||
|
class="fa fa-envelope"></i> Email </a> <a |
||||
|
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" |
||||
|
href="http://www.cybrosys.com/contact/"><i |
||||
|
class="fa fa-phone"></i> Contact Us </a> <a |
||||
|
class="btn btn-primary btn-lg mt8" style="color: #FFFFFF !important;" |
||||
|
href="http://www.cybrosys.com/odoo-customization-and-installation/"><i |
||||
|
class="fa fa-check-square"></i> Request Customization </a> |
||||
|
</div> |
||||
|
<img src="cybro_logo.png" style="width: 190px; margin-bottom: 20px;" class="center-block"> |
||||
|
</section> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 67 KiB |
@ -0,0 +1,14 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<report |
||||
|
id="transport_xlsx" |
||||
|
model="vehicle.status" |
||||
|
string=" " |
||||
|
report_type="xlsx" |
||||
|
name="stock_transport_management.transport_report_xls.xlsx" |
||||
|
file="stock_transport_management.transport_report_xls.xlsx" |
||||
|
attachment_use="False" |
||||
|
/> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,65 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record model="ir.ui.view" id="transport_management_vehicle_status_form_view"> |
||||
|
<field name="name">Vehicles</field> |
||||
|
<field name="model">vehicle.status</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Vehicle"> |
||||
|
<header> |
||||
|
<button name="action_reshedule" states="cancel" string="Reshedule" type="object" class="btn-primary"/> |
||||
|
<button name="start_action" states="draft" string="Start" type="object" class="btn-primary"/> |
||||
|
<button name="action_cancel" states="draft" type="object" string="Cancel"/> |
||||
|
<button name="action_waiting" states="start" type="object" string="Waiting"/> |
||||
|
<button name="action_done" states="draft,start,waiting" type="object" string="Done"/> |
||||
|
<field name="state" widget="statusbar" statusbar_visible="draft,start,waiting,cancel,done" readonly="1"/> |
||||
|
</header> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name"/> |
||||
|
<field name="delivery_order"/> |
||||
|
<field name="sale_order"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="transport_date"/> |
||||
|
<field name="no_parcels"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="vehicle_status_tree_view" model="ir.ui.view"> |
||||
|
<field name="name">Vehicle</field> |
||||
|
<field name="model">vehicle.status</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="name"/> |
||||
|
<field name="delivery_order"/> |
||||
|
<field name="sale_order"/> |
||||
|
<field name="transport_date"/> |
||||
|
<field name="no_parcels"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="vehicle_status_action" model="ir.actions.act_window"> |
||||
|
<field name="name">Vehicle</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">vehicle.status</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_id" ref="vehicle_status_tree_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to define a new Vehicle. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="main_transportation_vehicle_status_menu" name="Transportation Details" parent="sales_team.menu_sales" action="vehicle_status_action" sequence="25"/> |
||||
|
|
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,85 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record model="ir.ui.view" id="transport_management_vehicle_creation_form_view"> |
||||
|
<field name="name">Vehicles</field> |
||||
|
<field name="model">sale.vehicle</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Vehicle"> |
||||
|
<sheet> |
||||
|
<field name="vehicle_image" widget="image" class="oe_avatar"/> |
||||
|
<div class="oe_title"> |
||||
|
<label for="name"/> |
||||
|
<h1> |
||||
|
<field name="name" placeholder=" Vehicle Name" style="width:50%%"/> |
||||
|
</h1> |
||||
|
<label for="licence_plate"/> |
||||
|
<h2> |
||||
|
<field name="licence_plate" style="width:25%%"/> |
||||
|
</h2> |
||||
|
</div> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="driver_name"/> |
||||
|
<field name="vehicle_address"/> |
||||
|
<field name="vehicle_city"/> |
||||
|
<field name="country_id"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="mob_no"/> |
||||
|
<field name="vehicle_zip"/> |
||||
|
<field name="state_id"/> |
||||
|
<field name="active_available" readonly="1"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="vehicle_template_kanban_view" model="ir.ui.view"> |
||||
|
<field name="name">sale.vehicle.kanban</field> |
||||
|
<field name="model">sale.vehicle</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<kanban> |
||||
|
<field name="vehicle_image" modifiers="{}"/> |
||||
|
<templates> |
||||
|
<t t-name="kanban-box"> |
||||
|
<div class="oe_kanban_global_click"> |
||||
|
<div class="o_kanban_image"> |
||||
|
<img t-att-src="kanban_image('sale.vehicle', 'vehicle_image', record.id.value)"/> |
||||
|
</div> |
||||
|
<div class="oe_kanban_details"> |
||||
|
<strong> |
||||
|
<span t-if="record.name.value">[<field name="name"/>]</span> |
||||
|
<ul> |
||||
|
<li>Name :<field name="driver_name"/></li> |
||||
|
<li>Phone Number : <field name="mob_no"/> </li> |
||||
|
</ul> |
||||
|
</strong> |
||||
|
</div> |
||||
|
</div> |
||||
|
</t> |
||||
|
</templates> |
||||
|
</kanban> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="vehicle_template_action" model="ir.actions.act_window"> |
||||
|
<field name="name">Vehicle</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">sale.vehicle</field> |
||||
|
<field name="view_mode">kanban,tree,form</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_id" ref="vehicle_template_kanban_view"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to define a new Vehicle. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="main_transportation_vehicle_creation_menu" name="Vehicles" parent="sales_team.menu_sale_config" action="vehicle_template_action" sequence="2"/> |
||||
|
|
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,22 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record id="transportation_warehouse_form_view" model="ir.ui.view"> |
||||
|
<field name="name"> Warehouse</field> |
||||
|
<field name="model">stock.picking</field> |
||||
|
<field name="inherit_id" ref="stock.view_picking_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//field[@name='partner_id']" position="after"> |
||||
|
<field name="transportation_name"/> |
||||
|
<field name="no_parcels"/> |
||||
|
</xpath> |
||||
|
<notebook position="inside"> |
||||
|
<page string="Transportation Details"> |
||||
|
<field name="transportation_details"/> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
||||
|
|
@ -0,0 +1,36 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record id="transport_report_wizard_view_form" model="ir.ui.view"> |
||||
|
<field name="name">Transport Report</field> |
||||
|
<field name="model">transport.report.wizard</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="start_date"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="end_date"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<footer> |
||||
|
<button name="print_report" type="object" string="Print XLS" class="oe_highlight"/> |
||||
|
or |
||||
|
<button special="cancel" string="Cancel"/> |
||||
|
</footer> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
<act_window |
||||
|
id="transport_report_open_wizard" |
||||
|
name="Transport Report" |
||||
|
res_model="transport.report.wizard" |
||||
|
view_mode="form" |
||||
|
view_id="transport_report_wizard_view_form" |
||||
|
target="new"/> |
||||
|
|
||||
|
<menuitem id="main_transportation_wizard_menu" name="Transportation Reports" parent="sales_team.menu_sale_report" action="transport_report_open_wizard" sequence="22"/> |
||||
|
|
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,15 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
<record id="transportation_sale_order_form_view" model="ir.ui.view"> |
||||
|
<field name="name"> Sale Order</field> |
||||
|
<field name="model">sale.order</field> |
||||
|
<field name="inherit_id" ref="sale.view_order_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//field[@name='confirmation_date']" position="after"> |
||||
|
<field name="transportation_name"/> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,24 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
import transport_wizard |
@ -0,0 +1,47 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Saritha Sahadevan(<https://www.cybrosys.com>) |
||||
|
# you can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# It is forbidden to publish, distribute, sublicense, or sell copies |
||||
|
# of the Software or modified copies of the Software. |
||||
|
# |
||||
|
# 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 |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. |
||||
|
# If not, see <https://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from odoo import models, fields, _ |
||||
|
|
||||
|
|
||||
|
class TransportReport(models.TransientModel): |
||||
|
_name = 'transport.report.wizard' |
||||
|
|
||||
|
start_date = fields.Date(string="From Date") |
||||
|
end_date = fields.Date(string="To Date") |
||||
|
|
||||
|
def print_report(self): |
||||
|
context = self._context |
||||
|
datas = {'ids': context.get('active_ids', [])} |
||||
|
datas['model'] = 'vehicle.status' |
||||
|
datas['form'] = self.read()[0] |
||||
|
for field in datas['form'].keys(): |
||||
|
if isinstance(datas['form'][field], tuple): |
||||
|
datas['form'][field] = datas['form'][field][0] |
||||
|
return {'type': 'ir.actions.report.xml', |
||||
|
'report_name': 'stock_transport_management.transport_report_xls.xlsx', |
||||
|
'datas': datas, |
||||
|
'name': 'Transportation Report' |
||||
|
} |
||||
|
|
||||
|
|