User departments in create new service request

main_design2.0
zaid_daoud 2 years ago
parent ac38159b0a
commit 383c634c50

@ -113,45 +113,45 @@ class UserProvider extends ChangeNotifier {
/// return state code if request complete may be 200, 404 or 403 /// return state code if request complete may be 200, 404 or 403
/// for more details about state codes check http state manager /// for more details about state codes check http state manager
/// lib\controllers\http_status_manger\http_status_manger.dart /// lib\controllers\http_status_manger\http_status_manger.dart
Future<int> updateProfile({ // Future<int> updateProfile({
@required String host, // @required String host,
@required User user, // @required User user,
}) async { // }) async {
if (_loading == true) return -2; // if (_loading == true) return -2;
_loading = true; // _loading = true;
notifyListeners(); // notifyListeners();
Response response; // Response response;
//
Map<String, dynamic> jsonObject = {}; // Map<String, dynamic> jsonObject = {};
jsonObject["uid"] = user.id; // jsonObject["uid"] = user.id;
jsonObject["token"] = user.token; // jsonObject["token"] = user.token;
if (user.departmentId != _user.departmentId) jsonObject["department"] = user.departmentId; // if (user.departmentId != _user.departmentId) jsonObject["department"] = user.departmentId;
// if (user.whatsApp != _user.whatsApp) jsonObject["whatsapp"] = user.whatsApp; // // if (user.whatsApp != _user.whatsApp) jsonObject["whatsapp"] = user.whatsApp;
if (user.phoneNumber != _user.phoneNumber) jsonObject["phone"] = user.phoneNumber; // if (user.phoneNumber != _user.phoneNumber) jsonObject["phone"] = user.phoneNumber;
try { // try {
response = response = await ApiManager.instance.post( // response = response = await ApiManager.instance.post(
URLs.login, // URLs.login,
body: jsonObject, // body: jsonObject,
); // );
} catch (error) { // } catch (error) {
_loading = false; // _loading = false;
notifyListeners(); // notifyListeners();
return -1; // return -1;
} // }
//
_loading = false; // _loading = false;
notifyListeners(); // notifyListeners();
//
if (response.statusCode >= 200 && response.statusCode < 300) { // if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received // // client's request was successfully received
_user = User.fromJson(jsonDecode(utf8.decode(response.bodyBytes))[0]); // _user = User.fromJson(jsonDecode(utf8.decode(response.bodyBytes))[0]);
_user.clientId = user.clientId; // _user.clientId = user.clientId;
_user.clientName = user.clientName; // _user.clientName = user.clientName;
_user.departmentName = user.departmentName; // _user.departmentName = user.departmentName;
_user.departmentId = user.departmentId; // _user.departmentId = user.departmentId;
notifyListeners(); // notifyListeners();
return response.statusCode; // return response.statusCode;
} // }
return response.statusCode; // return response.statusCode;
} // }
} }

@ -1,6 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
import 'package:test_sa/controllers/localization/localization.dart'; import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
@ -170,29 +169,29 @@ class _ProfilePageState extends State<ProfilePage> {
child: AButton( child: AButton(
text: _subtitle.update, text: _subtitle.update,
onPressed: () async { onPressed: () async {
if (!_formKey.currentState.validate()) return; // if (!_formKey.currentState.validate()) return;
_formKey.currentState.save(); // _formKey.currentState.save();
if (_user.departmentId == null) { // if (_user.departmentId == null) {
ScaffoldMessenger.of(context).showSnackBar(SnackBar( // ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(_subtitle.unitRequired), // content: Text(_subtitle.unitRequired),
)); // ));
return; // return;
} // }
int status = await _userProvider.updateProfile( // int status = await _userProvider.updateProfile(
user: _user, // user: _user,
host: _settingProvider.host, // host: _settingProvider.host,
); // );
if (status >= 200 && status < 300) { // if (status >= 200 && status < 300) {
_settingProvider.setUser(_userProvider.user); // _settingProvider.setUser(_userProvider.user);
ScaffoldMessenger.of(context).showSnackBar(SnackBar( // ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(_subtitle.requestCompleteSuccessfully), // content: Text(_subtitle.requestCompleteSuccessfully),
)); // ));
} else { // } else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle); // String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar( // ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(errorMessage), // content: Text(errorMessage),
)); // ));
} // }
}, },
), ),
), ),

@ -33,6 +33,7 @@ import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_through_provider.dart'; import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_through_provider.dart';
import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_type_provider.dart'; import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_type_provider.dart';
import '../../../app_style/sizing.dart';
import '../../../widgets/date_and_time/date_picker.dart'; import '../../../widgets/date_and_time/date_picker.dart';
import '../../../widgets/status/service_request/service_request_first_action.dart'; import '../../../widgets/status/service_request/service_request_first_action.dart';
import '../../../widgets/status/service_request/service_request_loan_availability.dart'; import '../../../widgets/status/service_request/service_request_loan_availability.dart';
@ -138,14 +139,39 @@ class CreateRequestPageState extends State<CreateRequestPage> {
style: Theme.of(context).textTheme.subtitle1, style: Theme.of(context).textTheme.subtitle1,
), ),
12.height, 12.height,
_userProvider.user.departmentId == null _userProvider.user.departmentId == null || (_userProvider.user?.departmentId?.isEmpty ?? false)
? const SizedBox.shrink() ? const SizedBox.shrink()
: ATextFormField( : Container(
enable: false, padding: const EdgeInsets.all(12),
initialValue: _userProvider.user.departmentName ?? _subtitle.noUniteFound, decoration: BoxDecoration(
hintText: _subtitle.unite, color: const Color(0xfff5f5f5),
prefixIconData: FontAwesomeIcons.hospitalUser, border: Border.all(
style: Theme.of(context).textTheme.subtitle1, color: const Color(0xffefefef),
),
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: _userProvider.user.departmentName
?.map(
(e) => Text(
e?.trim() ?? "",
style: Theme.of(context).textTheme.titleMedium.copyWith(color: AColors.black),
),
)
?.toList() ??
[],
),
Icon(
FontAwesomeIcons.hospitalUser,
size: 20 * AppStyle.getScaleFactor(context),
color: const Color(0xff2e303a),
),
],
),
), ),
12.height, 12.height,
DeviceButton( DeviceButton(

Loading…
Cancel
Save