2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-12-22 20:13:13 +00:00

Project code support (#336)

* Determine if project codes are supported

* Add helpers for boolean functions

* Adds helper methods for generic "model" class

- Will allow us to do some good refactoring

* Refactor the refactor

* Add debug support and getMap function

* Major refactoring for model data accessors

* Handle null values

* Add sentry reporting if key is used incorrectly

* Fix typo

* Refactor createFromJson function

* Add model for ProjectCode

* Display and edit project code for purchase orders
This commit is contained in:
Oliver
2023-04-21 21:12:22 +10:00
committed by GitHub
parent 95573a2784
commit e23a8b4d5e
13 changed files with 383 additions and 299 deletions

View File

@@ -38,22 +38,22 @@ class InvenTreeCompany extends InvenTreeModel {
String get thumbnail => (jsondata["thumbnail"] ?? jsondata["image"] ?? InvenTreeAPI.staticThumb) as String;
String get website => (jsondata["website"] ?? "") as String;
String get website => getString("website");
String get phone => getString("phone");
String get phone => (jsondata["phone"] ?? "") as String;
String get email => getString("email");
String get email => (jsondata["email"] ?? "") as String;
bool get isSupplier => getBool("is_supplier");
bool get isSupplier => (jsondata["is_supplier"] ?? false) as bool;
bool get isManufacturer => getBool("is_manufacturer");
bool get isManufacturer => (jsondata["is_manufacturer"] ?? false) as bool;
bool get isCustomer => (jsondata["is_customer"] ?? false) as bool;
int get partSuppliedCount => (jsondata["parts_supplied"] ?? 0) as int;
int get partManufacturedCount => (jsondata["parts_manufactured"] ?? 0) as int;
bool get isCustomer => getBool("is_customer");
int get partSuppliedCount => getInt("part_supplied");
int get partManufacturedCount => getInt("parts_manufactured");
// Request a list of purchase orders against this company
Future<List<InvenTreePurchaseOrder>> getPurchaseOrders({bool? outstanding}) async {
@@ -81,11 +81,7 @@ class InvenTreeCompany extends InvenTreeModel {
}
@override
InvenTreeModel createFromJson(Map<String, dynamic> json) {
var company = InvenTreeCompany.fromJson(json);
return company;
}
InvenTreeModel createFromJson(Map<String, dynamic> json) => InvenTreeCompany.fromJson(json);
}
@@ -154,40 +150,36 @@ class InvenTreeSupplierPart extends InvenTreeModel {
return _filters();
}
int get manufacturerId => (jsondata["manufacturer_detail"]["pk"] ?? -1) as int;
String get manufacturerName => (jsondata["manufacturer_detail"]?["name"] ?? "") as String;
String get MPN => (jsondata["manufacturer_part_detail"]?["MPN"] ?? "") as String;
int get manufacturerId => getInt("pk", subKey: "manufacturer_detail");
String get manufacturerName => getString("name", subKey: "manufacturer_detail");
String get MPN => getString("MPN", subKey: "manufacturer_part_detail");
String get manufacturerImage => (jsondata["manufacturer_detail"]?["image"] ?? jsondata["manufacturer_detail"]["thumbnail"] ?? InvenTreeAPI.staticThumb) as String;
int get manufacturerPartId => (jsondata["manufacturer_part"] ?? -1) as int;
int get supplierId => (jsondata["supplier"] ?? -1) as int;
String get supplierName => (jsondata["supplier_detail"]?["name"] ?? "") as String;
int get manufacturerPartId => getInt("manufacturer_part");
int get supplierId => getInt("supplier");
String get supplierName => getString("name", subKey: "supplier_detail");
String get supplierImage => (jsondata["supplier_detail"]?["image"] ?? jsondata["supplier_detail"]["thumbnail"] ?? InvenTreeAPI.staticThumb) as String;
String get SKU => (jsondata["SKU"] ?? "") as String;
int get partId => (jsondata["part"] ?? -1) as int;
String get SKU => getString("SKU");
int get partId => getInt("part");
String get partImage => (jsondata["part_detail"]?["thumbnail"] ?? InvenTreeAPI.staticThumb) as String;
String get partName => (jsondata["part_detail"]?["full_name"] ?? "") as String;
String get partDescription => (jsondata["part_detail"]?["description"] ?? "") as String;
String get note => (jsondata["note"] ?? "") as String;
String get partName => getString("full_name", subKey: "part_detail");
String get partDescription => getString("description", subKey: "part_detail");
String get note => getString("note");
@override
InvenTreeModel createFromJson(Map<String, dynamic> json) {
var part = InvenTreeSupplierPart.fromJson(json);
return part;
}
InvenTreeModel createFromJson(Map<String, dynamic> json) => InvenTreeSupplierPart.fromJson(json);
}
@@ -207,16 +199,12 @@ class InvenTreeManufacturerPart extends InvenTreeModel {
};
}
int get partId => (jsondata["part"] ?? -1) as int;
int get manufacturerId => (jsondata["manufacturer"] ?? -1) as int;
String get MPN => (jsondata["MPN"] ?? "") as String;
int get partId => getInt("part");
int get manufacturerId => getInt("manufacturer");
String get MPN => getString("MPN");
@override
InvenTreeModel createFromJson(Map<String, dynamic> json) {
var part = InvenTreeManufacturerPart.fromJson(json);
return part;
}
InvenTreeModel createFromJson(Map<String, dynamic> json) => InvenTreeManufacturerPart.fromJson(json);
}