mirror of
https://github.com/inventree/inventree-app.git
synced 2025-06-16 20:25:26 +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:
@ -11,7 +11,6 @@ import "package:inventree/inventree/model.dart";
|
||||
import "package:inventree/inventree/part.dart";
|
||||
|
||||
import "package:inventree/widget/paginator.dart";
|
||||
import "package:inventree/widget/part/part_detail.dart";
|
||||
import "package:inventree/widget/progress.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
|
||||
@ -159,7 +158,7 @@ class _PaginatedBomListState extends PaginatedSearchState<PaginatedBomList> {
|
||||
hideLoadingOverlay();
|
||||
|
||||
if (part is InvenTreePart) {
|
||||
Navigator.push(context, MaterialPageRoute(builder: (context) => PartDetailWidget(part)));
|
||||
part.goToDetailPage(context);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
@ -11,7 +11,6 @@ import "package:inventree/widget/part/category_list.dart";
|
||||
import "package:inventree/widget/part/part_list.dart";
|
||||
import "package:inventree/widget/progress.dart";
|
||||
import "package:inventree/widget/snacks.dart";
|
||||
import "package:inventree/widget/part/part_detail.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
|
||||
|
||||
@ -164,7 +163,7 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> {
|
||||
hideLoadingOverlay();
|
||||
|
||||
if (cat is InvenTreePartCategory) {
|
||||
Navigator.push(context, MaterialPageRoute(builder: (context) => CategoryDisplayWidget(cat)));
|
||||
cat.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -255,13 +254,9 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> {
|
||||
|
||||
if (data.containsKey("pk")) {
|
||||
var cat = InvenTreePartCategory.fromJson(data);
|
||||
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => CategoryDisplayWidget(cat)
|
||||
)
|
||||
);
|
||||
cat.goToDetailPage(context).then((_) {
|
||||
refresh(context);
|
||||
});
|
||||
} else {
|
||||
refresh(context);
|
||||
}
|
||||
@ -285,13 +280,7 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> {
|
||||
|
||||
if (data.containsKey("pk")) {
|
||||
var part = InvenTreePart.fromJson(data);
|
||||
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => PartDetailWidget(part)
|
||||
)
|
||||
);
|
||||
part.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -2,7 +2,6 @@ import "package:flutter/material.dart";
|
||||
|
||||
import "package:inventree/inventree/model.dart";
|
||||
import "package:inventree/inventree/part.dart";
|
||||
import "package:inventree/widget/part/category_display.dart";
|
||||
import "package:inventree/widget/paginator.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
|
||||
@ -100,12 +99,7 @@ class _PaginatedPartCategoryListState extends PaginatedSearchState<PaginatedPart
|
||||
trailing: Text("${category.partcount}"),
|
||||
leading: category.customIcon == null ? null : Icon(category.customIcon),
|
||||
onTap: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => CategoryDisplayWidget(category)
|
||||
)
|
||||
);
|
||||
category.goToDetailPage(context);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import "package:inventree/widget/part/category_display.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
import "package:inventree/widget/part/part_image_widget.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/widget/company/supplier_part_list.dart";
|
||||
|
||||
@ -347,10 +346,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
||||
height: 32,
|
||||
),
|
||||
onTap: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) => PartDetailWidget(parentPart!))
|
||||
);
|
||||
parentPart?.goToDetailPage(context);
|
||||
}
|
||||
)
|
||||
);
|
||||
@ -371,8 +367,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
||||
hideLoadingOverlay();
|
||||
|
||||
if (cat is InvenTreePartCategory) {
|
||||
Navigator.push(context, MaterialPageRoute(
|
||||
builder: (context) => CategoryDisplayWidget(cat)));
|
||||
cat.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -674,13 +669,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
||||
|
||||
if (data.containsKey("pk")) {
|
||||
var item = InvenTreeStockItem.fromJson(data);
|
||||
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => StockDetailWidget(item)
|
||||
)
|
||||
);
|
||||
item.goToDetailPage(context);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -7,7 +7,6 @@ import "package:inventree/inventree/model.dart";
|
||||
import "package:inventree/inventree/part.dart";
|
||||
|
||||
import "package:inventree/widget/paginator.dart";
|
||||
import "package:inventree/widget/part/part_detail.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
|
||||
|
||||
@ -132,7 +131,7 @@ class _PaginatedPartListState extends PaginatedSearchState<PaginatedPartList> {
|
||||
),
|
||||
leading: InvenTreeAPI().getThumbnail(part.thumbnail),
|
||||
onTap: () {
|
||||
Navigator.push(context, MaterialPageRoute(builder: (context) => PartDetailWidget(part)));
|
||||
part.goToDetailPage(context);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
@ -7,7 +7,6 @@ import "package:inventree/api.dart";
|
||||
import "package:flutter/material.dart";
|
||||
import "package:inventree/inventree/part.dart";
|
||||
import "package:inventree/inventree/company.dart";
|
||||
import "package:inventree/widget/company/company_detail.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
|
||||
class PartSupplierWidget extends StatefulWidget {
|
||||
@ -58,12 +57,7 @@ class _PartSupplierState extends RefreshableState<PartSupplierWidget> {
|
||||
var company = await InvenTreeCompany().get(_part.supplierId);
|
||||
|
||||
if (company != null && company is InvenTreeCompany) {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => CompanyDetailWidget(company)
|
||||
)
|
||||
);
|
||||
company.goToDetailPage(context);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
Reference in New Issue
Block a user