Skip to content

Commit 6c7bbcf

Browse files
committed
Describe your changes
1 parent 68b7e01 commit 6c7bbcf

File tree

9 files changed

+56
-39
lines changed

9 files changed

+56
-39
lines changed

.devcontainer/.vscode/settings.json

Lines changed: 0 additions & 3 deletions
This file was deleted.
File renamed without changes.
Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,6 @@
44
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
55
"version": "0.2.0",
66
"configurations": [
7-
{
8-
"name": "Python Debugger: Current File",
9-
"type": "debugpy",
10-
"request": "launch",
11-
"program": "${file}",
12-
"console": "integratedTerminal"
13-
},
147
{
158
"name": "Python Debugger: Current File",
169
"type": "debugpy",

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"python.analysis.typeCheckingMode": "basic",
3+
"python.analysis.extraPaths": [
4+
"/workspaces/ssh-git-github.com-odoo-odoo.git-8.0"
5+
]
6+
}

HTTP Controller

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from odoo import http
2-
from odoo.http import request
32
import logging
43

54
_logger = logging.getLogger(__name__)
@@ -11,31 +10,31 @@ INTERNAL_USAGE = 'internal'
1110
class MyController(http.Controller):
1211

1312
def _get_partner_inventory(self, partner):
14-
serials = request.env['stock.production.lot'].search([(CUSTOMER_FIELD, '=', partner.id)])
15-
return request.env['stock.quant'].search([
13+
serials = http.request.env['stock.production.lot'].search([(CUSTOMER_FIELD, '=', partner.id)])
14+
return http.request.env['stock.quant'].search([
1615
('lot_id', 'in', serials.ids),
1716
('location_id.usage', '=', INTERNAL_USAGE)
1817
])
1918

2019
@http.route('/my/inventory/request_pickup', type='http', auth='user', methods=['POST'], csrf=True)
2120
def request_pickup(self, **kw):
22-
user = request.env.user
21+
user = http.request.env.user
2322
partner = user.partner_id
2423
_logger.info('Inventory accessed by partner %s', partner.id)
2524
try:
26-
item_ids = [int(id) for id in request.httprequest.form.getlist('item_ids')]
25+
item_ids = [int(id) for id in http.request.httprequest.form.getlist('item_ids')]
2726
except ValueError:
28-
_logger.warning("User %s (ID: %s) provided invalid item_ids: %s", user.login, user.id, request.httprequest.form.getlist('item_ids'))
29-
return request.redirect('/my/inventory?error=invalid_item_ids')
27+
_logger.warning("User %s (ID: %s) provided invalid item_ids: %s", user.login, user.id, http.request.httprequest.form.getlist('item_ids'))
28+
return http.request.redirect('/my/inventory?error=invalid_item_ids')
3029
_logger.info('Pickup requested for items %s by partner %s', item_ids, partner.id)
3130
# ...existing code...
3231

3332
@http.route('/my/inventory', type='http', auth='user', website=True, methods=['GET'], csrf=True)
3433
def my_inventory(self, **kw):
35-
user = request.env.user
34+
user = http.request.env.user
3635
partner = user.partner_id
3736
quants = self._get_partner_inventory(partner)
38-
return request.render(
37+
return http.request.render(
3938
'records_management.inventory_template',
4039
{
4140
'quants': quants,

docker-compose.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: '2'
2+
services:
3+
db:
4+
image: postgres:10
5+
environment:
6+
- POSTGRES_DB=postgres
7+
- POSTGRES_USER=odoo
8+
- POSTGRES_PASSWORD=odoo
9+
restart: always
10+
11+
odoo:
12+
image: odoo:8.0
13+
depends_on:
14+
- db
15+
ports:
16+
- "8069:8069"
17+
volumes:
18+
- ./records_management:/mnt/extra-addons/records_management
19+
environment:
20+
- HOST=db
21+
- USER=odoo
22+
- PASSWORD=odoo
23+
restart: always
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,40 @@
11
from odoo import http
2-
from odoo.http import request
32

43
class InventoryPortal(http.Controller):
54
@http.route('/my/inventory', type='http', auth='user', website=True)
6-
def inventory(self, **kw):
5+
def inventory(self):
76
# Authorization check
8-
if not request.env.user.has_group('records_management.group_inventory_access'):
9-
return request.redirect('/web/login?error=access_denied')
10-
partner = request.env.user.partner_id
7+
if not http.request.env.user.has_group('records_management.group_inventory_access'):
8+
return http.request.redirect('/web/login?error=access_denied')
9+
partner = http.request.env.user.partner_id
1110
if not partner:
12-
return request.redirect('/my/inventory?error=partner_not_found')
13-
serials = request.env['stock.production.lot'].search([('customer_id', '=', partner.id)])
14-
quants = request.env['stock.quant'].search([
11+
return http.request.redirect('/my/inventory?error=partner_not_found')
12+
serials = http.request.env['stock.production.lot'].search([('customer_id', '=', partner.id)])
13+
quants = http.request.env['stock.quant'].search([
1514
('lot_id', 'in', serials.ids),
1615
('location_id.usage', '=', 'internal')
1716
])
18-
return request.render('records_management.inventory_template', {'quants': quants})
17+
return http.request.render('records_management.inventory_template', {'quants': quants})
1918

2019
@http.route('/my/request_pickup', type='http', auth='user', website=True, methods=['POST'])
21-
def request_pickup(self, **post):
20+
def request_pickup(self):
2221
# Authorization check
23-
if not request.env.user.has_group('records_management.group_inventory_access'):
24-
return request.redirect('/web/login?error=access_denied')
25-
partner = request.env.user.partner_id
22+
if not http.request.env.user.has_group('records_management.group_inventory_access'):
23+
return http.request.redirect('/web/login?error=access_denied')
24+
partner = http.request.env.user.partner_id
2625
if not partner:
27-
return request.redirect('/my/inventory?error=partner_not_found')
28-
item_ids = [int(id) for id in request.httprequest.form.getlist('item_ids')]
26+
return http.request.redirect('/my/inventory?error=partner_not_found')
27+
item_ids = [int(id) for id in http.request.httprequest.form.getlist('item_ids')]
2928
if not item_ids:
30-
return request.redirect('/my/inventory?error=no_items_selected')
31-
items = request.env['stock.production.lot'].search([
29+
return http.request.redirect('/my/inventory?error=no_items_selected')
30+
items = http.request.env['stock.production.lot'].search([
3231
('id', 'in', item_ids),
3332
('customer_id', '=', partner.id)
3433
])
3534
if items:
36-
request.env['pickup.request'].create({
35+
http.request.env['pickup.request'].create({
3736
'customer_id': partner.id,
3837
'item_ids': [(6, 0, items.ids)],
3938
})
39+
return http.request.redirect('/my/inventory')
4040
return request.redirect('/my/inventory')
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
from . import scrm_records_management

records_management/models/stock_production_lot.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from odoo import fields, models
1+
from odoo import fields, models # type: ignore
22

33
class StockProductionLot(models.Model):
44
_inherit = 'stock.production.lot'

0 commit comments

Comments
 (0)