2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-12 18:25:26 +00:00

Company active filters (#484)

* Add support for "active" status for:

- SupplierPart
- Company

* Add filtering options

* Fix default value

* Add inactive tiles

* Update text and release notes
This commit is contained in:
Oliver
2024-04-18 21:48:45 +10:00
committed by GitHub
parent 0e658febe2
commit a889417fe0
8 changed files with 105 additions and 2 deletions

View File

@ -233,6 +233,29 @@ class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> {
),
));
if (!widget.company.active) {
tiles.add(
ListTile(
title: Text(
L10().inactive,
style: TextStyle(
color: COLOR_DANGER
)
),
subtitle: Text(
L10().inactiveCompany,
style: TextStyle(
color: COLOR_DANGER
)
),
leading: FaIcon(
FontAwesomeIcons.circleExclamation,
color: COLOR_DANGER
),
)
);
}
if (widget.company.website.isNotEmpty) {
tiles.add(ListTile(
title: Text("${widget.company.website}"),

View File

@ -2,6 +2,7 @@
import "package:flutter/material.dart";
import "package:inventree/api.dart";
import "package:inventree/l10.dart";
import "package:inventree/inventree/company.dart";
import "package:inventree/inventree/model.dart";
@ -58,6 +59,22 @@ class _CompanyListState extends PaginatedSearchState<PaginatedCompanyList> {
_CompanyListState() : super();
@override
Map<String, Map<String, dynamic>> get filterOptions {
Map<String, Map<String, dynamic>> filters = {};
if (InvenTreeAPI().supportsCompanyActiveStatus) {
filters["active"] = {
"label": L10().filterActive,
"help_text": L10().filterActiveDetail,
"tristate": true,
};
}
return filters;
}
@override
Future<InvenTreePageResponse?> requestPage(int limit, int offset, Map<String, String> params) async {

View File

@ -131,6 +131,29 @@ class _SupplierPartDisplayState extends RefreshableState<SupplierPartDetailWidge
)
);
if (!widget.supplierPart.active) {
tiles.add(
ListTile(
title: Text(
L10().inactive,
style: TextStyle(
color: COLOR_DANGER
)
),
subtitle: Text(
L10().inactiveDetail,
style: TextStyle(
color: COLOR_DANGER
)
),
leading: FaIcon(
FontAwesomeIcons.circleExclamation,
color: COLOR_DANGER
),
)
);
}
// Supplier details
tiles.add(
ListTile(

View File

@ -62,7 +62,20 @@ class _PaginatedSupplierPartListState extends PaginatedSearchState<PaginatedSupp
Map<String, String> get orderingOptions => {};
@override
Map<String, Map<String, dynamic>> get filterOptions => {};
Map<String, Map<String, dynamic>> get filterOptions {
Map<String, Map<String, dynamic>> filters = {};
if (InvenTreeAPI().supportsCompanyActiveStatus) {
filters["active"] = {
"label": L10().filterActive,
"help_text": L10().filterActiveDetail,
"tristate": true,
};
}
return filters;
}
@override
Future<InvenTreePageResponse?> requestPage(int limit, int offset, Map<String, String> params) async {