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:
Oliver 2025-04-15 20:49:05 +10:00 committed by GitHub
parent 25d7ac9189
commit 72a78291b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 642 additions and 193 deletions

View file

@ -1,12 +1,15 @@
import "package:flutter/material.dart";
import "package:inventree/api.dart";
import "package:inventree/helpers.dart";
import "package:inventree/inventree/company.dart";
import "package:inventree/inventree/model.dart";
import "package:inventree/inventree/orders.dart";
import "package:inventree/api.dart";
import "package:inventree/widget/progress.dart";
import "package:inventree/widget/order/extra_line_detail.dart";
import "package:inventree/widget/order/sales_order_detail.dart";
/*
@ -31,6 +34,16 @@ class InvenTreeSalesOrder extends InvenTreeOrder {
String get allocate_url => "${url}allocate/";
@override
Future<Object?> goToDetailPage(BuildContext context) async {
return Navigator.push(
context,
MaterialPageRoute(
builder: (context) => SalesOrderDetailWidget(this)
)
);
}
@override
Map<String, Map<String, dynamic>> formFields() {
Map<String, Map<String, dynamic>> fields = {
@ -239,6 +252,31 @@ class InvenTreeSOLineItem extends InvenTreeOrderLine {
}
class InvenTreeSOExtraLineItem extends InvenTreeExtraLineItem {
InvenTreeSOExtraLineItem() : super();
InvenTreeSOExtraLineItem.fromJson(Map<String, dynamic> json) : super.fromJson(json);
@override
InvenTreeModel createFromJson(Map<String, dynamic> json) => InvenTreeSOExtraLineItem.fromJson(json);
@override
String get URL => "order/so-extra-line/";
@override
List<String> get rolesRequired => ["sales_order"];
@override
Future<Object?> goToDetailPage(BuildContext context) async {
return Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ExtraLineDetailWidget(this)
)
);
}
}
/*
* Class representing a sales order shipment
*/