2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 13:36:50 +00:00

Update CompanyDetail page

This commit is contained in:
Oliver 2021-08-03 01:00:55 +10:00
parent 0fdc56d299
commit e5f09acf3f
2 changed files with 57 additions and 21 deletions

@ -1 +1 @@
Subproject commit f53df5968c451c511152d931ef32290644e21747 Subproject commit 15a67a8aa7ec5af876b0467152de13baff8f7806

View File

@ -1,5 +1,7 @@
import 'package:inventree/api.dart'; import 'package:inventree/api.dart';
import 'package:inventree/api_form.dart';
import 'package:inventree/app_colors.dart';
import 'package:inventree/inventree/company.dart'; import 'package:inventree/inventree/company.dart';
import 'package:inventree/widget/refreshable_state.dart'; import 'package:inventree/widget/refreshable_state.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -21,30 +23,64 @@ class CompanyDetailWidget extends StatefulWidget {
class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> { class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> {
final InvenTreeCompany company; _CompanyDetailState(this.company);
final _editCompanyKey = GlobalKey<FormState>(); final InvenTreeCompany company;
@override @override
String getAppBarTitle(BuildContext context) => L10().company; String getAppBarTitle(BuildContext context) => L10().company;
@override
List<Widget> getAppBarActions(BuildContext context) {
List<Widget> actions = [];
actions.add(
IconButton(
icon: FaIcon(FontAwesomeIcons.globe),
onPressed: () async {
company.goToInvenTreePage();
},
)
);
actions.add(
IconButton(
icon: FaIcon(FontAwesomeIcons.edit),
tooltip: L10().edit,
onPressed: () {
editCompany(context);
}
)
);
return actions;
}
@override @override
Future<void> request() async { Future<void> request() async {
await company.reload(); await company.reload();
} }
_CompanyDetailState(this.company) { void editCompany(BuildContext context) async {
// TODO
}
void editCompanyDialog() { launchApiForm(
context,
// Values which can be edited L10().companyEdit,
var _name; company.url,
var _description; {
var _website; "name": {},
"description": {},
// TODO - API form "website": {},
"is_supplier": {},
"is_manufacturer": {},
"is_customer": {},
"currency": {},
},
modelData: company.jsondata,
onSuccess: refresh
);
} }
List<Widget> _companyTiles() { List<Widget> _companyTiles() {
@ -57,11 +93,7 @@ class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> {
child: ListTile( child: ListTile(
title: Text("${company.name}"), title: Text("${company.name}"),
subtitle: Text("${company.description}"), subtitle: Text("${company.description}"),
leading: InvenTreeAPI().getImage(company.image), leading: InvenTreeAPI().getImage(company.image, width: 40, height: 40),
trailing: IconButton(
icon: FaIcon(FontAwesomeIcons.edit),
onPressed: editCompanyDialog,
),
), ),
)); ));
@ -105,9 +137,9 @@ class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> {
if (company.link.isNotEmpty) { if (company.link.isNotEmpty) {
tiles.add(ListTile( tiles.add(ListTile(
title: Text("${company.link}"), title: Text("${company.link}"),
leading: FaIcon(FontAwesomeIcons.link), leading: FaIcon(FontAwesomeIcons.link, color: COLOR_CLICK),
onTap: () { onTap: () {
// TODO - Open external link company.openLink();
}, },
)); ));
@ -125,6 +157,10 @@ class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> {
tiles.add(Divider()); tiles.add(Divider());
} }
if (company.isManufacturer) {
// TODO - Add list of manufacturer parts
}
if (company.isCustomer) { if (company.isCustomer) {
// TODO - Add list of sales orders // TODO - Add list of sales orders