first commit
This commit is contained in:
BIN
lib/user/.DS_Store
vendored
Normal file
BIN
lib/user/.DS_Store
vendored
Normal file
Binary file not shown.
77
lib/user/edit_user/edit_user_model.dart
Normal file
77
lib/user/edit_user/edit_user_model.dart
Normal file
@@ -0,0 +1,77 @@
|
||||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/flutterlib/flutter_drop_down.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import '/flutterlib/form_field_controller.dart';
|
||||
import 'edit_user_widget.dart' show EditUserWidget;
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class EditUserModel extends FlutterModel<EditUserWidget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// State field(s) for first_name widget.
|
||||
FocusNode? firstNameFocusNode;
|
||||
TextEditingController? firstNameController;
|
||||
String? Function(BuildContext, String?)? firstNameControllerValidator;
|
||||
// State field(s) for last_name widget.
|
||||
FocusNode? lastNameFocusNode;
|
||||
TextEditingController? lastNameController;
|
||||
String? Function(BuildContext, String?)? lastNameControllerValidator;
|
||||
// State field(s) for password widget.
|
||||
FocusNode? passwordFocusNode;
|
||||
TextEditingController? passwordController;
|
||||
String? Function(BuildContext, String?)? passwordControllerValidator;
|
||||
// State field(s) for phone widget.
|
||||
FocusNode? phoneFocusNode;
|
||||
TextEditingController? phoneController;
|
||||
String? Function(BuildContext, String?)? phoneControllerValidator;
|
||||
// State field(s) for email widget.
|
||||
FocusNode? emailFocusNode;
|
||||
TextEditingController? emailController;
|
||||
String? Function(BuildContext, String?)? emailControllerValidator;
|
||||
// State field(s) for role_id widget.
|
||||
String? roleIdValue;
|
||||
FormFieldController<String>? roleIdValueController;
|
||||
// State field(s) for role_id2 widget.
|
||||
String? roleId2Value;
|
||||
FormFieldController<String>? roleId2ValueController;
|
||||
// State field(s) for status widget.
|
||||
String? statusValue;
|
||||
FormFieldController<String>? statusValueController;
|
||||
// Stores action output result for [Backend Call - API (update user)] action in Button widget.
|
||||
ApiCallResponse? apiResulth88;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
firstNameFocusNode?.dispose();
|
||||
firstNameController?.dispose();
|
||||
|
||||
lastNameFocusNode?.dispose();
|
||||
lastNameController?.dispose();
|
||||
|
||||
passwordFocusNode?.dispose();
|
||||
passwordController?.dispose();
|
||||
|
||||
phoneFocusNode?.dispose();
|
||||
phoneController?.dispose();
|
||||
|
||||
emailFocusNode?.dispose();
|
||||
emailController?.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1591
lib/user/edit_user/edit_user_widget.dart
Normal file
1591
lib/user/edit_user/edit_user_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
136
lib/user/newuser/newuser_model.dart
Normal file
136
lib/user/newuser/newuser_model.dart
Normal file
@@ -0,0 +1,136 @@
|
||||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/alert_box_custom_widget.dart';
|
||||
import '/flutterlib/flutter_drop_down.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import '/flutterlib/form_field_controller.dart';
|
||||
import 'newuser_widget.dart' show NewuserWidget;
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
import 'package:aligned_dialog/aligned_dialog.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class NewuserModel extends FlutterModel<NewuserWidget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
final formKey = GlobalKey<FormState>();
|
||||
// State field(s) for first_name widget.
|
||||
FocusNode? firstNameFocusNode;
|
||||
TextEditingController? firstNameController;
|
||||
String? Function(BuildContext, String?)? firstNameControllerValidator;
|
||||
String? _firstNameControllerValidator(BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'axj7oby4' /* Field is required */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for last_name widget.
|
||||
FocusNode? lastNameFocusNode;
|
||||
TextEditingController? lastNameController;
|
||||
String? Function(BuildContext, String?)? lastNameControllerValidator;
|
||||
String? _lastNameControllerValidator(BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'6x7o5abu' /* Field is required */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for password widget.
|
||||
FocusNode? passwordFocusNode;
|
||||
TextEditingController? passwordController;
|
||||
String? Function(BuildContext, String?)? passwordControllerValidator;
|
||||
String? _passwordControllerValidator(BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'aaywzshn' /* Field is required */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for phone widget.
|
||||
FocusNode? phoneFocusNode;
|
||||
TextEditingController? phoneController;
|
||||
String? Function(BuildContext, String?)? phoneControllerValidator;
|
||||
String? _phoneControllerValidator(BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'lbhytb31' /* Field is required */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for email widget.
|
||||
FocusNode? emailFocusNode;
|
||||
TextEditingController? emailController;
|
||||
String? Function(BuildContext, String?)? emailControllerValidator;
|
||||
String? _emailControllerValidator(BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'epamj3bm' /* Field is required */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for role_id widget.
|
||||
String? roleIdValue;
|
||||
FormFieldController<String>? roleIdValueController;
|
||||
// State field(s) for role_id2 widget.
|
||||
String? roleId2Value;
|
||||
FormFieldController<String>? roleId2ValueController;
|
||||
// State field(s) for status widget.
|
||||
String? statusValue;
|
||||
FormFieldController<String>? statusValueController;
|
||||
// Stores action output result for [Backend Call - API (create user)] action in Button widget.
|
||||
ApiCallResponse? apiResulth88;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
firstNameControllerValidator = _firstNameControllerValidator;
|
||||
lastNameControllerValidator = _lastNameControllerValidator;
|
||||
passwordControllerValidator = _passwordControllerValidator;
|
||||
phoneControllerValidator = _phoneControllerValidator;
|
||||
emailControllerValidator = _emailControllerValidator;
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
firstNameFocusNode?.dispose();
|
||||
firstNameController?.dispose();
|
||||
|
||||
lastNameFocusNode?.dispose();
|
||||
lastNameController?.dispose();
|
||||
|
||||
passwordFocusNode?.dispose();
|
||||
passwordController?.dispose();
|
||||
|
||||
phoneFocusNode?.dispose();
|
||||
phoneController?.dispose();
|
||||
|
||||
emailFocusNode?.dispose();
|
||||
emailController?.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1823
lib/user/newuser/newuser_widget.dart
Normal file
1823
lib/user/newuser/newuser_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
136
lib/user/user/user_model.dart
Normal file
136
lib/user/user/user_model.dart
Normal file
@@ -0,0 +1,136 @@
|
||||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/alert_box_custom_widget.dart';
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/emptylist_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/components/no_permission_widget.dart';
|
||||
import '/components/permission_list_view_widget.dart';
|
||||
import '/flutterlib/flutter_button_tabbar.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import '/flutterlib/custom_functions.dart' as functions;
|
||||
import 'dart:async';
|
||||
import 'user_widget.dart' show UserWidget;
|
||||
import 'package:aligned_dialog/aligned_dialog.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class UserModel extends FlutterModel<UserWidget> {
|
||||
/// Local state fields for this page.
|
||||
|
||||
String? roleID;
|
||||
|
||||
List<int> permissionsID = [];
|
||||
void addToPermissionsID(int item) => permissionsID.add(item);
|
||||
void removeFromPermissionsID(int item) => permissionsID.remove(item);
|
||||
void removeAtIndexFromPermissionsID(int index) =>
|
||||
permissionsID.removeAt(index);
|
||||
void insertAtIndexInPermissionsID(int index, int item) =>
|
||||
permissionsID.insert(index, item);
|
||||
void updatePermissionsIDAtIndex(int index, Function(int) updateFn) =>
|
||||
permissionsID[index] = updateFn(permissionsID[index]);
|
||||
|
||||
bool checkPermission21 = false;
|
||||
|
||||
bool checkPermission22 = false;
|
||||
|
||||
bool checkPermission23 = false;
|
||||
|
||||
bool checkPermission24 = false;
|
||||
|
||||
bool checkPermission16 = false;
|
||||
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Stores action output result for [Backend Call - API (Check role has permission)] action in user widget.
|
||||
ApiCallResponse? apiResult16;
|
||||
// Stores action output result for [Backend Call - API (Check role has permission)] action in user widget.
|
||||
ApiCallResponse? apiResult21;
|
||||
// Stores action output result for [Backend Call - API (Check role has permission)] action in user widget.
|
||||
ApiCallResponse? apiResult22;
|
||||
// Stores action output result for [Backend Call - API (Check role has permission)] action in user widget.
|
||||
ApiCallResponse? apiResult23;
|
||||
// Stores action output result for [Backend Call - API (Check role has permission)] action in user widget.
|
||||
ApiCallResponse? apiResult24;
|
||||
Completer<ApiCallResponse>? apiRequestCompleter2;
|
||||
Completer<ApiCallResponse>? apiRequestCompleter1;
|
||||
// State field(s) for TabBar widget.
|
||||
TabController? tabBarController;
|
||||
int get tabBarCurrentIndex =>
|
||||
tabBarController != null ? tabBarController!.index : 0;
|
||||
|
||||
// Stores action output result for [Backend Call - API (Delete User)] action in Text widget.
|
||||
ApiCallResponse? apiResult6id;
|
||||
// Model for PermissionListView component.
|
||||
late PermissionListViewModel permissionListViewModel;
|
||||
// Model for noPermission component.
|
||||
late NoPermissionModel noPermissionModel1;
|
||||
// Model for noPermission component.
|
||||
late NoPermissionModel noPermissionModel2;
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
permissionListViewModel =
|
||||
createModel(context, () => PermissionListViewModel());
|
||||
noPermissionModel1 = createModel(context, () => NoPermissionModel());
|
||||
noPermissionModel2 = createModel(context, () => NoPermissionModel());
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
tabBarController?.dispose();
|
||||
permissionListViewModel.dispose();
|
||||
noPermissionModel1.dispose();
|
||||
noPermissionModel2.dispose();
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
|
||||
Future waitForApiRequestCompleted2({
|
||||
double minWait = 0,
|
||||
double maxWait = double.infinity,
|
||||
}) async {
|
||||
final stopwatch = Stopwatch()..start();
|
||||
while (true) {
|
||||
await Future.delayed(Duration(milliseconds: 50));
|
||||
final timeElapsed = stopwatch.elapsedMilliseconds;
|
||||
final requestComplete = apiRequestCompleter2?.isCompleted ?? false;
|
||||
if (timeElapsed > maxWait || (requestComplete && timeElapsed > minWait)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Future waitForApiRequestCompleted1({
|
||||
double minWait = 0,
|
||||
double maxWait = double.infinity,
|
||||
}) async {
|
||||
final stopwatch = Stopwatch()..start();
|
||||
while (true) {
|
||||
await Future.delayed(Duration(milliseconds: 50));
|
||||
final timeElapsed = stopwatch.elapsedMilliseconds;
|
||||
final requestComplete = apiRequestCompleter1?.isCompleted ?? false;
|
||||
if (timeElapsed > maxWait || (requestComplete && timeElapsed > minWait)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1679
lib/user/user/user_widget.dart
Normal file
1679
lib/user/user/user_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
29
lib/user/user_detail/user_detail_model.dart
Normal file
29
lib/user/user_detail/user_detail_model.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
import 'user_detail_widget.dart' show UserDetailWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class UserDetailModel extends FlutterModel<UserDetailWidget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1078
lib/user/user_detail/user_detail_widget.dart
Normal file
1078
lib/user/user_detail/user_detail_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user