mirror of
https://github.com/inventree/inventree-app.git
synced 2025-06-16 04:05:28 +00:00
Order extra lines (#632)
* Define classes for extra line item * Display PO extra line items - Also, some refactoring * Support extra line items for sales order * linting fixes * Update release notes
This commit is contained in:
@ -15,7 +15,6 @@ import "package:inventree/widget/stock/location_list.dart";
|
||||
import "package:inventree/widget/progress.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
import "package:inventree/widget/snacks.dart";
|
||||
import "package:inventree/widget/stock/stock_detail.dart";
|
||||
import "package:inventree/widget/stock/stock_list.dart";
|
||||
import "package:inventree/labels.dart";
|
||||
|
||||
@ -279,13 +278,7 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
|
||||
|
||||
if (data.containsKey("pk")) {
|
||||
var loc = InvenTreeStockLocation.fromJson(data);
|
||||
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => LocationDisplayWidget(loc)
|
||||
)
|
||||
);
|
||||
loc.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
);
|
||||
@ -317,13 +310,7 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
|
||||
|
||||
if (data.containsKey("pk")) {
|
||||
var item = InvenTreeStockItem.fromJson(data);
|
||||
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => StockDetailWidget(item)
|
||||
)
|
||||
);
|
||||
item.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
);
|
||||
@ -367,8 +354,7 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
|
||||
hideLoadingOverlay();
|
||||
|
||||
if (loc is InvenTreeStockLocation) {
|
||||
Navigator.push(context, MaterialPageRoute(
|
||||
builder: (context) => LocationDisplayWidget(loc)));
|
||||
loc.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2,7 +2,6 @@ import "package:flutter/material.dart";
|
||||
|
||||
import "package:inventree/inventree/model.dart";
|
||||
import "package:inventree/inventree/stock.dart";
|
||||
import "package:inventree/widget/stock/location_display.dart";
|
||||
import "package:inventree/widget/paginator.dart";
|
||||
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
@ -87,12 +86,7 @@ class _PaginatedStockLocationListState extends PaginatedSearchState<PaginatedSto
|
||||
trailing: Text("${location.itemcount}"),
|
||||
leading: location.customIcon == null ? null : Icon(location.customIcon),
|
||||
onTap: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => LocationDisplayWidget(location)
|
||||
)
|
||||
);
|
||||
location.goToDetailPage(context);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
@ -17,14 +17,10 @@ import "package:inventree/preferences.dart";
|
||||
import "package:inventree/inventree/company.dart";
|
||||
import "package:inventree/inventree/stock.dart";
|
||||
import "package:inventree/inventree/part.dart";
|
||||
import "package:inventree/widget/company/company_detail.dart";
|
||||
|
||||
import "package:inventree/widget/company/supplier_part_detail.dart";
|
||||
import "package:inventree/widget/dialogs.dart";
|
||||
import "package:inventree/widget/attachment_widget.dart";
|
||||
import "package:inventree/widget/order/sales_order_detail.dart";
|
||||
import "package:inventree/widget/stock/location_display.dart";
|
||||
import "package:inventree/widget/part/part_detail.dart";
|
||||
import "package:inventree/widget/progress.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
import "package:inventree/widget/snacks.dart";
|
||||
@ -531,7 +527,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
||||
hideLoadingOverlay();
|
||||
|
||||
if (part is InvenTreePart) {
|
||||
Navigator.push(context, MaterialPageRoute(builder: (context) => PartDetailWidget(part)));
|
||||
part.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -574,8 +570,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
||||
hideLoadingOverlay();
|
||||
|
||||
if (loc is InvenTreeStockLocation) {
|
||||
Navigator.push(context, MaterialPageRoute(
|
||||
builder: (context) => LocationDisplayWidget(loc)));
|
||||
loc.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -690,9 +685,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
||||
leading: Icon(TablerIcons.truck_delivery, color: COLOR_ACTION),
|
||||
trailing: Text(salesOrder?.reference ?? ""),
|
||||
onTap: () {
|
||||
Navigator.push(context, MaterialPageRoute(
|
||||
builder: (context) => SalesOrderDetailWidget(salesOrder!)
|
||||
));
|
||||
salesOrder?.goToDetailPage(context);
|
||||
}
|
||||
)
|
||||
);
|
||||
@ -706,9 +699,7 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
||||
leading: Icon(TablerIcons.building_store, color: COLOR_ACTION),
|
||||
trailing: Text(customer?.name ?? ""),
|
||||
onTap: () {
|
||||
Navigator.push(context, MaterialPageRoute(
|
||||
builder: (context) => CompanyDetailWidget(customer!)
|
||||
));
|
||||
customer?.goToDetailPage(context);
|
||||
},
|
||||
)
|
||||
);
|
||||
|
@ -5,7 +5,6 @@ import "package:inventree/inventree/stock.dart";
|
||||
import "package:inventree/widget/paginator.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
import "package:inventree/l10.dart";
|
||||
import "package:inventree/widget/stock/stock_detail.dart";
|
||||
import "package:inventree/api.dart";
|
||||
|
||||
|
||||
@ -146,7 +145,7 @@ class _PaginatedStockItemListState extends PaginatedSearchState<PaginatedStockIt
|
||||
)
|
||||
),
|
||||
onTap: () {
|
||||
Navigator.push(context, MaterialPageRoute(builder: (context) => StockDetailWidget(item)));
|
||||
item.goToDetailPage(context);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user